From 4745a6eeb867e77e457ba43f02070640c45ddc64 Mon Sep 17 00:00:00 2001 From: James Harton <james@harton.nz> Date: Wed, 22 Jan 2025 11:46:39 +1300 Subject: [PATCH 1/5] wip: First draft of latest/related typesense search function. --- assets/js/globals.js | 4 + assets/js/search-page.js | 72 ++++++++- formatters/html/dist/html-XTJIJCYG.js | 223 ++++++++++++++++++++++++++ 3 files changed, 291 insertions(+), 8 deletions(-) create mode 100644 formatters/html/dist/html-XTJIJCYG.js diff --git a/assets/js/globals.js b/assets/js/globals.js index 179ac6ef4..7a12c3ab7 100644 --- a/assets/js/globals.js +++ b/assets/js/globals.js @@ -14,3 +14,7 @@ export function getSidebarNodes () { export function getVersionNodes () { return window.versionNodes || [] } + +export function getSearchNodes () { + return window.searchNodes || [] +} diff --git a/assets/js/search-page.js b/assets/js/search-page.js index 7f647b4bd..1ab40b3f5 100644 --- a/assets/js/search-page.js +++ b/assets/js/search-page.js @@ -4,6 +4,7 @@ import lunr from 'lunr' import { qs, escapeHtmlEntities, isBlank, getQueryParamByName, getProjectNameAndVersion } from './helpers' import { setSearchInputValue } from './search-bar' import searchResultsTemplate from './handlebars/templates/search-results.handlebars' +import { getSearchNodes } from './globals' const EXCERPT_RADIUS = 80 const SEARCH_CONTAINER_SELECTOR = '#search' @@ -26,23 +27,27 @@ function initialize () { const pathname = window.location.pathname if (pathname.endsWith('/search.html') || pathname.endsWith('/search')) { const query = getQueryParamByName('q') - search(query) + const queryType = getQueryParamByName('type') + search(query, queryType) } } -async function search (value) { +async function search (value, queryType) { if (isBlank(value)) { renderResults({ value }) } else { setSearchInputValue(value) - const index = await getIndex() - try { - // We cannot match on atoms :foo because that would be considered - // a filter. So we escape all colons not preceded by a word. - const fixedValue = value.replaceAll(/(\B|\\):/g, '\\:') - const results = searchResultsToDecoratedSearchItems(index.search(fixedValue)) + let results = [] + const searchNodes = getSearchNodes() + + if (['related', 'latest'].includes(queryType) && searchNodes.length > 0) { + results = await remoteSearch(value, queryType, searchNodes) + } else { + results = await localSearch(value) + } + renderResults({ value, results }) } catch (error) { renderResults({ value, errorMessage: error.message }) @@ -50,6 +55,57 @@ async function search (value) { } } +async function localSearch (value) { + const index = await getIndex() + + // We cannot match on atoms :foo because that would be considered + // a filter. So we escape all colons not preceded by a word. + const fixedValue = value.replaceAll(/(\B|\\):/g, '\\:') + return searchResultsToDecoratedSearchItems(index.search(fixedValue)) +} + +async function remoteSearch (value, queryType, searchNodes) { + let filterNodes = searchNodes + + if (queryType === 'latest') { + filterNodes = searchNodes.slice(0, 1) + } + + const filters = filterNodes.map(node => `package:=${node.name}-${node.version}`).join(' || ') + + const params = new URLSearchParams() + params.set('q', value) + params.set('query_by', 'title,doc') + params.set('filter_by', filters) + + const response = await fetch(`https://search.hexdocs.pm/?${params.toString()}`) + const payload = await response.json() + + if (Array.isArray(payload.hits)) { + return payload.hits.map(result => { + const [packageName, packageVersion] = result.document.package.split('-') + + const doc = result.document.doc + const excerpts = [doc] + const metadata = {} + const ref = `https://hexdocs.pm/${packageName}/${packageVersion}/${result.document.ref}` + const title = result.document.title + const type = result.document.type + + return { + doc, + excerpts, + metadata, + ref, + title, + type + } + }) + } else { + return [] + } +} + function renderResults ({ value, results, errorMessage }) { const searchContainer = qs(SEARCH_CONTAINER_SELECTOR) const resultsHtml = searchResultsTemplate({ value, results, errorMessage }) diff --git a/formatters/html/dist/html-XTJIJCYG.js b/formatters/html/dist/html-XTJIJCYG.js new file mode 100644 index 000000000..15021520e --- /dev/null +++ b/formatters/html/dist/html-XTJIJCYG.js @@ -0,0 +1,223 @@ +(()=>{var Ns=Object.create;var Wn=Object.defineProperty;var Ds=Object.getOwnPropertyDescriptor;var Bs=Object.getOwnPropertyNames;var Qs=Object.getPrototypeOf,qs=Object.prototype.hasOwnProperty;var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fs=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Bs(e))!qs.call(t,i)&&i!==n&&Wn(t,i,{get:()=>e[i],enumerable:!(r=Ds(e,i))||r.enumerable});return t};var Y=(t,e,n)=>(n=t!=null?Ns(Qs(t)):{},Fs(e||!t||!t.__esModule?Wn(n,"default",{value:t,enumerable:!0}):n,t));var vr=_((lc,gr)=>{var mr="Expected a function",fr=NaN,Ws="[object Symbol]",zs=/^\s+|\s+$/g,Gs=/^[-+]0x[0-9a-f]+$/i,Ks=/^0b[01]+$/i,Ys=/^0o[0-7]+$/i,Js=parseInt,Xs=typeof global=="object"&&global&&global.Object===Object&&global,Zs=typeof self=="object"&&self&&self.Object===Object&&self,eo=Xs||Zs||Function("return this")(),to=Object.prototype,no=to.toString,ro=Math.max,io=Math.min,Dt=function(){return eo.Date.now()};function so(t,e,n){var r,i,s,o,a,l,u=0,c=!1,d=!1,h=!0;if(typeof t!="function")throw new TypeError(mr);e=pr(e)||0,Fe(n)&&(c=!!n.leading,d="maxWait"in n,s=d?ro(pr(n.maxWait)||0,e):s,h="trailing"in n?!!n.trailing:h);function f(S){var R=r,U=i;return r=i=void 0,u=S,o=t.apply(U,R),o}function m(S){return u=S,a=setTimeout(w,e),c?f(S):o}function g(S){var R=S-l,U=S-u,ee=e-R;return d?io(ee,s-U):ee}function v(S){var R=S-l,U=S-u;return l===void 0||R>=e||R<0||d&&U>=s}function w(){var S=Dt();if(v(S))return x(S);a=setTimeout(w,g(S))}function x(S){return a=void 0,h&&r?f(S):(r=i=void 0,o)}function I(){a!==void 0&&clearTimeout(a),u=0,r=l=i=a=void 0}function q(){return a===void 0?o:x(Dt())}function $(){var S=Dt(),R=v(S);if(r=arguments,i=this,l=S,R){if(a===void 0)return m(l);if(d)return a=setTimeout(w,e),f(l)}return a===void 0&&(a=setTimeout(w,e)),o}return $.cancel=I,$.flush=q,$}function oo(t,e,n){var r=!0,i=!0;if(typeof t!="function")throw new TypeError(mr);return Fe(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),so(t,e,{leading:r,maxWait:e,trailing:i})}function Fe(t){var e=typeof t;return!!t&&(e=="object"||e=="function")}function ao(t){return!!t&&typeof t=="object"}function lo(t){return typeof t=="symbol"||ao(t)&&no.call(t)==Ws}function pr(t){if(typeof t=="number")return t;if(lo(t))return fr;if(Fe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Fe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=t.replace(zs,"");var n=Ks.test(t);return n||Ys.test(t)?Js(t.slice(2),n?2:8):Gs.test(t)?fr:+t}gr.exports=oo});var F=_(D=>{"use strict";D.__esModule=!0;D.extend=Cr;D.indexOf=Eo;D.escapeExpression=xo;D.isEmpty=ko;D.createFrame=So;D.blockParams=_o;D.appendContextPath=Lo;var vo={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},yo=/[&<>"'`=]/g,wo=/[&<>"'`=]/;function bo(t){return vo[t]}function Cr(t){for(var e=1;e<arguments.length;e++)for(var n in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],n)&&(t[n]=arguments[e][n]);return t}var jt=Object.prototype.toString;D.toString=jt;var Ut=function(e){return typeof e=="function"};Ut(/x/)&&(D.isFunction=Ut=function(t){return typeof t=="function"&&jt.call(t)==="[object Function]"});D.isFunction=Ut;var Rr=Array.isArray||function(t){return t&&typeof t=="object"?jt.call(t)==="[object Array]":!1};D.isArray=Rr;function Eo(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}function xo(t){if(typeof t!="string"){if(t&&t.toHTML)return t.toHTML();if(t==null)return"";if(!t)return t+"";t=""+t}return wo.test(t)?t.replace(yo,bo):t}function ko(t){return!t&&t!==0?!0:!!(Rr(t)&&t.length===0)}function So(t){var e=Cr({},t);return e._parent=t,e}function _o(t,e){return t.path=e,t}function Lo(t,e){return(t?t+".":"")+e}});var X=_((je,Mr)=>{"use strict";je.__esModule=!0;var Wt=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function zt(t,e){var n=e&&e.loc,r=void 0,i=void 0,s=void 0,o=void 0;n&&(r=n.start.line,i=n.end.line,s=n.start.column,o=n.end.column,t+=" - "+r+":"+s);for(var a=Error.prototype.constructor.call(this,t),l=0;l<Wt.length;l++)this[Wt[l]]=a[Wt[l]];Error.captureStackTrace&&Error.captureStackTrace(this,zt);try{n&&(this.lineNumber=r,this.endLineNumber=i,Object.defineProperty?(Object.defineProperty(this,"column",{value:s,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:o,enumerable:!0})):(this.column=s,this.endColumn=o))}catch{}}zt.prototype=new Error;je.default=zt;Mr.exports=je.default});var Nr=_((We,Hr)=>{"use strict";We.__esModule=!0;var Gt=F();We.default=function(t){t.registerHelper("blockHelperMissing",function(e,n){var r=n.inverse,i=n.fn;if(e===!0)return i(this);if(e===!1||e==null)return r(this);if(Gt.isArray(e))return e.length>0?(n.ids&&(n.ids=[n.name]),t.helpers.each(e,n)):r(this);if(n.data&&n.ids){var s=Gt.createFrame(n.data);s.contextPath=Gt.appendContextPath(n.data.contextPath,n.name),n={data:s}}return i(e,n)})};Hr.exports=We.default});var Br=_((ze,Dr)=>{"use strict";ze.__esModule=!0;function To(t){return t&&t.__esModule?t:{default:t}}var we=F(),Po=X(),Oo=To(Po);ze.default=function(t){t.registerHelper("each",function(e,n){if(!n)throw new Oo.default("Must pass iterator to #each");var r=n.fn,i=n.inverse,s=0,o="",a=void 0,l=void 0;n.data&&n.ids&&(l=we.appendContextPath(n.data.contextPath,n.ids[0])+"."),we.isFunction(e)&&(e=e.call(this)),n.data&&(a=we.createFrame(n.data));function u(m,g,v){a&&(a.key=m,a.index=g,a.first=g===0,a.last=!!v,l&&(a.contextPath=l+m)),o=o+r(e[m],{data:a,blockParams:we.blockParams([e[m],m],[l+m,null])})}if(e&&typeof e=="object")if(we.isArray(e))for(var c=e.length;s<c;s++)s in e&&u(s,s,s===e.length-1);else if(global.Symbol&&e[global.Symbol.iterator]){for(var d=[],h=e[global.Symbol.iterator](),f=h.next();!f.done;f=h.next())d.push(f.value);e=d;for(var c=e.length;s<c;s++)u(s,s,s===e.length-1)}else(function(){var m=void 0;Object.keys(e).forEach(function(g){m!==void 0&&u(m,s-1),m=g,s++}),m!==void 0&&u(m,s-1,!0)})();return s===0&&(o=i(this)),o})};Dr.exports=ze.default});var qr=_((Ge,Qr)=>{"use strict";Ge.__esModule=!0;function Io(t){return t&&t.__esModule?t:{default:t}}var Ao=X(),Co=Io(Ao);Ge.default=function(t){t.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new Co.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Qr.exports=Ge.default});var Ur=_((Ke,$r)=>{"use strict";Ke.__esModule=!0;function Ro(t){return t&&t.__esModule?t:{default:t}}var Fr=F(),Mo=X(),Vr=Ro(Mo);Ke.default=function(t){t.registerHelper("if",function(e,n){if(arguments.length!=2)throw new Vr.default("#if requires exactly one argument");return Fr.isFunction(e)&&(e=e.call(this)),!n.hash.includeZero&&!e||Fr.isEmpty(e)?n.inverse(this):n.fn(this)}),t.registerHelper("unless",function(e,n){if(arguments.length!=2)throw new Vr.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:n.inverse,inverse:n.fn,hash:n.hash})})};$r.exports=Ke.default});var Wr=_((Ye,jr)=>{"use strict";Ye.__esModule=!0;Ye.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var i=1;n.hash.level!=null?i=n.hash.level:n.data&&n.data.level!=null&&(i=n.data.level),e[0]=i,t.log.apply(t,e)})};jr.exports=Ye.default});var Gr=_((Je,zr)=>{"use strict";Je.__esModule=!0;Je.default=function(t){t.registerHelper("lookup",function(e,n,r){return e&&r.lookupProperty(e,n)})};zr.exports=Je.default});var Yr=_((Xe,Kr)=>{"use strict";Xe.__esModule=!0;function Ho(t){return t&&t.__esModule?t:{default:t}}var be=F(),No=X(),Do=Ho(No);Xe.default=function(t){t.registerHelper("with",function(e,n){if(arguments.length!=2)throw new Do.default("#with requires exactly one argument");be.isFunction(e)&&(e=e.call(this));var r=n.fn;if(be.isEmpty(e))return n.inverse(this);var i=n.data;return n.data&&n.ids&&(i=be.createFrame(n.data),i.contextPath=be.appendContextPath(n.data.contextPath,n.ids[0])),r(e,{data:i,blockParams:be.blockParams([e],[i&&i.contextPath])})})};Kr.exports=Xe.default});var Kt=_(Ze=>{"use strict";Ze.__esModule=!0;Ze.registerDefaultHelpers=Xo;Ze.moveHelperToHooks=Zo;function se(t){return t&&t.__esModule?t:{default:t}}var Bo=Nr(),Qo=se(Bo),qo=Br(),Fo=se(qo),Vo=qr(),$o=se(Vo),Uo=Ur(),jo=se(Uo),Wo=Wr(),zo=se(Wo),Go=Gr(),Ko=se(Go),Yo=Yr(),Jo=se(Yo);function Xo(t){Qo.default(t),Fo.default(t),$o.default(t),jo.default(t),zo.default(t),Ko.default(t),Jo.default(t)}function Zo(t,e,n){t.helpers[e]&&(t.hooks[e]=t.helpers[e],n||delete t.helpers[e])}});var Xr=_((et,Jr)=>{"use strict";et.__esModule=!0;var ea=F();et.default=function(t){t.registerDecorator("inline",function(e,n,r,i){var s=e;return n.partials||(n.partials={},s=function(o,a){var l=r.partials;r.partials=ea.extend({},l,n.partials);var u=e(o,a);return r.partials=l,u}),n.partials[i.args[0]]=i.fn,s})};Jr.exports=et.default});var Zr=_(Yt=>{"use strict";Yt.__esModule=!0;Yt.registerDefaultDecorators=ia;function ta(t){return t&&t.__esModule?t:{default:t}}var na=Xr(),ra=ta(na);function ia(t){ra.default(t)}});var Jt=_((tt,ei)=>{"use strict";tt.__esModule=!0;var sa=F(),fe={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if(typeof e=="string"){var n=sa.indexOf(fe.methodMap,e.toLowerCase());n>=0?e=n:e=parseInt(e,10)}return e},log:function(e){if(e=fe.lookupLevel(e),typeof console<"u"&&fe.lookupLevel(fe.level)<=e){var n=fe.methodMap[e];console[n]||(n="log");for(var r=arguments.length,i=Array(r>1?r-1:0),s=1;s<r;s++)i[s-1]=arguments[s];console[n].apply(console,i)}}};tt.default=fe;ei.exports=tt.default});var ti=_(Xt=>{"use strict";Xt.__esModule=!0;Xt.createNewLookupObject=aa;var oa=F();function aa(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return oa.extend.apply(void 0,[Object.create(null)].concat(e))}});var Zt=_(Ee=>{"use strict";Ee.__esModule=!0;Ee.createProtoAccessControl=da;Ee.resultIsAllowed=ha;Ee.resetLoggedProperties=pa;function la(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var ni=ti(),ua=Jt(),ca=la(ua),nt=Object.create(null);function da(t){var e=Object.create(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:ni.createNewLookupObject(n,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:ni.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}}function ha(t,e,n){return ri(typeof t=="function"?e.methods:e.properties,n)}function ri(t,e){return t.whitelist[e]!==void 0?t.whitelist[e]===!0:t.defaultValue!==void 0?t.defaultValue:(fa(e),!1)}function fa(t){nt[t]!==!0&&(nt[t]=!0,ca.log("error",'Handlebars: Access has been denied to resolve the property "'+t+`" because it is not an "own property" of its parent. +You can add a runtime option to disable the check or this warning: +See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function pa(){Object.keys(nt).forEach(function(t){delete nt[t]})}});var rn=_(j=>{"use strict";j.__esModule=!0;j.HandlebarsEnvironment=nn;function ii(t){return t&&t.__esModule?t:{default:t}}var oe=F(),ma=X(),en=ii(ma),ga=Kt(),va=Zr(),ya=Jt(),rt=ii(ya),wa=Zt(),ba="4.7.7";j.VERSION=ba;var Ea=8;j.COMPILER_REVISION=Ea;var xa=7;j.LAST_COMPATIBLE_COMPILER_REVISION=xa;var ka={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};j.REVISION_CHANGES=ka;var tn="[object Object]";function nn(t,e,n){this.helpers=t||{},this.partials=e||{},this.decorators=n||{},ga.registerDefaultHelpers(this),va.registerDefaultDecorators(this)}nn.prototype={constructor:nn,logger:rt.default,log:rt.default.log,registerHelper:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple helpers");oe.extend(this.helpers,e)}else this.helpers[e]=n},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){if(oe.toString.call(e)===tn)oe.extend(this.partials,e);else{if(typeof n>"u")throw new en.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=n}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple decorators");oe.extend(this.decorators,e)}else this.decorators[e]=n},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){wa.resetLoggedProperties()}};var Sa=rt.default.log;j.log=Sa;j.createFrame=oe.createFrame;j.logger=rt.default});var oi=_((it,si)=>{"use strict";it.__esModule=!0;function sn(t){this.string=t}sn.prototype.toString=sn.prototype.toHTML=function(){return""+this.string};it.default=sn;si.exports=it.default});var ai=_(on=>{"use strict";on.__esModule=!0;on.wrapHelper=_a;function _a(t,e){if(typeof t!="function")return t;var n=function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)};return n}});var hi=_(Z=>{"use strict";Z.__esModule=!0;Z.checkRevision=Aa;Z.template=Ca;Z.wrapProgram=st;Z.resolvePartial=Ra;Z.invokePartial=Ma;Z.noop=ci;function La(t){return t&&t.__esModule?t:{default:t}}function Ta(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Pa=F(),z=Ta(Pa),Oa=X(),G=La(Oa),K=rn(),li=Kt(),Ia=ai(),ui=Zt();function Aa(t){var e=t&&t[0]||1,n=K.COMPILER_REVISION;if(!(e>=K.LAST_COMPATIBLE_COMPILER_REVISION&&e<=K.COMPILER_REVISION))if(e<K.LAST_COMPATIBLE_COMPILER_REVISION){var r=K.REVISION_CHANGES[n],i=K.REVISION_CHANGES[e];throw new G.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}else throw new G.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}function Ca(t,e){if(!e)throw new G.default("No environment passed to template");if(!t||!t.main)throw new G.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var n=t.compiler&&t.compiler[0]===7;function r(o,a,l){l.hash&&(a=z.extend({},a,l.hash),l.ids&&(l.ids[0]=!0)),o=e.VM.resolvePartial.call(this,o,a,l);var u=z.extend({},l,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=e.VM.invokePartial.call(this,o,a,u);if(c==null&&e.compile&&(l.partials[l.name]=e.compile(o,t.compilerOptions,e),c=l.partials[l.name](a,u)),c!=null){if(l.indent){for(var d=c.split(` +`),h=0,f=d.length;h<f&&!(!d[h]&&h+1===f);h++)d[h]=l.indent+d[h];c=d.join(` +`)}return c}else throw new G.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,l,u){if(!a||!(l in a))throw new G.default('"'+l+'" not defined in '+a,{loc:u});return i.lookupProperty(a,l)},lookupProperty:function(a,l){var u=a[l];if(u==null||Object.prototype.hasOwnProperty.call(a,l)||ui.resultIsAllowed(u,i.protoAccessControl,l))return u},lookup:function(a,l){for(var u=a.length,c=0;c<u;c++){var d=a[c]&&i.lookupProperty(a[c],l);if(d!=null)return a[c][l]}},lambda:function(a,l){return typeof a=="function"?a.call(l):a},escapeExpression:z.escapeExpression,invokePartial:r,fn:function(a){var l=t[a];return l.decorator=t[a+"_d"],l},programs:[],program:function(a,l,u,c,d){var h=this.programs[a],f=this.fn(a);return l||d||c||u?h=st(this,a,f,l,u,c,d):h||(h=this.programs[a]=st(this,a,f)),h},data:function(a,l){for(;a&&l--;)a=a._parent;return a},mergeIfNeeded:function(a,l){var u=a||l;return a&&l&&a!==l&&(u=z.extend({},l,a)),u},nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=a.data;s._setup(a),!a.partial&&t.useData&&(l=Ha(o,l));var u=void 0,c=t.useBlockParams?[]:void 0;t.useDepths&&(a.depths?u=o!=a.depths[0]?[o].concat(a.depths):a.depths:u=[o]);function d(h){return""+t.main(i,h,i.helpers,i.partials,l,c,u)}return d=di(t.main,d,i,a.depths||[],l,c),d(o,a)}return s.isTop=!0,s._setup=function(o){if(o.partial)i.protoAccessControl=o.protoAccessControl,i.helpers=o.helpers,i.partials=o.partials,i.decorators=o.decorators,i.hooks=o.hooks;else{var a=z.extend({},e.helpers,o.helpers);Na(a,i),i.helpers=a,t.usePartial&&(i.partials=i.mergeIfNeeded(o.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=z.extend({},e.decorators,o.decorators)),i.hooks={},i.protoAccessControl=ui.createProtoAccessControl(o);var l=o.allowCallsToHelperMissing||n;li.moveHelperToHooks(i,"helperMissing",l),li.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(o,a,l,u){if(t.useBlockParams&&!l)throw new G.default("must pass block params");if(t.useDepths&&!u)throw new G.default("must pass parent depths");return st(i,o,t[o],a,0,l,u)},s}function st(t,e,n,r,i,s,o){function a(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=o;return o&&l!=o[0]&&!(l===t.nullContext&&o[0]===null)&&(c=[l].concat(o)),n(t,l,t.helpers,t.partials,u.data||r,s&&[u.blockParams].concat(s),c)}return a=di(n,a,t,o,r,s),a.program=e,a.depth=o?o.length:0,a.blockParams=i||0,a}function Ra(t,e,n){return t?!t.call&&!n.name&&(n.name=t,t=n.partials[t]):n.name==="@partial-block"?t=n.data["partial-block"]:t=n.partials[n.name],t}function Ma(t,e,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var i=void 0;if(n.fn&&n.fn!==ci&&function(){n.data=K.createFrame(n.data);var s=n.fn;i=n.data["partial-block"]=function(a){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=K.createFrame(l.data),l.data["partial-block"]=r,s(a,l)},s.partials&&(n.partials=z.extend({},n.partials,s.partials))}(),t===void 0&&i&&(t=i),t===void 0)throw new G.default("The partial "+n.name+" could not be found");if(t instanceof Function)return t(e,n)}function ci(){return""}function Ha(t,e){return(!e||!("root"in e))&&(e=e?K.createFrame(e):{},e.root=t),e}function di(t,e,n,r,i,s){if(t.decorator){var o={};e=t.decorator(e,o,n,r&&r[0],i,s,r),z.extend(e,o)}return e}function Na(t,e){Object.keys(t).forEach(function(n){var r=t[n];t[n]=Da(r,e)})}function Da(t,e){var n=e.lookupProperty;return Ia.wrapHelper(t,function(r){return z.extend({lookupProperty:n},r)})}});var pi=_((ot,fi)=>{"use strict";ot.__esModule=!0;ot.default=function(t){var e=typeof global<"u"?global:window,n=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=n),t}};fi.exports=ot.default});var ae=_((at,yi)=>{"use strict";at.__esModule=!0;function ln(t){return t&&t.__esModule?t:{default:t}}function un(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Ba=rn(),mi=un(Ba),Qa=oi(),qa=ln(Qa),Fa=X(),Va=ln(Fa),$a=F(),an=un($a),Ua=hi(),gi=un(Ua),ja=pi(),Wa=ln(ja);function vi(){var t=new mi.HandlebarsEnvironment;return an.extend(t,mi),t.SafeString=qa.default,t.Exception=Va.default,t.Utils=an,t.escapeExpression=an.escapeExpression,t.VM=gi,t.template=function(e){return gi.template(e,t)},t}var xe=vi();xe.create=vi;Wa.default(xe);xe.default=xe;at.default=xe;yi.exports=at.default});var Zi=_((Ji,Xi)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(d){return new t.Token(t.utils.asString(d).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var c=t.utils.clone(n)||{};c.position=[a,u],c.index=s.length,s.push(new t.Token(r.slice(a,o),c))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,c=0;u<s&&c<o;)a=r[u],l=i[c],a<l?u+=2:a>l?c+=2:a==l&&(n+=r[u+1]*i[c+1],u+=2,c+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,c="^("+s+")?"+i,d=new RegExp(a),h=new RegExp(u),f=new RegExp(l),m=new RegExp(c),g=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,x=/^(.+?)(ed|ing)$/,I=/.$/,q=/(at|bl|iz)$/,$=new RegExp("([^aeiouylsz])\\1$"),S=new RegExp("^"+s+i+"[^aeiouwxy]$"),R=/^(.+?[^aeiou])y$/,U=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,ee=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,ve=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,Pe=/^(.+?)(s|t)(ion)$/,te=/^(.+?)e$/,Oe=/ll$/,Ie=new RegExp("^"+s+i+"[^aeiouwxy]$"),ye=function(y){var k,ne,Q,b,L,re,de;if(y.length<3)return y;if(Q=y.substr(0,1),Q=="y"&&(y=Q.toUpperCase()+y.substr(1)),b=g,L=v,b.test(y)?y=y.replace(b,"$1$2"):L.test(y)&&(y=y.replace(L,"$1$2")),b=w,L=x,b.test(y)){var T=b.exec(y);b=d,b.test(T[1])&&(b=I,y=y.replace(b,""))}else if(L.test(y)){var T=L.exec(y);k=T[1],L=m,L.test(k)&&(y=k,L=q,re=$,de=S,L.test(y)?y=y+"e":re.test(y)?(b=I,y=y.replace(b,"")):de.test(y)&&(y=y+"e"))}if(b=R,b.test(y)){var T=b.exec(y);k=T[1],y=k+"i"}if(b=U,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+e[ne])}if(b=ee,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+n[ne])}if(b=ve,L=Pe,b.test(y)){var T=b.exec(y);k=T[1],b=h,b.test(k)&&(y=k)}else if(L.test(y)){var T=L.exec(y);k=T[1]+T[2],L=h,L.test(k)&&(y=k)}if(b=te,b.test(y)){var T=b.exec(y);k=T[1],b=h,L=f,re=Ie,(b.test(k)||L.test(k)&&!re.test(k))&&(y=k)}return b=Oe,L=h,b.test(y)&&L.test(y)&&(b=I,y=y.replace(b,"")),Q=="y"&&(y=Q.toLowerCase()+y.substr(1)),y};return function(ce){return ce.update(ye)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c=s.str.charAt(0),d=s.str.charAt(1),h;d in s.node.edges?h=s.node.edges[d]:(h=new t.TokenSet,s.node.edges[d]=h),s.str.length==1&&(h.final=!0),i.push({node:h,editsRemaining:s.editsRemaining-1,str:c+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var c=s[u],d=0;d<l;d++){var h=a[d];if(h==c||c=="*"){var f=r.node.edges[h],m=r.qNode.edges[c],g=f.final&&m.final,v=void 0;h in r.output.edges?(v=r.output.edges[h],v.final=v.final||g):(v=new t.TokenSet,v.final=g,r.output.edges[h]=v),i.push({qNode:m,output:v,node:f})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],c=null,d=t.Set.empty;u.usePipeline?c=this.pipeline.runString(u.term,{fields:u.fields}):c=[u.term];for(var h=0;h<c.length;h++){var f=c[h];u.term=f;var m=t.TokenSet.fromClause(u),g=this.tokenSet.intersect(m).toArray();if(g.length===0&&u.presence===t.Query.presence.REQUIRED){for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=t.Set.empty}break}for(var x=0;x<g.length;x++)for(var I=g[x],q=this.invertedIndex[I],$=q._index,v=0;v<u.fields.length;v++){var w=u.fields[v],S=q[w],R=Object.keys(S),U=I+"/"+w,ee=new t.Set(R);if(u.presence==t.Query.presence.REQUIRED&&(d=d.union(ee),o[w]===void 0&&(o[w]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[w]===void 0&&(a[w]=t.Set.empty),a[w]=a[w].union(ee);continue}if(i[w].upsert($,u.boost,function(Ms,Hs){return Ms+Hs}),!s[U]){for(var ve=0;ve<R.length;ve++){var Pe=R[ve],te=new t.FieldRef(Pe,w),Oe=S[Pe],Ie;(Ie=r[te])===void 0?r[te]=new t.MatchData(I,w,Oe):Ie.add(I,w,Oe)}s[U]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=o[w].intersect(d)}}for(var ye=t.Set.complete,ce=t.Set.empty,l=0;l<this.fields.length;l++){var w=this.fields[l];o[w]&&(ye=ye.intersect(o[w])),a[w]&&(ce=ce.union(a[w]))}var y=Object.keys(r),k=[],ne=Object.create(null);if(n.isNegated()){y=Object.keys(this.fieldVectors);for(var l=0;l<y.length;l++){var te=y[l],Q=t.FieldRef.fromString(te);r[te]=new t.MatchData}}for(var l=0;l<y.length;l++){var Q=t.FieldRef.fromString(y[l]),b=Q.docRef;if(ye.contains(b)&&!ce.contains(b)){var L=this.fieldVectors[Q],re=i[Q.fieldName].similarity(L),de;if((de=ne[b])!==void 0)de.score+=re,de.matchData.combine(r[Q]);else{var T={ref:b,score:re,matchData:r[Q]};ne[b]=T,k.push(T)}}}return k.sort(function(Cs,Rs){return Rs.score-Cs.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=i[u],d=c[0],h=c[1];r[d]=new t.Vector(h)}for(var u=0;u<o.length;u++){var c=o[u],f=c[0],m=c[1];a.insert(f),s[f]=m}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),c=this.pipeline.run(u),d=new t.FieldRef(r,o),h=Object.create(null);this.fieldTermFrequencies[d]=h,this.fieldLengths[d]=0,this.fieldLengths[d]+=c.length;for(var f=0;f<c.length;f++){var m=c[f];if(h[m]==null&&(h[m]=0),h[m]+=1,this.invertedIndex[m]==null){var g=Object.create(null);g._index=this.termIndex,this.termIndex+=1;for(var v=0;v<i.length;v++)g[i[v]]=Object.create(null);this.invertedIndex[m]=g}this.invertedIndex[m][o][r]==null&&(this.invertedIndex[m][o][r]=Object.create(null));for(var w=0;w<this.metadataWhitelist.length;w++){var x=this.metadataWhitelist[w],I=m.metadata[x];this.invertedIndex[m][o][r][x]==null&&(this.invertedIndex[m][o][r][x]=[]),this.invertedIndex[m][o][r][x].push(I)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,c=this.fieldTermFrequencies[o],d=Object.keys(c),h=d.length,f=this._fields[a].boost||1,m=this._documents[o.docRef].boost||1,g=0;g<h;g++){var v=d[g],w=c[v],x=this.invertedIndex[v]._index,I,q,$;i[v]===void 0?(I=t.idf(this.invertedIndex[v],this.documentCount),i[v]=I):I=i[v],q=I*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+w),q*=f,q*=m,$=Math.round(q*1e3)/1e3,u.insert(x,$)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var c=l[u];this.metadata[i][a][c]==null?this.metadata[i][a][c]=e.metadata[i][a][c]:this.metadata[i][a][c]=this.metadata[i][a][c].concat(e.metadata[i][a][c])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof Ji=="object"?Xi.exports=n():e.lunr=n()}(this,function(){return t})})()});var zn=new URLSearchParams(window.location.search),A=window.self!==window.parent,Gn=zn.has("preview"),Kn=zn.has("hint");function Ae(){return window.sidebarNodes||{}}function Yn(){return window.versionNodes||[]}function Jn(){return window.searchNodes||[]}var p=document.querySelector.bind(document),M=document.querySelectorAll.bind(document);function Xn(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Re(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Me(){return document.getElementById("main").dataset.type}var Ce=["H1","H2","H3","H4","H5","H6"];function He(t=!1){let e=window.location.hash.replace(/^#/,"");if(!e)return t?document.getElementById("top-content"):null;let n=document.getElementById(e);if(!n)return null;if(n.matches(".detail"))return n;if(Ce.includes(n.tagName))return Pt(n);let r=Vs(n);return r||document.getElementById("top-content")}function Vs(t){let e=t.previousElementSibling;for(;e;){if(Ce.includes(e.tagName))return Pt(e);e=e.previousElementSibling}let n=t.parentNode;for(;n;){for(e=n.previousElementSibling;e;){if(Ce.includes(e.tagName))return Pt(e);e=e.previousElementSibling}n=n.parentNode}return null}function Pt(t){let e=document.createElement("div"),n=[t],r=t;for(;(r=r.nextSibling)&&!(Ce.includes(r.tagName)&&r.tagName<=t.tagName);)n.push(r);return e.append(...n),e}function Ot(t){return new URLSearchParams(window.location.search).get(t)}function It(t){return fetch(t).then(e=>e.ok).catch(()=>!1)}function he(t){return!t||t.trim()===""}function Zn(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,t(...i)},e)}}function Ne(){return document.head.querySelector("meta[name=project][content]").content}function De(){return document.documentElement.classList.contains("apple-os")}function E(t,e,n){let r=document.createElement(t);for(let i in e)e[i]!=null&&r.setAttribute(i,e[i]);return n&&r.replaceChildren(...n),r}if(Gn&&A){let t=He(!0);if(t){document.body.classList.add("preview"),document.getElementById("content").replaceChildren(...t.childNodes);let e=document.getElementsByTagName("a:not([target=_blank]");for(let n of e)n.setAttribute("target","_parent");window.scrollTo(0,0),document.body.style.position="fixed",setTimeout(er),window.addEventListener("resize",er)}}function er(){let t={type:"preview",contentHeight:document.getElementById("content").parentElement.offsetHeight};window.parent.postMessage(t,"*")}var ie={plain:"plain",function:"function",module:"module"},$s=[{href:"typespecs.html#basic-types",hint:{kind:ie.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:ie.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:ie.plain,description:"Built-in type"}}],Be={cancelHintFetching:null};function tr(t){if(rr(t))return!0;let e=/#.*\//;return t.includes("#")&&!e.test(t)?!1:t.includes(".html")}function nr(t){let e=rr(t);return e?Promise.resolve(e):Us(t)}function rr(t){let e=$s.find(n=>t.includes(n.href));return e?e.hint:null}function Us(t){let e=t.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("src",e),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;e===l&&(o(),n(u))}Be.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Be.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function ir(){Be.cancelHintFetching&&Be.cancelHintFetching()}function sr(t){let n=t.querySelector("h1").textContent,r=t.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:ie.function,title:n.trim(),description:i.trim()}}function or(t){let n=t.querySelector("h1 > span").textContent,r=t.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:ie.module,title:n.trim(),description:i.trim()}}if(Kn&&A){let t=He(),e=t?sr(t):["modules","tasks"].includes(Me())?or(p(".content-inner")):null;if(e){let n={hint:{...e,version:Ne()},href:window.location.href};window.parent.postMessage(n,"*")}p(".content-inner")?.replaceChildren()}var At="ex_doc:settings",ar="dark",Ct="system",Rt="dark",Mt="light";var js={tooltips:!0,theme:null,livebookUrl:null},Ht=class{constructor(){this._subscribers=[],this._settings=js,this._loadSettings()}get(){return this._settings}update(e){let n=this._settings;this._settings={...this._settings,...e},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(e){this._subscribers.push(e),e(this._settings)}_loadSettings(){try{let e=localStorage.getItem(At);if(e){let n=JSON.parse(e);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(e){console.error(`Failed to load settings: ${e}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(At,JSON.stringify(this._settings))}catch(e){console.error(`Failed to persist settings: ${e}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},H=new Ht;var lr=!1,Qe=null,J=null;function ur(t){lr||(lr=!0,J=document.getElementById("toast"),J?.addEventListener("click",()=>{clearTimeout(Qe),J.classList.remove("show")})),J&&(clearTimeout(Qe),J.innerText=t,J.classList.add("show"),Qe=setTimeout(()=>{J.classList.remove("show"),Qe=setTimeout(function(){J.innerText=""},1e3)},5e3))}var Nt=[Ct,Rt,Mt],cr=window.matchMedia("(prefers-color-scheme: dark)");H.getAndSubscribe(dr);cr.addEventListener("change",dr);function dr(){let t=qe(),e=t===Rt||t!==Mt&&cr.matches;document.body.classList.toggle(ar,e)}function hr(){let t=Nt[Nt.indexOf(qe())+1]||Nt[0];H.update({theme:t}),ur(`Set theme to "${t}"`)}function qe(){return new URLSearchParams(window.location.search).get("theme")||H.get().theme||Ct}var Sr=Y(vr());var Bt="sidebar_state",Qt="closed",yr="open",wr="sidebar_width";var Ve="sidebar-open",$e="sidebar-transition";var br=!1;function Er(){if(br)return;br=!0;let t=document.getElementById("sidebar-list-nav");if(!t)return;let e=Me(),n={extras:t.dataset.extras||"Pages",modules:"Modules",tasks:'<span translate="no">Mix</span> Tasks'};Object.entries(n).forEach(([r,i])=>{let s=Ae()[r];if(!s?.length)return;let o=`${r}-list-tab-button`,a=`${r}-tab-panel`,l=r===e,u=E("button",{id:o,role:"tab",tabindex:l?0:-1,"aria-selected":l||void 0,"aria-controls":a});u.innerHTML=i,u.addEventListener("keydown",ho),u.addEventListener("click",fo),t.appendChild(E("li",{},[u]));let c=E("ul",{class:"full-list"});c.addEventListener("click",po);let d=E("div",{id:a,class:"sidebar-tabpanel",role:"tabpanel","aria-labelledby":o,hidden:l?void 0:""},[c]);document.getElementById("sidebar").appendChild(d);let h="",f,m;c.replaceChildren(...s.flatMap(g=>{let v=[],w=Array.isArray(g.headers),x=w?void 0:"no";return g.group!==h&&(v.push(E("li",{class:"group",translate:x},[g.group])),h=g.group,f=void 0),g.nested_context&&g.nested_context!==f?(f=g.nested_context,m!==f&&v.push(E("li",{class:"nesting-context",translate:"no","aria-hidden":!0},[f]))):m=g.title,v.push(E("li",{},[E("a",{href:`${g.id}.html`,translate:x},[g.nested_title||g.title]),...Ft(`node-${g.id}-headers`,w?uo(g):co(g))])),v}))}),window.addEventListener("hashchange",qt),window.addEventListener("swup:page:view",qt),qt(),requestAnimationFrame(xr)}function Ft(t,e){return e.length?[E("button",{"aria-label":"expand","aria-expanded":!1,"aria-controls":t}),E("ul",{id:t},e)]:[]}function uo(t){return t.headers.map(({id:e,anchor:n})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[e])]))}function co(t){let e=[];return t.sections?.length&&e.push(E("li",{},[E("a",{href:`${t.id}.html#content`},["Sections"]),...Ft(`${t.id}-sections-list`,t.sections.map(({id:n,anchor:r})=>E("li",{},[E("a",{href:`${t.id}.html#${r}`},[n])])))])),t.nodeGroups&&(e.push(E("li",{},[E("a",{href:`${t.id}.html#summary`},["Summary"])])),e.push(...t.nodeGroups.map(({key:n,name:r,nodes:i})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[r]),...Ft(`node-${t.id}-group-${n}-list`,i.map(({anchor:s,title:o,id:a})=>E("li",{},[E("a",{href:`${t.id}.html#${s}`,title:o,translate:"no"},[a])])))])))),e}function Vt(t){let e=document.getElementById("sidebar-list-nav").querySelector("[aria-selected]");e!==t&&(e&&(e.removeAttribute("aria-selected"),e.setAttribute("tabindex","-1"),document.getElementById(e.getAttribute("aria-controls")).setAttribute("hidden","hidden")),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),document.getElementById(t.getAttribute("aria-controls")).removeAttribute("hidden"))}function xr(){p("#sidebar [role=tabpanel]:not([hidden]) a[aria-selected]")?.scrollIntoView()}function qt(){let t=document.getElementById("sidebar"),{pathname:e,hash:n}=window.location,r=e.split("/").pop().replace(/\.html$/,"")+".html",i=t.querySelector(`li a[href="${r+n}"]`)||t.querySelector(`li a[href="${r}"]`);if(!i)return;t.querySelectorAll(".full-list a[aria-selected]").forEach(o=>{o.removeAttribute("aria-selected")}),t.querySelectorAll(".full-list button[aria-expanded=true]").forEach(o=>{o.setAttribute("aria-expanded",!1)});let s=i.parentElement;for(;s;){if(s.tagName==="LI"){let o=s.firstChild;o.setAttribute("aria-selected",o.getAttribute("href")===r?"page":"true");let a=o.nextSibling;a?.tagName==="BUTTON"&&a.setAttribute("aria-expanded",!0)}else if(s.role==="tabpanel"){s.hasAttribute("hidden")&&Vt(document.getElementById(s.getAttribute("aria-labelledby")));break}s=s.parentElement}}function ho(t){if(!["ArrowRight","ArrowLeft"].includes(t.key))return;let e=Array.from(M('#sidebar-list-nav [role="tab"]')),r=e.indexOf(t.currentTarget)+(t.key==="ArrowRight"?1:-1),i=e.at(r%e.length);Vt(i),i.focus()}function fo(t){Vt(t.currentTarget),xr()}function po(t){let e=t.target;e.tagName==="BUTTON"&&e.setAttribute("aria-expanded",e.getAttribute("aria-expanded")==="false")}var go=300,_r=".sidebar-toggle",Lr=window.matchMedia(`screen and (max-width: ${768}px)`);if(!A){$t(),window.addEventListener("swup:page:view",$t);let t=document.getElementById("sidebar"),e=p(_r);e.addEventListener("click",Ue),document.body.addEventListener("click",i=>{Lr.matches&&Tr()&&!t.contains(i.target)&&!e.contains(i.target)&&Ue()});let n=window.innerWidth;window.addEventListener("resize",(0,Sr.default)(()=>{n!==window.innerWidth&&(n=window.innerWidth,$t())},100));let r=new ResizeObserver(([i])=>{if(!i)return;let s=i.contentRect.width;sessionStorage.setItem(wr,s),document.body.style.setProperty("--sidebarWidth",`${s}px`)});t.addEventListener("mousedown",()=>r.observe(t)),t.addEventListener("mouseup",()=>r.unobserve(t))}function $t(){let e=sessionStorage.getItem(Bt)!==Qt&&!Lr.matches;Or(e)}function Ue(){let t=!Tr();return sessionStorage.setItem(Bt,t?yr:Qt),Ir(t)}function Tr(){return document.body.classList.contains(Ve)}function Pr(){return document.body.classList.contains(Ve)&&!document.body.classList.contains($e)}function Or(t){t&&Er(),document.body.classList.toggle(Ve,t),p(_r).setAttribute("aria-expanded",t?"true":"false")}var kr;function Ir(t){return new Promise(e=>{document.body.classList.add($e),document.body.scrollTop,Or(t),clearTimeout(kr),kr=setTimeout(()=>{document.body.classList.remove($e),e()},go)})}function Ar(){return Ir(!0)}var wi=Y(ae());var cn=Y(ae());cn.registerHelper("isArray",function(t,e){return Array.isArray(t)?e.fn(this):e.inverse(this)});cn.registerHelper("isNonEmptyArray",function(t,e){return Array.isArray(t)&&t.length>0?e.fn(this):e.inverse(this)});var bi=wi.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <option translate="no" value="'+c((o=(o=d(n,"url")||(e!=null?d(e,"url"):e))!=null?o:l,typeof o===u?o.call(a,{name:"url",hash:{},data:i,loc:{start:{line:7,column:38},end:{line:7,column:45}}}):o))+'"'+((s=d(n,"if").call(a,e!=null?d(e,"isCurrentVersion"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:7,column:46},end:{line:7,column:95}}}))!=null?s:"")+`> + `+c((o=(o=d(n,"version")||(e!=null?d(e,"version"):e))!=null?o:l,typeof o===u?o.call(a,{name:"version",hash:{},data:i,loc:{start:{line:8,column:10},end:{line:8,column:21}}}):o))+` + </option> +`},2:function(t,e,n,r,i){return" selected disabled"},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <div class="sidebar-staleVersion"> + <a href="`+t.escapeExpression((s=(s=o(n,"latestVersion")||(e!=null?o(e,"latestVersion"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"latestVersion",hash:{},data:i,loc:{start:{line:15,column:15},end:{line:15,column:32}}}):s))+`" title="This version of package is not the latest version"> + <i class="ri-alert-line sidebar-staleIcon" aria-hidden="true"></i> + <span>Go to latest</span> + </a> + </div> +`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<form autocomplete="off"> + <label> + <span class="sidebar-projectVersionsDropdownCaret" aria-hidden="true">▼</span> + <span class="sr-only">Project version</span> + <select class="sidebar-projectVersionsDropdown"> +`+((s=a(n,"each").call(o,e!=null?a(e,"nodes"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:6,column:6},end:{line:10,column:15}}}))!=null?s:"")+` </select> + </label> +`+((s=a(n,"if").call(o,e!=null?a(e,"latestVersion"):e,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:2},end:{line:20,column:9}}}))!=null?s:"")+`</form> +`},useData:!0});var za=".sidebar-projectVersion",Ei=".sidebar-projectVersionsDropdown";if(!A){let t=Yn(),e=p(za);if(t.length>0||!e){let n=e.textContent.trim(),i=(t.some(u=>u.version===n)?t:[{version:n,url:"#"},...t]).map(u=>({...u,isCurrentVersion:u.version===n})),s=t.find(u=>u.latest),o=s?.version!==n?s?.url:null;e.innerHTML=bi({nodes:i,latestVersion:o});let a=p(Ei);a.addEventListener("change",Ka),Ga(a);let l=p(".sidebar-staleVersion a");l&&l.addEventListener("click",Ya)}}function Ga(t){let e=document.createElement("span");e.style.visibility="hidden",e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.font=window.getComputedStyle(t).font,e.textContent=t.options[t.selectedIndex].text,document.body.appendChild(e),t.style.width=`${e.offsetWidth+20}px`,document.body.removeChild(e)}function Ka(t){let e=t.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;It(r).then(i=>{i?window.location.href=r:window.location.href=e})}function Ya(t){let e=this.href,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;t.preventDefault(),It(r).then(i=>{i?window.location.href=r:window.location.href=e})}function dn(){let t=p(Ei);t&&(t.focus(),t.addEventListener("keydown",e=>{(e.key==="Escape"||e.key==="v")&&(e.preventDefault(),t.blur())}),navigator.userActivation.isActive&&"showPicker"in HTMLSelectElement.prototype&&t.showPicker())}var Ja="content",Xa="tabs-open",Za="tabs-close",el="H3",tl="tabset";window.addEventListener("swup:page:view",ki);ki();function ki(){let t=[],e=[],n=document.createNodeIterator(document.getElementById(Ja),NodeFilter.SHOW_COMMENT,i=>i.nodeValue.trim()===Xa?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT),r;for(;r=n.nextNode();){let i=[];t.push([r,i]);let s,o=r;for(;o=o.nextSibling;)if(o.nodeName===el){s=[];let a=o.querySelector(".text")?.childNodes||o.childNodes;i.push([a,s]),e.push(o)}else if(o.nodeName==="#comment"&&o.nodeValue.trim()===Za){e.push(o);break}else s&&s.push(o)}t.forEach(([i,s],o)=>{let a=E("div",{class:tl});i.parentNode.replaceChild(a,i);let l=E("div",{role:"tablist",class:"tabset-tablist"});a.appendChild(l),s.forEach(([u,c],d)=>{let h=d===0,f=`tab-${o}-${d}`,m=`tabpanel-${o}-${d}`,g=E("button",{role:"tab",id:f,class:"tabset-tab",tabindex:h?0:-1,"aria-selected":h,"aria-controls":m},u);g.addEventListener("click",nl),g.addEventListener("keydown",rl),l.appendChild(g);let v=E("div",{role:"tabpanel",id:m,class:"tabset-panel",hidden:h?void 0:"",tabindex:h?0:-1,"aria-labelledby":f},c);a.appendChild(v)})}),e.forEach(i=>{i.parentNode.removeChild(i)})}function nl(t){Si(t.currentTarget)}function rl(t){if(xi[t.code]){t.preventDefault();let e=[...t.currentTarget.parentNode.childNodes],n=e.indexOf(t.currentTarget),r=xi[t.code](n,e.length);Si(e.at(r%e.length))}}var xi={ArrowLeft:t=>t-1,ArrowRight:t=>t+1,Home:()=>0,End:(t,e)=>e-1};function Si(t){let e=t.parentNode.querySelector("[aria-selected=true]");if(e===t)return;e.setAttribute("aria-selected","false"),e.tabIndex=-1,t.setAttribute("aria-selected","true"),t.tabIndex=0,t.focus();let n=document.getElementById(e.getAttribute("aria-controls"));n.setAttribute("hidden",""),n.tabIndex=-1;let r=document.getElementById(t.getAttribute("aria-controls"));r.removeAttribute("hidden"),r.tabIndex=0}window.addEventListener("swup:page:view",_i);_i();function _i(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),e=encodeURIComponent(new URL(t,window.location.href).toString());H.getAndSubscribe(({livebookUrl:n})=>{let r=n?`${n}/import?url=${e}`:`https://livebook.dev/run?url=${e}`;for(let i of M(".livebook-badge"))i.href=r})}var il="hll";window.addEventListener("swup:page:view",Ti);Ti();function Ti(){M("[data-group-id]").forEach(t=>{t.addEventListener("mouseenter",Li),t.addEventListener("mouseleave",Li)})}function Li(t){let e=t.currentTarget,n=t.type==="mouseenter",r=e.getAttribute("data-group-id");e.parentElement.querySelectorAll(`[data-group-id="${r}"]`).forEach(i=>{i.classList.toggle(il,n)})}var W={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Oi(t,e=8){if(he(t))return[];let n=Ae(),r=[...hn(n.modules,t,W.module,"module"),...sl(n.modules,t,W.moduleChild),...hn(n.tasks,t,W.mixTask,"mix task"),...hn(n.extras,t,W.extra,"page"),...fn(n.modules,t,W.section,"module"),...fn(n.tasks,t,W.section,"mix task"),...fn(n.extras,t,W.section,"page")].filter(i=>i!==null);return hl(r).slice(0,e)}function hn(t,e,n,r){return t.map(i=>i.searchData?null:al(i,e,n,r))}function sl(t,e,n){return t.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=dl(i);return s.map(a=>ll(a,r.id,e,n,o)||cl(a,r.id,e,n,o))}))}function fn(t,e,n,r){return t.flatMap(i=>ol(i).map(s=>ul(i,s,e,n,r)))}function ol(t){return t.searchData?t.searchData:(t.sections||[]).concat(t.headers||[])}function al(t,e,n,r){return ut(t.title,e)?{link:`${t.id}.html`,title:ht(t.title,e),description:null,matchQuality:ct(t.title,e),deprecated:t.deprecated,labels:[r],category:n}:null}function ll(t,e,n,r,i){return ut(t.id,n)?{link:`${e}.html#${t.anchor}`,title:ht(t.id,n),labels:[i],description:e,matchQuality:ct(t.id,n),deprecated:t.deprecated,category:r}:null}function ul(t,e,n,r,i){if(!Ii(e.id,n))return null;let s;return e.anchor===""?s=`${t.id}.html`:s=`${t.id}.html#${e.anchor}`,{link:s,title:ht(e.id,n),description:t.title,matchQuality:ct(e.id,n),labels:e.labels||[i,"section"],category:r}}function cl(t,e,n,r,i){let s=`${e}.${t.id}`,o=`${e}:${t.id}`,a,l;if(ut(s,n))a=s,l=/\./g;else if(ut(o,n))a=o,l=/:/g;else return null;let u=n.replace(l," ");return Ii(t.id,u)?{link:`${e}.html#${t.anchor}`,title:ht(t.id,u),label:i,description:e,matchQuality:ct(a,n),deprecated:t.deprecated,category:r}:null}function dl(t){switch(t){case"callbacks":return"callback";case"types":return"type";default:return"function"}}function hl(t){return t.slice().sort((e,n)=>e.matchQuality!==n.matchQuality?n.matchQuality-e.matchQuality:Pi(e.category)-Pi(n.category))}function Pi(t){switch(t){case W.module:return 1;case W.moduleChild:return 2;case W.mixTask:return 3;default:return 4}}function Ii(t,e){return dt(e).some(r=>Ai(t,r))}function ut(t,e){return dt(e).every(r=>Ai(t,r))}function Ai(t,e){return t.toLowerCase().includes(e.toLowerCase())}function ct(t,e){let n=dt(e),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/t.length,s=fl(t,n[0])?1:0;return i+s}function fl(t,e){return t.toLowerCase().startsWith(e.toLowerCase())}function dt(t){return t.trim().split(/\s+/)}function ht(t,e){let n=dt(e).sort((r,i)=>i.length-r.length);return lt(t,n)}function lt(t,e){if(e.length===0)return t;let[n,...r]=e,i=t.match(new RegExp(`(.*)(${Xn(n)})(.*)`,"i"));if(i){let[,s,o,a]=i;return lt(s,e)+"<em>"+Re(o)+"</em>"+lt(a,e)}else return lt(t,r)}var Ci=Y(ae());var Ri=Ci.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <a href="'+c((o=(o=d(n,"link")||(e!=null?d(e,"link"):e))!=null?o:l,typeof o===u?o.call(a,{name:"link",hash:{},data:i,loc:{start:{line:14,column:15},end:{line:14,column:23}}}):o))+'" class="autocomplete-suggestion" data-index="'+c((o=(o=d(n,"index")||i&&d(i,"index"))!=null?o:l,typeof o===u?o.call(a,{name:"index",hash:{},data:i,loc:{start:{line:14,column:69},end:{line:14,column:79}}}):o))+`" tabindex="-1"> + <div class="title"> +`+((s=d(n,"if").call(a,e!=null?d(e,"deprecated"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.program(4,i,0),data:i,loc:{start:{line:16,column:10},end:{line:20,column:17}}}))!=null?s:"")+` +`+((s=d(n,"each").call(a,e!=null?d(e,"labels"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:22,column:10},end:{line:24,column:19}}}))!=null?s:"")+` <div class="autocomplete-preview-indicator autocomplete-preview-indicator-open"> + <button onclick="onTogglePreviewClick(event, false)" title="Close preview" tabindex="-1"> + <i class="ri-close-line" aria-hidden="true"></i> + Close preview + </button> + </div> + <div class="autocomplete-preview-indicator autocomplete-preview-indicator-closed"> + <button onclick="onTogglePreviewClick(event, true)" title="Open preview" tabindex="-1"> + <i class="ri-search-2-line" aria-hidden="true"></i> + Open preview + </button> + </div> + </div> + +`+((s=d(n,"if").call(a,e!=null?d(e,"description"):e,{name:"if",hash:{},fn:t.program(8,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:8},end:{line:43,column:15}}}))!=null?s:"")+` </a> +`},2:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return' <s><span class="header" translate="no">'+((s=(o=(o=a(n,"title")||(e!=null?a(e,"title"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"title",hash:{},data:i,loc:{start:{line:17,column:49},end:{line:17,column:60}}}):o))!=null?s:"")+`</span></s> +`},4:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return' <span class="header" translate="no">'+((s=(o=(o=a(n,"title")||(e!=null?a(e,"title"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"title",hash:{},data:i,loc:{start:{line:19,column:46},end:{line:19,column:57}}}):o))!=null?s:"")+`</span> +`},6:function(t,e,n,r,i){return' <span class="label">'+t.escapeExpression(t.lambda(e,e))+`</span> +`},8:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return` <div class="description" translate="no"> + `+((s=(o=(o=a(n,"description")||(e!=null?a(e,"description"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"description",hash:{},data:i,loc:{start:{line:41,column:10},end:{line:41,column:27}}}):o))!=null?s:"")+` + </div> +`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return`<div class="triangle"></div> +<div class="autocomplete-container"> + <div class="autocomplete-suggestions"> + <div class="autocomplete-results"> + <span class="query"> + Autocompletion results for <span class="bold">"`+t.escapeExpression((o=(o=l(n,"term")||(e!=null?l(e,"term"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(a,{name:"term",hash:{},data:i,loc:{start:{line:6,column:55},end:{line:6,column:63}}}):o))+`"</span> + </span> + <span class="press-return"> + Press <span class="bold">RETURN</span> for full-text search, <span class="bold">TAB</span> for previews + </span> + </div> + <div> +`+((s=l(n,"each").call(a,e!=null?l(e,"suggestions"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:6},end:{line:45,column:15}}}))!=null?s:"")+` </div> + </div> +</div> +`},useData:!0});var pe=".autocomplete",pt=".autocomplete-suggestions",ft=".autocomplete-suggestion",C={autocompleteSuggestions:[],previewOpen:!1,selectedIdx:-1};function pl(){p(pe).classList.add("shown")}function pn(){p(pe).classList.remove("shown")}function Mi(){return p(pe).classList.contains("shown")}function mn(t){C.autocompleteSuggestions=Oi(t),C.selectedIdx=-1,he(t)?pn():(ml({term:t,suggestions:C.autocompleteSuggestions}),mt(0),pl())}function ml({term:t,suggestions:e}){let n=Ri({suggestions:e,term:t}),r=p(pe);r.innerHTML=n}function gn(){return C.selectedIdx===-1?null:C.autocompleteSuggestions[C.selectedIdx]}function mt(t){Ni(gl(t))}function Hi(t){if(t.data.type==="preview"){let{contentHeight:e}=t.data,n=p(".autocomplete-preview");n&&(n.style.height=`${e+32}px`,n.classList.remove("loading"))}}function Ni(t){C.selectedIdx=t;let e=p(pt),n=p(`${ft}.selected`),r=p(`${ft}[data-index="${C.selectedIdx}"]`);if(n&&n.classList.remove("selected"),r){if(C.previewOpen){Bi(),window.addEventListener("message",Hi),e.classList.add("previewing");let i=document.createElement("div");i.classList.add("autocomplete-preview"),i.classList.add("loading");let s=r.href.replace(".html",`.html?preview=true&theme=${qe()}`),o=document.createElement("iframe");o.setAttribute("src",s),i.appendChild(document.createElement("div")),i.appendChild(document.createElement("span")),i.appendChild(o),r.parentNode.insertBefore(i,r.nextSibling)}r.classList.add("selected"),r.scrollIntoView({block:"nearest"})}else e&&(e.scrollTop=0)}function Di(){C.previewOpen?gt():vn()}function gt(){C.previewOpen=!1;let t=p(pt);t&&t.classList.remove("previewing"),Bi()}function vn(t){C.previewOpen=!0,t?t=t.closest(ft):t=p(`${ft}[data-index="${C.selectedIdx}"]`),t&&Ni(parseInt(t.dataset.index))}function Bi(){let t=p(".autocomplete-preview");t&&(t.remove(),window.removeEventListener("message",Hi))}function gl(t){let e=C.autocompleteSuggestions.length+1;return(C.selectedIdx+t+1+e)%e-1}var ke="form.search-bar input",vl="form.search-bar .search-close-button";A||(window.addEventListener("swup:page:view",Qi),Qi());function Qi(){yl(),window.onTogglePreviewClick=function(t,e){t.preventDefault(),t.stopImmediatePropagation(),wn(),e?vn(t.target):gt()}}function Vi(t){let e=p(ke);e.value=t}function wn(){let t=p(ke);document.body.classList.add("search-focused"),t.focus()}function yl(){let t=p(ke);if(document.querySelector('meta[name="exdoc:autocomplete"][content="off"]'))return t.addEventListener("keydown",e=>{e.key==="Enter"&&qi(e)}),!0;t.addEventListener("keydown",e=>{let n=De();e.key==="Escape"?(vt(),t.blur()):e.key==="Enter"?qi(e):e.key==="ArrowUp"||n&&e.ctrlKey&&e.key==="p"?(mt(-1),e.preventDefault()):e.key==="ArrowDown"||n&&e.ctrlKey&&e.key==="n"?(mt(1),e.preventDefault()):e.key==="Tab"&&gn()!==null&&(Di(),e.preventDefault())}),t.addEventListener("input",e=>{mn(e.target.value)}),t.addEventListener("focus",e=>{document.body.classList.contains("search-focused")||(document.body.classList.add("search-focused"),mn(e.target.value))}),t.addEventListener("blur",e=>{let n=e.relatedTarget,r=p(pt);if(n&&r&&r.contains(n))return setTimeout(()=>{Mi()&&t.focus()},1e3),null;yt()}),p(pe).addEventListener("click",e=>{e.shiftKey||e.ctrlKey?t.focus():(vt(),yt())}),p(vl).addEventListener("click",e=>{vt(),yt()})}function qi(t){let e=p(ke),n=t.shiftKey||t.ctrlKey,r=gn();t.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");if(s.setAttribute("target",i),r)s.setAttribute("href",r.link);else{let o=document.querySelector('meta[name="exdoc:full-text-search-url"]'),a=o?o.getAttribute("content"):"search.html?q=";s.setAttribute("href",`${a}${encodeURIComponent(e.value)}`)}s.click(),n||(vt(),yt())}function vt(){let t=p(ke);t.value=""}function yt(){gt(),document.body.classList.remove("search-focused"),pn()}var yn,Fi=2;window.addEventListener("scroll",function(){let t=window.scrollY;if(yn!==void 0){let e=t-yn;t===0||e>Fi?document.body.classList.remove("scroll-sticky"):t>0&&-e>Fi&&document.body.classList.add("scroll-sticky")}yn=Math.max(0,t)},!1);var $i=Y(ae());var Ui=$i.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring docstring-plain"> + `+t.escapeExpression(t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))+` + </section> +`},3:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="detail-header"> + <h1 class="signature"> + <span translate="no">`+a(o((s=e!=null?l(e,"hint"):e)!=null?l(s,"title"):s,e))+`</span> + <div class="version-info" translate="no">`+a(o((s=e!=null?l(e,"hint"):e)!=null?l(s,"version"):s,e))+`</div> + </h1> + </div> +`+((s=l(n,"if").call(e??(t.nullContext||{}),(s=e!=null?l(e,"hint"):e)!=null?l(s,"description"):s,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?s:"")},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring"> + `+((s=t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))!=null?s:"")+` + </section> +`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"isPlain"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?s:""},useData:!0});var wl='<div class="tooltip"><div class="tooltip-body"></div></div>',bl=".content a:not([data-no-tooltip])",bn=".tooltip",ji=".tooltip .tooltip-body",Wi="body .content-inner",El="#content",zi="tooltip-shown",Se=10,xl=Se*4,kl=768,Sl=450,_l=100,le={currentLinkElement:null,hoverDelayTimeout:null};window.addEventListener("swup:page:view",Gi);Gi();function Gi(){M(bl).forEach(t=>{Ll(t)&&(t.addEventListener("mouseenter",Pl),t.addEventListener("mouseleave",Il))})}function Ll(t){return!(Tl(t.href)||!tr(t.href))}function Tl(t){let e=t.replace(El,"");return window.location.href.split("#")[0]===e}function Pl(t){if(window.innerWidth<kl||window.innerHeight<Sl||!H.get().tooltips)return;let e=t.currentTarget;le.currentLinkElement=e,le.hoverDelayTimeout=setTimeout(()=>{nr(e.href).then(Ol).catch(()=>{})},_l)}function Ol(t){let e=Ui({isPlain:t.kind===ie.plain,hint:t}),n=p(ji);n||(p(Wi).insertAdjacentHTML("beforeend",wl),n=p(ji)),n.innerHTML=e,Al(),p(bn).classList.add(zi)}function Il(){le.currentLinkElement&&(clearTimeout(le.hoverDelayTimeout),ir(),le.currentLinkElement=null,p(bn)?.classList.remove(zi))}function Al(){if(!le.currentLinkElement)return;let t=p(bn),e=le.currentLinkElement.getBoundingClientRect(),n=p(Wi).getBoundingClientRect(),r=t.getBoundingClientRect(),i=Cl(e,n);if(e.left+r.width+Se<window.innerWidth)t.style.left=`${i.left}px`,t.style.right="auto";else{let s=Math.max(i.right-r.width,Se);t.style.left=`${s}px`,t.style.right="auto"}e.bottom+r.height+xl<window.innerHeight?t.style.top=`${i.bottom+Se}px`:t.style.top=`${i.top-r.height-Se}px`}function Cl(t,e){return{top:t.top-e.top,bottom:t.bottom-e.top,left:t.left-e.left,right:t.right-e.left,x:t.x-e.x,y:t.y-e.y,width:t.width,height:t.height}}var Ki='<button class="copy-button"><svg role="img" aria-label="copy" viewBox="0 0 24 24" fill="currentColor"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg><svg aria-live="polite" role="img" aria-label="copied" viewBox="0 0 24 24" fill="currentColor"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg></button>';var En;window.addEventListener("swup:page:view",Yi);Yi();function Yi(){"clipboard"in navigator&&M("pre:has(> code:first-child):not(:has(.copy-button))").forEach(t=>{if(!En){let r=document.createElement("div");r.innerHTML=Ki,En=r.firstChild}let e=En.cloneNode(!0);t.appendChild(e);let n;e.addEventListener("click",()=>{clearTimeout(n);let r=Array.from(t.querySelectorAll("code > *:not(.unselectable)")).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),e.disabled=!0,n=setTimeout(()=>{e.classList.remove("clicked"),e.disabled=!1},3e3)})})}var V=Y(Zi());var es=Y(ae());var ts=es.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" Search results for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):s))+`</em> +`},3:function(t,e,n,r,i){return` Invalid search +`},5:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:10,column:2},end:{line:21,column:11}}}))!=null?s:""},6:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="result"> + <h2 class="result-id"> + <a href="`+a(o(e!=null?l(e,"ref"):e,e))+`"> + <span translate="no">`+a(o(e!=null?l(e,"title"):e,e))+"</span> <small>("+a(o(e!=null?l(e,"type"):e,e))+`)</small> + </a> + </h2> +`+((s=l(n,"each").call(e??(t.nullContext||{}),e!=null?l(e,"excerpts"):e,{name:"each",hash:{},fn:t.program(7,i,0),inverse:t.noop,data:i,loc:{start:{line:17,column:8},end:{line:19,column:17}}}))!=null?s:"")+` </div> +`},7:function(t,e,n,r,i){var s;return' <p class="result-elem">'+((s=t.lambda(e,e))!=null?s:"")+`</p> +`},9:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return((s=(o(n,"isArray")||e&&o(e,"isArray")||t.hooks.helperMissing).call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"isArray",hash:{},fn:t.program(10,i,0),inverse:t.program(12,i,0),data:i,loc:{start:{line:23,column:2},end:{line:29,column:14}}}))!=null?s:"")+` + <p>The search functionality is full-text based. Here are some tips:</p> + + <ul> + <li>Multiple words (such as <code>foo bar</code>) are searched as <code>OR</code></li> + <li>Use <code>*</code> anywhere (such as <code>fo*</code>) as wildcard</li> + <li>Use <code>+</code> before a word (such as <code>+foo</code>) to make its presence required</li> + <li>Use <code>-</code> before a word (such as <code>-foo</code>) to make its absence required</li> + <li>Use <code>:</code> to search on a particular field (such as <code>field:word</code>). The available fields are <code>title</code>, <code>doc</code> and <code>type</code></li> + <li>Use <code>WORD^NUMBER</code> (such as <code>foo^2</code>) to boost the given word</li> + <li>Use <code>WORD~NUMBER</code> (such as <code>foo~2</code>) to do a search with edit distance on word</li> + </ul> + + <p>To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.</p> +`},10:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" <p>Sorry, we couldn't find anything for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:24,column:48},end:{line:24,column:57}}}):s))+`</em>.</p> +`},12:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"value"):e,{name:"if",hash:{},fn:t.program(13,i,0),inverse:t.program(15,i,0),data:i,loc:{start:{line:25,column:2},end:{line:29,column:2}}}))!=null?s:""},13:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" <p>Invalid search: "+t.escapeExpression((s=(s=o(n,"errorMessage")||(e!=null?o(e,"errorMessage"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"errorMessage",hash:{},data:i,loc:{start:{line:26,column:23},end:{line:26,column:39}}}):s))+`.</p> +`},15:function(t,e,n,r,i){return` <p>Please type something into the search bar to perform a search.</p> + `},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<h1> +`+((s=a(n,"if").call(o,e!=null?a(e,"value"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?s:"")+`</h1> + +`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var wt=80,Rl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(ss,"docTokenSplitter");V.default.Pipeline.registerFunction(os,"docTrimmer");window.addEventListener("swup:page:view",rs);rs();function rs(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=Ot("q"),n=Ot("type");Ml(e,n)}}async function Ml(t,e){if(he(t))xn({value:t});else{Vi(t);try{let n=[],r=Jn();["related","latest"].includes(e)&&r.length>0?n=await Nl(t,e,r):n=await Hl(t),xn({value:t,results:n})}catch(n){xn({value:t,errorMessage:n.message})}}}async function Hl(t){let e=await Dl(),n=t.replaceAll(/(\B|\\):/g,"\\:");return zl(e.search(n))}async function Nl(t,e,n){let r=n;e==="latest"&&(r=n.slice(0,1));let i=r.map(l=>`package:=${l.name}-${l.version}`).join(" || "),s=new URLSearchParams;s.set("q",t),s.set("query_by","title,doc"),s.set("filter_by",i);let a=await(await fetch(`https://search.hexdocs.pm/?${s.toString()}`)).json();return Array.isArray(a.hits)?a.hits.map(l=>{let[u,c]=l.document.package.split("-"),d=l.document.doc,h=[d],f={},m=`https://hexdocs.pm/${u}/${c}/${l.document.ref}`,g=l.document.title,v=l.document.type;return{doc:d,excerpts:h,metadata:f,ref:m,title:g,type:v}}):[]}function xn({value:t,results:e,errorMessage:n}){let r=p(Rl),i=ts({value:t,results:e,errorMessage:n});r.innerHTML=i}async function Dl(){let t=await Bl();if(t)return t;let e=Ul();return Ql(e),e}async function Bl(){try{let t=sessionStorage.getItem(is());if(t){let e=await Fl(t);return V.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function Ql(t){try{let e=await ql(t);sessionStorage.setItem(is(),e)}catch(e){console.error("Failed to save index: ",e)}}async function ql(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return Vl(r)}async function Fl(t){let e=new Blob([$l(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function Vl(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function $l(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function is(){return`idv5:${Ne()}`}function Ul(){return(0,V.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove(V.default.stopWordFilter),this.pipeline.remove(V.default.trimmer),this.use(jl),this.use(Wl),searchData.items.forEach(t=>{this.add(t)})})}function jl(t){t.pipeline.before(V.default.stemmer,ss)}function ss(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function Wl(t){t.pipeline.before(V.default.stemmer,os)}function os(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function zl(t){return t.filter(e=>ns(e.ref)).map(e=>{let n=ns(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:Gl(n,r)}})}function ns(t){return searchData.items.find(e=>e.ref===t)||null}function Gl(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>Kl(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,wt*2)+(wt*2<n.length?"...":"")]:i.slice(0,1)}function Kl(t,e,n){let r=Math.max(e-wt,0),i=Math.min(e+n+wt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+Re(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var as='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var Yl='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',N=null,_n=null,kn=null,Sn=!1;function Jl(){N||(document.body.insertAdjacentHTML("beforeend",as),N=p(".modal"),N.addEventListener("keydown",t=>{t.key==="Escape"&&ue()}),N.querySelector(".modal-close").addEventListener("click",ue),N.addEventListener("click",t=>{t.target===N&&ue()}))}function ls(t){if(!Sn)if(N.contains(t.target))kn=t.target;else{Sn=!0;let e=N.querySelectorAll(Yl);kn===e[0]?e[e.length-1].focus():e[0].focus(),Sn=!1,kn=document.activeElement}}function bt({title:t,body:e}){Jl(),_n=document.activeElement,document.addEventListener("focus",ls,!0),N.querySelector(".modal-title").innerHTML=t,N.querySelector(".modal-body").innerHTML=e,N.classList.add("shown"),N.focus()}function ue(){N?.classList.remove("shown"),document.removeEventListener("focus",ls,!0),_n?.focus(),_n=null}function us(){return Boolean(N?.classList.contains("shown"))}var cs='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var Xl="https://hexdocs.pm/%%",Zl="https://www.erlang.org/doc/apps/%%",eu="https://hex.pm/api/packages?search=name:%%*",tu=".display-quick-switch",fs="#quick-switch-input",ps="#quick-switch-results",nu=300,ru=9,ms=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],iu=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(ms).map(t=>({name:t})),gs=2,B={autocompleteResults:[],selectedIdx:null};A||(window.addEventListener("swup:page:view",ds),ds());function ds(){M(tu).forEach(t=>{t.addEventListener("click",Tn)})}function su(t){if(t.key==="Enter"){let e=t.target.value;au(e),t.preventDefault()}else t.key==="ArrowUp"?(hs(-1),t.preventDefault()):t.key==="ArrowDown"&&(hs(1),t.preventDefault())}function ou(t){let e=t.target.value;if(e.length<gs){let n=p(ps);n.innerHTML=""}else lu(e)}function Tn(){bt({title:"Go to package docs",body:cs});let t=p(fs);t.focus(),t.addEventListener("keydown",su),t.addEventListener("input",ou),B.autocompleteResults=[],B.selectedIdx=null}function au(t){if(B.selectedIdx===null)Ln(t);else{let e=B.autocompleteResults[B.selectedIdx];Ln(e.name)}}function Ln(t){ms.includes(t.toLowerCase())?window.location=Zl.replace("%%",t.toLowerCase()):window.location=Xl.replace("%%",t.toLowerCase())}var lu=Zn(uu,nu);function uu(t){let e=eu.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=du(t,n),B.selectedIdx=null,p(fs).value.length>=gs&&cu(B.autocompleteResults))})}function cu(t){p(ps).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>Ln(e)),r}))}function du(t,e){return iu.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,ru)}function hs(t){B.selectedIdx=hu(t);let e=p(".quick-switch-result.selected"),n=p(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function hu(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var fu="#settings-modal-content",In=[{key:"c",description:"Toggle sidebar",action:Ue},{key:"n",description:"Cycle themes",action:hr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:Pn},{key:"/",action:Pn},{key:"k",hasModifier:!0,action:Pn},{key:"v",description:"Open/focus version select",action:gu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:Tn},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:vu}],On={shortcutBeingPressed:null};A||(document.addEventListener("keydown",pu),document.addEventListener("keyup",mu));function pu(t){if(On.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=In.find(n=>n.hasModifier?De()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(On.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function mu(t){On.shortcutBeingPressed=null}function Pn(t){ue(),wn()}function gu(){ue(),Pr()?dn():Ar().then(dn)}function vu(){yu()?ue():An()}function yu(){return us()&&p(fu)}var vs=Y(ae());var ys=vs.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> + <dd class="shortcut-description"> + `+t.escapeExpression(t.lambda(e!=null?o(e,"description"):e,e))+` + </dd> + <dt class="shortcut-keys"> +`+((s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"displayAs"):e,{name:"if",hash:{},fn:t.program(3,i,0),inverse:t.program(5,i,0),data:i,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?s:"")+` </dt> + </dl> +`},3:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" "+((s=t.lambda(e!=null?o(e,"displayAs"):e,e))!=null?s:"")+` +`},5:function(t,e,n,r,i){var s=t.lookupProperty||function(o,a){if(Object.prototype.hasOwnProperty.call(o,a))return o[a]};return" <kbd><kbd>"+t.escapeExpression(t.lambda(e!=null?s(e,"key"):e,e))+`</kbd></kbd> +`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return`<div id="settings-modal-content"> + <div id="settings-content"> + <label class="switch-button-container"> + <div> + <span>Theme</span> + <p>Use the documentation UI in a theme.</p> + </div> + <div> + <select name="theme" class="settings-select"> + <option value="dark">Dark</option> + <option value="light">Light</option> + <option value="system">System</option> + </select> + </div> + </label> + <label class="switch-button-container"> + <div> + <span>Show tooltips</span> + <p>Show tooltips when mousing over code references.</p> + </div> + <div class="switch-button"> + <input class="switch-button__checkbox" type="checkbox" name="tooltips" /> + <div class="switch-button__bg"></div> + </div> + </label> + <label class="switch-button-container"> + <div> + <span>Run in Livebook</span> + <p>Use Direct Address for \u201CRun in Livebook\u201D badges.</p> + </div> + <div class="switch-button"> + <input class="switch-button__checkbox" type="checkbox" name="direct_livebook_url" /> + <div class="switch-button__bg"></div> + </div> + </label> + <input class="input" type="url" name="livebook_url" placeholder="Enter Livebook instance URL" aria-label="Enter Livebook instance URL" /> + </div> + <div id="keyboard-shortcuts-content" class="hidden"> +`+((s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"shortcuts"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?s:"")+` </div> +</div> +`},useData:!0});var wu=".display-settings",bu="#settings-modal-content",Cn="#modal-settings-tab",Rn="#modal-keyboard-shortcuts-tab",bs="#settings-content",Es="#keyboard-shortcuts-content",Eu=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];window.addEventListener("swup:page:view",xs);xs();function xs(){M(wu).forEach(t=>{t.addEventListener("click",An)})}function ws(){p(Rn).classList.remove("active"),p(Cn).classList.add("active"),p(bs).classList.remove("hidden"),p(Es).classList.add("hidden")}function xu(){p(Rn).classList.add("active"),p(Cn).classList.remove("active"),p(Es).classList.remove("hidden"),p(bs).classList.add("hidden")}function An(){bt({title:Eu.map(({id:s,title:o})=>`<button id="${s}">${o}</button>`).join(""),body:ys({shortcuts:In})});let t=p(bu),e=t.querySelector('[name="theme"]'),n=t.querySelector('[name="tooltips"]'),r=t.querySelector('[name="direct_livebook_url"]'),i=t.querySelector('[name="livebook_url"]');H.getAndSubscribe(s=>{e.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),e.addEventListener("change",s=>{H.update({theme:s.target.value})}),n.addEventListener("change",s=>{H.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;H.update({livebookUrl:o})}),i.addEventListener("input",s=>{H.update({livebookUrl:s.target.value})}),p(Cn).addEventListener("click",s=>{ws()}),p(Rn).addEventListener("click",s=>{xu()}),ws()}var Mn=new WeakMap;function Hn(t,e,n,r){if(!t&&!Mn.has(e))return!1;let i=Mn.get(e)??new WeakMap;Mn.set(e,i);let s=i.get(n)??new Set;i.set(n,s);let o=s.has(r);return t?s.add(r):s.delete(r),o&&t}function ku(t,e){let n=t.target;if(n instanceof Text&&(n=n.parentElement),n instanceof Element&&t.currentTarget instanceof Element){let r=n.closest(e);if(r&&t.currentTarget.contains(r))return r}}function Su(t,e,n,r={}){let{signal:i,base:s=document}=r;if(i?.aborted)return;let{once:o,...a}=r,l=s instanceof Document?s.documentElement:s,u=Boolean(typeof r=="object"?r.capture:r),c=f=>{let m=ku(f,String(t));if(m){let g=Object.assign(f,{delegateTarget:m});n.call(l,g),o&&(l.removeEventListener(e,c,a),Hn(!1,l,n,d))}},d=JSON.stringify({selector:t,type:e,capture:u});Hn(!0,l,n,d)||l.addEventListener(e,c,a),i?.addEventListener("abort",()=>{Hn(!1,l,n,d)})}var Et=Su;function P(){return P=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},P.apply(null,arguments)}var Ls=(t,e)=>String(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",Le=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),_u=(t,e={})=>{let n=P({url:t=t||Le({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(n,"",t)},_e=(t=null,e={})=>{t=t||Le({hash:!0});let n=P({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(n,"",t)},Lu=(t,e,n,r)=>{let i=new AbortController;return r=P({},r,{signal:i.signal}),Et(t,e,n,r),{destroy:()=>i.abort()}},O=class extends URL{constructor(e,n=document.baseURI){super(e.toString(),n),Object.setPrototypeOf(this,O.prototype)}get url(){return this.pathname+this.search}static fromElement(e){let n=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new O(n)}static fromUrl(e){return new O(e)}};var me=class extends Error{constructor(e,n){super(e),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=n.url,this.status=n.status,this.aborted=n.aborted||!1,this.timedOut=n.timedOut||!1}};async function Tu(t,e={}){var n;t=O.fromUrl(t).url;let{visit:r=this.visit}=e,i=P({},this.options.requestHeaders,e.headers),s=(n=e.timeout)!=null?n:this.options.timeout,o=new AbortController,{signal:a}=o;e=P({},e,{headers:i,signal:a});let l,u=!1,c=null;s&&s>0&&(c=setTimeout(()=>{u=!0,o.abort("timeout")},s));try{l=await this.hooks.call("fetch:request",r,{url:t,options:e},(v,{url:w,options:x})=>fetch(w,x)),c&&clearTimeout(c)}catch(v){throw u?(this.hooks.call("fetch:timeout",r,{url:t}),new me(`Request timed out: ${t}`,{url:t,timedOut:u})):v?.name==="AbortError"||a.aborted?new me(`Request aborted: ${t}`,{url:t,aborted:!0}):v}let{status:d,url:h}=l,f=await l.text();if(d===500)throw this.hooks.call("fetch:error",r,{status:d,response:l,url:h}),new me(`Server error: ${h}`,{status:d,url:h});if(!f)throw new me(`Empty response: ${h}`,{status:d,url:h});let{url:m}=O.fromUrl(h),g={url:m,html:f};return!r.cache.write||e.method&&e.method!=="GET"||t!==m||this.cache.set(g.url,g),g}var Dn=class{constructor(e){this.swup=void 0,this.pages=new Map,this.swup=e}get size(){return this.pages.size}get all(){let e=new Map;return this.pages.forEach((n,r)=>{e.set(r,P({},n))}),e}has(e){return this.pages.has(this.resolve(e))}get(e){let n=this.pages.get(this.resolve(e));return n&&P({},n)}set(e,n){n=P({},n,{url:e=this.resolve(e)}),this.pages.set(e,n),this.swup.hooks.callSync("cache:set",void 0,{page:n})}update(e,n){e=this.resolve(e);let r=P({},this.get(e),n,{url:e});this.pages.set(e,r)}delete(e){this.pages.delete(this.resolve(e))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(e){this.pages.forEach((n,r)=>{e(r,n)&&this.delete(r)})}resolve(e){let{url:n}=O.fromUrl(e);return this.swup.resolveUrl(n)}},Bn=(t,e=document)=>e.querySelector(t),Fn=(t,e=document)=>Array.from(e.querySelectorAll(t)),Ts=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function Ps(t){return!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function Pu(t,e=[]){return new Promise((n,r)=>{let i=t(...e);Ps(i)?i.then(n,r):n(i)})}function ks(t,e){let n=t?.closest(`[${e}]`);return n!=null&&n.hasAttribute(e)?n?.getAttribute(e)||!0:void 0}var Qn=class{constructor(e){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=e}get selectors(){let{scope:e}=this.swup.visit.animation;return e==="containers"?this.swup.visit.containers:e==="html"?["html"]:Array.isArray(e)?e:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?Fn(this.selector):[]}add(...e){this.targets.forEach(n=>n.classList.add(...e))}remove(...e){this.targets.forEach(n=>n.classList.remove(...e))}clear(){this.targets.forEach(e=>{let n=e.className.split(" ").filter(r=>this.isSwupClass(r));e.classList.remove(...n)})}isSwupClass(e){return this.swupClasses.some(n=>e.startsWith(n))}},St=class{constructor(e,n){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0,this.meta=void 0;let{to:r,from:i,hash:s,el:o,event:a}=n;this.id=Math.random(),this.state=1,this.from={url:i??e.location.url,hash:e.location.hash},this.to={url:r,hash:s},this.containers=e.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:e.options.native,scope:e.options.animationScope,selector:e.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:e.options.cache,write:e.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0},this.meta={}}advance(e){this.state<e&&(this.state=e)}abort(){this.state=8}get done(){return this.state>=7}};function Ou(t){return new St(this,t)}var qn=class{constructor(e){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=e,this.init()}init(){this.hooks.forEach(e=>this.create(e))}create(e){this.registry.has(e)||this.registry.set(e,new Map)}exists(e){return this.registry.has(e)}get(e){let n=this.registry.get(e);if(n)return n;console.error(`Unknown hook '${e}'`)}clear(){this.registry.forEach(e=>e.clear())}on(e,n,r={}){let i=this.get(e);if(!i)return console.warn(`Hook '${e}' not found.`),()=>{};let s=P({},r,{id:i.size+1,hook:e,handler:n});return i.set(n,s),()=>this.off(e,n)}before(e,n,r={}){return this.on(e,n,P({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,P({},r,{replace:!0}))}once(e,n,r={}){return this.on(e,n,P({},r,{once:!0}))}off(e,n){let r=this.get(e);r&&n?r.delete(n)||console.warn(`Handler for hook '${e}' not found.`):r&&r.clear()}async call(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);await this.run(l,s,o);let[d]=await this.run(u,s,o,!0);return await this.run(c,s,o),this.dispatchDomEvent(e,s,o),d}callSync(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);this.runSync(l,s,o);let[d]=this.runSync(u,s,o,!0);return this.runSync(c,s,o),this.dispatchDomEvent(e,s,o),d}parseCallArgs(e,n,r,i){return n instanceof St||typeof n!="object"&&typeof r!="function"?[n,r,i]:[void 0,n,r]}async run(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=await Pu(a,[n,r,l]);s.push(c)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}runSync(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=a(n,r,l);s.push(c),Ps(c)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}getHandlers(e,n){let r=this.get(e);if(!r)return{found:!1,before:[],handler:[],after:[],replaced:!1};let i=Array.from(r.values()),s=this.sortRegistrations,o=i.filter(({before:d,replace:h})=>d&&!h).sort(s),a=i.filter(({replace:d})=>d).filter(d=>!0).sort(s),l=i.filter(({before:d,replace:h})=>!d&&!h).sort(s),u=a.length>0,c=[];if(n&&(c=[{id:0,hook:e,handler:n}],u)){let d=a.length-1,{handler:h,once:f}=a[d],m=g=>{let v=a[g-1];return v?(w,x)=>v.handler(w,x,m(g-1)):n};c=[{id:0,hook:e,once:f,handler:h,defaultHandler:m(d)}]}return{found:!0,before:o,handler:c,after:l,replaced:u}}sortRegistrations(e,n){var r,i;return((r=e.priority)!=null?r:0)-((i=n.priority)!=null?i:0)||e.id-n.id||0}dispatchDomEvent(e,n,r){if(n!=null&&n.done)return;let i={hook:e,args:r,visit:n||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:i,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${e}`,{detail:i,bubbles:!0}))}parseName(e){let[n,...r]=e.split(".");return[n,r.reduce((i,s)=>P({},i,{[s]:!0}),{})]}},Iu=t=>{if(t&&t.charAt(0)==="#"&&(t=t.substring(1)),!t)return null;let e=decodeURIComponent(t),n=document.getElementById(t)||document.getElementById(e)||Bn(`a[name='${CSS.escape(t)}']`)||Bn(`a[name='${CSS.escape(e)}']`);return n||t!=="top"||(n=document.body),n},xt="transition",Nn="animation";async function Au({selector:t,elements:e}){if(t===!1&&!e)return;let n=[];if(e)n=Array.from(e);else if(t&&(n=Fn(t,document.body),!n.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);let r=n.map(i=>function(s){let{type:o,timeout:a,propCount:l}=function(u){let c=window.getComputedStyle(u),d=kt(c,`${xt}Delay`),h=kt(c,`${xt}Duration`),f=Ss(d,h),m=kt(c,`${Nn}Delay`),g=kt(c,`${Nn}Duration`),v=Ss(m,g),w=Math.max(f,v),x=w>0?f>v?xt:Nn:null;return{type:x,timeout:w,propCount:x?x===xt?h.length:g.length:0}}(s);return!(!o||!a)&&new Promise(u=>{let c=`${o}end`,d=performance.now(),h=0,f=()=>{s.removeEventListener(c,m),u()},m=g=>{g.target===s&&((performance.now()-d)/1e3<g.elapsedTime||++h>=l&&f())};setTimeout(()=>{h<l&&f()},a+1),s.addEventListener(c,m)})}(i));r.filter(Boolean).length>0?await Promise.all(r):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function kt(t,e){return(t[e]||"").split(", ")}function Ss(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,r)=>_s(n)+_s(t[r])))}function _s(t){return 1e3*parseFloat(t)}function Cu(t,e={},n={}){if(typeof t!="string")throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:n.el,event:n.event}))return void window.location.assign(t);let{url:r,hash:i}=O.fromUrl(t),s=this.createVisit(P({},n,{to:r,hash:i}));this.performNavigation(s,e)}async function Ru(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;let{el:n}=t.trigger;e.referrer=e.referrer||this.location.url,e.animate===!1&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();let r=e.history||ks(n,"data-swup-history");typeof r=="string"&&["push","replace"].includes(r)&&(t.history.action=r);let i=e.animation||ks(n,"data-swup-animation");var s,o;typeof i=="string"&&(t.animation.name=i),t.meta=e.meta||{},typeof e.cache=="object"?(t.cache.read=(s=e.cache.read)!=null?s:t.cache.read,t.cache.write=(o=e.cache.write)!=null?o:t.cache.write):e.cache!==void 0&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;let a=this.hooks.call("page:load",t,{options:e},async(u,c)=>{let d;return u.cache.read&&(d=this.cache.get(u.to.url)),c.page=d||await this.fetchPage(u.to.url,c.options),c.cache=!!d,c.page});a.then(({html:u})=>{t.advance(5),t.to.html=u,t.to.document=new DOMParser().parseFromString(u,"text/html")});let l=t.to.url+t.to.hash;if(t.history.popstate||(t.history.action==="replace"||t.to.url===this.location.url?_e(l):(this.currentHistoryIndex++,_u(l,{index:this.currentHistoryIndex}))),this.location=O.fromUrl(l),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${Ls(t.animation.name)}`),t.animation.wait&&await a,t.done||(await this.hooks.call("visit:transition",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await a);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await a)).finished:await this.renderPage(t,await a),await this.animatePageIn(t)}),t.done))return;await this.hooks.call("visit:end",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(a){if(!a||a!=null&&a.aborted)return void(t.state=8);t.state=9,console.error(a),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}var Mu=async function(t){await this.hooks.call("animation:out:start",t,void 0,()=>{this.classes.add("is-changing","is-animating","is-leaving")}),await this.hooks.call("animation:out:await",t,{skip:!1},(e,{skip:n})=>{if(!n)return this.awaitAnimations({selector:e.animation.selector})}),await this.hooks.call("animation:out:end",t,void 0)},Hu=function(t){var e;let n=t.to.document;if(!n)return!1;let r=((e=n.querySelector("title"))==null?void 0:e.innerText)||"";document.title=r;let i=Fn('[data-swup-persist]:not([data-swup-persist=""])'),s=t.containers.map(o=>{let a=document.querySelector(o),l=n.querySelector(o);return a&&l?(a.replaceWith(l.cloneNode(!0)),!0):(a||console.warn(`[swup] Container missing in current document: ${o}`),l||console.warn(`[swup] Container missing in incoming document: ${o}`),!1)}).filter(Boolean);return i.forEach(o=>{let a=o.getAttribute("data-swup-persist"),l=Bn(`[data-swup-persist="${a}"]`);l&&l!==o&&l.replaceWith(o)}),s.length===t.containers.length},Nu=function(t){let e={behavior:"auto"},{target:n,reset:r}=t.scroll,i=n??t.to.hash,s=!1;return i&&(s=this.hooks.callSync("scroll:anchor",t,{hash:i,options:e},(o,{hash:a,options:l})=>{let u=this.getAnchorElement(a);return u&&u.scrollIntoView(l),!!u})),r&&!s&&(s=this.hooks.callSync("scroll:top",t,{options:e},(o,{options:a})=>(window.scrollTo(P({top:0,left:0},a)),!0))),s},Du=async function(t){if(t.done)return;let e=this.hooks.call("animation:in:await",t,{skip:!1},(n,{skip:r})=>{if(!r)return this.awaitAnimations({selector:n.animation.selector})});await Ts(),await this.hooks.call("animation:in:start",t,void 0,()=>{this.classes.remove("is-animating")}),await e,await this.hooks.call("animation:in:end",t,void 0)},Bu=async function(t,e){if(t.done)return;t.advance(6);let{url:n}=e;this.isSameResolvedUrl(Le(),n)||(_e(n),this.location=O.fromUrl(n),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},(r,{})=>{if(this.classes.remove("is-leaving"),r.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(r))throw new Error("[swup] Container mismatch, aborting");r.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),r.animation.name&&this.classes.add(`to-${Ls(r.animation.name)}`))}),await this.hooks.call("content:scroll",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},Qu=function(t){var e;if(e=t,Boolean(e?.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function qu(t){let e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(n=>n!==e),this.plugins;console.error("No such plugin",e)}function Fu(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function Vu(t){if(typeof this.options.resolveUrl!="function")return console.warn("[swup] options.resolveUrl expects a callback function."),t;let e=this.options.resolveUrl(t);return e&&typeof e=="string"?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function $u(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}var Uu={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],hooks:{},ignoreVisit:(t,{el:e}={})=>!(e==null||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return((e=t.state)==null?void 0:e.source)!=="swup"},timeout:0},_t=class{get currentPageUrl(){return this.location.url}constructor(e={}){var n,r;this.version="4.8.1",this.options=void 0,this.defaults=Uu,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=O.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=Qu,this.unuse=qu,this.findPlugin=Fu,this.log=()=>{},this.navigate=Cu,this.performNavigation=Ru,this.createVisit=Ou,this.delegateEvent=Lu,this.fetchPage=Tu,this.awaitAnimations=Au,this.renderPage=Bu,this.replaceContent=Hu,this.animatePageIn=Du,this.animatePageOut=Mu,this.scrollToContent=Nu,this.getAnchorElement=Iu,this.getCurrentUrl=Le,this.resolveUrl=Vu,this.isSameResolvedUrl=$u,this.options=P({},this.defaults,e),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new Dn(this),this.classes=new Qn(this),this.hooks=new qn(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=(n=(r=window.history.state)==null?void 0:r.index)!=null?n:1,this.enable()}async enable(){var e;let{linkSelector:n}=this.options;this.clickDelegate=this.delegateEvent(n,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(r=>this.use(r));for(let[r,i]of Object.entries(this.options.hooks)){let[s,o]=this.hooks.parseName(r);this.hooks.on(s,i,o)}((e=window.history.state)==null?void 0:e.source)!=="swup"&&_e(null,{index:this.currentHistoryIndex}),await Ts(),await this.hooks.call("enable",void 0,void 0,()=>{let r=document.documentElement;r.classList.add("swup-enabled"),r.classList.toggle("swup-native",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(e=>this.unuse(e)),await this.hooks.call("disable",void 0,void 0,()=>{let e=document.documentElement;e.classList.remove("swup-enabled"),e.classList.remove("swup-native")}),this.hooks.clear()}shouldIgnoreVisit(e,{el:n,event:r}={}){let{origin:i,url:s,hash:o}=O.fromUrl(e);return i!==window.location.origin||!(!n||!this.triggerWillOpenNewWindow(n))||!!this.options.ignoreVisit(s+o,{el:n,event:r})}handleLinkClick(e){let n=e.delegateTarget,{href:r,url:i,hash:s}=O.fromElement(n);if(this.shouldIgnoreVisit(r,{el:n,event:e}))return;if(this.navigating&&i===this.visit.to.url)return void e.preventDefault();let o=this.createVisit({to:i,hash:s,el:n,event:e});e.metaKey||e.ctrlKey||e.shiftKey||e.altKey?this.hooks.callSync("link:newtab",o,{href:r}):e.button===0&&this.hooks.callSync("link:click",o,{el:n,event:e},()=>{var a;let l=(a=o.from.url)!=null?a:"";e.preventDefault(),i&&i!==l?this.isSameResolvedUrl(i,l)||this.performNavigation(o):s?this.hooks.callSync("link:anchor",o,{hash:s},()=>{_e(i+s),this.scrollToContent(o)}):this.hooks.callSync("link:self",o,void 0,()=>{this.options.linkToSelf==="navigate"?this.performNavigation(o):(_e(i),this.scrollToContent(o))})})}handlePopState(e){var n,r,i,s;let o=(n=(r=e.state)==null?void 0:r.url)!=null?n:window.location.href;if(this.options.skipPopStateHandling(e)||this.isSameResolvedUrl(Le(),this.location.url))return;let{url:a,hash:l}=O.fromUrl(o),u=this.createVisit({to:a,hash:l,event:e});u.history.popstate=!0;let c=(i=(s=e.state)==null?void 0:s.index)!=null?i:0;c&&c!==this.currentHistoryIndex&&(u.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),u.animation.animate=!1,u.scroll.reset=!1,u.scroll.target=!1,this.options.animateHistoryBrowsing&&(u.animation.animate=!0,u.scroll.reset=!0),this.hooks.callSync("history:popstate",u,{event:e},()=>{this.performNavigation(u)})}triggerWillOpenNewWindow(e){return!!e.matches('[download], [target="_blank"]')}};function Te(){return Te=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Te.apply(this,arguments)}var Os=t=>String(t).split(".").map(e=>String(parseInt(e||"0",10))).concat(["0","0"]).slice(0,3).join("."),ge=class{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach(e=>e()),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return typeof this.requires!="object"||Object.entries(this.requires).forEach(([e,n])=>{if(!function(r,i,s){let o=function(a,l){var u;if(a==="swup")return(u=l.version)!=null?u:"";{var c;let d=l.findPlugin(a);return(c=d?.version)!=null?c:""}}(r,s);return!!o&&((a,l)=>l.every(u=>{let[,c,d]=u.match(/^([\D]+)?(.*)$/)||[];var h,f;return((m,g)=>{let v={"":w=>w===0,">":w=>w>0,">=":w=>w>=0,"<":w=>w<0,"<=":w=>w<=0};return(v[g]||v[""])(m)})((f=d,h=Os(h=a),f=Os(f),h.localeCompare(f,void 0,{numeric:!0})),c||">=")}))(o,i)}(e,n=Array.isArray(n)?n:[n],this.swup)){let r=`${e} ${n.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${r}`)}}),!0}on(e,n,r={}){var i;n=!(i=n).name.startsWith("bound ")||i.hasOwnProperty("prototype")?n.bind(this):n;let s=this.swup.hooks.on(e,n,r);return this.handlersToUnregister.push(s),s}once(e,n,r={}){return this.on(e,n,Te({},r,{once:!0}))}before(e,n,r={}){return this.on(e,n,Te({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,Te({},r,{replace:!0}))}off(e,n){return this.swup.hooks.off(e,n)}};(function(){if(!(typeof window>"u"||typeof document>"u"||typeof HTMLElement>"u")){var t=!1;try{var e=document.createElement("div");e.addEventListener("focus",function(s){s.preventDefault(),s.stopPropagation()},!0),e.focus(Object.defineProperty({},"preventScroll",{get:function(){if(navigator&&typeof navigator.userAgent<"u"&&navigator.userAgent&&navigator.userAgent.match(/Edge\/1[7-8]/))return t=!1;t=!0}}))}catch{}if(HTMLElement.prototype.nativeFocus===void 0&&!t){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var n=function(s){for(var o=s.parentNode,a=[],l=document.scrollingElement||document.documentElement;o&&o!==l;)(o.offsetHeight<o.scrollHeight||o.offsetWidth<o.scrollWidth)&&a.push([o,o.scrollTop,o.scrollLeft]),o=o.parentNode;return o=l,a.push([o,o.scrollTop,o.scrollLeft]),a},r=function(s){for(var o=0;o<s.length;o++)s[o][0].scrollTop=s[o][1],s[o][0].scrollLeft=s[o][2];s=[]},i=function(s){if(s&&s.preventScroll){var o=n(this);if(typeof setTimeout=="function"){var a=this;setTimeout(function(){a.nativeFocus(),r(o)},0)}else this.nativeFocus(),r(o)}else this.nativeFocus()};HTMLElement.prototype.focus=i}}})();function Vn(){return Vn=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Vn.apply(this,arguments)}function Is(t,e){return Object.keys(e).reduce((n,r)=>n.replace(`{${r}}`,e[r]||""),t||"")}var $n=class{constructor(){var e;this.id="swup-announcer",this.style="position:absolute;top:0;left:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;word-wrap:normal;width:1px;height:1px;",this.region=void 0,this.region=(e=this.getRegion())!=null?e:this.createRegion()}getRegion(){return document.getElementById(this.id)}createRegion(){let e=function(n){let r=document.createElement("template");return r.innerHTML=n,r.content.children[0]}(`<p aria-live="assertive" aria-atomic="true" id="${this.id}" style="${this.style}"></p>`);return document.body.appendChild(e),e}announce(e,n=0){return new Promise(r=>{setTimeout(()=>{this.region.textContent===e&&(e=`${e}.`),this.region.textContent="",this.region.textContent=e,r()},n)})}};function As(t){let e;if(e=typeof t=="string"?document.querySelector(t):t,!(e instanceof HTMLElement))return;let n=e.getAttribute("tabindex");e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}),n!==null&&e.setAttribute("tabindex",n)}var Lt=class extends ge{constructor(e={}){super(),this.name="SwupA11yPlugin",this.requires={swup:">=4"},this.defaults={headingSelector:"h1",respectReducedMotion:!0,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.announcer=void 0,this.announcementDelay=100,this.rootSelector="body",this.handleAnchorScroll=(n,{hash:r})=>{let i=this.swup.getAnchorElement(r);i instanceof HTMLElement&&As(i)},this.options=Vn({},this.defaults,e),this.announcer=new $n}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("visit:end",this.focusContent),this.on("visit:end",this.announceContent),this.on("scroll:anchor",this.handleAnchorScroll),this.before("visit:start",this.disableAnimations),this.before("link:self",this.disableAnimations),this.before("link:anchor",this.disableAnimations),this.swup.announce=this.announce.bind(this)}unmount(){this.swup.announce=void 0}async announce(e){await this.announcer.announce(e)}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(e){e.a11y={announce:void 0,focus:this.rootSelector}}announceContent(e){this.swup.hooks.callSync("content:announce",e,void 0,n=>{n.a11y.announce===void 0&&(n.a11y.announce=this.getPageAnnouncement()),n.a11y.announce&&this.announcer.announce(n.a11y.announce,this.announcementDelay)})}focusContent(e){this.swup.hooks.callSync("content:focus",e,void 0,n=>{n.a11y.focus&&(this.options.autofocus&&function(){let r=function(){let i=document.querySelector("body [autofocus]");if(i&&!i.closest('[inert], [aria-disabled], [aria-hidden="true"]'))return i}();return!!r&&(r!==document.activeElement&&r.focus(),!0)}()===!0||As(n.a11y.focus))})}getPageAnnouncement(){let{headingSelector:e,announcements:n}=this.options;return function({headingSelector:r="h1",announcements:i={}}){var s,o;let a=document.documentElement.lang||"*",{href:l,url:u,pathname:c}=O.fromUrl(window.location.href),d=(s=(o=i[a])!=null?o:i["*"])!=null?s:i;if(typeof d!="object")return;let h=document.querySelector(r);h||console.warn(`SwupA11yPlugin: No main heading (${r}) found on new page`);let f=h?.getAttribute("aria-label")||h?.textContent||document.title||Is(d.url,{href:l,url:u,path:c});return Is(d.visit,{title:f,href:l,url:u,path:c})}({headingSelector:e,announcements:n})}disableAnimations(e){this.options.respectReducedMotion&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(e.animation.animate=!1,e.scroll.animate=!1)}};function Un(){return Un=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Un.apply(this,arguments)}var jn=class{constructor({className:e,styleAttr:n,animationDuration:r,minValue:i,initialValue:s,trickleValue:o}={}){this.value=0,this.visible=!1,this.hiding=!1,this.className="progress-bar",this.styleAttr="data-progressbar-styles data-swup-theme",this.animationDuration=300,this.minValue=.1,this.initialValue=.25,this.trickleValue=.03,this.trickleInterval=void 0,this.styleElement=void 0,this.progressElement=void 0,this.trickle=()=>{let a=Math.random()*this.trickleValue;this.setValue(this.value+a)},e!==void 0&&(this.className=String(e)),n!==void 0&&(this.styleAttr=String(n)),r!==void 0&&(this.animationDuration=Number(r)),i!==void 0&&(this.minValue=Number(i)),s!==void 0&&(this.initialValue=Number(s)),o!==void 0&&(this.trickleValue=Number(o)),this.styleElement=this.createStyleElement(),this.progressElement=this.createProgressElement()}get defaultStyles(){return` + .${this.className} { + position: fixed; + display: block; + top: 0; + left: 0; + width: 100%; + height: 3px; + background-color: black; + z-index: 9999; + transition: + transform ${this.animationDuration}ms ease-out, + opacity ${this.animationDuration/2}ms ${this.animationDuration/2}ms ease-in; + transform: translate3d(0, 0, 0) scaleX(var(--progress, 0)); + transform-origin: 0; + } + `}show(){this.visible||(this.visible=!0,this.installStyleElement(),this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=Math.min(1,Math.max(this.minValue,e)),this.refresh()}installStyleElement(){document.head.prepend(this.styleElement)}installProgressElement(){this.progressElement.style.setProperty("--progress",String(0)),this.progressElement.style.opacity="1",document.body.prepend(this.progressElement),this.progressElement.scrollTop=0,this.setValue(Math.random()*this.initialValue)}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,1.5*this.animationDuration)}uninstallProgressElement(){this.progressElement.remove()}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,this.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}refresh(){requestAnimationFrame(()=>{this.progressElement.style.setProperty("--progress",String(this.value))})}createStyleElement(){let e=document.createElement("style");return this.styleAttr.split(" ").forEach(n=>e.setAttribute(n,"")),e.textContent=this.defaultStyles,e}createProgressElement(){let e=document.createElement("div");return e.className=this.className,e.setAttribute("aria-hidden","true"),e}},Tt=class extends ge{constructor(e={}){super(),this.name="SwupProgressPlugin",this.defaults={className:"swup-progress-bar",delay:300,transition:300,minValue:.1,initialValue:.25,finishAnimation:!0},this.options=void 0,this.progressBar=void 0,this.showProgressBarTimeout=void 0,this.hideProgressBarTimeout=void 0,this.options=Un({},this.defaults,e);let{className:n,minValue:r,initialValue:i,transition:s}=this.options;this.progressBar=new jn({className:n,minValue:r,initialValue:i,animationDuration:s})}mount(){this.on("visit:start",this.startShowingProgress),this.on("page:view",this.stopShowingProgress)}startShowingProgress(){this.progressBar.setValue(0),this.showProgressBarAfterDelay()}stopShowingProgress(){this.progressBar.setValue(1),this.options.finishAnimation?this.finishAnimationAndHideProgressBar():this.hideProgressBar()}showProgressBar(){this.cancelHideProgressBarTimeout(),this.progressBar.show()}showProgressBarAfterDelay(){this.cancelShowProgressBarTimeout(),this.cancelHideProgressBarTimeout(),this.showProgressBarTimeout=window.setTimeout(this.showProgressBar.bind(this),this.options.delay)}hideProgressBar(){this.cancelShowProgressBarTimeout(),this.progressBar.hide()}finishAnimationAndHideProgressBar(){this.cancelShowProgressBarTimeout(),this.hideProgressBarTimeout=window.setTimeout(this.hideProgressBar.bind(this),this.options.transition)}cancelShowProgressBarTimeout(){window.clearTimeout(this.showProgressBarTimeout),delete this.showProgressBarTimeout}cancelHideProgressBarTimeout(){window.clearTimeout(this.hideProgressBarTimeout),delete this.hideProgressBarTimeout}};!A&&window.location.protocol!=="file:"&&new _t({animationSelector:!1,containers:["#main"],ignoreVisit:t=>{let e=t.split("#")[0];return e===window.location.pathname||e===window.location.pathname+".html"},linkSelector:'a[href]:not([href^="/"]):not([href^="http"])',plugins:[new Lt,new Tt({delay:500})]});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ From c24dbc758e293d11b1ebeb232b0b18ad7427f1bb Mon Sep 17 00:00:00 2001 From: James Harton <james@harton.nz> Date: Fri, 31 Jan 2025 09:06:25 +1300 Subject: [PATCH 2/5] improvement: shorten package filter. --- assets/js/search-page.js | 4 ++-- formatters/html/dist/{html-XTJIJCYG.js => html-3VPR65AO.js} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename formatters/html/dist/{html-XTJIJCYG.js => html-3VPR65AO.js} (93%) diff --git a/assets/js/search-page.js b/assets/js/search-page.js index 1ab40b3f5..8cdbd8d49 100644 --- a/assets/js/search-page.js +++ b/assets/js/search-page.js @@ -71,12 +71,12 @@ async function remoteSearch (value, queryType, searchNodes) { filterNodes = searchNodes.slice(0, 1) } - const filters = filterNodes.map(node => `package:=${node.name}-${node.version}`).join(' || ') + const filters = filterNodes.map(node => `${node.name}-${node.version}`).join(',') const params = new URLSearchParams() params.set('q', value) params.set('query_by', 'title,doc') - params.set('filter_by', filters) + params.set('filter_by', `package:=[${filters}]`) const response = await fetch(`https://search.hexdocs.pm/?${params.toString()}`) const payload = await response.json() diff --git a/formatters/html/dist/html-XTJIJCYG.js b/formatters/html/dist/html-3VPR65AO.js similarity index 93% rename from formatters/html/dist/html-XTJIJCYG.js rename to formatters/html/dist/html-3VPR65AO.js index 15021520e..1e92775a0 100644 --- a/formatters/html/dist/html-XTJIJCYG.js +++ b/formatters/html/dist/html-3VPR65AO.js @@ -101,7 +101,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<h1> `+((s=a(n,"if").call(o,e!=null?a(e,"value"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?s:"")+`</h1> -`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var wt=80,Rl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(ss,"docTokenSplitter");V.default.Pipeline.registerFunction(os,"docTrimmer");window.addEventListener("swup:page:view",rs);rs();function rs(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=Ot("q"),n=Ot("type");Ml(e,n)}}async function Ml(t,e){if(he(t))xn({value:t});else{Vi(t);try{let n=[],r=Jn();["related","latest"].includes(e)&&r.length>0?n=await Nl(t,e,r):n=await Hl(t),xn({value:t,results:n})}catch(n){xn({value:t,errorMessage:n.message})}}}async function Hl(t){let e=await Dl(),n=t.replaceAll(/(\B|\\):/g,"\\:");return zl(e.search(n))}async function Nl(t,e,n){let r=n;e==="latest"&&(r=n.slice(0,1));let i=r.map(l=>`package:=${l.name}-${l.version}`).join(" || "),s=new URLSearchParams;s.set("q",t),s.set("query_by","title,doc"),s.set("filter_by",i);let a=await(await fetch(`https://search.hexdocs.pm/?${s.toString()}`)).json();return Array.isArray(a.hits)?a.hits.map(l=>{let[u,c]=l.document.package.split("-"),d=l.document.doc,h=[d],f={},m=`https://hexdocs.pm/${u}/${c}/${l.document.ref}`,g=l.document.title,v=l.document.type;return{doc:d,excerpts:h,metadata:f,ref:m,title:g,type:v}}):[]}function xn({value:t,results:e,errorMessage:n}){let r=p(Rl),i=ts({value:t,results:e,errorMessage:n});r.innerHTML=i}async function Dl(){let t=await Bl();if(t)return t;let e=Ul();return Ql(e),e}async function Bl(){try{let t=sessionStorage.getItem(is());if(t){let e=await Fl(t);return V.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function Ql(t){try{let e=await ql(t);sessionStorage.setItem(is(),e)}catch(e){console.error("Failed to save index: ",e)}}async function ql(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return Vl(r)}async function Fl(t){let e=new Blob([$l(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function Vl(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function $l(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function is(){return`idv5:${Ne()}`}function Ul(){return(0,V.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove(V.default.stopWordFilter),this.pipeline.remove(V.default.trimmer),this.use(jl),this.use(Wl),searchData.items.forEach(t=>{this.add(t)})})}function jl(t){t.pipeline.before(V.default.stemmer,ss)}function ss(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function Wl(t){t.pipeline.before(V.default.stemmer,os)}function os(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function zl(t){return t.filter(e=>ns(e.ref)).map(e=>{let n=ns(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:Gl(n,r)}})}function ns(t){return searchData.items.find(e=>e.ref===t)||null}function Gl(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>Kl(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,wt*2)+(wt*2<n.length?"...":"")]:i.slice(0,1)}function Kl(t,e,n){let r=Math.max(e-wt,0),i=Math.min(e+n+wt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+Re(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var as='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var Yl='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',N=null,_n=null,kn=null,Sn=!1;function Jl(){N||(document.body.insertAdjacentHTML("beforeend",as),N=p(".modal"),N.addEventListener("keydown",t=>{t.key==="Escape"&&ue()}),N.querySelector(".modal-close").addEventListener("click",ue),N.addEventListener("click",t=>{t.target===N&&ue()}))}function ls(t){if(!Sn)if(N.contains(t.target))kn=t.target;else{Sn=!0;let e=N.querySelectorAll(Yl);kn===e[0]?e[e.length-1].focus():e[0].focus(),Sn=!1,kn=document.activeElement}}function bt({title:t,body:e}){Jl(),_n=document.activeElement,document.addEventListener("focus",ls,!0),N.querySelector(".modal-title").innerHTML=t,N.querySelector(".modal-body").innerHTML=e,N.classList.add("shown"),N.focus()}function ue(){N?.classList.remove("shown"),document.removeEventListener("focus",ls,!0),_n?.focus(),_n=null}function us(){return Boolean(N?.classList.contains("shown"))}var cs='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var Xl="https://hexdocs.pm/%%",Zl="https://www.erlang.org/doc/apps/%%",eu="https://hex.pm/api/packages?search=name:%%*",tu=".display-quick-switch",fs="#quick-switch-input",ps="#quick-switch-results",nu=300,ru=9,ms=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],iu=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(ms).map(t=>({name:t})),gs=2,B={autocompleteResults:[],selectedIdx:null};A||(window.addEventListener("swup:page:view",ds),ds());function ds(){M(tu).forEach(t=>{t.addEventListener("click",Tn)})}function su(t){if(t.key==="Enter"){let e=t.target.value;au(e),t.preventDefault()}else t.key==="ArrowUp"?(hs(-1),t.preventDefault()):t.key==="ArrowDown"&&(hs(1),t.preventDefault())}function ou(t){let e=t.target.value;if(e.length<gs){let n=p(ps);n.innerHTML=""}else lu(e)}function Tn(){bt({title:"Go to package docs",body:cs});let t=p(fs);t.focus(),t.addEventListener("keydown",su),t.addEventListener("input",ou),B.autocompleteResults=[],B.selectedIdx=null}function au(t){if(B.selectedIdx===null)Ln(t);else{let e=B.autocompleteResults[B.selectedIdx];Ln(e.name)}}function Ln(t){ms.includes(t.toLowerCase())?window.location=Zl.replace("%%",t.toLowerCase()):window.location=Xl.replace("%%",t.toLowerCase())}var lu=Zn(uu,nu);function uu(t){let e=eu.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=du(t,n),B.selectedIdx=null,p(fs).value.length>=gs&&cu(B.autocompleteResults))})}function cu(t){p(ps).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>Ln(e)),r}))}function du(t,e){return iu.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,ru)}function hs(t){B.selectedIdx=hu(t);let e=p(".quick-switch-result.selected"),n=p(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function hu(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var fu="#settings-modal-content",In=[{key:"c",description:"Toggle sidebar",action:Ue},{key:"n",description:"Cycle themes",action:hr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:Pn},{key:"/",action:Pn},{key:"k",hasModifier:!0,action:Pn},{key:"v",description:"Open/focus version select",action:gu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:Tn},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:vu}],On={shortcutBeingPressed:null};A||(document.addEventListener("keydown",pu),document.addEventListener("keyup",mu));function pu(t){if(On.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=In.find(n=>n.hasModifier?De()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(On.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function mu(t){On.shortcutBeingPressed=null}function Pn(t){ue(),wn()}function gu(){ue(),Pr()?dn():Ar().then(dn)}function vu(){yu()?ue():An()}function yu(){return us()&&p(fu)}var vs=Y(ae());var ys=vs.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> +`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var wt=80,Rl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(ss,"docTokenSplitter");V.default.Pipeline.registerFunction(os,"docTrimmer");window.addEventListener("swup:page:view",rs);rs();function rs(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=Ot("q"),n=Ot("type");Ml(e,n)}}async function Ml(t,e){if(he(t))xn({value:t});else{Vi(t);try{let n=[],r=Jn();["related","latest"].includes(e)&&r.length>0?n=await Nl(t,e,r):n=await Hl(t),xn({value:t,results:n})}catch(n){xn({value:t,errorMessage:n.message})}}}async function Hl(t){let e=await Dl(),n=t.replaceAll(/(\B|\\):/g,"\\:");return zl(e.search(n))}async function Nl(t,e,n){let r=n;e==="latest"&&(r=n.slice(0,1));let i=r.map(l=>`${l.name}-${l.version}`).join(","),s=new URLSearchParams;s.set("q",t),s.set("query_by","title,doc"),s.set("filter_by",`package:=[${i}]`);let a=await(await fetch(`https://search.hexdocs.pm/?${s.toString()}`)).json();return Array.isArray(a.hits)?a.hits.map(l=>{let[u,c]=l.document.package.split("-"),d=l.document.doc,h=[d],f={},m=`https://hexdocs.pm/${u}/${c}/${l.document.ref}`,g=l.document.title,v=l.document.type;return{doc:d,excerpts:h,metadata:f,ref:m,title:g,type:v}}):[]}function xn({value:t,results:e,errorMessage:n}){let r=p(Rl),i=ts({value:t,results:e,errorMessage:n});r.innerHTML=i}async function Dl(){let t=await Bl();if(t)return t;let e=Ul();return Ql(e),e}async function Bl(){try{let t=sessionStorage.getItem(is());if(t){let e=await Fl(t);return V.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function Ql(t){try{let e=await ql(t);sessionStorage.setItem(is(),e)}catch(e){console.error("Failed to save index: ",e)}}async function ql(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return Vl(r)}async function Fl(t){let e=new Blob([$l(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function Vl(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function $l(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function is(){return`idv5:${Ne()}`}function Ul(){return(0,V.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove(V.default.stopWordFilter),this.pipeline.remove(V.default.trimmer),this.use(jl),this.use(Wl),searchData.items.forEach(t=>{this.add(t)})})}function jl(t){t.pipeline.before(V.default.stemmer,ss)}function ss(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function Wl(t){t.pipeline.before(V.default.stemmer,os)}function os(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function zl(t){return t.filter(e=>ns(e.ref)).map(e=>{let n=ns(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:Gl(n,r)}})}function ns(t){return searchData.items.find(e=>e.ref===t)||null}function Gl(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>Kl(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,wt*2)+(wt*2<n.length?"...":"")]:i.slice(0,1)}function Kl(t,e,n){let r=Math.max(e-wt,0),i=Math.min(e+n+wt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+Re(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var as='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var Yl='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',N=null,_n=null,kn=null,Sn=!1;function Jl(){N||(document.body.insertAdjacentHTML("beforeend",as),N=p(".modal"),N.addEventListener("keydown",t=>{t.key==="Escape"&&ue()}),N.querySelector(".modal-close").addEventListener("click",ue),N.addEventListener("click",t=>{t.target===N&&ue()}))}function ls(t){if(!Sn)if(N.contains(t.target))kn=t.target;else{Sn=!0;let e=N.querySelectorAll(Yl);kn===e[0]?e[e.length-1].focus():e[0].focus(),Sn=!1,kn=document.activeElement}}function bt({title:t,body:e}){Jl(),_n=document.activeElement,document.addEventListener("focus",ls,!0),N.querySelector(".modal-title").innerHTML=t,N.querySelector(".modal-body").innerHTML=e,N.classList.add("shown"),N.focus()}function ue(){N?.classList.remove("shown"),document.removeEventListener("focus",ls,!0),_n?.focus(),_n=null}function us(){return Boolean(N?.classList.contains("shown"))}var cs='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var Xl="https://hexdocs.pm/%%",Zl="https://www.erlang.org/doc/apps/%%",eu="https://hex.pm/api/packages?search=name:%%*",tu=".display-quick-switch",fs="#quick-switch-input",ps="#quick-switch-results",nu=300,ru=9,ms=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],iu=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(ms).map(t=>({name:t})),gs=2,B={autocompleteResults:[],selectedIdx:null};A||(window.addEventListener("swup:page:view",ds),ds());function ds(){M(tu).forEach(t=>{t.addEventListener("click",Tn)})}function su(t){if(t.key==="Enter"){let e=t.target.value;au(e),t.preventDefault()}else t.key==="ArrowUp"?(hs(-1),t.preventDefault()):t.key==="ArrowDown"&&(hs(1),t.preventDefault())}function ou(t){let e=t.target.value;if(e.length<gs){let n=p(ps);n.innerHTML=""}else lu(e)}function Tn(){bt({title:"Go to package docs",body:cs});let t=p(fs);t.focus(),t.addEventListener("keydown",su),t.addEventListener("input",ou),B.autocompleteResults=[],B.selectedIdx=null}function au(t){if(B.selectedIdx===null)Ln(t);else{let e=B.autocompleteResults[B.selectedIdx];Ln(e.name)}}function Ln(t){ms.includes(t.toLowerCase())?window.location=Zl.replace("%%",t.toLowerCase()):window.location=Xl.replace("%%",t.toLowerCase())}var lu=Zn(uu,nu);function uu(t){let e=eu.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=du(t,n),B.selectedIdx=null,p(fs).value.length>=gs&&cu(B.autocompleteResults))})}function cu(t){p(ps).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>Ln(e)),r}))}function du(t,e){return iu.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,ru)}function hs(t){B.selectedIdx=hu(t);let e=p(".quick-switch-result.selected"),n=p(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function hu(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var fu="#settings-modal-content",In=[{key:"c",description:"Toggle sidebar",action:Ue},{key:"n",description:"Cycle themes",action:hr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:Pn},{key:"/",action:Pn},{key:"k",hasModifier:!0,action:Pn},{key:"v",description:"Open/focus version select",action:gu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:Tn},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:vu}],On={shortcutBeingPressed:null};A||(document.addEventListener("keydown",pu),document.addEventListener("keyup",mu));function pu(t){if(On.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=In.find(n=>n.hasModifier?De()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(On.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function mu(t){On.shortcutBeingPressed=null}function Pn(t){ue(),wn()}function gu(){ue(),Pr()?dn():Ar().then(dn)}function vu(){yu()?ue():An()}function yu(){return us()&&p(fu)}var vs=Y(ae());var ys=vs.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> <dd class="shortcut-description"> `+t.escapeExpression(t.lambda(e!=null?o(e,"description"):e,e))+` </dd> From 26f72321bbfc64f1ca41089dec34202b01225be6 Mon Sep 17 00:00:00 2001 From: James Harton <james@harton.nz> Date: Fri, 31 Jan 2025 09:44:40 +1300 Subject: [PATCH 3/5] improvement: Use existing match highlighter for search matches. --- assets/js/autocomplete/suggestions.js | 27 +-- assets/js/highlighter.js | 34 +++ assets/js/search-page.js | 47 ++-- formatters/html/dist/html-3VPR65AO.js | 223 ------------------ .../{html-6XHBGSGW.js => html-XEWS3Q4M.js} | 22 +- 5 files changed, 71 insertions(+), 282 deletions(-) create mode 100644 assets/js/highlighter.js delete mode 100644 formatters/html/dist/html-3VPR65AO.js rename formatters/html/dist/{html-6XHBGSGW.js => html-XEWS3Q4M.js} (60%) diff --git a/assets/js/autocomplete/suggestions.js b/assets/js/autocomplete/suggestions.js index e21777227..71fc04dbb 100644 --- a/assets/js/autocomplete/suggestions.js +++ b/assets/js/autocomplete/suggestions.js @@ -1,5 +1,6 @@ import { getSidebarNodes } from '../globals' -import { escapeRegexModifiers, escapeHtmlEntities, isBlank } from '../helpers' +import { isBlank } from '../helpers' +import { highlightMatches } from '../highlighter' /** * @typedef Suggestion @@ -285,27 +286,3 @@ function startsWith (text, subtext) { function tokenize (query) { return query.trim().split(/\s+/) } - -/** - * Returns an HTML string highlighting the individual tokens from the query string. - */ -function highlightMatches (text, query) { - // Sort terms length, so that the longest are highlighted first. - const terms = tokenize(query).sort((term1, term2) => term2.length - term1.length) - return highlightTerms(text, terms) -} - -function highlightTerms (text, terms) { - if (terms.length === 0) return text - - const [firstTerm, ...otherTerms] = terms - const match = text.match(new RegExp(`(.*)(${escapeRegexModifiers(firstTerm)})(.*)`, 'i')) - - if (match) { - const [, before, matching, after] = match - // Note: this has exponential complexity, but we expect just a few terms, so that's fine. - return highlightTerms(before, terms) + '<em>' + escapeHtmlEntities(matching) + '</em>' + highlightTerms(after, terms) - } else { - return highlightTerms(text, otherTerms) - } -} diff --git a/assets/js/highlighter.js b/assets/js/highlighter.js new file mode 100644 index 000000000..feebb160d --- /dev/null +++ b/assets/js/highlighter.js @@ -0,0 +1,34 @@ +import { escapeRegexModifiers, escapeHtmlEntities } from './helpers' + +/** + * Returns an HTML string highlighting the individual tokens from the query string. + */ +export function highlightMatches (text, query, opts = {}) { + // Sort terms length, so that the longest are highlighted first. + if (typeof query === 'string') { + query = query.split(/\s+/) + } + const terms = query.sort((term1, term2) => term2.length - term1.length) + return highlightTerms(text, terms, opts) +} + +function highlightTerms (text, terms, opts) { + if (terms.length === 0) return text + + let flags = 'i' + + if (opts.multiline) { + flags = 'is' + } + + const [firstTerm, ...otherTerms] = terms + const match = text.match(new RegExp(`(.*)(${escapeRegexModifiers(firstTerm)})(.*)`, flags)) + + if (match) { + const [, before, matching, after] = match + // Note: this has exponential complexity, but we expect just a few terms, so that's fine. + return highlightTerms(before, terms, opts) + '<em>' + escapeHtmlEntities(matching) + '</em>' + highlightTerms(after, terms, opts) + } else { + return highlightTerms(text, otherTerms, opts) + } +} diff --git a/assets/js/search-page.js b/assets/js/search-page.js index 8cdbd8d49..51158639c 100644 --- a/assets/js/search-page.js +++ b/assets/js/search-page.js @@ -5,6 +5,7 @@ import { qs, escapeHtmlEntities, isBlank, getQueryParamByName, getProjectNameAnd import { setSearchInputValue } from './search-bar' import searchResultsTemplate from './handlebars/templates/search-results.handlebars' import { getSearchNodes } from './globals' +import { highlightMatches } from './highlighter' const EXCERPT_RADIUS = 80 const SEARCH_CONTAINER_SELECTOR = '#search' @@ -23,7 +24,7 @@ lunr.Pipeline.registerFunction(docTrimmerFunction, 'docTrimmer') window.addEventListener('exdoc:loaded', initialize) -function initialize () { +function initialize() { const pathname = window.location.pathname if (pathname.endsWith('/search.html') || pathname.endsWith('/search')) { const query = getQueryParamByName('q') @@ -32,7 +33,7 @@ function initialize () { } } -async function search (value, queryType) { +async function search(value, queryType) { if (isBlank(value)) { renderResults({ value }) } else { @@ -55,7 +56,7 @@ async function search (value, queryType) { } } -async function localSearch (value) { +async function localSearch(value) { const index = await getIndex() // We cannot match on atoms :foo because that would be considered @@ -64,7 +65,7 @@ async function localSearch (value) { return searchResultsToDecoratedSearchItems(index.search(fixedValue)) } -async function remoteSearch (value, queryType, searchNodes) { +async function remoteSearch(value, queryType, searchNodes) { let filterNodes = searchNodes if (queryType === 'latest') { @@ -85,7 +86,7 @@ async function remoteSearch (value, queryType, searchNodes) { return payload.hits.map(result => { const [packageName, packageVersion] = result.document.package.split('-') - const doc = result.document.doc + const doc = highlightMatches(result.document.doc, value, { multiline: true }) const excerpts = [doc] const metadata = {} const ref = `https://hexdocs.pm/${packageName}/${packageVersion}/${result.document.ref}` @@ -106,13 +107,13 @@ async function remoteSearch (value, queryType, searchNodes) { } } -function renderResults ({ value, results, errorMessage }) { +function renderResults({ value, results, errorMessage }) { const searchContainer = qs(SEARCH_CONTAINER_SELECTOR) const resultsHtml = searchResultsTemplate({ value, results, errorMessage }) searchContainer.innerHTML = resultsHtml } -async function getIndex () { +async function getIndex() { const cachedIndex = await loadIndex() if (cachedIndex) { return cachedIndex } @@ -121,7 +122,7 @@ async function getIndex () { return index } -async function loadIndex () { +async function loadIndex() { try { const serializedIndex = sessionStorage.getItem(indexStorageKey()) if (serializedIndex) { @@ -136,7 +137,7 @@ async function loadIndex () { } } -async function saveIndex (index) { +async function saveIndex(index) { try { const serializedIndex = await compress(index) sessionStorage.setItem(indexStorageKey(), serializedIndex) @@ -145,7 +146,7 @@ async function saveIndex (index) { } } -async function compress (index) { +async function compress(index) { const stream = new Blob([JSON.stringify(index)], { type: 'application/json' }).stream().pipeThrough(new window.CompressionStream('gzip')) @@ -155,7 +156,7 @@ async function compress (index) { return b64encode(buffer) } -async function decompress (index) { +async function decompress(index) { const stream = new Blob([b64decode(index)], { type: 'application/json' }).stream().pipeThrough(new window.DecompressionStream('gzip')) @@ -164,7 +165,7 @@ async function decompress (index) { return JSON.parse(blob) } -function b64encode (buffer) { +function b64encode(buffer) { let binary = '' const bytes = new Uint8Array(buffer) const len = bytes.byteLength @@ -174,7 +175,7 @@ function b64encode (buffer) { return window.btoa(binary) } -function b64decode (str) { +function b64decode(str) { const binaryString = window.atob(str) const len = binaryString.length const bytes = new Uint8Array(new ArrayBuffer(len)) @@ -184,11 +185,11 @@ function b64decode (str) { return bytes } -function indexStorageKey () { +function indexStorageKey() { return `idv5:${getProjectNameAndVersion()}` } -function createIndex () { +function createIndex() { return lunr(function () { this.ref('ref') this.field('title', { boost: 3 }) @@ -206,11 +207,11 @@ function createIndex () { }) } -function docTokenSplitter (builder) { +function docTokenSplitter(builder) { builder.pipeline.before(lunr.stemmer, docTokenFunction) } -function docTokenFunction (token) { +function docTokenFunction(token) { // If we have something with an arity, we split on : . to make partial // matches easier. We split only when tokenizing, not when searching. // Below we use ExDoc.Markdown.to_ast/2 as an example. @@ -274,11 +275,11 @@ function docTokenFunction (token) { return tokens } -function docTrimmer (builder) { +function docTrimmer(builder) { builder.pipeline.before(lunr.stemmer, docTrimmerFunction) } -function docTrimmerFunction (token) { +function docTrimmerFunction(token) { // Preserve @ and : at the beginning of tokens, // and ? and ! at the end of tokens. It needs to // be done before stemming, otherwise search and @@ -288,7 +289,7 @@ function docTrimmerFunction (token) { }) } -function searchResultsToDecoratedSearchItems (results) { +function searchResultsToDecoratedSearchItems(results) { return results // If the docs are regenerated without changing its version, // a reference may have been doc'ed false in the code but @@ -305,11 +306,11 @@ function searchResultsToDecoratedSearchItems (results) { }) } -function getSearchItemByRef (ref) { +function getSearchItemByRef(ref) { return searchData.items.find(searchItem => searchItem.ref === ref) || null } -function getExcerpts (searchItem, metadata) { +function getExcerpts(searchItem, metadata) { const { doc } = searchItem const searchTerms = Object.keys(metadata) @@ -330,7 +331,7 @@ function getExcerpts (searchItem, metadata) { return excerpts.slice(0, 1) } -function excerpt (doc, sliceStart, sliceLength) { +function excerpt(doc, sliceStart, sliceLength) { const startPos = Math.max(sliceStart - EXCERPT_RADIUS, 0) const endPos = Math.min(sliceStart + sliceLength + EXCERPT_RADIUS, doc.length) return [ diff --git a/formatters/html/dist/html-3VPR65AO.js b/formatters/html/dist/html-3VPR65AO.js deleted file mode 100644 index 1e92775a0..000000000 --- a/formatters/html/dist/html-3VPR65AO.js +++ /dev/null @@ -1,223 +0,0 @@ -(()=>{var Ns=Object.create;var Wn=Object.defineProperty;var Ds=Object.getOwnPropertyDescriptor;var Bs=Object.getOwnPropertyNames;var Qs=Object.getPrototypeOf,qs=Object.prototype.hasOwnProperty;var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fs=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Bs(e))!qs.call(t,i)&&i!==n&&Wn(t,i,{get:()=>e[i],enumerable:!(r=Ds(e,i))||r.enumerable});return t};var Y=(t,e,n)=>(n=t!=null?Ns(Qs(t)):{},Fs(e||!t||!t.__esModule?Wn(n,"default",{value:t,enumerable:!0}):n,t));var vr=_((lc,gr)=>{var mr="Expected a function",fr=NaN,Ws="[object Symbol]",zs=/^\s+|\s+$/g,Gs=/^[-+]0x[0-9a-f]+$/i,Ks=/^0b[01]+$/i,Ys=/^0o[0-7]+$/i,Js=parseInt,Xs=typeof global=="object"&&global&&global.Object===Object&&global,Zs=typeof self=="object"&&self&&self.Object===Object&&self,eo=Xs||Zs||Function("return this")(),to=Object.prototype,no=to.toString,ro=Math.max,io=Math.min,Dt=function(){return eo.Date.now()};function so(t,e,n){var r,i,s,o,a,l,u=0,c=!1,d=!1,h=!0;if(typeof t!="function")throw new TypeError(mr);e=pr(e)||0,Fe(n)&&(c=!!n.leading,d="maxWait"in n,s=d?ro(pr(n.maxWait)||0,e):s,h="trailing"in n?!!n.trailing:h);function f(S){var R=r,U=i;return r=i=void 0,u=S,o=t.apply(U,R),o}function m(S){return u=S,a=setTimeout(w,e),c?f(S):o}function g(S){var R=S-l,U=S-u,ee=e-R;return d?io(ee,s-U):ee}function v(S){var R=S-l,U=S-u;return l===void 0||R>=e||R<0||d&&U>=s}function w(){var S=Dt();if(v(S))return x(S);a=setTimeout(w,g(S))}function x(S){return a=void 0,h&&r?f(S):(r=i=void 0,o)}function I(){a!==void 0&&clearTimeout(a),u=0,r=l=i=a=void 0}function q(){return a===void 0?o:x(Dt())}function $(){var S=Dt(),R=v(S);if(r=arguments,i=this,l=S,R){if(a===void 0)return m(l);if(d)return a=setTimeout(w,e),f(l)}return a===void 0&&(a=setTimeout(w,e)),o}return $.cancel=I,$.flush=q,$}function oo(t,e,n){var r=!0,i=!0;if(typeof t!="function")throw new TypeError(mr);return Fe(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),so(t,e,{leading:r,maxWait:e,trailing:i})}function Fe(t){var e=typeof t;return!!t&&(e=="object"||e=="function")}function ao(t){return!!t&&typeof t=="object"}function lo(t){return typeof t=="symbol"||ao(t)&&no.call(t)==Ws}function pr(t){if(typeof t=="number")return t;if(lo(t))return fr;if(Fe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Fe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=t.replace(zs,"");var n=Ks.test(t);return n||Ys.test(t)?Js(t.slice(2),n?2:8):Gs.test(t)?fr:+t}gr.exports=oo});var F=_(D=>{"use strict";D.__esModule=!0;D.extend=Cr;D.indexOf=Eo;D.escapeExpression=xo;D.isEmpty=ko;D.createFrame=So;D.blockParams=_o;D.appendContextPath=Lo;var vo={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},yo=/[&<>"'`=]/g,wo=/[&<>"'`=]/;function bo(t){return vo[t]}function Cr(t){for(var e=1;e<arguments.length;e++)for(var n in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],n)&&(t[n]=arguments[e][n]);return t}var jt=Object.prototype.toString;D.toString=jt;var Ut=function(e){return typeof e=="function"};Ut(/x/)&&(D.isFunction=Ut=function(t){return typeof t=="function"&&jt.call(t)==="[object Function]"});D.isFunction=Ut;var Rr=Array.isArray||function(t){return t&&typeof t=="object"?jt.call(t)==="[object Array]":!1};D.isArray=Rr;function Eo(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}function xo(t){if(typeof t!="string"){if(t&&t.toHTML)return t.toHTML();if(t==null)return"";if(!t)return t+"";t=""+t}return wo.test(t)?t.replace(yo,bo):t}function ko(t){return!t&&t!==0?!0:!!(Rr(t)&&t.length===0)}function So(t){var e=Cr({},t);return e._parent=t,e}function _o(t,e){return t.path=e,t}function Lo(t,e){return(t?t+".":"")+e}});var X=_((je,Mr)=>{"use strict";je.__esModule=!0;var Wt=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function zt(t,e){var n=e&&e.loc,r=void 0,i=void 0,s=void 0,o=void 0;n&&(r=n.start.line,i=n.end.line,s=n.start.column,o=n.end.column,t+=" - "+r+":"+s);for(var a=Error.prototype.constructor.call(this,t),l=0;l<Wt.length;l++)this[Wt[l]]=a[Wt[l]];Error.captureStackTrace&&Error.captureStackTrace(this,zt);try{n&&(this.lineNumber=r,this.endLineNumber=i,Object.defineProperty?(Object.defineProperty(this,"column",{value:s,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:o,enumerable:!0})):(this.column=s,this.endColumn=o))}catch{}}zt.prototype=new Error;je.default=zt;Mr.exports=je.default});var Nr=_((We,Hr)=>{"use strict";We.__esModule=!0;var Gt=F();We.default=function(t){t.registerHelper("blockHelperMissing",function(e,n){var r=n.inverse,i=n.fn;if(e===!0)return i(this);if(e===!1||e==null)return r(this);if(Gt.isArray(e))return e.length>0?(n.ids&&(n.ids=[n.name]),t.helpers.each(e,n)):r(this);if(n.data&&n.ids){var s=Gt.createFrame(n.data);s.contextPath=Gt.appendContextPath(n.data.contextPath,n.name),n={data:s}}return i(e,n)})};Hr.exports=We.default});var Br=_((ze,Dr)=>{"use strict";ze.__esModule=!0;function To(t){return t&&t.__esModule?t:{default:t}}var we=F(),Po=X(),Oo=To(Po);ze.default=function(t){t.registerHelper("each",function(e,n){if(!n)throw new Oo.default("Must pass iterator to #each");var r=n.fn,i=n.inverse,s=0,o="",a=void 0,l=void 0;n.data&&n.ids&&(l=we.appendContextPath(n.data.contextPath,n.ids[0])+"."),we.isFunction(e)&&(e=e.call(this)),n.data&&(a=we.createFrame(n.data));function u(m,g,v){a&&(a.key=m,a.index=g,a.first=g===0,a.last=!!v,l&&(a.contextPath=l+m)),o=o+r(e[m],{data:a,blockParams:we.blockParams([e[m],m],[l+m,null])})}if(e&&typeof e=="object")if(we.isArray(e))for(var c=e.length;s<c;s++)s in e&&u(s,s,s===e.length-1);else if(global.Symbol&&e[global.Symbol.iterator]){for(var d=[],h=e[global.Symbol.iterator](),f=h.next();!f.done;f=h.next())d.push(f.value);e=d;for(var c=e.length;s<c;s++)u(s,s,s===e.length-1)}else(function(){var m=void 0;Object.keys(e).forEach(function(g){m!==void 0&&u(m,s-1),m=g,s++}),m!==void 0&&u(m,s-1,!0)})();return s===0&&(o=i(this)),o})};Dr.exports=ze.default});var qr=_((Ge,Qr)=>{"use strict";Ge.__esModule=!0;function Io(t){return t&&t.__esModule?t:{default:t}}var Ao=X(),Co=Io(Ao);Ge.default=function(t){t.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new Co.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Qr.exports=Ge.default});var Ur=_((Ke,$r)=>{"use strict";Ke.__esModule=!0;function Ro(t){return t&&t.__esModule?t:{default:t}}var Fr=F(),Mo=X(),Vr=Ro(Mo);Ke.default=function(t){t.registerHelper("if",function(e,n){if(arguments.length!=2)throw new Vr.default("#if requires exactly one argument");return Fr.isFunction(e)&&(e=e.call(this)),!n.hash.includeZero&&!e||Fr.isEmpty(e)?n.inverse(this):n.fn(this)}),t.registerHelper("unless",function(e,n){if(arguments.length!=2)throw new Vr.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:n.inverse,inverse:n.fn,hash:n.hash})})};$r.exports=Ke.default});var Wr=_((Ye,jr)=>{"use strict";Ye.__esModule=!0;Ye.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var i=1;n.hash.level!=null?i=n.hash.level:n.data&&n.data.level!=null&&(i=n.data.level),e[0]=i,t.log.apply(t,e)})};jr.exports=Ye.default});var Gr=_((Je,zr)=>{"use strict";Je.__esModule=!0;Je.default=function(t){t.registerHelper("lookup",function(e,n,r){return e&&r.lookupProperty(e,n)})};zr.exports=Je.default});var Yr=_((Xe,Kr)=>{"use strict";Xe.__esModule=!0;function Ho(t){return t&&t.__esModule?t:{default:t}}var be=F(),No=X(),Do=Ho(No);Xe.default=function(t){t.registerHelper("with",function(e,n){if(arguments.length!=2)throw new Do.default("#with requires exactly one argument");be.isFunction(e)&&(e=e.call(this));var r=n.fn;if(be.isEmpty(e))return n.inverse(this);var i=n.data;return n.data&&n.ids&&(i=be.createFrame(n.data),i.contextPath=be.appendContextPath(n.data.contextPath,n.ids[0])),r(e,{data:i,blockParams:be.blockParams([e],[i&&i.contextPath])})})};Kr.exports=Xe.default});var Kt=_(Ze=>{"use strict";Ze.__esModule=!0;Ze.registerDefaultHelpers=Xo;Ze.moveHelperToHooks=Zo;function se(t){return t&&t.__esModule?t:{default:t}}var Bo=Nr(),Qo=se(Bo),qo=Br(),Fo=se(qo),Vo=qr(),$o=se(Vo),Uo=Ur(),jo=se(Uo),Wo=Wr(),zo=se(Wo),Go=Gr(),Ko=se(Go),Yo=Yr(),Jo=se(Yo);function Xo(t){Qo.default(t),Fo.default(t),$o.default(t),jo.default(t),zo.default(t),Ko.default(t),Jo.default(t)}function Zo(t,e,n){t.helpers[e]&&(t.hooks[e]=t.helpers[e],n||delete t.helpers[e])}});var Xr=_((et,Jr)=>{"use strict";et.__esModule=!0;var ea=F();et.default=function(t){t.registerDecorator("inline",function(e,n,r,i){var s=e;return n.partials||(n.partials={},s=function(o,a){var l=r.partials;r.partials=ea.extend({},l,n.partials);var u=e(o,a);return r.partials=l,u}),n.partials[i.args[0]]=i.fn,s})};Jr.exports=et.default});var Zr=_(Yt=>{"use strict";Yt.__esModule=!0;Yt.registerDefaultDecorators=ia;function ta(t){return t&&t.__esModule?t:{default:t}}var na=Xr(),ra=ta(na);function ia(t){ra.default(t)}});var Jt=_((tt,ei)=>{"use strict";tt.__esModule=!0;var sa=F(),fe={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if(typeof e=="string"){var n=sa.indexOf(fe.methodMap,e.toLowerCase());n>=0?e=n:e=parseInt(e,10)}return e},log:function(e){if(e=fe.lookupLevel(e),typeof console<"u"&&fe.lookupLevel(fe.level)<=e){var n=fe.methodMap[e];console[n]||(n="log");for(var r=arguments.length,i=Array(r>1?r-1:0),s=1;s<r;s++)i[s-1]=arguments[s];console[n].apply(console,i)}}};tt.default=fe;ei.exports=tt.default});var ti=_(Xt=>{"use strict";Xt.__esModule=!0;Xt.createNewLookupObject=aa;var oa=F();function aa(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return oa.extend.apply(void 0,[Object.create(null)].concat(e))}});var Zt=_(Ee=>{"use strict";Ee.__esModule=!0;Ee.createProtoAccessControl=da;Ee.resultIsAllowed=ha;Ee.resetLoggedProperties=pa;function la(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var ni=ti(),ua=Jt(),ca=la(ua),nt=Object.create(null);function da(t){var e=Object.create(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:ni.createNewLookupObject(n,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:ni.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}}function ha(t,e,n){return ri(typeof t=="function"?e.methods:e.properties,n)}function ri(t,e){return t.whitelist[e]!==void 0?t.whitelist[e]===!0:t.defaultValue!==void 0?t.defaultValue:(fa(e),!1)}function fa(t){nt[t]!==!0&&(nt[t]=!0,ca.log("error",'Handlebars: Access has been denied to resolve the property "'+t+`" because it is not an "own property" of its parent. -You can add a runtime option to disable the check or this warning: -See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function pa(){Object.keys(nt).forEach(function(t){delete nt[t]})}});var rn=_(j=>{"use strict";j.__esModule=!0;j.HandlebarsEnvironment=nn;function ii(t){return t&&t.__esModule?t:{default:t}}var oe=F(),ma=X(),en=ii(ma),ga=Kt(),va=Zr(),ya=Jt(),rt=ii(ya),wa=Zt(),ba="4.7.7";j.VERSION=ba;var Ea=8;j.COMPILER_REVISION=Ea;var xa=7;j.LAST_COMPATIBLE_COMPILER_REVISION=xa;var ka={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};j.REVISION_CHANGES=ka;var tn="[object Object]";function nn(t,e,n){this.helpers=t||{},this.partials=e||{},this.decorators=n||{},ga.registerDefaultHelpers(this),va.registerDefaultDecorators(this)}nn.prototype={constructor:nn,logger:rt.default,log:rt.default.log,registerHelper:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple helpers");oe.extend(this.helpers,e)}else this.helpers[e]=n},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){if(oe.toString.call(e)===tn)oe.extend(this.partials,e);else{if(typeof n>"u")throw new en.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=n}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple decorators");oe.extend(this.decorators,e)}else this.decorators[e]=n},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){wa.resetLoggedProperties()}};var Sa=rt.default.log;j.log=Sa;j.createFrame=oe.createFrame;j.logger=rt.default});var oi=_((it,si)=>{"use strict";it.__esModule=!0;function sn(t){this.string=t}sn.prototype.toString=sn.prototype.toHTML=function(){return""+this.string};it.default=sn;si.exports=it.default});var ai=_(on=>{"use strict";on.__esModule=!0;on.wrapHelper=_a;function _a(t,e){if(typeof t!="function")return t;var n=function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)};return n}});var hi=_(Z=>{"use strict";Z.__esModule=!0;Z.checkRevision=Aa;Z.template=Ca;Z.wrapProgram=st;Z.resolvePartial=Ra;Z.invokePartial=Ma;Z.noop=ci;function La(t){return t&&t.__esModule?t:{default:t}}function Ta(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Pa=F(),z=Ta(Pa),Oa=X(),G=La(Oa),K=rn(),li=Kt(),Ia=ai(),ui=Zt();function Aa(t){var e=t&&t[0]||1,n=K.COMPILER_REVISION;if(!(e>=K.LAST_COMPATIBLE_COMPILER_REVISION&&e<=K.COMPILER_REVISION))if(e<K.LAST_COMPATIBLE_COMPILER_REVISION){var r=K.REVISION_CHANGES[n],i=K.REVISION_CHANGES[e];throw new G.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}else throw new G.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}function Ca(t,e){if(!e)throw new G.default("No environment passed to template");if(!t||!t.main)throw new G.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var n=t.compiler&&t.compiler[0]===7;function r(o,a,l){l.hash&&(a=z.extend({},a,l.hash),l.ids&&(l.ids[0]=!0)),o=e.VM.resolvePartial.call(this,o,a,l);var u=z.extend({},l,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=e.VM.invokePartial.call(this,o,a,u);if(c==null&&e.compile&&(l.partials[l.name]=e.compile(o,t.compilerOptions,e),c=l.partials[l.name](a,u)),c!=null){if(l.indent){for(var d=c.split(` -`),h=0,f=d.length;h<f&&!(!d[h]&&h+1===f);h++)d[h]=l.indent+d[h];c=d.join(` -`)}return c}else throw new G.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,l,u){if(!a||!(l in a))throw new G.default('"'+l+'" not defined in '+a,{loc:u});return i.lookupProperty(a,l)},lookupProperty:function(a,l){var u=a[l];if(u==null||Object.prototype.hasOwnProperty.call(a,l)||ui.resultIsAllowed(u,i.protoAccessControl,l))return u},lookup:function(a,l){for(var u=a.length,c=0;c<u;c++){var d=a[c]&&i.lookupProperty(a[c],l);if(d!=null)return a[c][l]}},lambda:function(a,l){return typeof a=="function"?a.call(l):a},escapeExpression:z.escapeExpression,invokePartial:r,fn:function(a){var l=t[a];return l.decorator=t[a+"_d"],l},programs:[],program:function(a,l,u,c,d){var h=this.programs[a],f=this.fn(a);return l||d||c||u?h=st(this,a,f,l,u,c,d):h||(h=this.programs[a]=st(this,a,f)),h},data:function(a,l){for(;a&&l--;)a=a._parent;return a},mergeIfNeeded:function(a,l){var u=a||l;return a&&l&&a!==l&&(u=z.extend({},l,a)),u},nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=a.data;s._setup(a),!a.partial&&t.useData&&(l=Ha(o,l));var u=void 0,c=t.useBlockParams?[]:void 0;t.useDepths&&(a.depths?u=o!=a.depths[0]?[o].concat(a.depths):a.depths:u=[o]);function d(h){return""+t.main(i,h,i.helpers,i.partials,l,c,u)}return d=di(t.main,d,i,a.depths||[],l,c),d(o,a)}return s.isTop=!0,s._setup=function(o){if(o.partial)i.protoAccessControl=o.protoAccessControl,i.helpers=o.helpers,i.partials=o.partials,i.decorators=o.decorators,i.hooks=o.hooks;else{var a=z.extend({},e.helpers,o.helpers);Na(a,i),i.helpers=a,t.usePartial&&(i.partials=i.mergeIfNeeded(o.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=z.extend({},e.decorators,o.decorators)),i.hooks={},i.protoAccessControl=ui.createProtoAccessControl(o);var l=o.allowCallsToHelperMissing||n;li.moveHelperToHooks(i,"helperMissing",l),li.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(o,a,l,u){if(t.useBlockParams&&!l)throw new G.default("must pass block params");if(t.useDepths&&!u)throw new G.default("must pass parent depths");return st(i,o,t[o],a,0,l,u)},s}function st(t,e,n,r,i,s,o){function a(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=o;return o&&l!=o[0]&&!(l===t.nullContext&&o[0]===null)&&(c=[l].concat(o)),n(t,l,t.helpers,t.partials,u.data||r,s&&[u.blockParams].concat(s),c)}return a=di(n,a,t,o,r,s),a.program=e,a.depth=o?o.length:0,a.blockParams=i||0,a}function Ra(t,e,n){return t?!t.call&&!n.name&&(n.name=t,t=n.partials[t]):n.name==="@partial-block"?t=n.data["partial-block"]:t=n.partials[n.name],t}function Ma(t,e,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var i=void 0;if(n.fn&&n.fn!==ci&&function(){n.data=K.createFrame(n.data);var s=n.fn;i=n.data["partial-block"]=function(a){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=K.createFrame(l.data),l.data["partial-block"]=r,s(a,l)},s.partials&&(n.partials=z.extend({},n.partials,s.partials))}(),t===void 0&&i&&(t=i),t===void 0)throw new G.default("The partial "+n.name+" could not be found");if(t instanceof Function)return t(e,n)}function ci(){return""}function Ha(t,e){return(!e||!("root"in e))&&(e=e?K.createFrame(e):{},e.root=t),e}function di(t,e,n,r,i,s){if(t.decorator){var o={};e=t.decorator(e,o,n,r&&r[0],i,s,r),z.extend(e,o)}return e}function Na(t,e){Object.keys(t).forEach(function(n){var r=t[n];t[n]=Da(r,e)})}function Da(t,e){var n=e.lookupProperty;return Ia.wrapHelper(t,function(r){return z.extend({lookupProperty:n},r)})}});var pi=_((ot,fi)=>{"use strict";ot.__esModule=!0;ot.default=function(t){var e=typeof global<"u"?global:window,n=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=n),t}};fi.exports=ot.default});var ae=_((at,yi)=>{"use strict";at.__esModule=!0;function ln(t){return t&&t.__esModule?t:{default:t}}function un(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Ba=rn(),mi=un(Ba),Qa=oi(),qa=ln(Qa),Fa=X(),Va=ln(Fa),$a=F(),an=un($a),Ua=hi(),gi=un(Ua),ja=pi(),Wa=ln(ja);function vi(){var t=new mi.HandlebarsEnvironment;return an.extend(t,mi),t.SafeString=qa.default,t.Exception=Va.default,t.Utils=an,t.escapeExpression=an.escapeExpression,t.VM=gi,t.template=function(e){return gi.template(e,t)},t}var xe=vi();xe.create=vi;Wa.default(xe);xe.default=xe;at.default=xe;yi.exports=at.default});var Zi=_((Ji,Xi)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(d){return new t.Token(t.utils.asString(d).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var c=t.utils.clone(n)||{};c.position=[a,u],c.index=s.length,s.push(new t.Token(r.slice(a,o),c))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,c=0;u<s&&c<o;)a=r[u],l=i[c],a<l?u+=2:a>l?c+=2:a==l&&(n+=r[u+1]*i[c+1],u+=2,c+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,c="^("+s+")?"+i,d=new RegExp(a),h=new RegExp(u),f=new RegExp(l),m=new RegExp(c),g=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,x=/^(.+?)(ed|ing)$/,I=/.$/,q=/(at|bl|iz)$/,$=new RegExp("([^aeiouylsz])\\1$"),S=new RegExp("^"+s+i+"[^aeiouwxy]$"),R=/^(.+?[^aeiou])y$/,U=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,ee=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,ve=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,Pe=/^(.+?)(s|t)(ion)$/,te=/^(.+?)e$/,Oe=/ll$/,Ie=new RegExp("^"+s+i+"[^aeiouwxy]$"),ye=function(y){var k,ne,Q,b,L,re,de;if(y.length<3)return y;if(Q=y.substr(0,1),Q=="y"&&(y=Q.toUpperCase()+y.substr(1)),b=g,L=v,b.test(y)?y=y.replace(b,"$1$2"):L.test(y)&&(y=y.replace(L,"$1$2")),b=w,L=x,b.test(y)){var T=b.exec(y);b=d,b.test(T[1])&&(b=I,y=y.replace(b,""))}else if(L.test(y)){var T=L.exec(y);k=T[1],L=m,L.test(k)&&(y=k,L=q,re=$,de=S,L.test(y)?y=y+"e":re.test(y)?(b=I,y=y.replace(b,"")):de.test(y)&&(y=y+"e"))}if(b=R,b.test(y)){var T=b.exec(y);k=T[1],y=k+"i"}if(b=U,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+e[ne])}if(b=ee,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+n[ne])}if(b=ve,L=Pe,b.test(y)){var T=b.exec(y);k=T[1],b=h,b.test(k)&&(y=k)}else if(L.test(y)){var T=L.exec(y);k=T[1]+T[2],L=h,L.test(k)&&(y=k)}if(b=te,b.test(y)){var T=b.exec(y);k=T[1],b=h,L=f,re=Ie,(b.test(k)||L.test(k)&&!re.test(k))&&(y=k)}return b=Oe,L=h,b.test(y)&&L.test(y)&&(b=I,y=y.replace(b,"")),Q=="y"&&(y=Q.toLowerCase()+y.substr(1)),y};return function(ce){return ce.update(ye)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c=s.str.charAt(0),d=s.str.charAt(1),h;d in s.node.edges?h=s.node.edges[d]:(h=new t.TokenSet,s.node.edges[d]=h),s.str.length==1&&(h.final=!0),i.push({node:h,editsRemaining:s.editsRemaining-1,str:c+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var c=s[u],d=0;d<l;d++){var h=a[d];if(h==c||c=="*"){var f=r.node.edges[h],m=r.qNode.edges[c],g=f.final&&m.final,v=void 0;h in r.output.edges?(v=r.output.edges[h],v.final=v.final||g):(v=new t.TokenSet,v.final=g,r.output.edges[h]=v),i.push({qNode:m,output:v,node:f})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],c=null,d=t.Set.empty;u.usePipeline?c=this.pipeline.runString(u.term,{fields:u.fields}):c=[u.term];for(var h=0;h<c.length;h++){var f=c[h];u.term=f;var m=t.TokenSet.fromClause(u),g=this.tokenSet.intersect(m).toArray();if(g.length===0&&u.presence===t.Query.presence.REQUIRED){for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=t.Set.empty}break}for(var x=0;x<g.length;x++)for(var I=g[x],q=this.invertedIndex[I],$=q._index,v=0;v<u.fields.length;v++){var w=u.fields[v],S=q[w],R=Object.keys(S),U=I+"/"+w,ee=new t.Set(R);if(u.presence==t.Query.presence.REQUIRED&&(d=d.union(ee),o[w]===void 0&&(o[w]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[w]===void 0&&(a[w]=t.Set.empty),a[w]=a[w].union(ee);continue}if(i[w].upsert($,u.boost,function(Ms,Hs){return Ms+Hs}),!s[U]){for(var ve=0;ve<R.length;ve++){var Pe=R[ve],te=new t.FieldRef(Pe,w),Oe=S[Pe],Ie;(Ie=r[te])===void 0?r[te]=new t.MatchData(I,w,Oe):Ie.add(I,w,Oe)}s[U]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=o[w].intersect(d)}}for(var ye=t.Set.complete,ce=t.Set.empty,l=0;l<this.fields.length;l++){var w=this.fields[l];o[w]&&(ye=ye.intersect(o[w])),a[w]&&(ce=ce.union(a[w]))}var y=Object.keys(r),k=[],ne=Object.create(null);if(n.isNegated()){y=Object.keys(this.fieldVectors);for(var l=0;l<y.length;l++){var te=y[l],Q=t.FieldRef.fromString(te);r[te]=new t.MatchData}}for(var l=0;l<y.length;l++){var Q=t.FieldRef.fromString(y[l]),b=Q.docRef;if(ye.contains(b)&&!ce.contains(b)){var L=this.fieldVectors[Q],re=i[Q.fieldName].similarity(L),de;if((de=ne[b])!==void 0)de.score+=re,de.matchData.combine(r[Q]);else{var T={ref:b,score:re,matchData:r[Q]};ne[b]=T,k.push(T)}}}return k.sort(function(Cs,Rs){return Rs.score-Cs.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=i[u],d=c[0],h=c[1];r[d]=new t.Vector(h)}for(var u=0;u<o.length;u++){var c=o[u],f=c[0],m=c[1];a.insert(f),s[f]=m}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),c=this.pipeline.run(u),d=new t.FieldRef(r,o),h=Object.create(null);this.fieldTermFrequencies[d]=h,this.fieldLengths[d]=0,this.fieldLengths[d]+=c.length;for(var f=0;f<c.length;f++){var m=c[f];if(h[m]==null&&(h[m]=0),h[m]+=1,this.invertedIndex[m]==null){var g=Object.create(null);g._index=this.termIndex,this.termIndex+=1;for(var v=0;v<i.length;v++)g[i[v]]=Object.create(null);this.invertedIndex[m]=g}this.invertedIndex[m][o][r]==null&&(this.invertedIndex[m][o][r]=Object.create(null));for(var w=0;w<this.metadataWhitelist.length;w++){var x=this.metadataWhitelist[w],I=m.metadata[x];this.invertedIndex[m][o][r][x]==null&&(this.invertedIndex[m][o][r][x]=[]),this.invertedIndex[m][o][r][x].push(I)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,c=this.fieldTermFrequencies[o],d=Object.keys(c),h=d.length,f=this._fields[a].boost||1,m=this._documents[o.docRef].boost||1,g=0;g<h;g++){var v=d[g],w=c[v],x=this.invertedIndex[v]._index,I,q,$;i[v]===void 0?(I=t.idf(this.invertedIndex[v],this.documentCount),i[v]=I):I=i[v],q=I*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+w),q*=f,q*=m,$=Math.round(q*1e3)/1e3,u.insert(x,$)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var c=l[u];this.metadata[i][a][c]==null?this.metadata[i][a][c]=e.metadata[i][a][c]:this.metadata[i][a][c]=this.metadata[i][a][c].concat(e.metadata[i][a][c])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof Ji=="object"?Xi.exports=n():e.lunr=n()}(this,function(){return t})})()});var zn=new URLSearchParams(window.location.search),A=window.self!==window.parent,Gn=zn.has("preview"),Kn=zn.has("hint");function Ae(){return window.sidebarNodes||{}}function Yn(){return window.versionNodes||[]}function Jn(){return window.searchNodes||[]}var p=document.querySelector.bind(document),M=document.querySelectorAll.bind(document);function Xn(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Re(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Me(){return document.getElementById("main").dataset.type}var Ce=["H1","H2","H3","H4","H5","H6"];function He(t=!1){let e=window.location.hash.replace(/^#/,"");if(!e)return t?document.getElementById("top-content"):null;let n=document.getElementById(e);if(!n)return null;if(n.matches(".detail"))return n;if(Ce.includes(n.tagName))return Pt(n);let r=Vs(n);return r||document.getElementById("top-content")}function Vs(t){let e=t.previousElementSibling;for(;e;){if(Ce.includes(e.tagName))return Pt(e);e=e.previousElementSibling}let n=t.parentNode;for(;n;){for(e=n.previousElementSibling;e;){if(Ce.includes(e.tagName))return Pt(e);e=e.previousElementSibling}n=n.parentNode}return null}function Pt(t){let e=document.createElement("div"),n=[t],r=t;for(;(r=r.nextSibling)&&!(Ce.includes(r.tagName)&&r.tagName<=t.tagName);)n.push(r);return e.append(...n),e}function Ot(t){return new URLSearchParams(window.location.search).get(t)}function It(t){return fetch(t).then(e=>e.ok).catch(()=>!1)}function he(t){return!t||t.trim()===""}function Zn(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,t(...i)},e)}}function Ne(){return document.head.querySelector("meta[name=project][content]").content}function De(){return document.documentElement.classList.contains("apple-os")}function E(t,e,n){let r=document.createElement(t);for(let i in e)e[i]!=null&&r.setAttribute(i,e[i]);return n&&r.replaceChildren(...n),r}if(Gn&&A){let t=He(!0);if(t){document.body.classList.add("preview"),document.getElementById("content").replaceChildren(...t.childNodes);let e=document.getElementsByTagName("a:not([target=_blank]");for(let n of e)n.setAttribute("target","_parent");window.scrollTo(0,0),document.body.style.position="fixed",setTimeout(er),window.addEventListener("resize",er)}}function er(){let t={type:"preview",contentHeight:document.getElementById("content").parentElement.offsetHeight};window.parent.postMessage(t,"*")}var ie={plain:"plain",function:"function",module:"module"},$s=[{href:"typespecs.html#basic-types",hint:{kind:ie.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:ie.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:ie.plain,description:"Built-in type"}}],Be={cancelHintFetching:null};function tr(t){if(rr(t))return!0;let e=/#.*\//;return t.includes("#")&&!e.test(t)?!1:t.includes(".html")}function nr(t){let e=rr(t);return e?Promise.resolve(e):Us(t)}function rr(t){let e=$s.find(n=>t.includes(n.href));return e?e.hint:null}function Us(t){let e=t.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("src",e),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;e===l&&(o(),n(u))}Be.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Be.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function ir(){Be.cancelHintFetching&&Be.cancelHintFetching()}function sr(t){let n=t.querySelector("h1").textContent,r=t.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:ie.function,title:n.trim(),description:i.trim()}}function or(t){let n=t.querySelector("h1 > span").textContent,r=t.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:ie.module,title:n.trim(),description:i.trim()}}if(Kn&&A){let t=He(),e=t?sr(t):["modules","tasks"].includes(Me())?or(p(".content-inner")):null;if(e){let n={hint:{...e,version:Ne()},href:window.location.href};window.parent.postMessage(n,"*")}p(".content-inner")?.replaceChildren()}var At="ex_doc:settings",ar="dark",Ct="system",Rt="dark",Mt="light";var js={tooltips:!0,theme:null,livebookUrl:null},Ht=class{constructor(){this._subscribers=[],this._settings=js,this._loadSettings()}get(){return this._settings}update(e){let n=this._settings;this._settings={...this._settings,...e},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(e){this._subscribers.push(e),e(this._settings)}_loadSettings(){try{let e=localStorage.getItem(At);if(e){let n=JSON.parse(e);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(e){console.error(`Failed to load settings: ${e}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(At,JSON.stringify(this._settings))}catch(e){console.error(`Failed to persist settings: ${e}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},H=new Ht;var lr=!1,Qe=null,J=null;function ur(t){lr||(lr=!0,J=document.getElementById("toast"),J?.addEventListener("click",()=>{clearTimeout(Qe),J.classList.remove("show")})),J&&(clearTimeout(Qe),J.innerText=t,J.classList.add("show"),Qe=setTimeout(()=>{J.classList.remove("show"),Qe=setTimeout(function(){J.innerText=""},1e3)},5e3))}var Nt=[Ct,Rt,Mt],cr=window.matchMedia("(prefers-color-scheme: dark)");H.getAndSubscribe(dr);cr.addEventListener("change",dr);function dr(){let t=qe(),e=t===Rt||t!==Mt&&cr.matches;document.body.classList.toggle(ar,e)}function hr(){let t=Nt[Nt.indexOf(qe())+1]||Nt[0];H.update({theme:t}),ur(`Set theme to "${t}"`)}function qe(){return new URLSearchParams(window.location.search).get("theme")||H.get().theme||Ct}var Sr=Y(vr());var Bt="sidebar_state",Qt="closed",yr="open",wr="sidebar_width";var Ve="sidebar-open",$e="sidebar-transition";var br=!1;function Er(){if(br)return;br=!0;let t=document.getElementById("sidebar-list-nav");if(!t)return;let e=Me(),n={extras:t.dataset.extras||"Pages",modules:"Modules",tasks:'<span translate="no">Mix</span> Tasks'};Object.entries(n).forEach(([r,i])=>{let s=Ae()[r];if(!s?.length)return;let o=`${r}-list-tab-button`,a=`${r}-tab-panel`,l=r===e,u=E("button",{id:o,role:"tab",tabindex:l?0:-1,"aria-selected":l||void 0,"aria-controls":a});u.innerHTML=i,u.addEventListener("keydown",ho),u.addEventListener("click",fo),t.appendChild(E("li",{},[u]));let c=E("ul",{class:"full-list"});c.addEventListener("click",po);let d=E("div",{id:a,class:"sidebar-tabpanel",role:"tabpanel","aria-labelledby":o,hidden:l?void 0:""},[c]);document.getElementById("sidebar").appendChild(d);let h="",f,m;c.replaceChildren(...s.flatMap(g=>{let v=[],w=Array.isArray(g.headers),x=w?void 0:"no";return g.group!==h&&(v.push(E("li",{class:"group",translate:x},[g.group])),h=g.group,f=void 0),g.nested_context&&g.nested_context!==f?(f=g.nested_context,m!==f&&v.push(E("li",{class:"nesting-context",translate:"no","aria-hidden":!0},[f]))):m=g.title,v.push(E("li",{},[E("a",{href:`${g.id}.html`,translate:x},[g.nested_title||g.title]),...Ft(`node-${g.id}-headers`,w?uo(g):co(g))])),v}))}),window.addEventListener("hashchange",qt),window.addEventListener("swup:page:view",qt),qt(),requestAnimationFrame(xr)}function Ft(t,e){return e.length?[E("button",{"aria-label":"expand","aria-expanded":!1,"aria-controls":t}),E("ul",{id:t},e)]:[]}function uo(t){return t.headers.map(({id:e,anchor:n})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[e])]))}function co(t){let e=[];return t.sections?.length&&e.push(E("li",{},[E("a",{href:`${t.id}.html#content`},["Sections"]),...Ft(`${t.id}-sections-list`,t.sections.map(({id:n,anchor:r})=>E("li",{},[E("a",{href:`${t.id}.html#${r}`},[n])])))])),t.nodeGroups&&(e.push(E("li",{},[E("a",{href:`${t.id}.html#summary`},["Summary"])])),e.push(...t.nodeGroups.map(({key:n,name:r,nodes:i})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[r]),...Ft(`node-${t.id}-group-${n}-list`,i.map(({anchor:s,title:o,id:a})=>E("li",{},[E("a",{href:`${t.id}.html#${s}`,title:o,translate:"no"},[a])])))])))),e}function Vt(t){let e=document.getElementById("sidebar-list-nav").querySelector("[aria-selected]");e!==t&&(e&&(e.removeAttribute("aria-selected"),e.setAttribute("tabindex","-1"),document.getElementById(e.getAttribute("aria-controls")).setAttribute("hidden","hidden")),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),document.getElementById(t.getAttribute("aria-controls")).removeAttribute("hidden"))}function xr(){p("#sidebar [role=tabpanel]:not([hidden]) a[aria-selected]")?.scrollIntoView()}function qt(){let t=document.getElementById("sidebar"),{pathname:e,hash:n}=window.location,r=e.split("/").pop().replace(/\.html$/,"")+".html",i=t.querySelector(`li a[href="${r+n}"]`)||t.querySelector(`li a[href="${r}"]`);if(!i)return;t.querySelectorAll(".full-list a[aria-selected]").forEach(o=>{o.removeAttribute("aria-selected")}),t.querySelectorAll(".full-list button[aria-expanded=true]").forEach(o=>{o.setAttribute("aria-expanded",!1)});let s=i.parentElement;for(;s;){if(s.tagName==="LI"){let o=s.firstChild;o.setAttribute("aria-selected",o.getAttribute("href")===r?"page":"true");let a=o.nextSibling;a?.tagName==="BUTTON"&&a.setAttribute("aria-expanded",!0)}else if(s.role==="tabpanel"){s.hasAttribute("hidden")&&Vt(document.getElementById(s.getAttribute("aria-labelledby")));break}s=s.parentElement}}function ho(t){if(!["ArrowRight","ArrowLeft"].includes(t.key))return;let e=Array.from(M('#sidebar-list-nav [role="tab"]')),r=e.indexOf(t.currentTarget)+(t.key==="ArrowRight"?1:-1),i=e.at(r%e.length);Vt(i),i.focus()}function fo(t){Vt(t.currentTarget),xr()}function po(t){let e=t.target;e.tagName==="BUTTON"&&e.setAttribute("aria-expanded",e.getAttribute("aria-expanded")==="false")}var go=300,_r=".sidebar-toggle",Lr=window.matchMedia(`screen and (max-width: ${768}px)`);if(!A){$t(),window.addEventListener("swup:page:view",$t);let t=document.getElementById("sidebar"),e=p(_r);e.addEventListener("click",Ue),document.body.addEventListener("click",i=>{Lr.matches&&Tr()&&!t.contains(i.target)&&!e.contains(i.target)&&Ue()});let n=window.innerWidth;window.addEventListener("resize",(0,Sr.default)(()=>{n!==window.innerWidth&&(n=window.innerWidth,$t())},100));let r=new ResizeObserver(([i])=>{if(!i)return;let s=i.contentRect.width;sessionStorage.setItem(wr,s),document.body.style.setProperty("--sidebarWidth",`${s}px`)});t.addEventListener("mousedown",()=>r.observe(t)),t.addEventListener("mouseup",()=>r.unobserve(t))}function $t(){let e=sessionStorage.getItem(Bt)!==Qt&&!Lr.matches;Or(e)}function Ue(){let t=!Tr();return sessionStorage.setItem(Bt,t?yr:Qt),Ir(t)}function Tr(){return document.body.classList.contains(Ve)}function Pr(){return document.body.classList.contains(Ve)&&!document.body.classList.contains($e)}function Or(t){t&&Er(),document.body.classList.toggle(Ve,t),p(_r).setAttribute("aria-expanded",t?"true":"false")}var kr;function Ir(t){return new Promise(e=>{document.body.classList.add($e),document.body.scrollTop,Or(t),clearTimeout(kr),kr=setTimeout(()=>{document.body.classList.remove($e),e()},go)})}function Ar(){return Ir(!0)}var wi=Y(ae());var cn=Y(ae());cn.registerHelper("isArray",function(t,e){return Array.isArray(t)?e.fn(this):e.inverse(this)});cn.registerHelper("isNonEmptyArray",function(t,e){return Array.isArray(t)&&t.length>0?e.fn(this):e.inverse(this)});var bi=wi.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <option translate="no" value="'+c((o=(o=d(n,"url")||(e!=null?d(e,"url"):e))!=null?o:l,typeof o===u?o.call(a,{name:"url",hash:{},data:i,loc:{start:{line:7,column:38},end:{line:7,column:45}}}):o))+'"'+((s=d(n,"if").call(a,e!=null?d(e,"isCurrentVersion"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:7,column:46},end:{line:7,column:95}}}))!=null?s:"")+`> - `+c((o=(o=d(n,"version")||(e!=null?d(e,"version"):e))!=null?o:l,typeof o===u?o.call(a,{name:"version",hash:{},data:i,loc:{start:{line:8,column:10},end:{line:8,column:21}}}):o))+` - </option> -`},2:function(t,e,n,r,i){return" selected disabled"},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <div class="sidebar-staleVersion"> - <a href="`+t.escapeExpression((s=(s=o(n,"latestVersion")||(e!=null?o(e,"latestVersion"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"latestVersion",hash:{},data:i,loc:{start:{line:15,column:15},end:{line:15,column:32}}}):s))+`" title="This version of package is not the latest version"> - <i class="ri-alert-line sidebar-staleIcon" aria-hidden="true"></i> - <span>Go to latest</span> - </a> - </div> -`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<form autocomplete="off"> - <label> - <span class="sidebar-projectVersionsDropdownCaret" aria-hidden="true">▼</span> - <span class="sr-only">Project version</span> - <select class="sidebar-projectVersionsDropdown"> -`+((s=a(n,"each").call(o,e!=null?a(e,"nodes"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:6,column:6},end:{line:10,column:15}}}))!=null?s:"")+` </select> - </label> -`+((s=a(n,"if").call(o,e!=null?a(e,"latestVersion"):e,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:2},end:{line:20,column:9}}}))!=null?s:"")+`</form> -`},useData:!0});var za=".sidebar-projectVersion",Ei=".sidebar-projectVersionsDropdown";if(!A){let t=Yn(),e=p(za);if(t.length>0||!e){let n=e.textContent.trim(),i=(t.some(u=>u.version===n)?t:[{version:n,url:"#"},...t]).map(u=>({...u,isCurrentVersion:u.version===n})),s=t.find(u=>u.latest),o=s?.version!==n?s?.url:null;e.innerHTML=bi({nodes:i,latestVersion:o});let a=p(Ei);a.addEventListener("change",Ka),Ga(a);let l=p(".sidebar-staleVersion a");l&&l.addEventListener("click",Ya)}}function Ga(t){let e=document.createElement("span");e.style.visibility="hidden",e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.font=window.getComputedStyle(t).font,e.textContent=t.options[t.selectedIndex].text,document.body.appendChild(e),t.style.width=`${e.offsetWidth+20}px`,document.body.removeChild(e)}function Ka(t){let e=t.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;It(r).then(i=>{i?window.location.href=r:window.location.href=e})}function Ya(t){let e=this.href,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;t.preventDefault(),It(r).then(i=>{i?window.location.href=r:window.location.href=e})}function dn(){let t=p(Ei);t&&(t.focus(),t.addEventListener("keydown",e=>{(e.key==="Escape"||e.key==="v")&&(e.preventDefault(),t.blur())}),navigator.userActivation.isActive&&"showPicker"in HTMLSelectElement.prototype&&t.showPicker())}var Ja="content",Xa="tabs-open",Za="tabs-close",el="H3",tl="tabset";window.addEventListener("swup:page:view",ki);ki();function ki(){let t=[],e=[],n=document.createNodeIterator(document.getElementById(Ja),NodeFilter.SHOW_COMMENT,i=>i.nodeValue.trim()===Xa?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT),r;for(;r=n.nextNode();){let i=[];t.push([r,i]);let s,o=r;for(;o=o.nextSibling;)if(o.nodeName===el){s=[];let a=o.querySelector(".text")?.childNodes||o.childNodes;i.push([a,s]),e.push(o)}else if(o.nodeName==="#comment"&&o.nodeValue.trim()===Za){e.push(o);break}else s&&s.push(o)}t.forEach(([i,s],o)=>{let a=E("div",{class:tl});i.parentNode.replaceChild(a,i);let l=E("div",{role:"tablist",class:"tabset-tablist"});a.appendChild(l),s.forEach(([u,c],d)=>{let h=d===0,f=`tab-${o}-${d}`,m=`tabpanel-${o}-${d}`,g=E("button",{role:"tab",id:f,class:"tabset-tab",tabindex:h?0:-1,"aria-selected":h,"aria-controls":m},u);g.addEventListener("click",nl),g.addEventListener("keydown",rl),l.appendChild(g);let v=E("div",{role:"tabpanel",id:m,class:"tabset-panel",hidden:h?void 0:"",tabindex:h?0:-1,"aria-labelledby":f},c);a.appendChild(v)})}),e.forEach(i=>{i.parentNode.removeChild(i)})}function nl(t){Si(t.currentTarget)}function rl(t){if(xi[t.code]){t.preventDefault();let e=[...t.currentTarget.parentNode.childNodes],n=e.indexOf(t.currentTarget),r=xi[t.code](n,e.length);Si(e.at(r%e.length))}}var xi={ArrowLeft:t=>t-1,ArrowRight:t=>t+1,Home:()=>0,End:(t,e)=>e-1};function Si(t){let e=t.parentNode.querySelector("[aria-selected=true]");if(e===t)return;e.setAttribute("aria-selected","false"),e.tabIndex=-1,t.setAttribute("aria-selected","true"),t.tabIndex=0,t.focus();let n=document.getElementById(e.getAttribute("aria-controls"));n.setAttribute("hidden",""),n.tabIndex=-1;let r=document.getElementById(t.getAttribute("aria-controls"));r.removeAttribute("hidden"),r.tabIndex=0}window.addEventListener("swup:page:view",_i);_i();function _i(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),e=encodeURIComponent(new URL(t,window.location.href).toString());H.getAndSubscribe(({livebookUrl:n})=>{let r=n?`${n}/import?url=${e}`:`https://livebook.dev/run?url=${e}`;for(let i of M(".livebook-badge"))i.href=r})}var il="hll";window.addEventListener("swup:page:view",Ti);Ti();function Ti(){M("[data-group-id]").forEach(t=>{t.addEventListener("mouseenter",Li),t.addEventListener("mouseleave",Li)})}function Li(t){let e=t.currentTarget,n=t.type==="mouseenter",r=e.getAttribute("data-group-id");e.parentElement.querySelectorAll(`[data-group-id="${r}"]`).forEach(i=>{i.classList.toggle(il,n)})}var W={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Oi(t,e=8){if(he(t))return[];let n=Ae(),r=[...hn(n.modules,t,W.module,"module"),...sl(n.modules,t,W.moduleChild),...hn(n.tasks,t,W.mixTask,"mix task"),...hn(n.extras,t,W.extra,"page"),...fn(n.modules,t,W.section,"module"),...fn(n.tasks,t,W.section,"mix task"),...fn(n.extras,t,W.section,"page")].filter(i=>i!==null);return hl(r).slice(0,e)}function hn(t,e,n,r){return t.map(i=>i.searchData?null:al(i,e,n,r))}function sl(t,e,n){return t.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=dl(i);return s.map(a=>ll(a,r.id,e,n,o)||cl(a,r.id,e,n,o))}))}function fn(t,e,n,r){return t.flatMap(i=>ol(i).map(s=>ul(i,s,e,n,r)))}function ol(t){return t.searchData?t.searchData:(t.sections||[]).concat(t.headers||[])}function al(t,e,n,r){return ut(t.title,e)?{link:`${t.id}.html`,title:ht(t.title,e),description:null,matchQuality:ct(t.title,e),deprecated:t.deprecated,labels:[r],category:n}:null}function ll(t,e,n,r,i){return ut(t.id,n)?{link:`${e}.html#${t.anchor}`,title:ht(t.id,n),labels:[i],description:e,matchQuality:ct(t.id,n),deprecated:t.deprecated,category:r}:null}function ul(t,e,n,r,i){if(!Ii(e.id,n))return null;let s;return e.anchor===""?s=`${t.id}.html`:s=`${t.id}.html#${e.anchor}`,{link:s,title:ht(e.id,n),description:t.title,matchQuality:ct(e.id,n),labels:e.labels||[i,"section"],category:r}}function cl(t,e,n,r,i){let s=`${e}.${t.id}`,o=`${e}:${t.id}`,a,l;if(ut(s,n))a=s,l=/\./g;else if(ut(o,n))a=o,l=/:/g;else return null;let u=n.replace(l," ");return Ii(t.id,u)?{link:`${e}.html#${t.anchor}`,title:ht(t.id,u),label:i,description:e,matchQuality:ct(a,n),deprecated:t.deprecated,category:r}:null}function dl(t){switch(t){case"callbacks":return"callback";case"types":return"type";default:return"function"}}function hl(t){return t.slice().sort((e,n)=>e.matchQuality!==n.matchQuality?n.matchQuality-e.matchQuality:Pi(e.category)-Pi(n.category))}function Pi(t){switch(t){case W.module:return 1;case W.moduleChild:return 2;case W.mixTask:return 3;default:return 4}}function Ii(t,e){return dt(e).some(r=>Ai(t,r))}function ut(t,e){return dt(e).every(r=>Ai(t,r))}function Ai(t,e){return t.toLowerCase().includes(e.toLowerCase())}function ct(t,e){let n=dt(e),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/t.length,s=fl(t,n[0])?1:0;return i+s}function fl(t,e){return t.toLowerCase().startsWith(e.toLowerCase())}function dt(t){return t.trim().split(/\s+/)}function ht(t,e){let n=dt(e).sort((r,i)=>i.length-r.length);return lt(t,n)}function lt(t,e){if(e.length===0)return t;let[n,...r]=e,i=t.match(new RegExp(`(.*)(${Xn(n)})(.*)`,"i"));if(i){let[,s,o,a]=i;return lt(s,e)+"<em>"+Re(o)+"</em>"+lt(a,e)}else return lt(t,r)}var Ci=Y(ae());var Ri=Ci.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <a href="'+c((o=(o=d(n,"link")||(e!=null?d(e,"link"):e))!=null?o:l,typeof o===u?o.call(a,{name:"link",hash:{},data:i,loc:{start:{line:14,column:15},end:{line:14,column:23}}}):o))+'" class="autocomplete-suggestion" data-index="'+c((o=(o=d(n,"index")||i&&d(i,"index"))!=null?o:l,typeof o===u?o.call(a,{name:"index",hash:{},data:i,loc:{start:{line:14,column:69},end:{line:14,column:79}}}):o))+`" tabindex="-1"> - <div class="title"> -`+((s=d(n,"if").call(a,e!=null?d(e,"deprecated"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.program(4,i,0),data:i,loc:{start:{line:16,column:10},end:{line:20,column:17}}}))!=null?s:"")+` -`+((s=d(n,"each").call(a,e!=null?d(e,"labels"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:22,column:10},end:{line:24,column:19}}}))!=null?s:"")+` <div class="autocomplete-preview-indicator autocomplete-preview-indicator-open"> - <button onclick="onTogglePreviewClick(event, false)" title="Close preview" tabindex="-1"> - <i class="ri-close-line" aria-hidden="true"></i> - Close preview - </button> - </div> - <div class="autocomplete-preview-indicator autocomplete-preview-indicator-closed"> - <button onclick="onTogglePreviewClick(event, true)" title="Open preview" tabindex="-1"> - <i class="ri-search-2-line" aria-hidden="true"></i> - Open preview - </button> - </div> - </div> - -`+((s=d(n,"if").call(a,e!=null?d(e,"description"):e,{name:"if",hash:{},fn:t.program(8,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:8},end:{line:43,column:15}}}))!=null?s:"")+` </a> -`},2:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return' <s><span class="header" translate="no">'+((s=(o=(o=a(n,"title")||(e!=null?a(e,"title"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"title",hash:{},data:i,loc:{start:{line:17,column:49},end:{line:17,column:60}}}):o))!=null?s:"")+`</span></s> -`},4:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return' <span class="header" translate="no">'+((s=(o=(o=a(n,"title")||(e!=null?a(e,"title"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"title",hash:{},data:i,loc:{start:{line:19,column:46},end:{line:19,column:57}}}):o))!=null?s:"")+`</span> -`},6:function(t,e,n,r,i){return' <span class="label">'+t.escapeExpression(t.lambda(e,e))+`</span> -`},8:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return` <div class="description" translate="no"> - `+((s=(o=(o=a(n,"description")||(e!=null?a(e,"description"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"description",hash:{},data:i,loc:{start:{line:41,column:10},end:{line:41,column:27}}}):o))!=null?s:"")+` - </div> -`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return`<div class="triangle"></div> -<div class="autocomplete-container"> - <div class="autocomplete-suggestions"> - <div class="autocomplete-results"> - <span class="query"> - Autocompletion results for <span class="bold">"`+t.escapeExpression((o=(o=l(n,"term")||(e!=null?l(e,"term"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(a,{name:"term",hash:{},data:i,loc:{start:{line:6,column:55},end:{line:6,column:63}}}):o))+`"</span> - </span> - <span class="press-return"> - Press <span class="bold">RETURN</span> for full-text search, <span class="bold">TAB</span> for previews - </span> - </div> - <div> -`+((s=l(n,"each").call(a,e!=null?l(e,"suggestions"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:6},end:{line:45,column:15}}}))!=null?s:"")+` </div> - </div> -</div> -`},useData:!0});var pe=".autocomplete",pt=".autocomplete-suggestions",ft=".autocomplete-suggestion",C={autocompleteSuggestions:[],previewOpen:!1,selectedIdx:-1};function pl(){p(pe).classList.add("shown")}function pn(){p(pe).classList.remove("shown")}function Mi(){return p(pe).classList.contains("shown")}function mn(t){C.autocompleteSuggestions=Oi(t),C.selectedIdx=-1,he(t)?pn():(ml({term:t,suggestions:C.autocompleteSuggestions}),mt(0),pl())}function ml({term:t,suggestions:e}){let n=Ri({suggestions:e,term:t}),r=p(pe);r.innerHTML=n}function gn(){return C.selectedIdx===-1?null:C.autocompleteSuggestions[C.selectedIdx]}function mt(t){Ni(gl(t))}function Hi(t){if(t.data.type==="preview"){let{contentHeight:e}=t.data,n=p(".autocomplete-preview");n&&(n.style.height=`${e+32}px`,n.classList.remove("loading"))}}function Ni(t){C.selectedIdx=t;let e=p(pt),n=p(`${ft}.selected`),r=p(`${ft}[data-index="${C.selectedIdx}"]`);if(n&&n.classList.remove("selected"),r){if(C.previewOpen){Bi(),window.addEventListener("message",Hi),e.classList.add("previewing");let i=document.createElement("div");i.classList.add("autocomplete-preview"),i.classList.add("loading");let s=r.href.replace(".html",`.html?preview=true&theme=${qe()}`),o=document.createElement("iframe");o.setAttribute("src",s),i.appendChild(document.createElement("div")),i.appendChild(document.createElement("span")),i.appendChild(o),r.parentNode.insertBefore(i,r.nextSibling)}r.classList.add("selected"),r.scrollIntoView({block:"nearest"})}else e&&(e.scrollTop=0)}function Di(){C.previewOpen?gt():vn()}function gt(){C.previewOpen=!1;let t=p(pt);t&&t.classList.remove("previewing"),Bi()}function vn(t){C.previewOpen=!0,t?t=t.closest(ft):t=p(`${ft}[data-index="${C.selectedIdx}"]`),t&&Ni(parseInt(t.dataset.index))}function Bi(){let t=p(".autocomplete-preview");t&&(t.remove(),window.removeEventListener("message",Hi))}function gl(t){let e=C.autocompleteSuggestions.length+1;return(C.selectedIdx+t+1+e)%e-1}var ke="form.search-bar input",vl="form.search-bar .search-close-button";A||(window.addEventListener("swup:page:view",Qi),Qi());function Qi(){yl(),window.onTogglePreviewClick=function(t,e){t.preventDefault(),t.stopImmediatePropagation(),wn(),e?vn(t.target):gt()}}function Vi(t){let e=p(ke);e.value=t}function wn(){let t=p(ke);document.body.classList.add("search-focused"),t.focus()}function yl(){let t=p(ke);if(document.querySelector('meta[name="exdoc:autocomplete"][content="off"]'))return t.addEventListener("keydown",e=>{e.key==="Enter"&&qi(e)}),!0;t.addEventListener("keydown",e=>{let n=De();e.key==="Escape"?(vt(),t.blur()):e.key==="Enter"?qi(e):e.key==="ArrowUp"||n&&e.ctrlKey&&e.key==="p"?(mt(-1),e.preventDefault()):e.key==="ArrowDown"||n&&e.ctrlKey&&e.key==="n"?(mt(1),e.preventDefault()):e.key==="Tab"&&gn()!==null&&(Di(),e.preventDefault())}),t.addEventListener("input",e=>{mn(e.target.value)}),t.addEventListener("focus",e=>{document.body.classList.contains("search-focused")||(document.body.classList.add("search-focused"),mn(e.target.value))}),t.addEventListener("blur",e=>{let n=e.relatedTarget,r=p(pt);if(n&&r&&r.contains(n))return setTimeout(()=>{Mi()&&t.focus()},1e3),null;yt()}),p(pe).addEventListener("click",e=>{e.shiftKey||e.ctrlKey?t.focus():(vt(),yt())}),p(vl).addEventListener("click",e=>{vt(),yt()})}function qi(t){let e=p(ke),n=t.shiftKey||t.ctrlKey,r=gn();t.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");if(s.setAttribute("target",i),r)s.setAttribute("href",r.link);else{let o=document.querySelector('meta[name="exdoc:full-text-search-url"]'),a=o?o.getAttribute("content"):"search.html?q=";s.setAttribute("href",`${a}${encodeURIComponent(e.value)}`)}s.click(),n||(vt(),yt())}function vt(){let t=p(ke);t.value=""}function yt(){gt(),document.body.classList.remove("search-focused"),pn()}var yn,Fi=2;window.addEventListener("scroll",function(){let t=window.scrollY;if(yn!==void 0){let e=t-yn;t===0||e>Fi?document.body.classList.remove("scroll-sticky"):t>0&&-e>Fi&&document.body.classList.add("scroll-sticky")}yn=Math.max(0,t)},!1);var $i=Y(ae());var Ui=$i.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring docstring-plain"> - `+t.escapeExpression(t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))+` - </section> -`},3:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="detail-header"> - <h1 class="signature"> - <span translate="no">`+a(o((s=e!=null?l(e,"hint"):e)!=null?l(s,"title"):s,e))+`</span> - <div class="version-info" translate="no">`+a(o((s=e!=null?l(e,"hint"):e)!=null?l(s,"version"):s,e))+`</div> - </h1> - </div> -`+((s=l(n,"if").call(e??(t.nullContext||{}),(s=e!=null?l(e,"hint"):e)!=null?l(s,"description"):s,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?s:"")},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring"> - `+((s=t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))!=null?s:"")+` - </section> -`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"isPlain"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?s:""},useData:!0});var wl='<div class="tooltip"><div class="tooltip-body"></div></div>',bl=".content a:not([data-no-tooltip])",bn=".tooltip",ji=".tooltip .tooltip-body",Wi="body .content-inner",El="#content",zi="tooltip-shown",Se=10,xl=Se*4,kl=768,Sl=450,_l=100,le={currentLinkElement:null,hoverDelayTimeout:null};window.addEventListener("swup:page:view",Gi);Gi();function Gi(){M(bl).forEach(t=>{Ll(t)&&(t.addEventListener("mouseenter",Pl),t.addEventListener("mouseleave",Il))})}function Ll(t){return!(Tl(t.href)||!tr(t.href))}function Tl(t){let e=t.replace(El,"");return window.location.href.split("#")[0]===e}function Pl(t){if(window.innerWidth<kl||window.innerHeight<Sl||!H.get().tooltips)return;let e=t.currentTarget;le.currentLinkElement=e,le.hoverDelayTimeout=setTimeout(()=>{nr(e.href).then(Ol).catch(()=>{})},_l)}function Ol(t){let e=Ui({isPlain:t.kind===ie.plain,hint:t}),n=p(ji);n||(p(Wi).insertAdjacentHTML("beforeend",wl),n=p(ji)),n.innerHTML=e,Al(),p(bn).classList.add(zi)}function Il(){le.currentLinkElement&&(clearTimeout(le.hoverDelayTimeout),ir(),le.currentLinkElement=null,p(bn)?.classList.remove(zi))}function Al(){if(!le.currentLinkElement)return;let t=p(bn),e=le.currentLinkElement.getBoundingClientRect(),n=p(Wi).getBoundingClientRect(),r=t.getBoundingClientRect(),i=Cl(e,n);if(e.left+r.width+Se<window.innerWidth)t.style.left=`${i.left}px`,t.style.right="auto";else{let s=Math.max(i.right-r.width,Se);t.style.left=`${s}px`,t.style.right="auto"}e.bottom+r.height+xl<window.innerHeight?t.style.top=`${i.bottom+Se}px`:t.style.top=`${i.top-r.height-Se}px`}function Cl(t,e){return{top:t.top-e.top,bottom:t.bottom-e.top,left:t.left-e.left,right:t.right-e.left,x:t.x-e.x,y:t.y-e.y,width:t.width,height:t.height}}var Ki='<button class="copy-button"><svg role="img" aria-label="copy" viewBox="0 0 24 24" fill="currentColor"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg><svg aria-live="polite" role="img" aria-label="copied" viewBox="0 0 24 24" fill="currentColor"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg></button>';var En;window.addEventListener("swup:page:view",Yi);Yi();function Yi(){"clipboard"in navigator&&M("pre:has(> code:first-child):not(:has(.copy-button))").forEach(t=>{if(!En){let r=document.createElement("div");r.innerHTML=Ki,En=r.firstChild}let e=En.cloneNode(!0);t.appendChild(e);let n;e.addEventListener("click",()=>{clearTimeout(n);let r=Array.from(t.querySelectorAll("code > *:not(.unselectable)")).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),e.disabled=!0,n=setTimeout(()=>{e.classList.remove("clicked"),e.disabled=!1},3e3)})})}var V=Y(Zi());var es=Y(ae());var ts=es.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" Search results for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):s))+`</em> -`},3:function(t,e,n,r,i){return` Invalid search -`},5:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:10,column:2},end:{line:21,column:11}}}))!=null?s:""},6:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="result"> - <h2 class="result-id"> - <a href="`+a(o(e!=null?l(e,"ref"):e,e))+`"> - <span translate="no">`+a(o(e!=null?l(e,"title"):e,e))+"</span> <small>("+a(o(e!=null?l(e,"type"):e,e))+`)</small> - </a> - </h2> -`+((s=l(n,"each").call(e??(t.nullContext||{}),e!=null?l(e,"excerpts"):e,{name:"each",hash:{},fn:t.program(7,i,0),inverse:t.noop,data:i,loc:{start:{line:17,column:8},end:{line:19,column:17}}}))!=null?s:"")+` </div> -`},7:function(t,e,n,r,i){var s;return' <p class="result-elem">'+((s=t.lambda(e,e))!=null?s:"")+`</p> -`},9:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return((s=(o(n,"isArray")||e&&o(e,"isArray")||t.hooks.helperMissing).call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"isArray",hash:{},fn:t.program(10,i,0),inverse:t.program(12,i,0),data:i,loc:{start:{line:23,column:2},end:{line:29,column:14}}}))!=null?s:"")+` - <p>The search functionality is full-text based. Here are some tips:</p> - - <ul> - <li>Multiple words (such as <code>foo bar</code>) are searched as <code>OR</code></li> - <li>Use <code>*</code> anywhere (such as <code>fo*</code>) as wildcard</li> - <li>Use <code>+</code> before a word (such as <code>+foo</code>) to make its presence required</li> - <li>Use <code>-</code> before a word (such as <code>-foo</code>) to make its absence required</li> - <li>Use <code>:</code> to search on a particular field (such as <code>field:word</code>). The available fields are <code>title</code>, <code>doc</code> and <code>type</code></li> - <li>Use <code>WORD^NUMBER</code> (such as <code>foo^2</code>) to boost the given word</li> - <li>Use <code>WORD~NUMBER</code> (such as <code>foo~2</code>) to do a search with edit distance on word</li> - </ul> - - <p>To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.</p> -`},10:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" <p>Sorry, we couldn't find anything for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:24,column:48},end:{line:24,column:57}}}):s))+`</em>.</p> -`},12:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"value"):e,{name:"if",hash:{},fn:t.program(13,i,0),inverse:t.program(15,i,0),data:i,loc:{start:{line:25,column:2},end:{line:29,column:2}}}))!=null?s:""},13:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" <p>Invalid search: "+t.escapeExpression((s=(s=o(n,"errorMessage")||(e!=null?o(e,"errorMessage"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"errorMessage",hash:{},data:i,loc:{start:{line:26,column:23},end:{line:26,column:39}}}):s))+`.</p> -`},15:function(t,e,n,r,i){return` <p>Please type something into the search bar to perform a search.</p> - `},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<h1> -`+((s=a(n,"if").call(o,e!=null?a(e,"value"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?s:"")+`</h1> - -`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var wt=80,Rl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(ss,"docTokenSplitter");V.default.Pipeline.registerFunction(os,"docTrimmer");window.addEventListener("swup:page:view",rs);rs();function rs(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=Ot("q"),n=Ot("type");Ml(e,n)}}async function Ml(t,e){if(he(t))xn({value:t});else{Vi(t);try{let n=[],r=Jn();["related","latest"].includes(e)&&r.length>0?n=await Nl(t,e,r):n=await Hl(t),xn({value:t,results:n})}catch(n){xn({value:t,errorMessage:n.message})}}}async function Hl(t){let e=await Dl(),n=t.replaceAll(/(\B|\\):/g,"\\:");return zl(e.search(n))}async function Nl(t,e,n){let r=n;e==="latest"&&(r=n.slice(0,1));let i=r.map(l=>`${l.name}-${l.version}`).join(","),s=new URLSearchParams;s.set("q",t),s.set("query_by","title,doc"),s.set("filter_by",`package:=[${i}]`);let a=await(await fetch(`https://search.hexdocs.pm/?${s.toString()}`)).json();return Array.isArray(a.hits)?a.hits.map(l=>{let[u,c]=l.document.package.split("-"),d=l.document.doc,h=[d],f={},m=`https://hexdocs.pm/${u}/${c}/${l.document.ref}`,g=l.document.title,v=l.document.type;return{doc:d,excerpts:h,metadata:f,ref:m,title:g,type:v}}):[]}function xn({value:t,results:e,errorMessage:n}){let r=p(Rl),i=ts({value:t,results:e,errorMessage:n});r.innerHTML=i}async function Dl(){let t=await Bl();if(t)return t;let e=Ul();return Ql(e),e}async function Bl(){try{let t=sessionStorage.getItem(is());if(t){let e=await Fl(t);return V.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function Ql(t){try{let e=await ql(t);sessionStorage.setItem(is(),e)}catch(e){console.error("Failed to save index: ",e)}}async function ql(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return Vl(r)}async function Fl(t){let e=new Blob([$l(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function Vl(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function $l(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function is(){return`idv5:${Ne()}`}function Ul(){return(0,V.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove(V.default.stopWordFilter),this.pipeline.remove(V.default.trimmer),this.use(jl),this.use(Wl),searchData.items.forEach(t=>{this.add(t)})})}function jl(t){t.pipeline.before(V.default.stemmer,ss)}function ss(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function Wl(t){t.pipeline.before(V.default.stemmer,os)}function os(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function zl(t){return t.filter(e=>ns(e.ref)).map(e=>{let n=ns(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:Gl(n,r)}})}function ns(t){return searchData.items.find(e=>e.ref===t)||null}function Gl(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>Kl(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,wt*2)+(wt*2<n.length?"...":"")]:i.slice(0,1)}function Kl(t,e,n){let r=Math.max(e-wt,0),i=Math.min(e+n+wt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+Re(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var as='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var Yl='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',N=null,_n=null,kn=null,Sn=!1;function Jl(){N||(document.body.insertAdjacentHTML("beforeend",as),N=p(".modal"),N.addEventListener("keydown",t=>{t.key==="Escape"&&ue()}),N.querySelector(".modal-close").addEventListener("click",ue),N.addEventListener("click",t=>{t.target===N&&ue()}))}function ls(t){if(!Sn)if(N.contains(t.target))kn=t.target;else{Sn=!0;let e=N.querySelectorAll(Yl);kn===e[0]?e[e.length-1].focus():e[0].focus(),Sn=!1,kn=document.activeElement}}function bt({title:t,body:e}){Jl(),_n=document.activeElement,document.addEventListener("focus",ls,!0),N.querySelector(".modal-title").innerHTML=t,N.querySelector(".modal-body").innerHTML=e,N.classList.add("shown"),N.focus()}function ue(){N?.classList.remove("shown"),document.removeEventListener("focus",ls,!0),_n?.focus(),_n=null}function us(){return Boolean(N?.classList.contains("shown"))}var cs='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var Xl="https://hexdocs.pm/%%",Zl="https://www.erlang.org/doc/apps/%%",eu="https://hex.pm/api/packages?search=name:%%*",tu=".display-quick-switch",fs="#quick-switch-input",ps="#quick-switch-results",nu=300,ru=9,ms=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],iu=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(ms).map(t=>({name:t})),gs=2,B={autocompleteResults:[],selectedIdx:null};A||(window.addEventListener("swup:page:view",ds),ds());function ds(){M(tu).forEach(t=>{t.addEventListener("click",Tn)})}function su(t){if(t.key==="Enter"){let e=t.target.value;au(e),t.preventDefault()}else t.key==="ArrowUp"?(hs(-1),t.preventDefault()):t.key==="ArrowDown"&&(hs(1),t.preventDefault())}function ou(t){let e=t.target.value;if(e.length<gs){let n=p(ps);n.innerHTML=""}else lu(e)}function Tn(){bt({title:"Go to package docs",body:cs});let t=p(fs);t.focus(),t.addEventListener("keydown",su),t.addEventListener("input",ou),B.autocompleteResults=[],B.selectedIdx=null}function au(t){if(B.selectedIdx===null)Ln(t);else{let e=B.autocompleteResults[B.selectedIdx];Ln(e.name)}}function Ln(t){ms.includes(t.toLowerCase())?window.location=Zl.replace("%%",t.toLowerCase()):window.location=Xl.replace("%%",t.toLowerCase())}var lu=Zn(uu,nu);function uu(t){let e=eu.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=du(t,n),B.selectedIdx=null,p(fs).value.length>=gs&&cu(B.autocompleteResults))})}function cu(t){p(ps).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>Ln(e)),r}))}function du(t,e){return iu.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,ru)}function hs(t){B.selectedIdx=hu(t);let e=p(".quick-switch-result.selected"),n=p(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function hu(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var fu="#settings-modal-content",In=[{key:"c",description:"Toggle sidebar",action:Ue},{key:"n",description:"Cycle themes",action:hr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:Pn},{key:"/",action:Pn},{key:"k",hasModifier:!0,action:Pn},{key:"v",description:"Open/focus version select",action:gu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:Tn},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:vu}],On={shortcutBeingPressed:null};A||(document.addEventListener("keydown",pu),document.addEventListener("keyup",mu));function pu(t){if(On.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=In.find(n=>n.hasModifier?De()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(On.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function mu(t){On.shortcutBeingPressed=null}function Pn(t){ue(),wn()}function gu(){ue(),Pr()?dn():Ar().then(dn)}function vu(){yu()?ue():An()}function yu(){return us()&&p(fu)}var vs=Y(ae());var ys=vs.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> - <dd class="shortcut-description"> - `+t.escapeExpression(t.lambda(e!=null?o(e,"description"):e,e))+` - </dd> - <dt class="shortcut-keys"> -`+((s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"displayAs"):e,{name:"if",hash:{},fn:t.program(3,i,0),inverse:t.program(5,i,0),data:i,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?s:"")+` </dt> - </dl> -`},3:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" "+((s=t.lambda(e!=null?o(e,"displayAs"):e,e))!=null?s:"")+` -`},5:function(t,e,n,r,i){var s=t.lookupProperty||function(o,a){if(Object.prototype.hasOwnProperty.call(o,a))return o[a]};return" <kbd><kbd>"+t.escapeExpression(t.lambda(e!=null?s(e,"key"):e,e))+`</kbd></kbd> -`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return`<div id="settings-modal-content"> - <div id="settings-content"> - <label class="switch-button-container"> - <div> - <span>Theme</span> - <p>Use the documentation UI in a theme.</p> - </div> - <div> - <select name="theme" class="settings-select"> - <option value="dark">Dark</option> - <option value="light">Light</option> - <option value="system">System</option> - </select> - </div> - </label> - <label class="switch-button-container"> - <div> - <span>Show tooltips</span> - <p>Show tooltips when mousing over code references.</p> - </div> - <div class="switch-button"> - <input class="switch-button__checkbox" type="checkbox" name="tooltips" /> - <div class="switch-button__bg"></div> - </div> - </label> - <label class="switch-button-container"> - <div> - <span>Run in Livebook</span> - <p>Use Direct Address for \u201CRun in Livebook\u201D badges.</p> - </div> - <div class="switch-button"> - <input class="switch-button__checkbox" type="checkbox" name="direct_livebook_url" /> - <div class="switch-button__bg"></div> - </div> - </label> - <input class="input" type="url" name="livebook_url" placeholder="Enter Livebook instance URL" aria-label="Enter Livebook instance URL" /> - </div> - <div id="keyboard-shortcuts-content" class="hidden"> -`+((s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"shortcuts"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?s:"")+` </div> -</div> -`},useData:!0});var wu=".display-settings",bu="#settings-modal-content",Cn="#modal-settings-tab",Rn="#modal-keyboard-shortcuts-tab",bs="#settings-content",Es="#keyboard-shortcuts-content",Eu=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];window.addEventListener("swup:page:view",xs);xs();function xs(){M(wu).forEach(t=>{t.addEventListener("click",An)})}function ws(){p(Rn).classList.remove("active"),p(Cn).classList.add("active"),p(bs).classList.remove("hidden"),p(Es).classList.add("hidden")}function xu(){p(Rn).classList.add("active"),p(Cn).classList.remove("active"),p(Es).classList.remove("hidden"),p(bs).classList.add("hidden")}function An(){bt({title:Eu.map(({id:s,title:o})=>`<button id="${s}">${o}</button>`).join(""),body:ys({shortcuts:In})});let t=p(bu),e=t.querySelector('[name="theme"]'),n=t.querySelector('[name="tooltips"]'),r=t.querySelector('[name="direct_livebook_url"]'),i=t.querySelector('[name="livebook_url"]');H.getAndSubscribe(s=>{e.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),e.addEventListener("change",s=>{H.update({theme:s.target.value})}),n.addEventListener("change",s=>{H.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;H.update({livebookUrl:o})}),i.addEventListener("input",s=>{H.update({livebookUrl:s.target.value})}),p(Cn).addEventListener("click",s=>{ws()}),p(Rn).addEventListener("click",s=>{xu()}),ws()}var Mn=new WeakMap;function Hn(t,e,n,r){if(!t&&!Mn.has(e))return!1;let i=Mn.get(e)??new WeakMap;Mn.set(e,i);let s=i.get(n)??new Set;i.set(n,s);let o=s.has(r);return t?s.add(r):s.delete(r),o&&t}function ku(t,e){let n=t.target;if(n instanceof Text&&(n=n.parentElement),n instanceof Element&&t.currentTarget instanceof Element){let r=n.closest(e);if(r&&t.currentTarget.contains(r))return r}}function Su(t,e,n,r={}){let{signal:i,base:s=document}=r;if(i?.aborted)return;let{once:o,...a}=r,l=s instanceof Document?s.documentElement:s,u=Boolean(typeof r=="object"?r.capture:r),c=f=>{let m=ku(f,String(t));if(m){let g=Object.assign(f,{delegateTarget:m});n.call(l,g),o&&(l.removeEventListener(e,c,a),Hn(!1,l,n,d))}},d=JSON.stringify({selector:t,type:e,capture:u});Hn(!0,l,n,d)||l.addEventListener(e,c,a),i?.addEventListener("abort",()=>{Hn(!1,l,n,d)})}var Et=Su;function P(){return P=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},P.apply(null,arguments)}var Ls=(t,e)=>String(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",Le=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),_u=(t,e={})=>{let n=P({url:t=t||Le({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(n,"",t)},_e=(t=null,e={})=>{t=t||Le({hash:!0});let n=P({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(n,"",t)},Lu=(t,e,n,r)=>{let i=new AbortController;return r=P({},r,{signal:i.signal}),Et(t,e,n,r),{destroy:()=>i.abort()}},O=class extends URL{constructor(e,n=document.baseURI){super(e.toString(),n),Object.setPrototypeOf(this,O.prototype)}get url(){return this.pathname+this.search}static fromElement(e){let n=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new O(n)}static fromUrl(e){return new O(e)}};var me=class extends Error{constructor(e,n){super(e),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=n.url,this.status=n.status,this.aborted=n.aborted||!1,this.timedOut=n.timedOut||!1}};async function Tu(t,e={}){var n;t=O.fromUrl(t).url;let{visit:r=this.visit}=e,i=P({},this.options.requestHeaders,e.headers),s=(n=e.timeout)!=null?n:this.options.timeout,o=new AbortController,{signal:a}=o;e=P({},e,{headers:i,signal:a});let l,u=!1,c=null;s&&s>0&&(c=setTimeout(()=>{u=!0,o.abort("timeout")},s));try{l=await this.hooks.call("fetch:request",r,{url:t,options:e},(v,{url:w,options:x})=>fetch(w,x)),c&&clearTimeout(c)}catch(v){throw u?(this.hooks.call("fetch:timeout",r,{url:t}),new me(`Request timed out: ${t}`,{url:t,timedOut:u})):v?.name==="AbortError"||a.aborted?new me(`Request aborted: ${t}`,{url:t,aborted:!0}):v}let{status:d,url:h}=l,f=await l.text();if(d===500)throw this.hooks.call("fetch:error",r,{status:d,response:l,url:h}),new me(`Server error: ${h}`,{status:d,url:h});if(!f)throw new me(`Empty response: ${h}`,{status:d,url:h});let{url:m}=O.fromUrl(h),g={url:m,html:f};return!r.cache.write||e.method&&e.method!=="GET"||t!==m||this.cache.set(g.url,g),g}var Dn=class{constructor(e){this.swup=void 0,this.pages=new Map,this.swup=e}get size(){return this.pages.size}get all(){let e=new Map;return this.pages.forEach((n,r)=>{e.set(r,P({},n))}),e}has(e){return this.pages.has(this.resolve(e))}get(e){let n=this.pages.get(this.resolve(e));return n&&P({},n)}set(e,n){n=P({},n,{url:e=this.resolve(e)}),this.pages.set(e,n),this.swup.hooks.callSync("cache:set",void 0,{page:n})}update(e,n){e=this.resolve(e);let r=P({},this.get(e),n,{url:e});this.pages.set(e,r)}delete(e){this.pages.delete(this.resolve(e))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(e){this.pages.forEach((n,r)=>{e(r,n)&&this.delete(r)})}resolve(e){let{url:n}=O.fromUrl(e);return this.swup.resolveUrl(n)}},Bn=(t,e=document)=>e.querySelector(t),Fn=(t,e=document)=>Array.from(e.querySelectorAll(t)),Ts=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function Ps(t){return!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function Pu(t,e=[]){return new Promise((n,r)=>{let i=t(...e);Ps(i)?i.then(n,r):n(i)})}function ks(t,e){let n=t?.closest(`[${e}]`);return n!=null&&n.hasAttribute(e)?n?.getAttribute(e)||!0:void 0}var Qn=class{constructor(e){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=e}get selectors(){let{scope:e}=this.swup.visit.animation;return e==="containers"?this.swup.visit.containers:e==="html"?["html"]:Array.isArray(e)?e:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?Fn(this.selector):[]}add(...e){this.targets.forEach(n=>n.classList.add(...e))}remove(...e){this.targets.forEach(n=>n.classList.remove(...e))}clear(){this.targets.forEach(e=>{let n=e.className.split(" ").filter(r=>this.isSwupClass(r));e.classList.remove(...n)})}isSwupClass(e){return this.swupClasses.some(n=>e.startsWith(n))}},St=class{constructor(e,n){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0,this.meta=void 0;let{to:r,from:i,hash:s,el:o,event:a}=n;this.id=Math.random(),this.state=1,this.from={url:i??e.location.url,hash:e.location.hash},this.to={url:r,hash:s},this.containers=e.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:e.options.native,scope:e.options.animationScope,selector:e.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:e.options.cache,write:e.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0},this.meta={}}advance(e){this.state<e&&(this.state=e)}abort(){this.state=8}get done(){return this.state>=7}};function Ou(t){return new St(this,t)}var qn=class{constructor(e){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=e,this.init()}init(){this.hooks.forEach(e=>this.create(e))}create(e){this.registry.has(e)||this.registry.set(e,new Map)}exists(e){return this.registry.has(e)}get(e){let n=this.registry.get(e);if(n)return n;console.error(`Unknown hook '${e}'`)}clear(){this.registry.forEach(e=>e.clear())}on(e,n,r={}){let i=this.get(e);if(!i)return console.warn(`Hook '${e}' not found.`),()=>{};let s=P({},r,{id:i.size+1,hook:e,handler:n});return i.set(n,s),()=>this.off(e,n)}before(e,n,r={}){return this.on(e,n,P({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,P({},r,{replace:!0}))}once(e,n,r={}){return this.on(e,n,P({},r,{once:!0}))}off(e,n){let r=this.get(e);r&&n?r.delete(n)||console.warn(`Handler for hook '${e}' not found.`):r&&r.clear()}async call(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);await this.run(l,s,o);let[d]=await this.run(u,s,o,!0);return await this.run(c,s,o),this.dispatchDomEvent(e,s,o),d}callSync(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);this.runSync(l,s,o);let[d]=this.runSync(u,s,o,!0);return this.runSync(c,s,o),this.dispatchDomEvent(e,s,o),d}parseCallArgs(e,n,r,i){return n instanceof St||typeof n!="object"&&typeof r!="function"?[n,r,i]:[void 0,n,r]}async run(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=await Pu(a,[n,r,l]);s.push(c)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}runSync(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=a(n,r,l);s.push(c),Ps(c)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}getHandlers(e,n){let r=this.get(e);if(!r)return{found:!1,before:[],handler:[],after:[],replaced:!1};let i=Array.from(r.values()),s=this.sortRegistrations,o=i.filter(({before:d,replace:h})=>d&&!h).sort(s),a=i.filter(({replace:d})=>d).filter(d=>!0).sort(s),l=i.filter(({before:d,replace:h})=>!d&&!h).sort(s),u=a.length>0,c=[];if(n&&(c=[{id:0,hook:e,handler:n}],u)){let d=a.length-1,{handler:h,once:f}=a[d],m=g=>{let v=a[g-1];return v?(w,x)=>v.handler(w,x,m(g-1)):n};c=[{id:0,hook:e,once:f,handler:h,defaultHandler:m(d)}]}return{found:!0,before:o,handler:c,after:l,replaced:u}}sortRegistrations(e,n){var r,i;return((r=e.priority)!=null?r:0)-((i=n.priority)!=null?i:0)||e.id-n.id||0}dispatchDomEvent(e,n,r){if(n!=null&&n.done)return;let i={hook:e,args:r,visit:n||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:i,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${e}`,{detail:i,bubbles:!0}))}parseName(e){let[n,...r]=e.split(".");return[n,r.reduce((i,s)=>P({},i,{[s]:!0}),{})]}},Iu=t=>{if(t&&t.charAt(0)==="#"&&(t=t.substring(1)),!t)return null;let e=decodeURIComponent(t),n=document.getElementById(t)||document.getElementById(e)||Bn(`a[name='${CSS.escape(t)}']`)||Bn(`a[name='${CSS.escape(e)}']`);return n||t!=="top"||(n=document.body),n},xt="transition",Nn="animation";async function Au({selector:t,elements:e}){if(t===!1&&!e)return;let n=[];if(e)n=Array.from(e);else if(t&&(n=Fn(t,document.body),!n.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);let r=n.map(i=>function(s){let{type:o,timeout:a,propCount:l}=function(u){let c=window.getComputedStyle(u),d=kt(c,`${xt}Delay`),h=kt(c,`${xt}Duration`),f=Ss(d,h),m=kt(c,`${Nn}Delay`),g=kt(c,`${Nn}Duration`),v=Ss(m,g),w=Math.max(f,v),x=w>0?f>v?xt:Nn:null;return{type:x,timeout:w,propCount:x?x===xt?h.length:g.length:0}}(s);return!(!o||!a)&&new Promise(u=>{let c=`${o}end`,d=performance.now(),h=0,f=()=>{s.removeEventListener(c,m),u()},m=g=>{g.target===s&&((performance.now()-d)/1e3<g.elapsedTime||++h>=l&&f())};setTimeout(()=>{h<l&&f()},a+1),s.addEventListener(c,m)})}(i));r.filter(Boolean).length>0?await Promise.all(r):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function kt(t,e){return(t[e]||"").split(", ")}function Ss(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,r)=>_s(n)+_s(t[r])))}function _s(t){return 1e3*parseFloat(t)}function Cu(t,e={},n={}){if(typeof t!="string")throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:n.el,event:n.event}))return void window.location.assign(t);let{url:r,hash:i}=O.fromUrl(t),s=this.createVisit(P({},n,{to:r,hash:i}));this.performNavigation(s,e)}async function Ru(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;let{el:n}=t.trigger;e.referrer=e.referrer||this.location.url,e.animate===!1&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();let r=e.history||ks(n,"data-swup-history");typeof r=="string"&&["push","replace"].includes(r)&&(t.history.action=r);let i=e.animation||ks(n,"data-swup-animation");var s,o;typeof i=="string"&&(t.animation.name=i),t.meta=e.meta||{},typeof e.cache=="object"?(t.cache.read=(s=e.cache.read)!=null?s:t.cache.read,t.cache.write=(o=e.cache.write)!=null?o:t.cache.write):e.cache!==void 0&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;let a=this.hooks.call("page:load",t,{options:e},async(u,c)=>{let d;return u.cache.read&&(d=this.cache.get(u.to.url)),c.page=d||await this.fetchPage(u.to.url,c.options),c.cache=!!d,c.page});a.then(({html:u})=>{t.advance(5),t.to.html=u,t.to.document=new DOMParser().parseFromString(u,"text/html")});let l=t.to.url+t.to.hash;if(t.history.popstate||(t.history.action==="replace"||t.to.url===this.location.url?_e(l):(this.currentHistoryIndex++,_u(l,{index:this.currentHistoryIndex}))),this.location=O.fromUrl(l),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${Ls(t.animation.name)}`),t.animation.wait&&await a,t.done||(await this.hooks.call("visit:transition",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await a);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await a)).finished:await this.renderPage(t,await a),await this.animatePageIn(t)}),t.done))return;await this.hooks.call("visit:end",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(a){if(!a||a!=null&&a.aborted)return void(t.state=8);t.state=9,console.error(a),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}var Mu=async function(t){await this.hooks.call("animation:out:start",t,void 0,()=>{this.classes.add("is-changing","is-animating","is-leaving")}),await this.hooks.call("animation:out:await",t,{skip:!1},(e,{skip:n})=>{if(!n)return this.awaitAnimations({selector:e.animation.selector})}),await this.hooks.call("animation:out:end",t,void 0)},Hu=function(t){var e;let n=t.to.document;if(!n)return!1;let r=((e=n.querySelector("title"))==null?void 0:e.innerText)||"";document.title=r;let i=Fn('[data-swup-persist]:not([data-swup-persist=""])'),s=t.containers.map(o=>{let a=document.querySelector(o),l=n.querySelector(o);return a&&l?(a.replaceWith(l.cloneNode(!0)),!0):(a||console.warn(`[swup] Container missing in current document: ${o}`),l||console.warn(`[swup] Container missing in incoming document: ${o}`),!1)}).filter(Boolean);return i.forEach(o=>{let a=o.getAttribute("data-swup-persist"),l=Bn(`[data-swup-persist="${a}"]`);l&&l!==o&&l.replaceWith(o)}),s.length===t.containers.length},Nu=function(t){let e={behavior:"auto"},{target:n,reset:r}=t.scroll,i=n??t.to.hash,s=!1;return i&&(s=this.hooks.callSync("scroll:anchor",t,{hash:i,options:e},(o,{hash:a,options:l})=>{let u=this.getAnchorElement(a);return u&&u.scrollIntoView(l),!!u})),r&&!s&&(s=this.hooks.callSync("scroll:top",t,{options:e},(o,{options:a})=>(window.scrollTo(P({top:0,left:0},a)),!0))),s},Du=async function(t){if(t.done)return;let e=this.hooks.call("animation:in:await",t,{skip:!1},(n,{skip:r})=>{if(!r)return this.awaitAnimations({selector:n.animation.selector})});await Ts(),await this.hooks.call("animation:in:start",t,void 0,()=>{this.classes.remove("is-animating")}),await e,await this.hooks.call("animation:in:end",t,void 0)},Bu=async function(t,e){if(t.done)return;t.advance(6);let{url:n}=e;this.isSameResolvedUrl(Le(),n)||(_e(n),this.location=O.fromUrl(n),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},(r,{})=>{if(this.classes.remove("is-leaving"),r.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(r))throw new Error("[swup] Container mismatch, aborting");r.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),r.animation.name&&this.classes.add(`to-${Ls(r.animation.name)}`))}),await this.hooks.call("content:scroll",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},Qu=function(t){var e;if(e=t,Boolean(e?.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function qu(t){let e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(n=>n!==e),this.plugins;console.error("No such plugin",e)}function Fu(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function Vu(t){if(typeof this.options.resolveUrl!="function")return console.warn("[swup] options.resolveUrl expects a callback function."),t;let e=this.options.resolveUrl(t);return e&&typeof e=="string"?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function $u(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}var Uu={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],hooks:{},ignoreVisit:(t,{el:e}={})=>!(e==null||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return((e=t.state)==null?void 0:e.source)!=="swup"},timeout:0},_t=class{get currentPageUrl(){return this.location.url}constructor(e={}){var n,r;this.version="4.8.1",this.options=void 0,this.defaults=Uu,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=O.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=Qu,this.unuse=qu,this.findPlugin=Fu,this.log=()=>{},this.navigate=Cu,this.performNavigation=Ru,this.createVisit=Ou,this.delegateEvent=Lu,this.fetchPage=Tu,this.awaitAnimations=Au,this.renderPage=Bu,this.replaceContent=Hu,this.animatePageIn=Du,this.animatePageOut=Mu,this.scrollToContent=Nu,this.getAnchorElement=Iu,this.getCurrentUrl=Le,this.resolveUrl=Vu,this.isSameResolvedUrl=$u,this.options=P({},this.defaults,e),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new Dn(this),this.classes=new Qn(this),this.hooks=new qn(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=(n=(r=window.history.state)==null?void 0:r.index)!=null?n:1,this.enable()}async enable(){var e;let{linkSelector:n}=this.options;this.clickDelegate=this.delegateEvent(n,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(r=>this.use(r));for(let[r,i]of Object.entries(this.options.hooks)){let[s,o]=this.hooks.parseName(r);this.hooks.on(s,i,o)}((e=window.history.state)==null?void 0:e.source)!=="swup"&&_e(null,{index:this.currentHistoryIndex}),await Ts(),await this.hooks.call("enable",void 0,void 0,()=>{let r=document.documentElement;r.classList.add("swup-enabled"),r.classList.toggle("swup-native",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(e=>this.unuse(e)),await this.hooks.call("disable",void 0,void 0,()=>{let e=document.documentElement;e.classList.remove("swup-enabled"),e.classList.remove("swup-native")}),this.hooks.clear()}shouldIgnoreVisit(e,{el:n,event:r}={}){let{origin:i,url:s,hash:o}=O.fromUrl(e);return i!==window.location.origin||!(!n||!this.triggerWillOpenNewWindow(n))||!!this.options.ignoreVisit(s+o,{el:n,event:r})}handleLinkClick(e){let n=e.delegateTarget,{href:r,url:i,hash:s}=O.fromElement(n);if(this.shouldIgnoreVisit(r,{el:n,event:e}))return;if(this.navigating&&i===this.visit.to.url)return void e.preventDefault();let o=this.createVisit({to:i,hash:s,el:n,event:e});e.metaKey||e.ctrlKey||e.shiftKey||e.altKey?this.hooks.callSync("link:newtab",o,{href:r}):e.button===0&&this.hooks.callSync("link:click",o,{el:n,event:e},()=>{var a;let l=(a=o.from.url)!=null?a:"";e.preventDefault(),i&&i!==l?this.isSameResolvedUrl(i,l)||this.performNavigation(o):s?this.hooks.callSync("link:anchor",o,{hash:s},()=>{_e(i+s),this.scrollToContent(o)}):this.hooks.callSync("link:self",o,void 0,()=>{this.options.linkToSelf==="navigate"?this.performNavigation(o):(_e(i),this.scrollToContent(o))})})}handlePopState(e){var n,r,i,s;let o=(n=(r=e.state)==null?void 0:r.url)!=null?n:window.location.href;if(this.options.skipPopStateHandling(e)||this.isSameResolvedUrl(Le(),this.location.url))return;let{url:a,hash:l}=O.fromUrl(o),u=this.createVisit({to:a,hash:l,event:e});u.history.popstate=!0;let c=(i=(s=e.state)==null?void 0:s.index)!=null?i:0;c&&c!==this.currentHistoryIndex&&(u.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),u.animation.animate=!1,u.scroll.reset=!1,u.scroll.target=!1,this.options.animateHistoryBrowsing&&(u.animation.animate=!0,u.scroll.reset=!0),this.hooks.callSync("history:popstate",u,{event:e},()=>{this.performNavigation(u)})}triggerWillOpenNewWindow(e){return!!e.matches('[download], [target="_blank"]')}};function Te(){return Te=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Te.apply(this,arguments)}var Os=t=>String(t).split(".").map(e=>String(parseInt(e||"0",10))).concat(["0","0"]).slice(0,3).join("."),ge=class{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach(e=>e()),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return typeof this.requires!="object"||Object.entries(this.requires).forEach(([e,n])=>{if(!function(r,i,s){let o=function(a,l){var u;if(a==="swup")return(u=l.version)!=null?u:"";{var c;let d=l.findPlugin(a);return(c=d?.version)!=null?c:""}}(r,s);return!!o&&((a,l)=>l.every(u=>{let[,c,d]=u.match(/^([\D]+)?(.*)$/)||[];var h,f;return((m,g)=>{let v={"":w=>w===0,">":w=>w>0,">=":w=>w>=0,"<":w=>w<0,"<=":w=>w<=0};return(v[g]||v[""])(m)})((f=d,h=Os(h=a),f=Os(f),h.localeCompare(f,void 0,{numeric:!0})),c||">=")}))(o,i)}(e,n=Array.isArray(n)?n:[n],this.swup)){let r=`${e} ${n.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${r}`)}}),!0}on(e,n,r={}){var i;n=!(i=n).name.startsWith("bound ")||i.hasOwnProperty("prototype")?n.bind(this):n;let s=this.swup.hooks.on(e,n,r);return this.handlersToUnregister.push(s),s}once(e,n,r={}){return this.on(e,n,Te({},r,{once:!0}))}before(e,n,r={}){return this.on(e,n,Te({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,Te({},r,{replace:!0}))}off(e,n){return this.swup.hooks.off(e,n)}};(function(){if(!(typeof window>"u"||typeof document>"u"||typeof HTMLElement>"u")){var t=!1;try{var e=document.createElement("div");e.addEventListener("focus",function(s){s.preventDefault(),s.stopPropagation()},!0),e.focus(Object.defineProperty({},"preventScroll",{get:function(){if(navigator&&typeof navigator.userAgent<"u"&&navigator.userAgent&&navigator.userAgent.match(/Edge\/1[7-8]/))return t=!1;t=!0}}))}catch{}if(HTMLElement.prototype.nativeFocus===void 0&&!t){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var n=function(s){for(var o=s.parentNode,a=[],l=document.scrollingElement||document.documentElement;o&&o!==l;)(o.offsetHeight<o.scrollHeight||o.offsetWidth<o.scrollWidth)&&a.push([o,o.scrollTop,o.scrollLeft]),o=o.parentNode;return o=l,a.push([o,o.scrollTop,o.scrollLeft]),a},r=function(s){for(var o=0;o<s.length;o++)s[o][0].scrollTop=s[o][1],s[o][0].scrollLeft=s[o][2];s=[]},i=function(s){if(s&&s.preventScroll){var o=n(this);if(typeof setTimeout=="function"){var a=this;setTimeout(function(){a.nativeFocus(),r(o)},0)}else this.nativeFocus(),r(o)}else this.nativeFocus()};HTMLElement.prototype.focus=i}}})();function Vn(){return Vn=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Vn.apply(this,arguments)}function Is(t,e){return Object.keys(e).reduce((n,r)=>n.replace(`{${r}}`,e[r]||""),t||"")}var $n=class{constructor(){var e;this.id="swup-announcer",this.style="position:absolute;top:0;left:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;word-wrap:normal;width:1px;height:1px;",this.region=void 0,this.region=(e=this.getRegion())!=null?e:this.createRegion()}getRegion(){return document.getElementById(this.id)}createRegion(){let e=function(n){let r=document.createElement("template");return r.innerHTML=n,r.content.children[0]}(`<p aria-live="assertive" aria-atomic="true" id="${this.id}" style="${this.style}"></p>`);return document.body.appendChild(e),e}announce(e,n=0){return new Promise(r=>{setTimeout(()=>{this.region.textContent===e&&(e=`${e}.`),this.region.textContent="",this.region.textContent=e,r()},n)})}};function As(t){let e;if(e=typeof t=="string"?document.querySelector(t):t,!(e instanceof HTMLElement))return;let n=e.getAttribute("tabindex");e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}),n!==null&&e.setAttribute("tabindex",n)}var Lt=class extends ge{constructor(e={}){super(),this.name="SwupA11yPlugin",this.requires={swup:">=4"},this.defaults={headingSelector:"h1",respectReducedMotion:!0,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.announcer=void 0,this.announcementDelay=100,this.rootSelector="body",this.handleAnchorScroll=(n,{hash:r})=>{let i=this.swup.getAnchorElement(r);i instanceof HTMLElement&&As(i)},this.options=Vn({},this.defaults,e),this.announcer=new $n}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("visit:end",this.focusContent),this.on("visit:end",this.announceContent),this.on("scroll:anchor",this.handleAnchorScroll),this.before("visit:start",this.disableAnimations),this.before("link:self",this.disableAnimations),this.before("link:anchor",this.disableAnimations),this.swup.announce=this.announce.bind(this)}unmount(){this.swup.announce=void 0}async announce(e){await this.announcer.announce(e)}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(e){e.a11y={announce:void 0,focus:this.rootSelector}}announceContent(e){this.swup.hooks.callSync("content:announce",e,void 0,n=>{n.a11y.announce===void 0&&(n.a11y.announce=this.getPageAnnouncement()),n.a11y.announce&&this.announcer.announce(n.a11y.announce,this.announcementDelay)})}focusContent(e){this.swup.hooks.callSync("content:focus",e,void 0,n=>{n.a11y.focus&&(this.options.autofocus&&function(){let r=function(){let i=document.querySelector("body [autofocus]");if(i&&!i.closest('[inert], [aria-disabled], [aria-hidden="true"]'))return i}();return!!r&&(r!==document.activeElement&&r.focus(),!0)}()===!0||As(n.a11y.focus))})}getPageAnnouncement(){let{headingSelector:e,announcements:n}=this.options;return function({headingSelector:r="h1",announcements:i={}}){var s,o;let a=document.documentElement.lang||"*",{href:l,url:u,pathname:c}=O.fromUrl(window.location.href),d=(s=(o=i[a])!=null?o:i["*"])!=null?s:i;if(typeof d!="object")return;let h=document.querySelector(r);h||console.warn(`SwupA11yPlugin: No main heading (${r}) found on new page`);let f=h?.getAttribute("aria-label")||h?.textContent||document.title||Is(d.url,{href:l,url:u,path:c});return Is(d.visit,{title:f,href:l,url:u,path:c})}({headingSelector:e,announcements:n})}disableAnimations(e){this.options.respectReducedMotion&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(e.animation.animate=!1,e.scroll.animate=!1)}};function Un(){return Un=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Un.apply(this,arguments)}var jn=class{constructor({className:e,styleAttr:n,animationDuration:r,minValue:i,initialValue:s,trickleValue:o}={}){this.value=0,this.visible=!1,this.hiding=!1,this.className="progress-bar",this.styleAttr="data-progressbar-styles data-swup-theme",this.animationDuration=300,this.minValue=.1,this.initialValue=.25,this.trickleValue=.03,this.trickleInterval=void 0,this.styleElement=void 0,this.progressElement=void 0,this.trickle=()=>{let a=Math.random()*this.trickleValue;this.setValue(this.value+a)},e!==void 0&&(this.className=String(e)),n!==void 0&&(this.styleAttr=String(n)),r!==void 0&&(this.animationDuration=Number(r)),i!==void 0&&(this.minValue=Number(i)),s!==void 0&&(this.initialValue=Number(s)),o!==void 0&&(this.trickleValue=Number(o)),this.styleElement=this.createStyleElement(),this.progressElement=this.createProgressElement()}get defaultStyles(){return` - .${this.className} { - position: fixed; - display: block; - top: 0; - left: 0; - width: 100%; - height: 3px; - background-color: black; - z-index: 9999; - transition: - transform ${this.animationDuration}ms ease-out, - opacity ${this.animationDuration/2}ms ${this.animationDuration/2}ms ease-in; - transform: translate3d(0, 0, 0) scaleX(var(--progress, 0)); - transform-origin: 0; - } - `}show(){this.visible||(this.visible=!0,this.installStyleElement(),this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=Math.min(1,Math.max(this.minValue,e)),this.refresh()}installStyleElement(){document.head.prepend(this.styleElement)}installProgressElement(){this.progressElement.style.setProperty("--progress",String(0)),this.progressElement.style.opacity="1",document.body.prepend(this.progressElement),this.progressElement.scrollTop=0,this.setValue(Math.random()*this.initialValue)}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,1.5*this.animationDuration)}uninstallProgressElement(){this.progressElement.remove()}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,this.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}refresh(){requestAnimationFrame(()=>{this.progressElement.style.setProperty("--progress",String(this.value))})}createStyleElement(){let e=document.createElement("style");return this.styleAttr.split(" ").forEach(n=>e.setAttribute(n,"")),e.textContent=this.defaultStyles,e}createProgressElement(){let e=document.createElement("div");return e.className=this.className,e.setAttribute("aria-hidden","true"),e}},Tt=class extends ge{constructor(e={}){super(),this.name="SwupProgressPlugin",this.defaults={className:"swup-progress-bar",delay:300,transition:300,minValue:.1,initialValue:.25,finishAnimation:!0},this.options=void 0,this.progressBar=void 0,this.showProgressBarTimeout=void 0,this.hideProgressBarTimeout=void 0,this.options=Un({},this.defaults,e);let{className:n,minValue:r,initialValue:i,transition:s}=this.options;this.progressBar=new jn({className:n,minValue:r,initialValue:i,animationDuration:s})}mount(){this.on("visit:start",this.startShowingProgress),this.on("page:view",this.stopShowingProgress)}startShowingProgress(){this.progressBar.setValue(0),this.showProgressBarAfterDelay()}stopShowingProgress(){this.progressBar.setValue(1),this.options.finishAnimation?this.finishAnimationAndHideProgressBar():this.hideProgressBar()}showProgressBar(){this.cancelHideProgressBarTimeout(),this.progressBar.show()}showProgressBarAfterDelay(){this.cancelShowProgressBarTimeout(),this.cancelHideProgressBarTimeout(),this.showProgressBarTimeout=window.setTimeout(this.showProgressBar.bind(this),this.options.delay)}hideProgressBar(){this.cancelShowProgressBarTimeout(),this.progressBar.hide()}finishAnimationAndHideProgressBar(){this.cancelShowProgressBarTimeout(),this.hideProgressBarTimeout=window.setTimeout(this.hideProgressBar.bind(this),this.options.transition)}cancelShowProgressBarTimeout(){window.clearTimeout(this.showProgressBarTimeout),delete this.showProgressBarTimeout}cancelHideProgressBarTimeout(){window.clearTimeout(this.hideProgressBarTimeout),delete this.hideProgressBarTimeout}};!A&&window.location.protocol!=="file:"&&new _t({animationSelector:!1,containers:["#main"],ignoreVisit:t=>{let e=t.split("#")[0];return e===window.location.pathname||e===window.location.pathname+".html"},linkSelector:'a[href]:not([href^="/"]):not([href^="http"])',plugins:[new Lt,new Tt({delay:500})]});})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/formatters/html/dist/html-6XHBGSGW.js b/formatters/html/dist/html-XEWS3Q4M.js similarity index 60% rename from formatters/html/dist/html-6XHBGSGW.js rename to formatters/html/dist/html-XEWS3Q4M.js index 2fe49fee7..566e5115d 100644 --- a/formatters/html/dist/html-6XHBGSGW.js +++ b/formatters/html/dist/html-XEWS3Q4M.js @@ -1,9 +1,9 @@ -(()=>{var Ps=Object.create;var Wn=Object.defineProperty;var Os=Object.getOwnPropertyDescriptor;var Is=Object.getOwnPropertyNames;var As=Object.getPrototypeOf,Cs=Object.prototype.hasOwnProperty;var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Rs=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Is(e))!Cs.call(t,i)&&i!==n&&Wn(t,i,{get:()=>e[i],enumerable:!(r=Os(e,i))||r.enumerable});return t};var Y=(t,e,n)=>(n=t!=null?Ps(As(t)):{},Rs(e||!t||!t.__esModule?Wn(n,"default",{value:t,enumerable:!0}):n,t));var gr=L((lc,mr)=>{var pr="Expected a function",hr=NaN,Bs="[object Symbol]",Qs=/^\s+|\s+$/g,qs=/^[-+]0x[0-9a-f]+$/i,Fs=/^0b[01]+$/i,Vs=/^0o[0-7]+$/i,$s=parseInt,Us=typeof global=="object"&&global&&global.Object===Object&&global,js=typeof self=="object"&&self&&self.Object===Object&&self,Ws=Us||js||Function("return this")(),zs=Object.prototype,Gs=zs.toString,Ks=Math.max,Ys=Math.min,Bt=function(){return Ws.Date.now()};function Js(t,e,n){var r,i,s,o,a,l,u=0,c=!1,d=!1,h=!0;if(typeof t!="function")throw new TypeError(pr);e=fr(e)||0,Fe(n)&&(c=!!n.leading,d="maxWait"in n,s=d?Ks(fr(n.maxWait)||0,e):s,h="trailing"in n?!!n.trailing:h);function p(S){var R=r,U=i;return r=i=void 0,u=S,o=t.apply(U,R),o}function m(S){return u=S,a=setTimeout(w,e),c?p(S):o}function g(S){var R=S-l,U=S-u,ee=e-R;return d?Ys(ee,s-U):ee}function v(S){var R=S-l,U=S-u;return l===void 0||R>=e||R<0||d&&U>=s}function w(){var S=Bt();if(v(S))return x(S);a=setTimeout(w,g(S))}function x(S){return a=void 0,h&&r?p(S):(r=i=void 0,o)}function I(){a!==void 0&&clearTimeout(a),u=0,r=l=i=a=void 0}function q(){return a===void 0?o:x(Bt())}function $(){var S=Bt(),R=v(S);if(r=arguments,i=this,l=S,R){if(a===void 0)return m(l);if(d)return a=setTimeout(w,e),p(l)}return a===void 0&&(a=setTimeout(w,e)),o}return $.cancel=I,$.flush=q,$}function Xs(t,e,n){var r=!0,i=!0;if(typeof t!="function")throw new TypeError(pr);return Fe(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Js(t,e,{leading:r,maxWait:e,trailing:i})}function Fe(t){var e=typeof t;return!!t&&(e=="object"||e=="function")}function Zs(t){return!!t&&typeof t=="object"}function eo(t){return typeof t=="symbol"||Zs(t)&&Gs.call(t)==Bs}function fr(t){if(typeof t=="number")return t;if(eo(t))return hr;if(Fe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Fe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=t.replace(Qs,"");var n=Fs.test(t);return n||Vs.test(t)?$s(t.slice(2),n?2:8):qs.test(t)?hr:+t}mr.exports=Xs});var F=L(D=>{"use strict";D.__esModule=!0;D.extend=Cr;D.indexOf=fo;D.escapeExpression=po;D.isEmpty=mo;D.createFrame=go;D.blockParams=vo;D.appendContextPath=yo;var lo={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},uo=/[&<>"'`=]/g,co=/[&<>"'`=]/;function ho(t){return lo[t]}function Cr(t){for(var e=1;e<arguments.length;e++)for(var n in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],n)&&(t[n]=arguments[e][n]);return t}var jt=Object.prototype.toString;D.toString=jt;var Ut=function(e){return typeof e=="function"};Ut(/x/)&&(D.isFunction=Ut=function(t){return typeof t=="function"&&jt.call(t)==="[object Function]"});D.isFunction=Ut;var Rr=Array.isArray||function(t){return t&&typeof t=="object"?jt.call(t)==="[object Array]":!1};D.isArray=Rr;function fo(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}function po(t){if(typeof t!="string"){if(t&&t.toHTML)return t.toHTML();if(t==null)return"";if(!t)return t+"";t=""+t}return co.test(t)?t.replace(uo,ho):t}function mo(t){return!t&&t!==0?!0:!!(Rr(t)&&t.length===0)}function go(t){var e=Cr({},t);return e._parent=t,e}function vo(t,e){return t.path=e,t}function yo(t,e){return(t?t+".":"")+e}});var X=L((je,Mr)=>{"use strict";je.__esModule=!0;var Wt=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function zt(t,e){var n=e&&e.loc,r=void 0,i=void 0,s=void 0,o=void 0;n&&(r=n.start.line,i=n.end.line,s=n.start.column,o=n.end.column,t+=" - "+r+":"+s);for(var a=Error.prototype.constructor.call(this,t),l=0;l<Wt.length;l++)this[Wt[l]]=a[Wt[l]];Error.captureStackTrace&&Error.captureStackTrace(this,zt);try{n&&(this.lineNumber=r,this.endLineNumber=i,Object.defineProperty?(Object.defineProperty(this,"column",{value:s,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:o,enumerable:!0})):(this.column=s,this.endColumn=o))}catch{}}zt.prototype=new Error;je.default=zt;Mr.exports=je.default});var Nr=L((We,Hr)=>{"use strict";We.__esModule=!0;var Gt=F();We.default=function(t){t.registerHelper("blockHelperMissing",function(e,n){var r=n.inverse,i=n.fn;if(e===!0)return i(this);if(e===!1||e==null)return r(this);if(Gt.isArray(e))return e.length>0?(n.ids&&(n.ids=[n.name]),t.helpers.each(e,n)):r(this);if(n.data&&n.ids){var s=Gt.createFrame(n.data);s.contextPath=Gt.appendContextPath(n.data.contextPath,n.name),n={data:s}}return i(e,n)})};Hr.exports=We.default});var Br=L((ze,Dr)=>{"use strict";ze.__esModule=!0;function wo(t){return t&&t.__esModule?t:{default:t}}var we=F(),bo=X(),Eo=wo(bo);ze.default=function(t){t.registerHelper("each",function(e,n){if(!n)throw new Eo.default("Must pass iterator to #each");var r=n.fn,i=n.inverse,s=0,o="",a=void 0,l=void 0;n.data&&n.ids&&(l=we.appendContextPath(n.data.contextPath,n.ids[0])+"."),we.isFunction(e)&&(e=e.call(this)),n.data&&(a=we.createFrame(n.data));function u(m,g,v){a&&(a.key=m,a.index=g,a.first=g===0,a.last=!!v,l&&(a.contextPath=l+m)),o=o+r(e[m],{data:a,blockParams:we.blockParams([e[m],m],[l+m,null])})}if(e&&typeof e=="object")if(we.isArray(e))for(var c=e.length;s<c;s++)s in e&&u(s,s,s===e.length-1);else if(global.Symbol&&e[global.Symbol.iterator]){for(var d=[],h=e[global.Symbol.iterator](),p=h.next();!p.done;p=h.next())d.push(p.value);e=d;for(var c=e.length;s<c;s++)u(s,s,s===e.length-1)}else(function(){var m=void 0;Object.keys(e).forEach(function(g){m!==void 0&&u(m,s-1),m=g,s++}),m!==void 0&&u(m,s-1,!0)})();return s===0&&(o=i(this)),o})};Dr.exports=ze.default});var qr=L((Ge,Qr)=>{"use strict";Ge.__esModule=!0;function xo(t){return t&&t.__esModule?t:{default:t}}var ko=X(),So=xo(ko);Ge.default=function(t){t.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new So.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Qr.exports=Ge.default});var Ur=L((Ke,$r)=>{"use strict";Ke.__esModule=!0;function Lo(t){return t&&t.__esModule?t:{default:t}}var Fr=F(),To=X(),Vr=Lo(To);Ke.default=function(t){t.registerHelper("if",function(e,n){if(arguments.length!=2)throw new Vr.default("#if requires exactly one argument");return Fr.isFunction(e)&&(e=e.call(this)),!n.hash.includeZero&&!e||Fr.isEmpty(e)?n.inverse(this):n.fn(this)}),t.registerHelper("unless",function(e,n){if(arguments.length!=2)throw new Vr.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:n.inverse,inverse:n.fn,hash:n.hash})})};$r.exports=Ke.default});var Wr=L((Ye,jr)=>{"use strict";Ye.__esModule=!0;Ye.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var i=1;n.hash.level!=null?i=n.hash.level:n.data&&n.data.level!=null&&(i=n.data.level),e[0]=i,t.log.apply(t,e)})};jr.exports=Ye.default});var Gr=L((Je,zr)=>{"use strict";Je.__esModule=!0;Je.default=function(t){t.registerHelper("lookup",function(e,n,r){return e&&r.lookupProperty(e,n)})};zr.exports=Je.default});var Yr=L((Xe,Kr)=>{"use strict";Xe.__esModule=!0;function _o(t){return t&&t.__esModule?t:{default:t}}var be=F(),Po=X(),Oo=_o(Po);Xe.default=function(t){t.registerHelper("with",function(e,n){if(arguments.length!=2)throw new Oo.default("#with requires exactly one argument");be.isFunction(e)&&(e=e.call(this));var r=n.fn;if(be.isEmpty(e))return n.inverse(this);var i=n.data;return n.data&&n.ids&&(i=be.createFrame(n.data),i.contextPath=be.appendContextPath(n.data.contextPath,n.ids[0])),r(e,{data:i,blockParams:be.blockParams([e],[i&&i.contextPath])})})};Kr.exports=Xe.default});var Kt=L(Ze=>{"use strict";Ze.__esModule=!0;Ze.registerDefaultHelpers=Uo;Ze.moveHelperToHooks=jo;function se(t){return t&&t.__esModule?t:{default:t}}var Io=Nr(),Ao=se(Io),Co=Br(),Ro=se(Co),Mo=qr(),Ho=se(Mo),No=Ur(),Do=se(No),Bo=Wr(),Qo=se(Bo),qo=Gr(),Fo=se(qo),Vo=Yr(),$o=se(Vo);function Uo(t){Ao.default(t),Ro.default(t),Ho.default(t),Do.default(t),Qo.default(t),Fo.default(t),$o.default(t)}function jo(t,e,n){t.helpers[e]&&(t.hooks[e]=t.helpers[e],n||delete t.helpers[e])}});var Xr=L((et,Jr)=>{"use strict";et.__esModule=!0;var Wo=F();et.default=function(t){t.registerDecorator("inline",function(e,n,r,i){var s=e;return n.partials||(n.partials={},s=function(o,a){var l=r.partials;r.partials=Wo.extend({},l,n.partials);var u=e(o,a);return r.partials=l,u}),n.partials[i.args[0]]=i.fn,s})};Jr.exports=et.default});var Zr=L(Yt=>{"use strict";Yt.__esModule=!0;Yt.registerDefaultDecorators=Yo;function zo(t){return t&&t.__esModule?t:{default:t}}var Go=Xr(),Ko=zo(Go);function Yo(t){Ko.default(t)}});var Jt=L((tt,ei)=>{"use strict";tt.__esModule=!0;var Jo=F(),fe={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if(typeof e=="string"){var n=Jo.indexOf(fe.methodMap,e.toLowerCase());n>=0?e=n:e=parseInt(e,10)}return e},log:function(e){if(e=fe.lookupLevel(e),typeof console<"u"&&fe.lookupLevel(fe.level)<=e){var n=fe.methodMap[e];console[n]||(n="log");for(var r=arguments.length,i=Array(r>1?r-1:0),s=1;s<r;s++)i[s-1]=arguments[s];console[n].apply(console,i)}}};tt.default=fe;ei.exports=tt.default});var ti=L(Xt=>{"use strict";Xt.__esModule=!0;Xt.createNewLookupObject=Zo;var Xo=F();function Zo(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return Xo.extend.apply(void 0,[Object.create(null)].concat(e))}});var Zt=L(Ee=>{"use strict";Ee.__esModule=!0;Ee.createProtoAccessControl=ra;Ee.resultIsAllowed=ia;Ee.resetLoggedProperties=oa;function ea(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var ni=ti(),ta=Jt(),na=ea(ta),nt=Object.create(null);function ra(t){var e=Object.create(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:ni.createNewLookupObject(n,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:ni.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}}function ia(t,e,n){return ri(typeof t=="function"?e.methods:e.properties,n)}function ri(t,e){return t.whitelist[e]!==void 0?t.whitelist[e]===!0:t.defaultValue!==void 0?t.defaultValue:(sa(e),!1)}function sa(t){nt[t]!==!0&&(nt[t]=!0,na.log("error",'Handlebars: Access has been denied to resolve the property "'+t+`" because it is not an "own property" of its parent. +(()=>{var Os=Object.create;var zn=Object.defineProperty;var Is=Object.getOwnPropertyDescriptor;var As=Object.getOwnPropertyNames;var Cs=Object.getPrototypeOf,Rs=Object.prototype.hasOwnProperty;var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ms=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of As(e))!Rs.call(t,i)&&i!==n&&zn(t,i,{get:()=>e[i],enumerable:!(r=Is(e,i))||r.enumerable});return t};var Y=(t,e,n)=>(n=t!=null?Os(Cs(t)):{},Ms(e||!t||!t.__esModule?zn(n,"default",{value:t,enumerable:!0}):n,t));var vr=L((dc,gr)=>{var mr="Expected a function",fr=NaN,Qs="[object Symbol]",Fs=/^\s+|\s+$/g,qs=/^[-+]0x[0-9a-f]+$/i,Vs=/^0b[01]+$/i,$s=/^0o[0-7]+$/i,Us=parseInt,js=typeof global=="object"&&global&&global.Object===Object&&global,Ws=typeof self=="object"&&self&&self.Object===Object&&self,zs=js||Ws||Function("return this")(),Gs=Object.prototype,Ks=Gs.toString,Ys=Math.max,Js=Math.min,Bt=function(){return zs.Date.now()};function Xs(t,e,n){var r,i,s,o,a,l,u=0,c=!1,d=!1,h=!0;if(typeof t!="function")throw new TypeError(mr);e=pr(e)||0,Ve(n)&&(c=!!n.leading,d="maxWait"in n,s=d?Ys(pr(n.maxWait)||0,e):s,h="trailing"in n?!!n.trailing:h);function f(S){var R=r,U=i;return r=i=void 0,u=S,o=t.apply(U,R),o}function m(S){return u=S,a=setTimeout(w,e),c?f(S):o}function g(S){var R=S-l,U=S-u,ee=e-R;return d?Js(ee,s-U):ee}function v(S){var R=S-l,U=S-u;return l===void 0||R>=e||R<0||d&&U>=s}function w(){var S=Bt();if(v(S))return x(S);a=setTimeout(w,g(S))}function x(S){return a=void 0,h&&r?f(S):(r=i=void 0,o)}function I(){a!==void 0&&clearTimeout(a),u=0,r=l=i=a=void 0}function F(){return a===void 0?o:x(Bt())}function $(){var S=Bt(),R=v(S);if(r=arguments,i=this,l=S,R){if(a===void 0)return m(l);if(d)return a=setTimeout(w,e),f(l)}return a===void 0&&(a=setTimeout(w,e)),o}return $.cancel=I,$.flush=F,$}function Zs(t,e,n){var r=!0,i=!0;if(typeof t!="function")throw new TypeError(mr);return Ve(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Xs(t,e,{leading:r,maxWait:e,trailing:i})}function Ve(t){var e=typeof t;return!!t&&(e=="object"||e=="function")}function eo(t){return!!t&&typeof t=="object"}function to(t){return typeof t=="symbol"||eo(t)&&Ks.call(t)==Qs}function pr(t){if(typeof t=="number")return t;if(to(t))return fr;if(Ve(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Ve(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=t.replace(Fs,"");var n=Vs.test(t);return n||$s.test(t)?Us(t.slice(2),n?2:8):qs.test(t)?fr:+t}gr.exports=Zs});var q=L(D=>{"use strict";D.__esModule=!0;D.extend=Rr;D.indexOf=po;D.escapeExpression=mo;D.isEmpty=go;D.createFrame=vo;D.blockParams=yo;D.appendContextPath=wo;var uo={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},co=/[&<>"'`=]/g,ho=/[&<>"'`=]/;function fo(t){return uo[t]}function Rr(t){for(var e=1;e<arguments.length;e++)for(var n in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],n)&&(t[n]=arguments[e][n]);return t}var jt=Object.prototype.toString;D.toString=jt;var Ut=function(e){return typeof e=="function"};Ut(/x/)&&(D.isFunction=Ut=function(t){return typeof t=="function"&&jt.call(t)==="[object Function]"});D.isFunction=Ut;var Mr=Array.isArray||function(t){return t&&typeof t=="object"?jt.call(t)==="[object Array]":!1};D.isArray=Mr;function po(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}function mo(t){if(typeof t!="string"){if(t&&t.toHTML)return t.toHTML();if(t==null)return"";if(!t)return t+"";t=""+t}return ho.test(t)?t.replace(co,fo):t}function go(t){return!t&&t!==0?!0:!!(Mr(t)&&t.length===0)}function vo(t){var e=Rr({},t);return e._parent=t,e}function yo(t,e){return t.path=e,t}function wo(t,e){return(t?t+".":"")+e}});var X=L((We,Hr)=>{"use strict";We.__esModule=!0;var Wt=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function zt(t,e){var n=e&&e.loc,r=void 0,i=void 0,s=void 0,o=void 0;n&&(r=n.start.line,i=n.end.line,s=n.start.column,o=n.end.column,t+=" - "+r+":"+s);for(var a=Error.prototype.constructor.call(this,t),l=0;l<Wt.length;l++)this[Wt[l]]=a[Wt[l]];Error.captureStackTrace&&Error.captureStackTrace(this,zt);try{n&&(this.lineNumber=r,this.endLineNumber=i,Object.defineProperty?(Object.defineProperty(this,"column",{value:s,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:o,enumerable:!0})):(this.column=s,this.endColumn=o))}catch{}}zt.prototype=new Error;We.default=zt;Hr.exports=We.default});var Dr=L((ze,Nr)=>{"use strict";ze.__esModule=!0;var Gt=q();ze.default=function(t){t.registerHelper("blockHelperMissing",function(e,n){var r=n.inverse,i=n.fn;if(e===!0)return i(this);if(e===!1||e==null)return r(this);if(Gt.isArray(e))return e.length>0?(n.ids&&(n.ids=[n.name]),t.helpers.each(e,n)):r(this);if(n.data&&n.ids){var s=Gt.createFrame(n.data);s.contextPath=Gt.appendContextPath(n.data.contextPath,n.name),n={data:s}}return i(e,n)})};Nr.exports=ze.default});var Qr=L((Ge,Br)=>{"use strict";Ge.__esModule=!0;function bo(t){return t&&t.__esModule?t:{default:t}}var be=q(),Eo=X(),xo=bo(Eo);Ge.default=function(t){t.registerHelper("each",function(e,n){if(!n)throw new xo.default("Must pass iterator to #each");var r=n.fn,i=n.inverse,s=0,o="",a=void 0,l=void 0;n.data&&n.ids&&(l=be.appendContextPath(n.data.contextPath,n.ids[0])+"."),be.isFunction(e)&&(e=e.call(this)),n.data&&(a=be.createFrame(n.data));function u(m,g,v){a&&(a.key=m,a.index=g,a.first=g===0,a.last=!!v,l&&(a.contextPath=l+m)),o=o+r(e[m],{data:a,blockParams:be.blockParams([e[m],m],[l+m,null])})}if(e&&typeof e=="object")if(be.isArray(e))for(var c=e.length;s<c;s++)s in e&&u(s,s,s===e.length-1);else if(global.Symbol&&e[global.Symbol.iterator]){for(var d=[],h=e[global.Symbol.iterator](),f=h.next();!f.done;f=h.next())d.push(f.value);e=d;for(var c=e.length;s<c;s++)u(s,s,s===e.length-1)}else(function(){var m=void 0;Object.keys(e).forEach(function(g){m!==void 0&&u(m,s-1),m=g,s++}),m!==void 0&&u(m,s-1,!0)})();return s===0&&(o=i(this)),o})};Br.exports=Ge.default});var qr=L((Ke,Fr)=>{"use strict";Ke.__esModule=!0;function ko(t){return t&&t.__esModule?t:{default:t}}var So=X(),Lo=ko(So);Ke.default=function(t){t.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new Lo.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Fr.exports=Ke.default});var jr=L((Ye,Ur)=>{"use strict";Ye.__esModule=!0;function _o(t){return t&&t.__esModule?t:{default:t}}var Vr=q(),To=X(),$r=_o(To);Ye.default=function(t){t.registerHelper("if",function(e,n){if(arguments.length!=2)throw new $r.default("#if requires exactly one argument");return Vr.isFunction(e)&&(e=e.call(this)),!n.hash.includeZero&&!e||Vr.isEmpty(e)?n.inverse(this):n.fn(this)}),t.registerHelper("unless",function(e,n){if(arguments.length!=2)throw new $r.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:n.inverse,inverse:n.fn,hash:n.hash})})};Ur.exports=Ye.default});var zr=L((Je,Wr)=>{"use strict";Je.__esModule=!0;Je.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var i=1;n.hash.level!=null?i=n.hash.level:n.data&&n.data.level!=null&&(i=n.data.level),e[0]=i,t.log.apply(t,e)})};Wr.exports=Je.default});var Kr=L((Xe,Gr)=>{"use strict";Xe.__esModule=!0;Xe.default=function(t){t.registerHelper("lookup",function(e,n,r){return e&&r.lookupProperty(e,n)})};Gr.exports=Xe.default});var Jr=L((Ze,Yr)=>{"use strict";Ze.__esModule=!0;function Po(t){return t&&t.__esModule?t:{default:t}}var Ee=q(),Oo=X(),Io=Po(Oo);Ze.default=function(t){t.registerHelper("with",function(e,n){if(arguments.length!=2)throw new Io.default("#with requires exactly one argument");Ee.isFunction(e)&&(e=e.call(this));var r=n.fn;if(Ee.isEmpty(e))return n.inverse(this);var i=n.data;return n.data&&n.ids&&(i=Ee.createFrame(n.data),i.contextPath=Ee.appendContextPath(n.data.contextPath,n.ids[0])),r(e,{data:i,blockParams:Ee.blockParams([e],[i&&i.contextPath])})})};Yr.exports=Ze.default});var Kt=L(et=>{"use strict";et.__esModule=!0;et.registerDefaultHelpers=jo;et.moveHelperToHooks=Wo;function se(t){return t&&t.__esModule?t:{default:t}}var Ao=Dr(),Co=se(Ao),Ro=Qr(),Mo=se(Ro),Ho=qr(),No=se(Ho),Do=jr(),Bo=se(Do),Qo=zr(),Fo=se(Qo),qo=Kr(),Vo=se(qo),$o=Jr(),Uo=se($o);function jo(t){Co.default(t),Mo.default(t),No.default(t),Bo.default(t),Fo.default(t),Vo.default(t),Uo.default(t)}function Wo(t,e,n){t.helpers[e]&&(t.hooks[e]=t.helpers[e],n||delete t.helpers[e])}});var Zr=L((tt,Xr)=>{"use strict";tt.__esModule=!0;var zo=q();tt.default=function(t){t.registerDecorator("inline",function(e,n,r,i){var s=e;return n.partials||(n.partials={},s=function(o,a){var l=r.partials;r.partials=zo.extend({},l,n.partials);var u=e(o,a);return r.partials=l,u}),n.partials[i.args[0]]=i.fn,s})};Xr.exports=tt.default});var ei=L(Yt=>{"use strict";Yt.__esModule=!0;Yt.registerDefaultDecorators=Jo;function Go(t){return t&&t.__esModule?t:{default:t}}var Ko=Zr(),Yo=Go(Ko);function Jo(t){Yo.default(t)}});var Jt=L((nt,ti)=>{"use strict";nt.__esModule=!0;var Xo=q(),pe={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if(typeof e=="string"){var n=Xo.indexOf(pe.methodMap,e.toLowerCase());n>=0?e=n:e=parseInt(e,10)}return e},log:function(e){if(e=pe.lookupLevel(e),typeof console<"u"&&pe.lookupLevel(pe.level)<=e){var n=pe.methodMap[e];console[n]||(n="log");for(var r=arguments.length,i=Array(r>1?r-1:0),s=1;s<r;s++)i[s-1]=arguments[s];console[n].apply(console,i)}}};nt.default=pe;ti.exports=nt.default});var ni=L(Xt=>{"use strict";Xt.__esModule=!0;Xt.createNewLookupObject=ea;var Zo=q();function ea(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return Zo.extend.apply(void 0,[Object.create(null)].concat(e))}});var Zt=L(xe=>{"use strict";xe.__esModule=!0;xe.createProtoAccessControl=ia;xe.resultIsAllowed=sa;xe.resetLoggedProperties=aa;function ta(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var ri=ni(),na=Jt(),ra=ta(na),rt=Object.create(null);function ia(t){var e=Object.create(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:ri.createNewLookupObject(n,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:ri.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}}function sa(t,e,n){return ii(typeof t=="function"?e.methods:e.properties,n)}function ii(t,e){return t.whitelist[e]!==void 0?t.whitelist[e]===!0:t.defaultValue!==void 0?t.defaultValue:(oa(e),!1)}function oa(t){rt[t]!==!0&&(rt[t]=!0,ra.log("error",'Handlebars: Access has been denied to resolve the property "'+t+`" because it is not an "own property" of its parent. You can add a runtime option to disable the check or this warning: -See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function oa(){Object.keys(nt).forEach(function(t){delete nt[t]})}});var rn=L(j=>{"use strict";j.__esModule=!0;j.HandlebarsEnvironment=nn;function ii(t){return t&&t.__esModule?t:{default:t}}var oe=F(),aa=X(),en=ii(aa),la=Kt(),ua=Zr(),ca=Jt(),rt=ii(ca),da=Zt(),ha="4.7.7";j.VERSION=ha;var fa=8;j.COMPILER_REVISION=fa;var pa=7;j.LAST_COMPATIBLE_COMPILER_REVISION=pa;var ma={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};j.REVISION_CHANGES=ma;var tn="[object Object]";function nn(t,e,n){this.helpers=t||{},this.partials=e||{},this.decorators=n||{},la.registerDefaultHelpers(this),ua.registerDefaultDecorators(this)}nn.prototype={constructor:nn,logger:rt.default,log:rt.default.log,registerHelper:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple helpers");oe.extend(this.helpers,e)}else this.helpers[e]=n},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){if(oe.toString.call(e)===tn)oe.extend(this.partials,e);else{if(typeof n>"u")throw new en.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=n}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple decorators");oe.extend(this.decorators,e)}else this.decorators[e]=n},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){da.resetLoggedProperties()}};var ga=rt.default.log;j.log=ga;j.createFrame=oe.createFrame;j.logger=rt.default});var oi=L((it,si)=>{"use strict";it.__esModule=!0;function sn(t){this.string=t}sn.prototype.toString=sn.prototype.toHTML=function(){return""+this.string};it.default=sn;si.exports=it.default});var ai=L(on=>{"use strict";on.__esModule=!0;on.wrapHelper=va;function va(t,e){if(typeof t!="function")return t;var n=function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)};return n}});var hi=L(Z=>{"use strict";Z.__esModule=!0;Z.checkRevision=ka;Z.template=Sa;Z.wrapProgram=st;Z.resolvePartial=La;Z.invokePartial=Ta;Z.noop=ci;function ya(t){return t&&t.__esModule?t:{default:t}}function wa(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var ba=F(),z=wa(ba),Ea=X(),G=ya(Ea),K=rn(),li=Kt(),xa=ai(),ui=Zt();function ka(t){var e=t&&t[0]||1,n=K.COMPILER_REVISION;if(!(e>=K.LAST_COMPATIBLE_COMPILER_REVISION&&e<=K.COMPILER_REVISION))if(e<K.LAST_COMPATIBLE_COMPILER_REVISION){var r=K.REVISION_CHANGES[n],i=K.REVISION_CHANGES[e];throw new G.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}else throw new G.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}function Sa(t,e){if(!e)throw new G.default("No environment passed to template");if(!t||!t.main)throw new G.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var n=t.compiler&&t.compiler[0]===7;function r(o,a,l){l.hash&&(a=z.extend({},a,l.hash),l.ids&&(l.ids[0]=!0)),o=e.VM.resolvePartial.call(this,o,a,l);var u=z.extend({},l,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=e.VM.invokePartial.call(this,o,a,u);if(c==null&&e.compile&&(l.partials[l.name]=e.compile(o,t.compilerOptions,e),c=l.partials[l.name](a,u)),c!=null){if(l.indent){for(var d=c.split(` -`),h=0,p=d.length;h<p&&!(!d[h]&&h+1===p);h++)d[h]=l.indent+d[h];c=d.join(` -`)}return c}else throw new G.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,l,u){if(!a||!(l in a))throw new G.default('"'+l+'" not defined in '+a,{loc:u});return i.lookupProperty(a,l)},lookupProperty:function(a,l){var u=a[l];if(u==null||Object.prototype.hasOwnProperty.call(a,l)||ui.resultIsAllowed(u,i.protoAccessControl,l))return u},lookup:function(a,l){for(var u=a.length,c=0;c<u;c++){var d=a[c]&&i.lookupProperty(a[c],l);if(d!=null)return a[c][l]}},lambda:function(a,l){return typeof a=="function"?a.call(l):a},escapeExpression:z.escapeExpression,invokePartial:r,fn:function(a){var l=t[a];return l.decorator=t[a+"_d"],l},programs:[],program:function(a,l,u,c,d){var h=this.programs[a],p=this.fn(a);return l||d||c||u?h=st(this,a,p,l,u,c,d):h||(h=this.programs[a]=st(this,a,p)),h},data:function(a,l){for(;a&&l--;)a=a._parent;return a},mergeIfNeeded:function(a,l){var u=a||l;return a&&l&&a!==l&&(u=z.extend({},l,a)),u},nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=a.data;s._setup(a),!a.partial&&t.useData&&(l=_a(o,l));var u=void 0,c=t.useBlockParams?[]:void 0;t.useDepths&&(a.depths?u=o!=a.depths[0]?[o].concat(a.depths):a.depths:u=[o]);function d(h){return""+t.main(i,h,i.helpers,i.partials,l,c,u)}return d=di(t.main,d,i,a.depths||[],l,c),d(o,a)}return s.isTop=!0,s._setup=function(o){if(o.partial)i.protoAccessControl=o.protoAccessControl,i.helpers=o.helpers,i.partials=o.partials,i.decorators=o.decorators,i.hooks=o.hooks;else{var a=z.extend({},e.helpers,o.helpers);Pa(a,i),i.helpers=a,t.usePartial&&(i.partials=i.mergeIfNeeded(o.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=z.extend({},e.decorators,o.decorators)),i.hooks={},i.protoAccessControl=ui.createProtoAccessControl(o);var l=o.allowCallsToHelperMissing||n;li.moveHelperToHooks(i,"helperMissing",l),li.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(o,a,l,u){if(t.useBlockParams&&!l)throw new G.default("must pass block params");if(t.useDepths&&!u)throw new G.default("must pass parent depths");return st(i,o,t[o],a,0,l,u)},s}function st(t,e,n,r,i,s,o){function a(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=o;return o&&l!=o[0]&&!(l===t.nullContext&&o[0]===null)&&(c=[l].concat(o)),n(t,l,t.helpers,t.partials,u.data||r,s&&[u.blockParams].concat(s),c)}return a=di(n,a,t,o,r,s),a.program=e,a.depth=o?o.length:0,a.blockParams=i||0,a}function La(t,e,n){return t?!t.call&&!n.name&&(n.name=t,t=n.partials[t]):n.name==="@partial-block"?t=n.data["partial-block"]:t=n.partials[n.name],t}function Ta(t,e,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var i=void 0;if(n.fn&&n.fn!==ci&&function(){n.data=K.createFrame(n.data);var s=n.fn;i=n.data["partial-block"]=function(a){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=K.createFrame(l.data),l.data["partial-block"]=r,s(a,l)},s.partials&&(n.partials=z.extend({},n.partials,s.partials))}(),t===void 0&&i&&(t=i),t===void 0)throw new G.default("The partial "+n.name+" could not be found");if(t instanceof Function)return t(e,n)}function ci(){return""}function _a(t,e){return(!e||!("root"in e))&&(e=e?K.createFrame(e):{},e.root=t),e}function di(t,e,n,r,i,s){if(t.decorator){var o={};e=t.decorator(e,o,n,r&&r[0],i,s,r),z.extend(e,o)}return e}function Pa(t,e){Object.keys(t).forEach(function(n){var r=t[n];t[n]=Oa(r,e)})}function Oa(t,e){var n=e.lookupProperty;return xa.wrapHelper(t,function(r){return z.extend({lookupProperty:n},r)})}});var pi=L((ot,fi)=>{"use strict";ot.__esModule=!0;ot.default=function(t){var e=typeof global<"u"?global:window,n=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=n),t}};fi.exports=ot.default});var ae=L((at,yi)=>{"use strict";at.__esModule=!0;function ln(t){return t&&t.__esModule?t:{default:t}}function un(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Ia=rn(),mi=un(Ia),Aa=oi(),Ca=ln(Aa),Ra=X(),Ma=ln(Ra),Ha=F(),an=un(Ha),Na=hi(),gi=un(Na),Da=pi(),Ba=ln(Da);function vi(){var t=new mi.HandlebarsEnvironment;return an.extend(t,mi),t.SafeString=Ca.default,t.Exception=Ma.default,t.Utils=an,t.escapeExpression=an.escapeExpression,t.VM=gi,t.template=function(e){return gi.template(e,t)},t}var xe=vi();xe.create=vi;Ba.default(xe);xe.default=xe;at.default=xe;yi.exports=at.default});var zi=L((ji,Wi)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(d){return new t.Token(t.utils.asString(d).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var c=t.utils.clone(n)||{};c.position=[a,u],c.index=s.length,s.push(new t.Token(r.slice(a,o),c))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,c=0;u<s&&c<o;)a=r[u],l=i[c],a<l?u+=2:a>l?c+=2:a==l&&(n+=r[u+1]*i[c+1],u+=2,c+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,c="^("+s+")?"+i,d=new RegExp(a),h=new RegExp(u),p=new RegExp(l),m=new RegExp(c),g=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,x=/^(.+?)(ed|ing)$/,I=/.$/,q=/(at|bl|iz)$/,$=new RegExp("([^aeiouylsz])\\1$"),S=new RegExp("^"+s+i+"[^aeiouwxy]$"),R=/^(.+?[^aeiou])y$/,U=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,ee=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,ve=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,Pe=/^(.+?)(s|t)(ion)$/,te=/^(.+?)e$/,Oe=/ll$/,Ie=new RegExp("^"+s+i+"[^aeiouwxy]$"),ye=function(y){var k,ne,Q,b,T,re,de;if(y.length<3)return y;if(Q=y.substr(0,1),Q=="y"&&(y=Q.toUpperCase()+y.substr(1)),b=g,T=v,b.test(y)?y=y.replace(b,"$1$2"):T.test(y)&&(y=y.replace(T,"$1$2")),b=w,T=x,b.test(y)){var _=b.exec(y);b=d,b.test(_[1])&&(b=I,y=y.replace(b,""))}else if(T.test(y)){var _=T.exec(y);k=_[1],T=m,T.test(k)&&(y=k,T=q,re=$,de=S,T.test(y)?y=y+"e":re.test(y)?(b=I,y=y.replace(b,"")):de.test(y)&&(y=y+"e"))}if(b=R,b.test(y)){var _=b.exec(y);k=_[1],y=k+"i"}if(b=U,b.test(y)){var _=b.exec(y);k=_[1],ne=_[2],b=d,b.test(k)&&(y=k+e[ne])}if(b=ee,b.test(y)){var _=b.exec(y);k=_[1],ne=_[2],b=d,b.test(k)&&(y=k+n[ne])}if(b=ve,T=Pe,b.test(y)){var _=b.exec(y);k=_[1],b=h,b.test(k)&&(y=k)}else if(T.test(y)){var _=T.exec(y);k=_[1]+_[2],T=h,T.test(k)&&(y=k)}if(b=te,b.test(y)){var _=b.exec(y);k=_[1],b=h,T=p,re=Ie,(b.test(k)||T.test(k)&&!re.test(k))&&(y=k)}return b=Oe,T=h,b.test(y)&&T.test(y)&&(b=I,y=y.replace(b,"")),Q=="y"&&(y=Q.toLowerCase()+y.substr(1)),y};return function(ce){return ce.update(ye)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c=s.str.charAt(0),d=s.str.charAt(1),h;d in s.node.edges?h=s.node.edges[d]:(h=new t.TokenSet,s.node.edges[d]=h),s.str.length==1&&(h.final=!0),i.push({node:h,editsRemaining:s.editsRemaining-1,str:c+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var c=s[u],d=0;d<l;d++){var h=a[d];if(h==c||c=="*"){var p=r.node.edges[h],m=r.qNode.edges[c],g=p.final&&m.final,v=void 0;h in r.output.edges?(v=r.output.edges[h],v.final=v.final||g):(v=new t.TokenSet,v.final=g,r.output.edges[h]=v),i.push({qNode:m,output:v,node:p})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],c=null,d=t.Set.empty;u.usePipeline?c=this.pipeline.runString(u.term,{fields:u.fields}):c=[u.term];for(var h=0;h<c.length;h++){var p=c[h];u.term=p;var m=t.TokenSet.fromClause(u),g=this.tokenSet.intersect(m).toArray();if(g.length===0&&u.presence===t.Query.presence.REQUIRED){for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=t.Set.empty}break}for(var x=0;x<g.length;x++)for(var I=g[x],q=this.invertedIndex[I],$=q._index,v=0;v<u.fields.length;v++){var w=u.fields[v],S=q[w],R=Object.keys(S),U=I+"/"+w,ee=new t.Set(R);if(u.presence==t.Query.presence.REQUIRED&&(d=d.union(ee),o[w]===void 0&&(o[w]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[w]===void 0&&(a[w]=t.Set.empty),a[w]=a[w].union(ee);continue}if(i[w].upsert($,u.boost,function(Ts,_s){return Ts+_s}),!s[U]){for(var ve=0;ve<R.length;ve++){var Pe=R[ve],te=new t.FieldRef(Pe,w),Oe=S[Pe],Ie;(Ie=r[te])===void 0?r[te]=new t.MatchData(I,w,Oe):Ie.add(I,w,Oe)}s[U]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=o[w].intersect(d)}}for(var ye=t.Set.complete,ce=t.Set.empty,l=0;l<this.fields.length;l++){var w=this.fields[l];o[w]&&(ye=ye.intersect(o[w])),a[w]&&(ce=ce.union(a[w]))}var y=Object.keys(r),k=[],ne=Object.create(null);if(n.isNegated()){y=Object.keys(this.fieldVectors);for(var l=0;l<y.length;l++){var te=y[l],Q=t.FieldRef.fromString(te);r[te]=new t.MatchData}}for(var l=0;l<y.length;l++){var Q=t.FieldRef.fromString(y[l]),b=Q.docRef;if(ye.contains(b)&&!ce.contains(b)){var T=this.fieldVectors[Q],re=i[Q.fieldName].similarity(T),de;if((de=ne[b])!==void 0)de.score+=re,de.matchData.combine(r[Q]);else{var _={ref:b,score:re,matchData:r[Q]};ne[b]=_,k.push(_)}}}return k.sort(function(Ss,Ls){return Ls.score-Ss.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=i[u],d=c[0],h=c[1];r[d]=new t.Vector(h)}for(var u=0;u<o.length;u++){var c=o[u],p=c[0],m=c[1];a.insert(p),s[p]=m}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),c=this.pipeline.run(u),d=new t.FieldRef(r,o),h=Object.create(null);this.fieldTermFrequencies[d]=h,this.fieldLengths[d]=0,this.fieldLengths[d]+=c.length;for(var p=0;p<c.length;p++){var m=c[p];if(h[m]==null&&(h[m]=0),h[m]+=1,this.invertedIndex[m]==null){var g=Object.create(null);g._index=this.termIndex,this.termIndex+=1;for(var v=0;v<i.length;v++)g[i[v]]=Object.create(null);this.invertedIndex[m]=g}this.invertedIndex[m][o][r]==null&&(this.invertedIndex[m][o][r]=Object.create(null));for(var w=0;w<this.metadataWhitelist.length;w++){var x=this.metadataWhitelist[w],I=m.metadata[x];this.invertedIndex[m][o][r][x]==null&&(this.invertedIndex[m][o][r][x]=[]),this.invertedIndex[m][o][r][x].push(I)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,c=this.fieldTermFrequencies[o],d=Object.keys(c),h=d.length,p=this._fields[a].boost||1,m=this._documents[o.docRef].boost||1,g=0;g<h;g++){var v=d[g],w=c[v],x=this.invertedIndex[v]._index,I,q,$;i[v]===void 0?(I=t.idf(this.invertedIndex[v],this.documentCount),i[v]=I):I=i[v],q=I*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+w),q*=p,q*=m,$=Math.round(q*1e3)/1e3,u.insert(x,$)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var c=l[u];this.metadata[i][a][c]==null?this.metadata[i][a][c]=e.metadata[i][a][c]:this.metadata[i][a][c]=this.metadata[i][a][c].concat(e.metadata[i][a][c])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ji=="object"?Wi.exports=n():e.lunr=n()}(this,function(){return t})})()});var zn=new URLSearchParams(window.location.search),Gn=window.self!==window.parent,Pt=Gn&&zn.has("preview"),Ot=Gn&&zn.has("hint"),A=Pt||Ot;function Ae(){return window.sidebarNodes||{}}function Kn(){return window.versionNodes||[]}var f=document.querySelector.bind(document),M=document.querySelectorAll.bind(document);function Yn(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Re(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Me(){return document.getElementById("main").dataset.type}var Ce=["H1","H2","H3","H4","H5","H6"];function He(t=!1){let e=window.location.hash.replace(/^#/,"");if(!e)return t?document.getElementById("top-content"):null;let n=document.getElementById(e);if(!n)return null;if(n.matches(".detail"))return n;if(Ce.includes(n.tagName))return It(n);let r=Ms(n);return r||document.getElementById("top-content")}function Ms(t){let e=t.previousElementSibling;for(;e;){if(Ce.includes(e.tagName))return It(e);e=e.previousElementSibling}let n=t.parentNode;for(;n;){for(e=n.previousElementSibling;e;){if(Ce.includes(e.tagName))return It(e);e=e.previousElementSibling}n=n.parentNode}return null}function It(t){let e=document.createElement("div"),n=[t],r=t;for(;(r=r.nextSibling)&&!(Ce.includes(r.tagName)&&r.tagName<=t.tagName);)n.push(r);return e.append(...n),e}function Jn(t){return new URLSearchParams(window.location.search).get(t)}function At(t){return fetch(t).then(e=>e.ok).catch(()=>!1)}function he(t){return!t||t.trim()===""}function Xn(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,t(...i)},e)}}function Ne(){return document.head.querySelector("meta[name=project][content]").content}function De(){return document.documentElement.classList.contains("apple-os")}function E(t,e,n){let r=document.createElement(t);for(let i in e)e[i]!=null&&r.setAttribute(i,e[i]);return n&&r.replaceChildren(...n),r}if(Pt&&A){let t=He(!0);if(t){document.body.classList.add("preview"),document.getElementById("content").replaceChildren(...t.childNodes);let e=document.getElementsByTagName("a:not([target=_blank]");for(let n of e)n.setAttribute("target","_parent");window.scrollTo(0,0),document.body.style.position="fixed",setTimeout(Zn),window.addEventListener("resize",Zn)}}function Zn(){let t={type:"preview",contentHeight:document.getElementById("content").parentElement.offsetHeight};window.parent.postMessage(t,"*")}var ie={plain:"plain",function:"function",module:"module"},Hs=[{href:"typespecs.html#basic-types",hint:{kind:ie.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:ie.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:ie.plain,description:"Built-in type"}}],Be={cancelHintFetching:null};function er(t){if(nr(t))return!0;let e=/#.*\//;return t.includes("#")&&!e.test(t)?!1:t.includes(".html")}function tr(t){let e=nr(t);return e?Promise.resolve(e):Ns(t)}function nr(t){let e=Hs.find(n=>t.includes(n.href));return e?e.hint:null}function Ns(t){let e=t.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("src",e),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;e===l&&(o(),n(u))}Be.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Be.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function rr(){Be.cancelHintFetching&&Be.cancelHintFetching()}function ir(t){let n=t.querySelector("h1").textContent,r=t.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:ie.function,title:n.trim(),description:i.trim()}}function sr(t){let n=t.querySelector("h1 > span").textContent,r=t.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:ie.module,title:n.trim(),description:i.trim()}}if(Ot&&A){let t=He(),e=t?ir(t):["modules","tasks"].includes(Me())?sr(f(".content-inner")):null;if(e){let n={hint:{...e,version:Ne()},href:window.location.href};window.parent.postMessage(n,"*")}f(".content-inner")?.replaceChildren()}var Ct="ex_doc:settings",or="dark",Rt="system",Mt="dark",Ht="light";var Ds={tooltips:!0,theme:null,livebookUrl:null},Nt=class{constructor(){this._subscribers=[],this._settings=Ds,this._loadSettings()}get(){return this._settings}update(e){let n=this._settings;this._settings={...this._settings,...e},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(e){this._subscribers.push(e),e(this._settings)}_loadSettings(){try{let e=localStorage.getItem(Ct);if(e){let n=JSON.parse(e);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(e){console.error(`Failed to load settings: ${e}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(Ct,JSON.stringify(this._settings))}catch(e){console.error(`Failed to persist settings: ${e}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},H=new Nt;var ar=!1,Qe=null,J=null;function lr(t){ar||(ar=!0,J=document.getElementById("toast"),J?.addEventListener("click",()=>{clearTimeout(Qe),J.classList.remove("show")})),J&&(clearTimeout(Qe),J.innerText=t,J.classList.add("show"),Qe=setTimeout(()=>{J.classList.remove("show"),Qe=setTimeout(function(){J.innerText=""},1e3)},5e3))}var Dt=[Rt,Mt,Ht],ur=window.matchMedia("(prefers-color-scheme: dark)");H.getAndSubscribe(cr);ur.addEventListener("change",cr);function cr(){let t=qe(),e=t===Mt||t!==Ht&&ur.matches;document.body.classList.toggle(or,e)}function dr(){let t=Dt[Dt.indexOf(qe())+1]||Dt[0];H.update({theme:t}),lr(`Set theme to "${t}"`)}function qe(){return new URLSearchParams(window.location.search).get("theme")||H.get().theme||Rt}var Sr=Y(gr());var Qt="sidebar_state",qt="closed",vr="open",yr="sidebar_width";var Ve="sidebar-open",$e="sidebar-transition";var wr=!1;function br(){if(wr)return;wr=!0;let t=document.getElementById("sidebar-list-nav");if(!t)return;let e=Me(),n={extras:t.dataset.extras||"Pages",modules:"Modules",tasks:'<span translate="no">Mix</span> Tasks'};Object.entries(n).forEach(([r,i])=>{let s=Ae()[r];if(!s?.length)return;let o=`${r}-list-tab-button`,a=`${r}-tab-panel`,l=r===e,u=E("button",{id:o,role:"tab",tabindex:l?0:-1,"aria-selected":l||void 0,"aria-controls":a});u.innerHTML=i,u.addEventListener("keydown",ro),u.addEventListener("click",io),t.appendChild(E("li",{},[u]));let c=E("ul",{class:"full-list"});c.addEventListener("click",so);let d=E("div",{id:a,class:"sidebar-tabpanel",role:"tabpanel","aria-labelledby":o,hidden:l?void 0:""},[c]);document.getElementById("sidebar").appendChild(d);let h="",p,m;c.replaceChildren(...s.flatMap(g=>{let v=[],w=Array.isArray(g.headers),x=w?void 0:"no";return g.group!==h&&(v.push(E("li",{class:"group",translate:x},[g.group])),h=g.group,p=void 0),g.nested_context&&g.nested_context!==p?(p=g.nested_context,m!==p&&v.push(E("li",{class:"nesting-context",translate:"no","aria-hidden":!0},[p]))):m=g.title,v.push(E("li",{},[E("a",{href:`${g.id}.html`,translate:x},[g.nested_title||g.title]),...Vt(`node-${g.id}-headers`,w?to(g):no(g))])),v}))}),Ft(),requestAnimationFrame(Er),window.addEventListener("hashchange",Ft),window.addEventListener("exdoc:loaded",Ft)}function Vt(t,e){return e.length?[E("button",{"aria-label":"expand","aria-expanded":!1,"aria-controls":t}),E("ul",{id:t},e)]:[]}function to(t){return t.headers.map(({id:e,anchor:n})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[e])]))}function no(t){let e=[];return t.sections?.length&&e.push(E("li",{},[E("a",{href:`${t.id}.html#content`},["Sections"]),...Vt(`${t.id}-sections-list`,t.sections.map(({id:n,anchor:r})=>E("li",{},[E("a",{href:`${t.id}.html#${r}`},[n])])))])),t.nodeGroups&&(e.push(E("li",{},[E("a",{href:`${t.id}.html#summary`},["Summary"])])),e.push(...t.nodeGroups.map(({key:n,name:r,nodes:i})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[r]),...Vt(`node-${t.id}-group-${n}-list`,i.map(({anchor:s,title:o,id:a})=>E("li",{},[E("a",{href:`${t.id}.html#${s}`,title:o,translate:"no"},[a])])))])))),e}function $t(t){let e=document.getElementById("sidebar-list-nav").querySelector("[aria-selected]");e!==t&&(e&&(e.removeAttribute("aria-selected"),e.setAttribute("tabindex","-1"),document.getElementById(e.getAttribute("aria-controls")).setAttribute("hidden","hidden")),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),document.getElementById(t.getAttribute("aria-controls")).removeAttribute("hidden"))}function Er(){f("#sidebar [role=tabpanel]:not([hidden]) a[aria-selected]")?.scrollIntoView()}function Ft(){let t=document.getElementById("sidebar"),{pathname:e,hash:n}=window.location,r=e.split("/").pop().replace(/\.html$/,"")+".html",i=t.querySelector(`li a[href="${r+n}"]`)||t.querySelector(`li a[href="${r}"]`);if(!i)return;t.querySelectorAll(".full-list a[aria-selected]").forEach(o=>{o.removeAttribute("aria-selected")}),t.querySelectorAll(".full-list button[aria-expanded=true]").forEach(o=>{o.setAttribute("aria-expanded",!1)});let s=i.parentElement;for(;s;){if(s.tagName==="LI"){let o=s.firstChild;o.setAttribute("aria-selected",o.getAttribute("href")===r?"page":"true");let a=o.nextSibling;a?.tagName==="BUTTON"&&a.setAttribute("aria-expanded",!0)}else if(s.role==="tabpanel"){s.hasAttribute("hidden")&&$t(document.getElementById(s.getAttribute("aria-labelledby")));break}s=s.parentElement}}function ro(t){if(!["ArrowRight","ArrowLeft"].includes(t.key))return;let e=Array.from(M('#sidebar-list-nav [role="tab"]')),r=e.indexOf(t.currentTarget)+(t.key==="ArrowRight"?1:-1),i=e.at(r%e.length);$t(i),i.focus()}function io(t){$t(t.currentTarget),Er()}function so(t){let e=t.target;e.tagName==="BUTTON"&&e.setAttribute("aria-expanded",e.getAttribute("aria-expanded")==="false")}var ao=300,Lr=".sidebar-toggle",Tr=window.matchMedia(`screen and (max-width: ${768}px)`);if(!A){window.addEventListener("exdoc:loaded",xr);let t=document.getElementById("sidebar"),e=f(Lr);e.addEventListener("click",Ue),document.body.addEventListener("click",i=>{Tr.matches&&_r()&&!t.contains(i.target)&&!e.contains(i.target)&&Ue()});let n=window.innerWidth;window.addEventListener("resize",(0,Sr.default)(()=>{n!==window.innerWidth&&(n=window.innerWidth,xr())},100));let r=new ResizeObserver(([i])=>{if(!i)return;let s=i.contentRect.width;sessionStorage.setItem(yr,s),document.body.style.setProperty("--sidebarWidth",`${s}px`)});t.addEventListener("mousedown",()=>r.observe(t)),t.addEventListener("mouseup",()=>r.unobserve(t))}function xr(){let e=sessionStorage.getItem(Qt)!==qt&&!Tr.matches;Or(e)}function Ue(){let t=!_r();return sessionStorage.setItem(Qt,t?vr:qt),Ir(t)}function _r(){return document.body.classList.contains(Ve)}function Pr(){return document.body.classList.contains(Ve)&&!document.body.classList.contains($e)}function Or(t){t&&br(),document.body.classList.toggle(Ve,t),f(Lr).setAttribute("aria-expanded",t?"true":"false")}var kr;function Ir(t){return new Promise(e=>{document.body.classList.add($e),document.body.scrollTop,Or(t),clearTimeout(kr),kr=setTimeout(()=>{document.body.classList.remove($e),e()},ao)})}function Ar(){return Ir(!0)}var wi=Y(ae());var cn=Y(ae());cn.registerHelper("isArray",function(t,e){return Array.isArray(t)?e.fn(this):e.inverse(this)});cn.registerHelper("isNonEmptyArray",function(t,e){return Array.isArray(t)&&t.length>0?e.fn(this):e.inverse(this)});var bi=wi.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,p){if(Object.prototype.hasOwnProperty.call(h,p))return h[p]};return' <option translate="no" value="'+c((o=(o=d(n,"url")||(e!=null?d(e,"url"):e))!=null?o:l,typeof o===u?o.call(a,{name:"url",hash:{},data:i,loc:{start:{line:7,column:38},end:{line:7,column:45}}}):o))+'"'+((s=d(n,"if").call(a,e!=null?d(e,"isCurrentVersion"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:7,column:46},end:{line:7,column:95}}}))!=null?s:"")+`> +See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function aa(){Object.keys(rt).forEach(function(t){delete rt[t]})}});var rn=L(j=>{"use strict";j.__esModule=!0;j.HandlebarsEnvironment=nn;function si(t){return t&&t.__esModule?t:{default:t}}var oe=q(),la=X(),en=si(la),ua=Kt(),ca=ei(),da=Jt(),it=si(da),ha=Zt(),fa="4.7.7";j.VERSION=fa;var pa=8;j.COMPILER_REVISION=pa;var ma=7;j.LAST_COMPATIBLE_COMPILER_REVISION=ma;var ga={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};j.REVISION_CHANGES=ga;var tn="[object Object]";function nn(t,e,n){this.helpers=t||{},this.partials=e||{},this.decorators=n||{},ua.registerDefaultHelpers(this),ca.registerDefaultDecorators(this)}nn.prototype={constructor:nn,logger:it.default,log:it.default.log,registerHelper:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple helpers");oe.extend(this.helpers,e)}else this.helpers[e]=n},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){if(oe.toString.call(e)===tn)oe.extend(this.partials,e);else{if(typeof n>"u")throw new en.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=n}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple decorators");oe.extend(this.decorators,e)}else this.decorators[e]=n},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){ha.resetLoggedProperties()}};var va=it.default.log;j.log=va;j.createFrame=oe.createFrame;j.logger=it.default});var ai=L((st,oi)=>{"use strict";st.__esModule=!0;function sn(t){this.string=t}sn.prototype.toString=sn.prototype.toHTML=function(){return""+this.string};st.default=sn;oi.exports=st.default});var li=L(on=>{"use strict";on.__esModule=!0;on.wrapHelper=ya;function ya(t,e){if(typeof t!="function")return t;var n=function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)};return n}});var fi=L(Z=>{"use strict";Z.__esModule=!0;Z.checkRevision=Sa;Z.template=La;Z.wrapProgram=ot;Z.resolvePartial=_a;Z.invokePartial=Ta;Z.noop=di;function wa(t){return t&&t.__esModule?t:{default:t}}function ba(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Ea=q(),z=ba(Ea),xa=X(),G=wa(xa),K=rn(),ui=Kt(),ka=li(),ci=Zt();function Sa(t){var e=t&&t[0]||1,n=K.COMPILER_REVISION;if(!(e>=K.LAST_COMPATIBLE_COMPILER_REVISION&&e<=K.COMPILER_REVISION))if(e<K.LAST_COMPATIBLE_COMPILER_REVISION){var r=K.REVISION_CHANGES[n],i=K.REVISION_CHANGES[e];throw new G.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}else throw new G.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}function La(t,e){if(!e)throw new G.default("No environment passed to template");if(!t||!t.main)throw new G.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var n=t.compiler&&t.compiler[0]===7;function r(o,a,l){l.hash&&(a=z.extend({},a,l.hash),l.ids&&(l.ids[0]=!0)),o=e.VM.resolvePartial.call(this,o,a,l);var u=z.extend({},l,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=e.VM.invokePartial.call(this,o,a,u);if(c==null&&e.compile&&(l.partials[l.name]=e.compile(o,t.compilerOptions,e),c=l.partials[l.name](a,u)),c!=null){if(l.indent){for(var d=c.split(` +`),h=0,f=d.length;h<f&&!(!d[h]&&h+1===f);h++)d[h]=l.indent+d[h];c=d.join(` +`)}return c}else throw new G.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,l,u){if(!a||!(l in a))throw new G.default('"'+l+'" not defined in '+a,{loc:u});return i.lookupProperty(a,l)},lookupProperty:function(a,l){var u=a[l];if(u==null||Object.prototype.hasOwnProperty.call(a,l)||ci.resultIsAllowed(u,i.protoAccessControl,l))return u},lookup:function(a,l){for(var u=a.length,c=0;c<u;c++){var d=a[c]&&i.lookupProperty(a[c],l);if(d!=null)return a[c][l]}},lambda:function(a,l){return typeof a=="function"?a.call(l):a},escapeExpression:z.escapeExpression,invokePartial:r,fn:function(a){var l=t[a];return l.decorator=t[a+"_d"],l},programs:[],program:function(a,l,u,c,d){var h=this.programs[a],f=this.fn(a);return l||d||c||u?h=ot(this,a,f,l,u,c,d):h||(h=this.programs[a]=ot(this,a,f)),h},data:function(a,l){for(;a&&l--;)a=a._parent;return a},mergeIfNeeded:function(a,l){var u=a||l;return a&&l&&a!==l&&(u=z.extend({},l,a)),u},nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=a.data;s._setup(a),!a.partial&&t.useData&&(l=Pa(o,l));var u=void 0,c=t.useBlockParams?[]:void 0;t.useDepths&&(a.depths?u=o!=a.depths[0]?[o].concat(a.depths):a.depths:u=[o]);function d(h){return""+t.main(i,h,i.helpers,i.partials,l,c,u)}return d=hi(t.main,d,i,a.depths||[],l,c),d(o,a)}return s.isTop=!0,s._setup=function(o){if(o.partial)i.protoAccessControl=o.protoAccessControl,i.helpers=o.helpers,i.partials=o.partials,i.decorators=o.decorators,i.hooks=o.hooks;else{var a=z.extend({},e.helpers,o.helpers);Oa(a,i),i.helpers=a,t.usePartial&&(i.partials=i.mergeIfNeeded(o.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=z.extend({},e.decorators,o.decorators)),i.hooks={},i.protoAccessControl=ci.createProtoAccessControl(o);var l=o.allowCallsToHelperMissing||n;ui.moveHelperToHooks(i,"helperMissing",l),ui.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(o,a,l,u){if(t.useBlockParams&&!l)throw new G.default("must pass block params");if(t.useDepths&&!u)throw new G.default("must pass parent depths");return ot(i,o,t[o],a,0,l,u)},s}function ot(t,e,n,r,i,s,o){function a(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=o;return o&&l!=o[0]&&!(l===t.nullContext&&o[0]===null)&&(c=[l].concat(o)),n(t,l,t.helpers,t.partials,u.data||r,s&&[u.blockParams].concat(s),c)}return a=hi(n,a,t,o,r,s),a.program=e,a.depth=o?o.length:0,a.blockParams=i||0,a}function _a(t,e,n){return t?!t.call&&!n.name&&(n.name=t,t=n.partials[t]):n.name==="@partial-block"?t=n.data["partial-block"]:t=n.partials[n.name],t}function Ta(t,e,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var i=void 0;if(n.fn&&n.fn!==di&&function(){n.data=K.createFrame(n.data);var s=n.fn;i=n.data["partial-block"]=function(a){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=K.createFrame(l.data),l.data["partial-block"]=r,s(a,l)},s.partials&&(n.partials=z.extend({},n.partials,s.partials))}(),t===void 0&&i&&(t=i),t===void 0)throw new G.default("The partial "+n.name+" could not be found");if(t instanceof Function)return t(e,n)}function di(){return""}function Pa(t,e){return(!e||!("root"in e))&&(e=e?K.createFrame(e):{},e.root=t),e}function hi(t,e,n,r,i,s){if(t.decorator){var o={};e=t.decorator(e,o,n,r&&r[0],i,s,r),z.extend(e,o)}return e}function Oa(t,e){Object.keys(t).forEach(function(n){var r=t[n];t[n]=Ia(r,e)})}function Ia(t,e){var n=e.lookupProperty;return ka.wrapHelper(t,function(r){return z.extend({lookupProperty:n},r)})}});var mi=L((at,pi)=>{"use strict";at.__esModule=!0;at.default=function(t){var e=typeof global<"u"?global:window,n=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=n),t}};pi.exports=at.default});var ae=L((lt,wi)=>{"use strict";lt.__esModule=!0;function ln(t){return t&&t.__esModule?t:{default:t}}function un(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Aa=rn(),gi=un(Aa),Ca=ai(),Ra=ln(Ca),Ma=X(),Ha=ln(Ma),Na=q(),an=un(Na),Da=fi(),vi=un(Da),Ba=mi(),Qa=ln(Ba);function yi(){var t=new gi.HandlebarsEnvironment;return an.extend(t,gi),t.SafeString=Ra.default,t.Exception=Ha.default,t.Utils=an,t.escapeExpression=an.escapeExpression,t.VM=vi,t.template=function(e){return vi.template(e,t)},t}var ke=yi();ke.create=yi;Qa.default(ke);ke.default=ke;lt.default=ke;wi.exports=lt.default});var Gi=L((Wi,zi)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(d){return new t.Token(t.utils.asString(d).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var c=t.utils.clone(n)||{};c.position=[a,u],c.index=s.length,s.push(new t.Token(r.slice(a,o),c))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,c=0;u<s&&c<o;)a=r[u],l=i[c],a<l?u+=2:a>l?c+=2:a==l&&(n+=r[u+1]*i[c+1],u+=2,c+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,c="^("+s+")?"+i,d=new RegExp(a),h=new RegExp(u),f=new RegExp(l),m=new RegExp(c),g=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,x=/^(.+?)(ed|ing)$/,I=/.$/,F=/(at|bl|iz)$/,$=new RegExp("([^aeiouylsz])\\1$"),S=new RegExp("^"+s+i+"[^aeiouwxy]$"),R=/^(.+?[^aeiou])y$/,U=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,ee=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,ye=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,Oe=/^(.+?)(s|t)(ion)$/,te=/^(.+?)e$/,Ie=/ll$/,Ae=new RegExp("^"+s+i+"[^aeiouwxy]$"),we=function(y){var k,ne,Q,b,_,re,he;if(y.length<3)return y;if(Q=y.substr(0,1),Q=="y"&&(y=Q.toUpperCase()+y.substr(1)),b=g,_=v,b.test(y)?y=y.replace(b,"$1$2"):_.test(y)&&(y=y.replace(_,"$1$2")),b=w,_=x,b.test(y)){var T=b.exec(y);b=d,b.test(T[1])&&(b=I,y=y.replace(b,""))}else if(_.test(y)){var T=_.exec(y);k=T[1],_=m,_.test(k)&&(y=k,_=F,re=$,he=S,_.test(y)?y=y+"e":re.test(y)?(b=I,y=y.replace(b,"")):he.test(y)&&(y=y+"e"))}if(b=R,b.test(y)){var T=b.exec(y);k=T[1],y=k+"i"}if(b=U,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+e[ne])}if(b=ee,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+n[ne])}if(b=ye,_=Oe,b.test(y)){var T=b.exec(y);k=T[1],b=h,b.test(k)&&(y=k)}else if(_.test(y)){var T=_.exec(y);k=T[1]+T[2],_=h,_.test(k)&&(y=k)}if(b=te,b.test(y)){var T=b.exec(y);k=T[1],b=h,_=f,re=Ae,(b.test(k)||_.test(k)&&!re.test(k))&&(y=k)}return b=Ie,_=h,b.test(y)&&_.test(y)&&(b=I,y=y.replace(b,"")),Q=="y"&&(y=Q.toLowerCase()+y.substr(1)),y};return function(de){return de.update(we)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c=s.str.charAt(0),d=s.str.charAt(1),h;d in s.node.edges?h=s.node.edges[d]:(h=new t.TokenSet,s.node.edges[d]=h),s.str.length==1&&(h.final=!0),i.push({node:h,editsRemaining:s.editsRemaining-1,str:c+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var c=s[u],d=0;d<l;d++){var h=a[d];if(h==c||c=="*"){var f=r.node.edges[h],m=r.qNode.edges[c],g=f.final&&m.final,v=void 0;h in r.output.edges?(v=r.output.edges[h],v.final=v.final||g):(v=new t.TokenSet,v.final=g,r.output.edges[h]=v),i.push({qNode:m,output:v,node:f})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],c=null,d=t.Set.empty;u.usePipeline?c=this.pipeline.runString(u.term,{fields:u.fields}):c=[u.term];for(var h=0;h<c.length;h++){var f=c[h];u.term=f;var m=t.TokenSet.fromClause(u),g=this.tokenSet.intersect(m).toArray();if(g.length===0&&u.presence===t.Query.presence.REQUIRED){for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=t.Set.empty}break}for(var x=0;x<g.length;x++)for(var I=g[x],F=this.invertedIndex[I],$=F._index,v=0;v<u.fields.length;v++){var w=u.fields[v],S=F[w],R=Object.keys(S),U=I+"/"+w,ee=new t.Set(R);if(u.presence==t.Query.presence.REQUIRED&&(d=d.union(ee),o[w]===void 0&&(o[w]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[w]===void 0&&(a[w]=t.Set.empty),a[w]=a[w].union(ee);continue}if(i[w].upsert($,u.boost,function(Ts,Ps){return Ts+Ps}),!s[U]){for(var ye=0;ye<R.length;ye++){var Oe=R[ye],te=new t.FieldRef(Oe,w),Ie=S[Oe],Ae;(Ae=r[te])===void 0?r[te]=new t.MatchData(I,w,Ie):Ae.add(I,w,Ie)}s[U]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=o[w].intersect(d)}}for(var we=t.Set.complete,de=t.Set.empty,l=0;l<this.fields.length;l++){var w=this.fields[l];o[w]&&(we=we.intersect(o[w])),a[w]&&(de=de.union(a[w]))}var y=Object.keys(r),k=[],ne=Object.create(null);if(n.isNegated()){y=Object.keys(this.fieldVectors);for(var l=0;l<y.length;l++){var te=y[l],Q=t.FieldRef.fromString(te);r[te]=new t.MatchData}}for(var l=0;l<y.length;l++){var Q=t.FieldRef.fromString(y[l]),b=Q.docRef;if(we.contains(b)&&!de.contains(b)){var _=this.fieldVectors[Q],re=i[Q.fieldName].similarity(_),he;if((he=ne[b])!==void 0)he.score+=re,he.matchData.combine(r[Q]);else{var T={ref:b,score:re,matchData:r[Q]};ne[b]=T,k.push(T)}}}return k.sort(function(Ls,_s){return _s.score-Ls.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=i[u],d=c[0],h=c[1];r[d]=new t.Vector(h)}for(var u=0;u<o.length;u++){var c=o[u],f=c[0],m=c[1];a.insert(f),s[f]=m}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),c=this.pipeline.run(u),d=new t.FieldRef(r,o),h=Object.create(null);this.fieldTermFrequencies[d]=h,this.fieldLengths[d]=0,this.fieldLengths[d]+=c.length;for(var f=0;f<c.length;f++){var m=c[f];if(h[m]==null&&(h[m]=0),h[m]+=1,this.invertedIndex[m]==null){var g=Object.create(null);g._index=this.termIndex,this.termIndex+=1;for(var v=0;v<i.length;v++)g[i[v]]=Object.create(null);this.invertedIndex[m]=g}this.invertedIndex[m][o][r]==null&&(this.invertedIndex[m][o][r]=Object.create(null));for(var w=0;w<this.metadataWhitelist.length;w++){var x=this.metadataWhitelist[w],I=m.metadata[x];this.invertedIndex[m][o][r][x]==null&&(this.invertedIndex[m][o][r][x]=[]),this.invertedIndex[m][o][r][x].push(I)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,c=this.fieldTermFrequencies[o],d=Object.keys(c),h=d.length,f=this._fields[a].boost||1,m=this._documents[o.docRef].boost||1,g=0;g<h;g++){var v=d[g],w=c[v],x=this.invertedIndex[v]._index,I,F,$;i[v]===void 0?(I=t.idf(this.invertedIndex[v],this.documentCount),i[v]=I):I=i[v],F=I*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+w),F*=f,F*=m,$=Math.round(F*1e3)/1e3,u.insert(x,$)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var c=l[u];this.metadata[i][a][c]==null?this.metadata[i][a][c]=e.metadata[i][a][c]:this.metadata[i][a][c]=this.metadata[i][a][c].concat(e.metadata[i][a][c])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof Wi=="object"?zi.exports=n():e.lunr=n()}(this,function(){return t})})()});var Gn=new URLSearchParams(window.location.search),Kn=window.self!==window.parent,Tt=Kn&&Gn.has("preview"),Pt=Kn&&Gn.has("hint"),A=Tt||Pt;function Ce(){return window.sidebarNodes||{}}function Yn(){return window.versionNodes||[]}function Jn(){return window.searchNodes||[]}var p=document.querySelector.bind(document),M=document.querySelectorAll.bind(document);function Xn(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Me(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function He(){return document.getElementById("main").dataset.type}var Re=["H1","H2","H3","H4","H5","H6"];function Ne(t=!1){let e=window.location.hash.replace(/^#/,"");if(!e)return t?document.getElementById("top-content"):null;let n=document.getElementById(e);if(!n)return null;if(n.matches(".detail"))return n;if(Re.includes(n.tagName))return Ot(n);let r=Hs(n);return r||document.getElementById("top-content")}function Hs(t){let e=t.previousElementSibling;for(;e;){if(Re.includes(e.tagName))return Ot(e);e=e.previousElementSibling}let n=t.parentNode;for(;n;){for(e=n.previousElementSibling;e;){if(Re.includes(e.tagName))return Ot(e);e=e.previousElementSibling}n=n.parentNode}return null}function Ot(t){let e=document.createElement("div"),n=[t],r=t;for(;(r=r.nextSibling)&&!(Re.includes(r.tagName)&&r.tagName<=t.tagName);)n.push(r);return e.append(...n),e}function It(t){return new URLSearchParams(window.location.search).get(t)}function At(t){return fetch(t).then(e=>e.ok).catch(()=>!1)}function fe(t){return!t||t.trim()===""}function Zn(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,t(...i)},e)}}function De(){return document.head.querySelector("meta[name=project][content]").content}function Be(){return document.documentElement.classList.contains("apple-os")}function E(t,e,n){let r=document.createElement(t);for(let i in e)e[i]!=null&&r.setAttribute(i,e[i]);return n&&r.replaceChildren(...n),r}if(Tt&&A){let t=Ne(!0);if(t){document.body.classList.add("preview"),document.getElementById("content").replaceChildren(...t.childNodes);let e=document.getElementsByTagName("a:not([target=_blank]");for(let n of e)n.setAttribute("target","_parent");window.scrollTo(0,0),document.body.style.position="fixed",setTimeout(er),window.addEventListener("resize",er)}}function er(){let t={type:"preview",contentHeight:document.getElementById("content").parentElement.offsetHeight};window.parent.postMessage(t,"*")}var ie={plain:"plain",function:"function",module:"module"},Ns=[{href:"typespecs.html#basic-types",hint:{kind:ie.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:ie.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:ie.plain,description:"Built-in type"}}],Qe={cancelHintFetching:null};function tr(t){if(rr(t))return!0;let e=/#.*\//;return t.includes("#")&&!e.test(t)?!1:t.includes(".html")}function nr(t){let e=rr(t);return e?Promise.resolve(e):Ds(t)}function rr(t){let e=Ns.find(n=>t.includes(n.href));return e?e.hint:null}function Ds(t){let e=t.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("src",e),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;e===l&&(o(),n(u))}Qe.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Qe.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function ir(){Qe.cancelHintFetching&&Qe.cancelHintFetching()}function sr(t){let n=t.querySelector("h1").textContent,r=t.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:ie.function,title:n.trim(),description:i.trim()}}function or(t){let n=t.querySelector("h1 > span").textContent,r=t.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:ie.module,title:n.trim(),description:i.trim()}}if(Pt&&A){let t=Ne(),e=t?sr(t):["modules","tasks"].includes(He())?or(p(".content-inner")):null;if(e){let n={hint:{...e,version:De()},href:window.location.href};window.parent.postMessage(n,"*")}p(".content-inner")?.replaceChildren()}var Ct="ex_doc:settings",ar="dark",Rt="system",Mt="dark",Ht="light";var Bs={tooltips:!0,theme:null,livebookUrl:null},Nt=class{constructor(){this._subscribers=[],this._settings=Bs,this._loadSettings()}get(){return this._settings}update(e){let n=this._settings;this._settings={...this._settings,...e},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(e){this._subscribers.push(e),e(this._settings)}_loadSettings(){try{let e=localStorage.getItem(Ct);if(e){let n=JSON.parse(e);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(e){console.error(`Failed to load settings: ${e}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(Ct,JSON.stringify(this._settings))}catch(e){console.error(`Failed to persist settings: ${e}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},H=new Nt;var lr=!1,Fe=null,J=null;function ur(t){lr||(lr=!0,J=document.getElementById("toast"),J?.addEventListener("click",()=>{clearTimeout(Fe),J.classList.remove("show")})),J&&(clearTimeout(Fe),J.innerText=t,J.classList.add("show"),Fe=setTimeout(()=>{J.classList.remove("show"),Fe=setTimeout(function(){J.innerText=""},1e3)},5e3))}var Dt=[Rt,Mt,Ht],cr=window.matchMedia("(prefers-color-scheme: dark)");H.getAndSubscribe(dr);cr.addEventListener("change",dr);function dr(){let t=qe(),e=t===Mt||t!==Ht&&cr.matches;document.body.classList.toggle(ar,e)}function hr(){let t=Dt[Dt.indexOf(qe())+1]||Dt[0];H.update({theme:t}),ur(`Set theme to "${t}"`)}function qe(){return new URLSearchParams(window.location.search).get("theme")||H.get().theme||Rt}var Lr=Y(vr());var Qt="sidebar_state",Ft="closed",yr="open",wr="sidebar_width";var $e="sidebar-open",Ue="sidebar-transition";var br=!1;function Er(){if(br)return;br=!0;let t=document.getElementById("sidebar-list-nav");if(!t)return;let e=He(),n={extras:t.dataset.extras||"Pages",modules:"Modules",tasks:'<span translate="no">Mix</span> Tasks'};Object.entries(n).forEach(([r,i])=>{let s=Ce()[r];if(!s?.length)return;let o=`${r}-list-tab-button`,a=`${r}-tab-panel`,l=r===e,u=E("button",{id:o,role:"tab",tabindex:l?0:-1,"aria-selected":l||void 0,"aria-controls":a});u.innerHTML=i,u.addEventListener("keydown",io),u.addEventListener("click",so),t.appendChild(E("li",{},[u]));let c=E("ul",{class:"full-list"});c.addEventListener("click",oo);let d=E("div",{id:a,class:"sidebar-tabpanel",role:"tabpanel","aria-labelledby":o,hidden:l?void 0:""},[c]);document.getElementById("sidebar").appendChild(d);let h="",f,m;c.replaceChildren(...s.flatMap(g=>{let v=[],w=Array.isArray(g.headers),x=w?void 0:"no";return g.group!==h&&(v.push(E("li",{class:"group",translate:x},[g.group])),h=g.group,f=void 0),g.nested_context&&g.nested_context!==f?(f=g.nested_context,m!==f&&v.push(E("li",{class:"nesting-context",translate:"no","aria-hidden":!0},[f]))):m=g.title,v.push(E("li",{},[E("a",{href:`${g.id}.html`,translate:x},[g.nested_title||g.title]),...Vt(`node-${g.id}-headers`,w?no(g):ro(g))])),v}))}),qt(),requestAnimationFrame(xr),window.addEventListener("hashchange",qt),window.addEventListener("exdoc:loaded",qt)}function Vt(t,e){return e.length?[E("button",{"aria-label":"expand","aria-expanded":!1,"aria-controls":t}),E("ul",{id:t},e)]:[]}function no(t){return t.headers.map(({id:e,anchor:n})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[e])]))}function ro(t){let e=[];return t.sections?.length&&e.push(E("li",{},[E("a",{href:`${t.id}.html#content`},["Sections"]),...Vt(`${t.id}-sections-list`,t.sections.map(({id:n,anchor:r})=>E("li",{},[E("a",{href:`${t.id}.html#${r}`},[n])])))])),t.nodeGroups&&(e.push(E("li",{},[E("a",{href:`${t.id}.html#summary`},["Summary"])])),e.push(...t.nodeGroups.map(({key:n,name:r,nodes:i})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[r]),...Vt(`node-${t.id}-group-${n}-list`,i.map(({anchor:s,title:o,id:a})=>E("li",{},[E("a",{href:`${t.id}.html#${s}`,title:o,translate:"no"},[a])])))])))),e}function $t(t){let e=document.getElementById("sidebar-list-nav").querySelector("[aria-selected]");e!==t&&(e&&(e.removeAttribute("aria-selected"),e.setAttribute("tabindex","-1"),document.getElementById(e.getAttribute("aria-controls")).setAttribute("hidden","hidden")),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),document.getElementById(t.getAttribute("aria-controls")).removeAttribute("hidden"))}function xr(){p("#sidebar [role=tabpanel]:not([hidden]) a[aria-selected]")?.scrollIntoView()}function qt(){let t=document.getElementById("sidebar"),{pathname:e,hash:n}=window.location,r=e.split("/").pop().replace(/\.html$/,"")+".html",i=t.querySelector(`li a[href="${r+n}"]`)||t.querySelector(`li a[href="${r}"]`);if(!i)return;t.querySelectorAll(".full-list a[aria-selected]").forEach(o=>{o.removeAttribute("aria-selected")}),t.querySelectorAll(".full-list button[aria-expanded=true]").forEach(o=>{o.setAttribute("aria-expanded",!1)});let s=i.parentElement;for(;s;){if(s.tagName==="LI"){let o=s.firstChild;o.setAttribute("aria-selected",o.getAttribute("href")===r?"page":"true");let a=o.nextSibling;a?.tagName==="BUTTON"&&a.setAttribute("aria-expanded",!0)}else if(s.role==="tabpanel"){s.hasAttribute("hidden")&&$t(document.getElementById(s.getAttribute("aria-labelledby")));break}s=s.parentElement}}function io(t){if(!["ArrowRight","ArrowLeft"].includes(t.key))return;let e=Array.from(M('#sidebar-list-nav [role="tab"]')),r=e.indexOf(t.currentTarget)+(t.key==="ArrowRight"?1:-1),i=e.at(r%e.length);$t(i),i.focus()}function so(t){$t(t.currentTarget),xr()}function oo(t){let e=t.target;e.tagName==="BUTTON"&&e.setAttribute("aria-expanded",e.getAttribute("aria-expanded")==="false")}var lo=300,_r=".sidebar-toggle",Tr=window.matchMedia(`screen and (max-width: ${768}px)`);if(!A){window.addEventListener("exdoc:loaded",kr);let t=document.getElementById("sidebar"),e=p(_r);e.addEventListener("click",je),document.body.addEventListener("click",i=>{Tr.matches&&Pr()&&!t.contains(i.target)&&!e.contains(i.target)&&je()});let n=window.innerWidth;window.addEventListener("resize",(0,Lr.default)(()=>{n!==window.innerWidth&&(n=window.innerWidth,kr())},100));let r=new ResizeObserver(([i])=>{if(!i)return;let s=i.contentRect.width;sessionStorage.setItem(wr,s),document.body.style.setProperty("--sidebarWidth",`${s}px`)});t.addEventListener("mousedown",()=>r.observe(t)),t.addEventListener("mouseup",()=>r.unobserve(t))}function kr(){let e=sessionStorage.getItem(Qt)!==Ft&&!Tr.matches;Ir(e)}function je(){let t=!Pr();return sessionStorage.setItem(Qt,t?yr:Ft),Ar(t)}function Pr(){return document.body.classList.contains($e)}function Or(){return document.body.classList.contains($e)&&!document.body.classList.contains(Ue)}function Ir(t){t&&Er(),document.body.classList.toggle($e,t),p(_r).setAttribute("aria-expanded",t?"true":"false")}var Sr;function Ar(t){return new Promise(e=>{document.body.classList.add(Ue),document.body.scrollTop,Ir(t),clearTimeout(Sr),Sr=setTimeout(()=>{document.body.classList.remove(Ue),e()},lo)})}function Cr(){return Ar(!0)}var bi=Y(ae());var cn=Y(ae());cn.registerHelper("isArray",function(t,e){return Array.isArray(t)?e.fn(this):e.inverse(this)});cn.registerHelper("isNonEmptyArray",function(t,e){return Array.isArray(t)&&t.length>0?e.fn(this):e.inverse(this)});var Ei=bi.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <option translate="no" value="'+c((o=(o=d(n,"url")||(e!=null?d(e,"url"):e))!=null?o:l,typeof o===u?o.call(a,{name:"url",hash:{},data:i,loc:{start:{line:7,column:38},end:{line:7,column:45}}}):o))+'"'+((s=d(n,"if").call(a,e!=null?d(e,"isCurrentVersion"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:7,column:46},end:{line:7,column:95}}}))!=null?s:"")+`> `+c((o=(o=d(n,"version")||(e!=null?d(e,"version"):e))!=null?o:l,typeof o===u?o.call(a,{name:"version",hash:{},data:i,loc:{start:{line:8,column:10},end:{line:8,column:21}}}):o))+` </option> `},2:function(t,e,n,r,i){return" selected disabled"},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <div class="sidebar-staleVersion"> @@ -19,7 +19,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `+((s=a(n,"each").call(o,e!=null?a(e,"nodes"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:6,column:6},end:{line:10,column:15}}}))!=null?s:"")+` </select> </label> `+((s=a(n,"if").call(o,e!=null?a(e,"latestVersion"):e,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:2},end:{line:19,column:9}}}))!=null?s:"")+`</form> -`},useData:!0});var Qa=".sidebar-projectVersion",Ei=".sidebar-projectVersion select",qa=".sidebar-staleVersion a";if(!A){let t=Kn(),e=f(Qa);if(t.length>0||!e){let n=e.textContent.trim(),i=(t.some(u=>u.version===n)?t:[{version:n,url:"#"},...t]).map(u=>({...u,isCurrentVersion:u.version===n})),s=t.find(u=>u.latest),o=s?.version!==n&&!n.includes("-")?s?.url:null;e.innerHTML=bi({nodes:i,latestVersion:o});let a=f(Ei);a.addEventListener("change",Va),Fa(a);let l=f(qa);l&&l.addEventListener("click",$a)}}function Fa(t){let e=document.createElement("span");e.style.visibility="hidden",e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.font=window.getComputedStyle(t).font,e.textContent=t.options[t.selectedIndex].text,document.body.appendChild(e),t.style.width=`${e.offsetWidth+20}px`,document.body.removeChild(e)}function Va(t){let e=t.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;At(r).then(i=>{i?window.location.href=r:window.location.href=e})}function $a(t){let e=this.href,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;t.preventDefault(),At(r).then(i=>{i?window.location.href=r:window.location.href=e})}function dn(){let t=f(Ei);t&&(t.focus(),t.addEventListener("keydown",e=>{(e.key==="Escape"||e.key==="v")&&(e.preventDefault(),t.blur())}),navigator.userActivation.isActive&&"showPicker"in HTMLSelectElement.prototype&&t.showPicker())}var Ua="content",ja="tabs-open",Wa="tabs-close",za="H3",Ga="tabset";window.addEventListener("exdoc:loaded",Ka);function Ka(){let t=[],e=[],n=document.createNodeIterator(document.getElementById(Ua),NodeFilter.SHOW_COMMENT,i=>i.nodeValue.trim()===ja?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT),r;for(;r=n.nextNode();){let i=[];t.push([r,i]);let s,o=r;for(;o=o.nextSibling;)if(o.nodeName===za){s=[];let a=o.querySelector(".text")?.childNodes||o.childNodes;i.push([a,s]),e.push(o)}else if(o.nodeName==="#comment"&&o.nodeValue.trim()===Wa){e.push(o);break}else s&&s.push(o)}t.forEach(([i,s],o)=>{let a=E("div",{class:Ga});i.parentNode.replaceChild(a,i);let l=E("div",{role:"tablist",class:"tabset-tablist"});a.appendChild(l),s.forEach(([u,c],d)=>{let h=d===0,p=`tab-${o}-${d}`,m=`tabpanel-${o}-${d}`,g=E("button",{role:"tab",id:p,class:"tabset-tab",tabindex:h?0:-1,"aria-selected":h,"aria-controls":m},u);g.addEventListener("click",Ya),g.addEventListener("keydown",Ja),l.appendChild(g);let v=E("div",{role:"tabpanel",id:m,class:"tabset-panel",hidden:h?void 0:"",tabindex:h?0:-1,"aria-labelledby":p},c);a.appendChild(v)})}),e.forEach(i=>{i.parentNode.removeChild(i)})}function Ya(t){ki(t.currentTarget)}function Ja(t){if(xi[t.code]){t.preventDefault();let e=[...t.currentTarget.parentNode.childNodes],n=e.indexOf(t.currentTarget),r=xi[t.code](n,e.length);ki(e.at(r%e.length))}}var xi={ArrowLeft:t=>t-1,ArrowRight:t=>t+1,Home:()=>0,End:(t,e)=>e-1};function ki(t){let e=t.parentNode.querySelector("[aria-selected=true]");if(e===t)return;e.setAttribute("aria-selected","false"),e.tabIndex=-1,t.setAttribute("aria-selected","true"),t.tabIndex=0,t.focus();let n=document.getElementById(e.getAttribute("aria-controls"));n.setAttribute("hidden",""),n.tabIndex=-1;let r=document.getElementById(t.getAttribute("aria-controls"));r.removeAttribute("hidden"),r.tabIndex=0}window.addEventListener("exdoc:loaded",Xa);function Xa(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),e=encodeURIComponent(new URL(t,window.location.href).toString());H.getAndSubscribe(({livebookUrl:n})=>{let r=n?`${n}/import?url=${e}`:`https://livebook.dev/run?url=${e}`;for(let i of M(".livebook-badge"))i.href=r})}var Za="hll";window.addEventListener("exdoc:loaded",el);function el(){M("[data-group-id]").forEach(t=>{t.addEventListener("mouseenter",Si),t.addEventListener("mouseleave",Si)})}function Si(t){let e=t.currentTarget,n=t.type==="mouseenter",r=e.getAttribute("data-group-id");e.parentElement.querySelectorAll(`[data-group-id="${r}"]`).forEach(i=>{i.classList.toggle(Za,n)})}var W={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Ti(t,e=8){if(he(t))return[];let n=Ae(),r=[...hn(n.modules,t,W.module,"module"),...tl(n.modules,t,W.moduleChild),...hn(n.tasks,t,W.mixTask,"mix task"),...hn(n.extras,t,W.extra,"page"),...fn(n.modules,t,W.section,"module"),...fn(n.tasks,t,W.section,"mix task"),...fn(n.extras,t,W.section,"page")].filter(i=>i!==null);return ll(r).slice(0,e)}function hn(t,e,n,r){return t.map(i=>i.searchData?null:rl(i,e,n,r))}function tl(t,e,n){return t.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=al(i);return s.map(a=>il(a,r.id,e,n,o)||ol(a,r.id,e,n,o))}))}function fn(t,e,n,r){return t.flatMap(i=>nl(i).map(s=>sl(i,s,e,n,r)))}function nl(t){return t.searchData?t.searchData:(t.sections||[]).concat(t.headers||[])}function rl(t,e,n,r){return ut(t.title,e)?{link:`${t.id}.html`,title:ht(t.title,e),description:null,matchQuality:ct(t.title,e),deprecated:t.deprecated,labels:[r],category:n}:null}function il(t,e,n,r,i){return ut(t.id,n)?{link:`${e}.html#${t.anchor}`,title:ht(t.id,n),labels:[i],description:e,matchQuality:ct(t.id,n),deprecated:t.deprecated,category:r}:null}function sl(t,e,n,r,i){if(!_i(e.id,n))return null;let s;return e.anchor===""?s=`${t.id}.html`:s=`${t.id}.html#${e.anchor}`,{link:s,title:ht(e.id,n),description:t.title,matchQuality:ct(e.id,n),labels:e.labels||[i,"section"],category:r}}function ol(t,e,n,r,i){let s=`${e}.${t.id}`,o=`${e}:${t.id}`,a,l;if(ut(s,n))a=s,l=/\./g;else if(ut(o,n))a=o,l=/:/g;else return null;let u=n.replace(l," ");return _i(t.id,u)?{link:`${e}.html#${t.anchor}`,title:ht(t.id,u),label:i,description:e,matchQuality:ct(a,n),deprecated:t.deprecated,category:r}:null}function al(t){switch(t){case"callbacks":return"callback";case"types":return"type";default:return"function"}}function ll(t){return t.slice().sort((e,n)=>e.matchQuality!==n.matchQuality?n.matchQuality-e.matchQuality:Li(e.category)-Li(n.category))}function Li(t){switch(t){case W.module:return 1;case W.moduleChild:return 2;case W.mixTask:return 3;default:return 4}}function _i(t,e){return dt(e).some(r=>Pi(t,r))}function ut(t,e){return dt(e).every(r=>Pi(t,r))}function Pi(t,e){return t.toLowerCase().includes(e.toLowerCase())}function ct(t,e){let n=dt(e),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/t.length,s=ul(t,n[0])?1:0;return i+s}function ul(t,e){return t.toLowerCase().startsWith(e.toLowerCase())}function dt(t){return t.trim().split(/\s+/)}function ht(t,e){let n=dt(e).sort((r,i)=>i.length-r.length);return lt(t,n)}function lt(t,e){if(e.length===0)return t;let[n,...r]=e,i=t.match(new RegExp(`(.*)(${Yn(n)})(.*)`,"i"));if(i){let[,s,o,a]=i;return lt(s,e)+"<em>"+Re(o)+"</em>"+lt(a,e)}else return lt(t,r)}var Oi=Y(ae());var Ii=Oi.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,p){if(Object.prototype.hasOwnProperty.call(h,p))return h[p]};return' <a href="'+c((o=(o=d(n,"link")||(e!=null?d(e,"link"):e))!=null?o:l,typeof o===u?o.call(a,{name:"link",hash:{},data:i,loc:{start:{line:14,column:15},end:{line:14,column:23}}}):o))+'" class="autocomplete-suggestion" data-index="'+c((o=(o=d(n,"index")||i&&d(i,"index"))!=null?o:l,typeof o===u?o.call(a,{name:"index",hash:{},data:i,loc:{start:{line:14,column:69},end:{line:14,column:79}}}):o))+`" tabindex="-1"> +`},useData:!0});var Fa=".sidebar-projectVersion",xi=".sidebar-projectVersion select",qa=".sidebar-staleVersion a";if(!A){let t=Yn(),e=p(Fa);if(t.length>0||!e){let n=e.textContent.trim(),i=(t.some(u=>u.version===n)?t:[{version:n,url:"#"},...t]).map(u=>({...u,isCurrentVersion:u.version===n})),s=t.find(u=>u.latest),o=s?.version!==n&&!n.includes("-")?s?.url:null;e.innerHTML=Ei({nodes:i,latestVersion:o});let a=p(xi);a.addEventListener("change",$a),Va(a);let l=p(qa);l&&l.addEventListener("click",Ua)}}function Va(t){let e=document.createElement("span");e.style.visibility="hidden",e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.font=window.getComputedStyle(t).font,e.textContent=t.options[t.selectedIndex].text,document.body.appendChild(e),t.style.width=`${e.offsetWidth+20}px`,document.body.removeChild(e)}function $a(t){let e=t.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;At(r).then(i=>{i?window.location.href=r:window.location.href=e})}function Ua(t){let e=this.href,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;t.preventDefault(),At(r).then(i=>{i?window.location.href=r:window.location.href=e})}function dn(){let t=p(xi);t&&(t.focus(),t.addEventListener("keydown",e=>{(e.key==="Escape"||e.key==="v")&&(e.preventDefault(),t.blur())}),navigator.userActivation.isActive&&"showPicker"in HTMLSelectElement.prototype&&t.showPicker())}var ja="content",Wa="tabs-open",za="tabs-close",Ga="H3",Ka="tabset";window.addEventListener("exdoc:loaded",Ya);function Ya(){let t=[],e=[],n=document.createNodeIterator(document.getElementById(ja),NodeFilter.SHOW_COMMENT,i=>i.nodeValue.trim()===Wa?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT),r;for(;r=n.nextNode();){let i=[];t.push([r,i]);let s,o=r;for(;o=o.nextSibling;)if(o.nodeName===Ga){s=[];let a=o.querySelector(".text")?.childNodes||o.childNodes;i.push([a,s]),e.push(o)}else if(o.nodeName==="#comment"&&o.nodeValue.trim()===za){e.push(o);break}else s&&s.push(o)}t.forEach(([i,s],o)=>{let a=E("div",{class:Ka});i.parentNode.replaceChild(a,i);let l=E("div",{role:"tablist",class:"tabset-tablist"});a.appendChild(l),s.forEach(([u,c],d)=>{let h=d===0,f=`tab-${o}-${d}`,m=`tabpanel-${o}-${d}`,g=E("button",{role:"tab",id:f,class:"tabset-tab",tabindex:h?0:-1,"aria-selected":h,"aria-controls":m},u);g.addEventListener("click",Ja),g.addEventListener("keydown",Xa),l.appendChild(g);let v=E("div",{role:"tabpanel",id:m,class:"tabset-panel",hidden:h?void 0:"",tabindex:h?0:-1,"aria-labelledby":f},c);a.appendChild(v)})}),e.forEach(i=>{i.parentNode.removeChild(i)})}function Ja(t){Si(t.currentTarget)}function Xa(t){if(ki[t.code]){t.preventDefault();let e=[...t.currentTarget.parentNode.childNodes],n=e.indexOf(t.currentTarget),r=ki[t.code](n,e.length);Si(e.at(r%e.length))}}var ki={ArrowLeft:t=>t-1,ArrowRight:t=>t+1,Home:()=>0,End:(t,e)=>e-1};function Si(t){let e=t.parentNode.querySelector("[aria-selected=true]");if(e===t)return;e.setAttribute("aria-selected","false"),e.tabIndex=-1,t.setAttribute("aria-selected","true"),t.tabIndex=0,t.focus();let n=document.getElementById(e.getAttribute("aria-controls"));n.setAttribute("hidden",""),n.tabIndex=-1;let r=document.getElementById(t.getAttribute("aria-controls"));r.removeAttribute("hidden"),r.tabIndex=0}window.addEventListener("exdoc:loaded",Za);function Za(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),e=encodeURIComponent(new URL(t,window.location.href).toString());H.getAndSubscribe(({livebookUrl:n})=>{let r=n?`${n}/import?url=${e}`:`https://livebook.dev/run?url=${e}`;for(let i of M(".livebook-badge"))i.href=r})}var el="hll";window.addEventListener("exdoc:loaded",tl);function tl(){M("[data-group-id]").forEach(t=>{t.addEventListener("mouseenter",Li),t.addEventListener("mouseleave",Li)})}function Li(t){let e=t.currentTarget,n=t.type==="mouseenter",r=e.getAttribute("data-group-id");e.parentElement.querySelectorAll(`[data-group-id="${r}"]`).forEach(i=>{i.classList.toggle(el,n)})}function le(t,e,n={}){typeof e=="string"&&(e=e.split(/\s+/));let r=e.sort((i,s)=>s.length-i.length);return ut(t,r,n)}function ut(t,e,n){if(e.length===0)return t;let r="i";n.multiline&&(r="is");let[i,...s]=e,o=t.match(new RegExp(`(.*)(${Xn(i)})(.*)`,r));if(o){let[,a,l,u]=o;return ut(a,e,n)+"<em>"+Me(l)+"</em>"+ut(u,e,n)}else return ut(t,s,n)}var W={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Ti(t,e=8){if(fe(t))return[];let n=Ce(),r=[...hn(n.modules,t,W.module,"module"),...nl(n.modules,t,W.moduleChild),...hn(n.tasks,t,W.mixTask,"mix task"),...hn(n.extras,t,W.extra,"page"),...fn(n.modules,t,W.section,"module"),...fn(n.tasks,t,W.section,"mix task"),...fn(n.extras,t,W.section,"page")].filter(i=>i!==null);return ul(r).slice(0,e)}function hn(t,e,n,r){return t.map(i=>i.searchData?null:il(i,e,n,r))}function nl(t,e,n){return t.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=ll(i);return s.map(a=>sl(a,r.id,e,n,o)||al(a,r.id,e,n,o))}))}function fn(t,e,n,r){return t.flatMap(i=>rl(i).map(s=>ol(i,s,e,n,r)))}function rl(t){return t.searchData?t.searchData:(t.sections||[]).concat(t.headers||[])}function il(t,e,n,r){return ct(t.title,e)?{link:`${t.id}.html`,title:le(t.title,e),description:null,matchQuality:dt(t.title,e),deprecated:t.deprecated,labels:[r],category:n}:null}function sl(t,e,n,r,i){return ct(t.id,n)?{link:`${e}.html#${t.anchor}`,title:le(t.id,n),labels:[i],description:e,matchQuality:dt(t.id,n),deprecated:t.deprecated,category:r}:null}function ol(t,e,n,r,i){if(!Pi(e.id,n))return null;let s;return e.anchor===""?s=`${t.id}.html`:s=`${t.id}.html#${e.anchor}`,{link:s,title:le(e.id,n),description:t.title,matchQuality:dt(e.id,n),labels:e.labels||[i,"section"],category:r}}function al(t,e,n,r,i){let s=`${e}.${t.id}`,o=`${e}:${t.id}`,a,l;if(ct(s,n))a=s,l=/\./g;else if(ct(o,n))a=o,l=/:/g;else return null;let u=n.replace(l," ");return Pi(t.id,u)?{link:`${e}.html#${t.anchor}`,title:le(t.id,u),label:i,description:e,matchQuality:dt(a,n),deprecated:t.deprecated,category:r}:null}function ll(t){switch(t){case"callbacks":return"callback";case"types":return"type";default:return"function"}}function ul(t){return t.slice().sort((e,n)=>e.matchQuality!==n.matchQuality?n.matchQuality-e.matchQuality:_i(e.category)-_i(n.category))}function _i(t){switch(t){case W.module:return 1;case W.moduleChild:return 2;case W.mixTask:return 3;default:return 4}}function Pi(t,e){return pn(e).some(r=>Oi(t,r))}function ct(t,e){return pn(e).every(r=>Oi(t,r))}function Oi(t,e){return t.toLowerCase().includes(e.toLowerCase())}function dt(t,e){let n=pn(e),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/t.length,s=cl(t,n[0])?1:0;return i+s}function cl(t,e){return t.toLowerCase().startsWith(e.toLowerCase())}function pn(t){return t.trim().split(/\s+/)}var Ii=Y(ae());var Ai=Ii.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <a href="'+c((o=(o=d(n,"link")||(e!=null?d(e,"link"):e))!=null?o:l,typeof o===u?o.call(a,{name:"link",hash:{},data:i,loc:{start:{line:14,column:15},end:{line:14,column:23}}}):o))+'" class="autocomplete-suggestion" data-index="'+c((o=(o=d(n,"index")||i&&d(i,"index"))!=null?o:l,typeof o===u?o.call(a,{name:"index",hash:{},data:i,loc:{start:{line:14,column:69},end:{line:14,column:79}}}):o))+`" tabindex="-1"> <div class="title"> `+((s=d(n,"if").call(a,e!=null?d(e,"deprecated"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.program(4,i,0),data:i,loc:{start:{line:16,column:10},end:{line:20,column:17}}}))!=null?s:"")+` `+((s=d(n,"each").call(a,e!=null?d(e,"labels"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:22,column:10},end:{line:24,column:19}}}))!=null?s:"")+` <div class="autocomplete-preview-indicator autocomplete-preview-indicator-open"> @@ -58,7 +58,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `+((s=l(n,"each").call(a,e!=null?l(e,"suggestions"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:6},end:{line:45,column:15}}}))!=null?s:"")+` </div> </div> </div> -`},useData:!0});var pe=".autocomplete",pt=".autocomplete-suggestions",ft=".autocomplete-suggestion",C={autocompleteSuggestions:[],previewOpen:!1,selectedIdx:-1};function cl(){f(pe).classList.add("shown")}function pn(){f(pe).classList.remove("shown")}function Ai(){return f(pe).classList.contains("shown")}function mn(t){C.autocompleteSuggestions=Ti(t),C.selectedIdx=-1,he(t)?pn():(dl({term:t,suggestions:C.autocompleteSuggestions}),mt(0),cl())}function dl({term:t,suggestions:e}){let n=Ii({suggestions:e,term:t}),r=f(pe);r.innerHTML=n}function gn(){return C.selectedIdx===-1?null:C.autocompleteSuggestions[C.selectedIdx]}function mt(t){Ri(hl(t))}function Ci(t){if(t.data.type==="preview"){let{contentHeight:e}=t.data,n=f(".autocomplete-preview");n&&(n.style.height=`${e+32}px`,n.classList.remove("loading"))}}function Ri(t){C.selectedIdx=t;let e=f(pt),n=f(`${ft}.selected`),r=f(`${ft}[data-index="${C.selectedIdx}"]`);if(n&&n.classList.remove("selected"),r){if(C.previewOpen){Hi(),window.addEventListener("message",Ci),e.classList.add("previewing");let i=document.createElement("div");i.classList.add("autocomplete-preview"),i.classList.add("loading");let s=r.href.replace(".html",`.html?preview=true&theme=${qe()}`),o=document.createElement("iframe");o.setAttribute("src",s),i.appendChild(document.createElement("div")),i.appendChild(document.createElement("span")),i.appendChild(o),r.parentNode.insertBefore(i,r.nextSibling)}r.classList.add("selected"),r.scrollIntoView({block:"nearest"})}else e&&(e.scrollTop=0)}function Mi(){C.previewOpen?gt():vn()}function gt(){C.previewOpen=!1;let t=f(pt);t&&t.classList.remove("previewing"),Hi()}function vn(t){C.previewOpen=!0,t?t=t.closest(ft):t=f(`${ft}[data-index="${C.selectedIdx}"]`),t&&Ri(parseInt(t.dataset.index))}function Hi(){let t=f(".autocomplete-preview");t&&(t.remove(),window.removeEventListener("message",Ci))}function hl(t){let e=C.autocompleteSuggestions.length+1;return(C.selectedIdx+t+1+e)%e-1}var ke="form.search-bar input",fl="form.search-bar .search-close-button";A||window.addEventListener("exdoc:loaded",pl);function pl(){ml(),window.onTogglePreviewClick=function(t,e){t.preventDefault(),t.stopImmediatePropagation(),wn(),e?vn(t.target):gt()}}function Bi(t){let e=f(ke);e.value=t}function wn(){let t=f(ke);document.body.classList.add("search-focused"),t.focus()}function ml(){let t=f(ke);if(document.querySelector('meta[name="exdoc:autocomplete"][content="off"]'))return t.addEventListener("keydown",e=>{e.key==="Enter"&&Ni(e)}),!0;t.addEventListener("keydown",e=>{let n=De();e.key==="Escape"?(vt(),t.blur()):e.key==="Enter"?Ni(e):e.key==="ArrowUp"||n&&e.ctrlKey&&e.key==="p"?(mt(-1),e.preventDefault()):e.key==="ArrowDown"||n&&e.ctrlKey&&e.key==="n"?(mt(1),e.preventDefault()):e.key==="Tab"&&gn()!==null&&(Mi(),e.preventDefault())}),t.addEventListener("input",e=>{mn(e.target.value)}),t.addEventListener("focus",e=>{document.body.classList.contains("search-focused")||(document.body.classList.add("search-focused"),mn(e.target.value))}),t.addEventListener("blur",e=>{let n=e.relatedTarget,r=f(pt);if(n&&r&&r.contains(n))return setTimeout(()=>{Ai()&&t.focus()},1e3),null;yt()}),f(pe).addEventListener("click",e=>{e.shiftKey||e.ctrlKey?t.focus():(vt(),yt())}),f(fl).addEventListener("click",e=>{vt(),yt()})}function Ni(t){let e=f(ke),n=t.shiftKey||t.ctrlKey,r=gn();t.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");if(s.setAttribute("target",i),r)s.setAttribute("href",r.link);else{let o=document.querySelector('meta[name="exdoc:full-text-search-url"]'),a=o?o.getAttribute("content"):"search.html?q=";s.setAttribute("href",`${a}${encodeURIComponent(e.value)}`)}s.click(),n||(vt(),yt())}function vt(){let t=f(ke);t.value=""}function yt(){gt(),document.body.classList.remove("search-focused"),pn()}var yn,Di=2;window.addEventListener("scroll",function(){let t=window.scrollY;if(yn!==void 0){let e=t-yn;t===0||e>Di?document.body.classList.remove("scroll-sticky"):t>0&&-e>Di&&document.body.classList.add("scroll-sticky")}yn=Math.max(0,t)},!1);var Qi=Y(ae());var qi=Qi.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring docstring-plain"> +`},useData:!0});var me=".autocomplete",ft=".autocomplete-suggestions",ht=".autocomplete-suggestion",C={autocompleteSuggestions:[],previewOpen:!1,selectedIdx:-1};function dl(){p(me).classList.add("shown")}function mn(){p(me).classList.remove("shown")}function Ci(){return p(me).classList.contains("shown")}function gn(t){C.autocompleteSuggestions=Ti(t),C.selectedIdx=-1,fe(t)?mn():(hl({term:t,suggestions:C.autocompleteSuggestions}),pt(0),dl())}function hl({term:t,suggestions:e}){let n=Ai({suggestions:e,term:t}),r=p(me);r.innerHTML=n}function vn(){return C.selectedIdx===-1?null:C.autocompleteSuggestions[C.selectedIdx]}function pt(t){Mi(fl(t))}function Ri(t){if(t.data.type==="preview"){let{contentHeight:e}=t.data,n=p(".autocomplete-preview");n&&(n.style.height=`${e+32}px`,n.classList.remove("loading"))}}function Mi(t){C.selectedIdx=t;let e=p(ft),n=p(`${ht}.selected`),r=p(`${ht}[data-index="${C.selectedIdx}"]`);if(n&&n.classList.remove("selected"),r){if(C.previewOpen){Ni(),window.addEventListener("message",Ri),e.classList.add("previewing");let i=document.createElement("div");i.classList.add("autocomplete-preview"),i.classList.add("loading");let s=r.href.replace(".html",`.html?preview=true&theme=${qe()}`),o=document.createElement("iframe");o.setAttribute("src",s),i.appendChild(document.createElement("div")),i.appendChild(document.createElement("span")),i.appendChild(o),r.parentNode.insertBefore(i,r.nextSibling)}r.classList.add("selected"),r.scrollIntoView({block:"nearest"})}else e&&(e.scrollTop=0)}function Hi(){C.previewOpen?mt():yn()}function mt(){C.previewOpen=!1;let t=p(ft);t&&t.classList.remove("previewing"),Ni()}function yn(t){C.previewOpen=!0,t?t=t.closest(ht):t=p(`${ht}[data-index="${C.selectedIdx}"]`),t&&Mi(parseInt(t.dataset.index))}function Ni(){let t=p(".autocomplete-preview");t&&(t.remove(),window.removeEventListener("message",Ri))}function fl(t){let e=C.autocompleteSuggestions.length+1;return(C.selectedIdx+t+1+e)%e-1}var Se="form.search-bar input",pl="form.search-bar .search-close-button";A||window.addEventListener("exdoc:loaded",ml);function ml(){gl(),window.onTogglePreviewClick=function(t,e){t.preventDefault(),t.stopImmediatePropagation(),bn(),e?yn(t.target):mt()}}function Qi(t){let e=p(Se);e.value=t}function bn(){let t=p(Se);document.body.classList.add("search-focused"),t.focus()}function gl(){let t=p(Se);if(document.querySelector('meta[name="exdoc:autocomplete"][content="off"]'))return t.addEventListener("keydown",e=>{e.key==="Enter"&&Di(e)}),!0;t.addEventListener("keydown",e=>{let n=Be();e.key==="Escape"?(gt(),t.blur()):e.key==="Enter"?Di(e):e.key==="ArrowUp"||n&&e.ctrlKey&&e.key==="p"?(pt(-1),e.preventDefault()):e.key==="ArrowDown"||n&&e.ctrlKey&&e.key==="n"?(pt(1),e.preventDefault()):e.key==="Tab"&&vn()!==null&&(Hi(),e.preventDefault())}),t.addEventListener("input",e=>{gn(e.target.value)}),t.addEventListener("focus",e=>{document.body.classList.contains("search-focused")||(document.body.classList.add("search-focused"),gn(e.target.value))}),t.addEventListener("blur",e=>{let n=e.relatedTarget,r=p(ft);if(n&&r&&r.contains(n))return setTimeout(()=>{Ci()&&t.focus()},1e3),null;vt()}),p(me).addEventListener("click",e=>{e.shiftKey||e.ctrlKey?t.focus():(gt(),vt())}),p(pl).addEventListener("click",e=>{gt(),vt()})}function Di(t){let e=p(Se),n=t.shiftKey||t.ctrlKey,r=vn();t.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");if(s.setAttribute("target",i),r)s.setAttribute("href",r.link);else{let o=document.querySelector('meta[name="exdoc:full-text-search-url"]'),a=o?o.getAttribute("content"):"search.html?q=";s.setAttribute("href",`${a}${encodeURIComponent(e.value)}`)}s.click(),n||(gt(),vt())}function gt(){let t=p(Se);t.value=""}function vt(){mt(),document.body.classList.remove("search-focused"),mn()}var wn,Bi=2;window.addEventListener("scroll",function(){let t=window.scrollY;if(wn!==void 0){let e=t-wn;t===0||e>Bi?document.body.classList.remove("scroll-sticky"):t>0&&-e>Bi&&document.body.classList.add("scroll-sticky")}wn=Math.max(0,t)},!1);var Fi=Y(ae());var qi=Fi.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring docstring-plain"> `+t.escapeExpression(t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))+` </section> `},3:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="detail-header"> @@ -70,7 +70,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `+((s=l(n,"if").call(e??(t.nullContext||{}),(s=e!=null?l(e,"hint"):e)!=null?l(s,"description"):s,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?s:"")},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring"> `+((s=t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))!=null?s:"")+` </section> -`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"isPlain"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?s:""},useData:!0});var gl='<div class="tooltip"><div class="tooltip-body"></div></div>',vl='.content a:not([data-no-tooltip=""])',bn=".tooltip",Fi=".tooltip .tooltip-body",Vi="body .content-inner",yl="#content",$i="tooltip-shown",Se=10,wl=Se*4,bl=768,El=450,xl=100,le={currentLinkElement:null,hoverDelayTimeout:null};window.addEventListener("exdoc:loaded",kl);function kl(){M(vl).forEach(t=>{Sl(t)&&(t.addEventListener("mouseenter",Tl),t.addEventListener("mouseleave",Pl))})}function Sl(t){return!(Ll(t.href)||!er(t.href))}function Ll(t){let e=t.replace(yl,"");return window.location.href.split("#")[0]===e}function Tl(t){if(window.innerWidth<bl||window.innerHeight<El||!H.get().tooltips)return;let e=t.currentTarget;le.currentLinkElement=e,le.hoverDelayTimeout=setTimeout(()=>{tr(e.href).then(_l).catch(()=>{})},xl)}function _l(t){let e=qi({isPlain:t.kind===ie.plain,hint:t}),n=f(Fi);n||(f(Vi).insertAdjacentHTML("beforeend",gl),n=f(Fi)),n.innerHTML=e,Ol(),f(bn).classList.add($i)}function Pl(){le.currentLinkElement&&(clearTimeout(le.hoverDelayTimeout),rr(),le.currentLinkElement=null,f(bn)?.classList.remove($i))}function Ol(){if(!le.currentLinkElement)return;let t=f(bn),e=le.currentLinkElement.getBoundingClientRect(),n=f(Vi).getBoundingClientRect(),r=t.getBoundingClientRect(),i=Il(e,n);if(e.left+r.width+Se<window.innerWidth)t.style.left=`${i.left}px`,t.style.right="auto";else{let s=Math.max(i.right-r.width,Se);t.style.left=`${s}px`,t.style.right="auto"}e.bottom+r.height+wl<window.innerHeight?t.style.top=`${i.bottom+Se}px`:t.style.top=`${i.top-r.height-Se}px`}function Il(t,e){return{top:t.top-e.top,bottom:t.bottom-e.top,left:t.left-e.left,right:t.right-e.left,x:t.x-e.x,y:t.y-e.y,width:t.width,height:t.height}}var Ui='<button class="copy-button"><svg role="img" aria-label="copy" viewBox="0 0 24 24" fill="currentColor"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg><svg aria-live="polite" role="img" aria-label="copied" viewBox="0 0 24 24" fill="currentColor"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg></button>';var En;window.addEventListener("exdoc:loaded",Al);function Al(){"clipboard"in navigator&&M("pre:has(> code:first-child):not(:has(.copy-button))").forEach(t=>{if(!En){let r=document.createElement("div");r.innerHTML=Ui,En=r.firstChild}let e=En.cloneNode(!0);t.appendChild(e);let n;e.addEventListener("click",()=>{clearTimeout(n);let r=Array.from(t.querySelectorAll("code > *:not(.unselectable)")).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),e.disabled=!0,n=setTimeout(()=>{e.classList.remove("clicked"),e.disabled=!1},3e3)})})}var V=Y(zi());var Gi=Y(ae());var Ki=Gi.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" Search results for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):s))+`</em> +`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"isPlain"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?s:""},useData:!0});var vl='<div class="tooltip"><div class="tooltip-body"></div></div>',yl='.content a:not([data-no-tooltip=""])',En=".tooltip",Vi=".tooltip .tooltip-body",$i="body .content-inner",wl="#content",Ui="tooltip-shown",Le=10,bl=Le*4,El=768,xl=450,kl=100,ue={currentLinkElement:null,hoverDelayTimeout:null};window.addEventListener("exdoc:loaded",Sl);function Sl(){M(yl).forEach(t=>{Ll(t)&&(t.addEventListener("mouseenter",Tl),t.addEventListener("mouseleave",Ol))})}function Ll(t){return!(_l(t.href)||!tr(t.href))}function _l(t){let e=t.replace(wl,"");return window.location.href.split("#")[0]===e}function Tl(t){if(window.innerWidth<El||window.innerHeight<xl||!H.get().tooltips)return;let e=t.currentTarget;ue.currentLinkElement=e,ue.hoverDelayTimeout=setTimeout(()=>{nr(e.href).then(Pl).catch(()=>{})},kl)}function Pl(t){let e=qi({isPlain:t.kind===ie.plain,hint:t}),n=p(Vi);n||(p($i).insertAdjacentHTML("beforeend",vl),n=p(Vi)),n.innerHTML=e,Il(),p(En).classList.add(Ui)}function Ol(){ue.currentLinkElement&&(clearTimeout(ue.hoverDelayTimeout),ir(),ue.currentLinkElement=null,p(En)?.classList.remove(Ui))}function Il(){if(!ue.currentLinkElement)return;let t=p(En),e=ue.currentLinkElement.getBoundingClientRect(),n=p($i).getBoundingClientRect(),r=t.getBoundingClientRect(),i=Al(e,n);if(e.left+r.width+Le<window.innerWidth)t.style.left=`${i.left}px`,t.style.right="auto";else{let s=Math.max(i.right-r.width,Le);t.style.left=`${s}px`,t.style.right="auto"}e.bottom+r.height+bl<window.innerHeight?t.style.top=`${i.bottom+Le}px`:t.style.top=`${i.top-r.height-Le}px`}function Al(t,e){return{top:t.top-e.top,bottom:t.bottom-e.top,left:t.left-e.left,right:t.right-e.left,x:t.x-e.x,y:t.y-e.y,width:t.width,height:t.height}}var ji='<button class="copy-button"><svg role="img" aria-label="copy" viewBox="0 0 24 24" fill="currentColor"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg><svg aria-live="polite" role="img" aria-label="copied" viewBox="0 0 24 24" fill="currentColor"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg></button>';var xn;window.addEventListener("exdoc:loaded",Cl);function Cl(){"clipboard"in navigator&&M("pre:has(> code:first-child):not(:has(.copy-button))").forEach(t=>{if(!xn){let r=document.createElement("div");r.innerHTML=ji,xn=r.firstChild}let e=xn.cloneNode(!0);t.appendChild(e);let n;e.addEventListener("click",()=>{clearTimeout(n);let r=Array.from(t.querySelectorAll("code > *:not(.unselectable)")).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),e.disabled=!0,n=setTimeout(()=>{e.classList.remove("clicked"),e.disabled=!1},3e3)})})}var V=Y(Gi());var Ki=Y(ae());var Yi=Ki.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" Search results for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):s))+`</em> `},3:function(t,e,n,r,i){return` Invalid search `},5:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:10,column:2},end:{line:21,column:11}}}))!=null?s:""},6:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="result"> <h2 class="result-id"> @@ -100,7 +100,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<h1> `+((s=a(n,"if").call(o,e!=null?a(e,"value"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?s:"")+`</h1> -`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var wt=80,Cl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(Xi,"docTokenSplitter");V.default.Pipeline.registerFunction(Zi,"docTrimmer");window.addEventListener("exdoc:loaded",Rl);function Rl(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=Jn("q");Ml(e)}}async function Ml(t){if(he(t))xn({value:t});else{Bi(t);let e=await Hl();try{let n=t.replaceAll(/(\B|\\):/g,"\\:"),r=jl(e.search(n));xn({value:t,results:r})}catch(n){xn({value:t,errorMessage:n.message})}}}function xn({value:t,results:e,errorMessage:n}){let r=f(Cl),i=Ki({value:t,results:e,errorMessage:n});r.innerHTML=i}async function Hl(){let t=await Nl();if(t)return t;let e=Vl();return Dl(e),e}async function Nl(){try{let t=sessionStorage.getItem(Ji());if(t){let e=await Ql(t);return V.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function Dl(t){try{let e=await Bl(t);sessionStorage.setItem(Ji(),e)}catch(e){console.error("Failed to save index: ",e)}}async function Bl(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return ql(r)}async function Ql(t){let e=new Blob([Fl(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function ql(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function Fl(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function Ji(){return`idv5:${Ne()}`}function Vl(){return(0,V.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove(V.default.stopWordFilter),this.pipeline.remove(V.default.trimmer),this.use($l),this.use(Ul),searchData.items.forEach(t=>{this.add(t)})})}function $l(t){t.pipeline.before(V.default.stemmer,Xi)}function Xi(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function Ul(t){t.pipeline.before(V.default.stemmer,Zi)}function Zi(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function jl(t){return t.filter(e=>Yi(e.ref)).map(e=>{let n=Yi(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:Wl(n,r)}})}function Yi(t){return searchData.items.find(e=>e.ref===t)||null}function Wl(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>zl(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,wt*2)+(wt*2<n.length?"...":"")]:i.slice(0,1)}function zl(t,e,n){let r=Math.max(e-wt,0),i=Math.min(e+n+wt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+Re(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var es='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var Gl='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',N=null,Ln=null,kn=null,Sn=!1;function Kl(){N||(document.body.insertAdjacentHTML("beforeend",es),N=f(".modal"),N.addEventListener("keydown",t=>{t.key==="Escape"&&ue()}),N.querySelector(".modal-close").addEventListener("click",ue),N.addEventListener("click",t=>{t.target===N&&ue()}))}function ts(t){if(!Sn)if(N.contains(t.target))kn=t.target;else{Sn=!0;let e=N.querySelectorAll(Gl);kn===e[0]?e[e.length-1].focus():e[0].focus(),Sn=!1,kn=document.activeElement}}function bt({title:t,body:e}){Kl(),Ln=document.activeElement,document.addEventListener("focus",ts,!0),N.querySelector(".modal-title").innerHTML=t,N.querySelector(".modal-body").innerHTML=e,N.classList.add("shown"),N.focus()}function ue(){N?.classList.remove("shown"),document.removeEventListener("focus",ts,!0),Ln?.focus(),Ln=null}function ns(){return Boolean(N?.classList.contains("shown"))}var rs='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var Yl="https://hexdocs.pm/%%",Jl="https://www.erlang.org/doc/apps/%%",Xl="https://hex.pm/api/packages?search=name:%%*",Zl=".display-quick-switch",ss="#quick-switch-input",os="#quick-switch-results",eu=300,tu=9,as=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],nu=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(as).map(t=>({name:t})),ls=2,B={autocompleteResults:[],selectedIdx:null};A||window.addEventListener("exdoc:loaded",ru);function ru(){M(Zl).forEach(t=>{t.addEventListener("click",_n)})}function iu(t){if(t.key==="Enter"){let e=t.target.value;ou(e),t.preventDefault()}else t.key==="ArrowUp"?(is(-1),t.preventDefault()):t.key==="ArrowDown"&&(is(1),t.preventDefault())}function su(t){let e=t.target.value;if(e.length<ls){let n=f(os);n.innerHTML=""}else au(e)}function _n(){bt({title:"Go to package docs",body:rs});let t=f(ss);t.focus(),t.addEventListener("keydown",iu),t.addEventListener("input",su),B.autocompleteResults=[],B.selectedIdx=null}function ou(t){if(B.selectedIdx===null)Tn(t);else{let e=B.autocompleteResults[B.selectedIdx];Tn(e.name)}}function Tn(t){as.includes(t.toLowerCase())?window.location=Jl.replace("%%",t.toLowerCase()):window.location=Yl.replace("%%",t.toLowerCase())}var au=Xn(lu,eu);function lu(t){let e=Xl.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=cu(t,n),B.selectedIdx=null,f(ss).value.length>=ls&&uu(B.autocompleteResults))})}function uu(t){f(os).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>Tn(e)),r}))}function cu(t,e){return nu.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,tu)}function is(t){B.selectedIdx=du(t);let e=f(".quick-switch-result.selected"),n=f(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function du(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var hu="#settings-modal-content",In=[{key:"c",description:"Toggle sidebar",action:Ue},{key:"n",description:"Cycle themes",action:dr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:Pn},{key:"/",action:Pn},{key:"k",hasModifier:!0,action:Pn},{key:"v",description:"Open/focus version select",action:mu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:_n},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:gu}],On={shortcutBeingPressed:null};A||(document.addEventListener("keydown",fu),document.addEventListener("keyup",pu));function fu(t){if(On.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=In.find(n=>n.hasModifier?De()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(On.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function pu(t){On.shortcutBeingPressed=null}function Pn(t){ue(),wn()}function mu(){ue(),Pr()?dn():Ar().then(dn)}function gu(){vu()?ue():An()}function vu(){return ns()&&f(hu)}var us=Y(ae());var cs=us.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> +`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var yt=80,Rl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(Zi,"docTokenSplitter");V.default.Pipeline.registerFunction(es,"docTrimmer");window.addEventListener("exdoc:loaded",Ml);function Ml(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=It("q"),n=It("type");Hl(e,n)}}async function Hl(t,e){if(fe(t))kn({value:t});else{Qi(t);try{let n=[],r=Jn();["related","latest"].includes(e)&&r.length>0?n=await Dl(t,e,r):n=await Nl(t),kn({value:t,results:n})}catch(n){kn({value:t,errorMessage:n.message})}}}async function Nl(t){let e=await Bl(),n=t.replaceAll(/(\B|\\):/g,"\\:");return Gl(e.search(n))}async function Dl(t,e,n){let r=n;e==="latest"&&(r=n.slice(0,1));let i=r.map(l=>`${l.name}-${l.version}`).join(","),s=new URLSearchParams;s.set("q",t),s.set("query_by","title,doc"),s.set("filter_by",`package:=[${i}]`);let a=await(await fetch(`https://search.hexdocs.pm/?${s.toString()}`)).json();return Array.isArray(a.hits)?a.hits.map(l=>{let[u,c]=l.document.package.split("-"),d=le(l.document.doc,t,{multiline:!0}),h=[d],f={},m=`https://hexdocs.pm/${u}/${c}/${l.document.ref}`,g=l.document.title,v=l.document.type;return{doc:d,excerpts:h,metadata:f,ref:m,title:g,type:v}}):[]}function kn({value:t,results:e,errorMessage:n}){let r=p(Rl),i=Yi({value:t,results:e,errorMessage:n});r.innerHTML=i}async function Bl(){let t=await Ql();if(t)return t;let e=jl();return Fl(e),e}async function Ql(){try{let t=sessionStorage.getItem(Xi());if(t){let e=await Vl(t);return V.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function Fl(t){try{let e=await ql(t);sessionStorage.setItem(Xi(),e)}catch(e){console.error("Failed to save index: ",e)}}async function ql(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return $l(r)}async function Vl(t){let e=new Blob([Ul(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function $l(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function Ul(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function Xi(){return`idv5:${De()}`}function jl(){return(0,V.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove(V.default.stopWordFilter),this.pipeline.remove(V.default.trimmer),this.use(Wl),this.use(zl),searchData.items.forEach(t=>{this.add(t)})})}function Wl(t){t.pipeline.before(V.default.stemmer,Zi)}function Zi(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function zl(t){t.pipeline.before(V.default.stemmer,es)}function es(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function Gl(t){return t.filter(e=>Ji(e.ref)).map(e=>{let n=Ji(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:Kl(n,r)}})}function Ji(t){return searchData.items.find(e=>e.ref===t)||null}function Kl(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>Yl(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,yt*2)+(yt*2<n.length?"...":"")]:i.slice(0,1)}function Yl(t,e,n){let r=Math.max(e-yt,0),i=Math.min(e+n+yt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+Me(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var ts='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var Jl='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',N=null,_n=null,Sn=null,Ln=!1;function Xl(){N||(document.body.insertAdjacentHTML("beforeend",ts),N=p(".modal"),N.addEventListener("keydown",t=>{t.key==="Escape"&&ce()}),N.querySelector(".modal-close").addEventListener("click",ce),N.addEventListener("click",t=>{t.target===N&&ce()}))}function ns(t){if(!Ln)if(N.contains(t.target))Sn=t.target;else{Ln=!0;let e=N.querySelectorAll(Jl);Sn===e[0]?e[e.length-1].focus():e[0].focus(),Ln=!1,Sn=document.activeElement}}function wt({title:t,body:e}){Xl(),_n=document.activeElement,document.addEventListener("focus",ns,!0),N.querySelector(".modal-title").innerHTML=t,N.querySelector(".modal-body").innerHTML=e,N.classList.add("shown"),N.focus()}function ce(){N?.classList.remove("shown"),document.removeEventListener("focus",ns,!0),_n?.focus(),_n=null}function rs(){return Boolean(N?.classList.contains("shown"))}var is='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var Zl="https://hexdocs.pm/%%",eu="https://www.erlang.org/doc/apps/%%",tu="https://hex.pm/api/packages?search=name:%%*",nu=".display-quick-switch",os="#quick-switch-input",as="#quick-switch-results",ru=300,iu=9,ls=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],su=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(ls).map(t=>({name:t})),us=2,B={autocompleteResults:[],selectedIdx:null};A||window.addEventListener("exdoc:loaded",ou);function ou(){M(nu).forEach(t=>{t.addEventListener("click",Pn)})}function au(t){if(t.key==="Enter"){let e=t.target.value;uu(e),t.preventDefault()}else t.key==="ArrowUp"?(ss(-1),t.preventDefault()):t.key==="ArrowDown"&&(ss(1),t.preventDefault())}function lu(t){let e=t.target.value;if(e.length<us){let n=p(as);n.innerHTML=""}else cu(e)}function Pn(){wt({title:"Go to package docs",body:is});let t=p(os);t.focus(),t.addEventListener("keydown",au),t.addEventListener("input",lu),B.autocompleteResults=[],B.selectedIdx=null}function uu(t){if(B.selectedIdx===null)Tn(t);else{let e=B.autocompleteResults[B.selectedIdx];Tn(e.name)}}function Tn(t){ls.includes(t.toLowerCase())?window.location=eu.replace("%%",t.toLowerCase()):window.location=Zl.replace("%%",t.toLowerCase())}var cu=Zn(du,ru);function du(t){let e=tu.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=fu(t,n),B.selectedIdx=null,p(os).value.length>=us&&hu(B.autocompleteResults))})}function hu(t){p(as).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>Tn(e)),r}))}function fu(t,e){return su.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,iu)}function ss(t){B.selectedIdx=pu(t);let e=p(".quick-switch-result.selected"),n=p(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function pu(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var mu="#settings-modal-content",An=[{key:"c",description:"Toggle sidebar",action:je},{key:"n",description:"Cycle themes",action:hr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:On},{key:"/",action:On},{key:"k",hasModifier:!0,action:On},{key:"v",description:"Open/focus version select",action:yu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:Pn},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:wu}],In={shortcutBeingPressed:null};A||(document.addEventListener("keydown",gu),document.addEventListener("keyup",vu));function gu(t){if(In.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=An.find(n=>n.hasModifier?Be()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(In.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function vu(t){In.shortcutBeingPressed=null}function On(t){ce(),bn()}function yu(){ce(),Or()?dn():Cr().then(dn)}function wu(){bu()?ce():Cn()}function bu(){return rs()&&p(mu)}var cs=Y(ae());var ds=cs.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> <dd class="shortcut-description"> `+t.escapeExpression(t.lambda(e!=null?o(e,"description"):e,e))+` </dd> @@ -149,7 +149,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr <div id="keyboard-shortcuts-content" class="hidden"> `+((s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"shortcuts"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?s:"")+` </div> </div> -`},useData:!0});var yu=".display-settings",wu="#settings-modal-content",Cn="#modal-settings-tab",Rn="#modal-keyboard-shortcuts-tab",hs="#settings-content",fs="#keyboard-shortcuts-content",bu=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];window.addEventListener("exdoc:loaded",Eu);function Eu(){M(yu).forEach(t=>{t.addEventListener("click",An)})}function ds(){f(Rn).classList.remove("active"),f(Cn).classList.add("active"),f(hs).classList.remove("hidden"),f(fs).classList.add("hidden")}function xu(){f(Rn).classList.add("active"),f(Cn).classList.remove("active"),f(fs).classList.remove("hidden"),f(hs).classList.add("hidden")}function An(){bt({title:bu.map(({id:s,title:o})=>`<button id="${s}">${o}</button>`).join(""),body:cs({shortcuts:In})});let t=f(wu),e=t.querySelector('[name="theme"]'),n=t.querySelector('[name="tooltips"]'),r=t.querySelector('[name="direct_livebook_url"]'),i=t.querySelector('[name="livebook_url"]');H.getAndSubscribe(s=>{e.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),e.addEventListener("change",s=>{H.update({theme:s.target.value})}),n.addEventListener("change",s=>{H.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;H.update({livebookUrl:o})}),i.addEventListener("input",s=>{H.update({livebookUrl:s.target.value})}),f(Cn).addEventListener("click",s=>{ds()}),f(Rn).addEventListener("click",s=>{xu()}),ds()}var Mn=new WeakMap;function Hn(t,e,n,r){if(!t&&!Mn.has(e))return!1;let i=Mn.get(e)??new WeakMap;Mn.set(e,i);let s=i.get(n)??new Set;i.set(n,s);let o=s.has(r);return t?s.add(r):s.delete(r),o&&t}function ku(t,e){let n=t.target;if(n instanceof Text&&(n=n.parentElement),n instanceof Element&&t.currentTarget instanceof Element){let r=n.closest(e);if(r&&t.currentTarget.contains(r))return r}}function Su(t,e,n,r={}){let{signal:i,base:s=document}=r;if(i?.aborted)return;let{once:o,...a}=r,l=s instanceof Document?s.documentElement:s,u=Boolean(typeof r=="object"?r.capture:r),c=p=>{let m=ku(p,String(t));if(m){let g=Object.assign(p,{delegateTarget:m});n.call(l,g),o&&(l.removeEventListener(e,c,a),Hn(!1,l,n,d))}},d=JSON.stringify({selector:t,type:e,capture:u});Hn(!0,l,n,d)||l.addEventListener(e,c,a),i?.addEventListener("abort",()=>{Hn(!1,l,n,d)})}var Et=Su;function P(){return P=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},P.apply(null,arguments)}var vs=(t,e)=>String(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",Te=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),Lu=(t,e={})=>{let n=P({url:t=t||Te({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(n,"",t)},Le=(t=null,e={})=>{t=t||Te({hash:!0});let n=P({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(n,"",t)},Tu=(t,e,n,r)=>{let i=new AbortController;return r=P({},r,{signal:i.signal}),Et(t,e,n,r),{destroy:()=>i.abort()}},O=class extends URL{constructor(e,n=document.baseURI){super(e.toString(),n),Object.setPrototypeOf(this,O.prototype)}get url(){return this.pathname+this.search}static fromElement(e){let n=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new O(n)}static fromUrl(e){return new O(e)}};var me=class extends Error{constructor(e,n){super(e),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=n.url,this.status=n.status,this.aborted=n.aborted||!1,this.timedOut=n.timedOut||!1}};async function _u(t,e={}){var n;t=O.fromUrl(t).url;let{visit:r=this.visit}=e,i=P({},this.options.requestHeaders,e.headers),s=(n=e.timeout)!=null?n:this.options.timeout,o=new AbortController,{signal:a}=o;e=P({},e,{headers:i,signal:a});let l,u=!1,c=null;s&&s>0&&(c=setTimeout(()=>{u=!0,o.abort("timeout")},s));try{l=await this.hooks.call("fetch:request",r,{url:t,options:e},(v,{url:w,options:x})=>fetch(w,x)),c&&clearTimeout(c)}catch(v){throw u?(this.hooks.call("fetch:timeout",r,{url:t}),new me(`Request timed out: ${t}`,{url:t,timedOut:u})):v?.name==="AbortError"||a.aborted?new me(`Request aborted: ${t}`,{url:t,aborted:!0}):v}let{status:d,url:h}=l,p=await l.text();if(d===500)throw this.hooks.call("fetch:error",r,{status:d,response:l,url:h}),new me(`Server error: ${h}`,{status:d,url:h});if(!p)throw new me(`Empty response: ${h}`,{status:d,url:h});let{url:m}=O.fromUrl(h),g={url:m,html:p};return!r.cache.write||e.method&&e.method!=="GET"||t!==m||this.cache.set(g.url,g),g}var Dn=class{constructor(e){this.swup=void 0,this.pages=new Map,this.swup=e}get size(){return this.pages.size}get all(){let e=new Map;return this.pages.forEach((n,r)=>{e.set(r,P({},n))}),e}has(e){return this.pages.has(this.resolve(e))}get(e){let n=this.pages.get(this.resolve(e));return n&&P({},n)}set(e,n){n=P({},n,{url:e=this.resolve(e)}),this.pages.set(e,n),this.swup.hooks.callSync("cache:set",void 0,{page:n})}update(e,n){e=this.resolve(e);let r=P({},this.get(e),n,{url:e});this.pages.set(e,r)}delete(e){this.pages.delete(this.resolve(e))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(e){this.pages.forEach((n,r)=>{e(r,n)&&this.delete(r)})}resolve(e){let{url:n}=O.fromUrl(e);return this.swup.resolveUrl(n)}},Bn=(t,e=document)=>e.querySelector(t),Fn=(t,e=document)=>Array.from(e.querySelectorAll(t)),ys=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function ws(t){return!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function Pu(t,e=[]){return new Promise((n,r)=>{let i=t(...e);ws(i)?i.then(n,r):n(i)})}function ps(t,e){let n=t?.closest(`[${e}]`);return n!=null&&n.hasAttribute(e)?n?.getAttribute(e)||!0:void 0}var Qn=class{constructor(e){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=e}get selectors(){let{scope:e}=this.swup.visit.animation;return e==="containers"?this.swup.visit.containers:e==="html"?["html"]:Array.isArray(e)?e:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?Fn(this.selector):[]}add(...e){this.targets.forEach(n=>n.classList.add(...e))}remove(...e){this.targets.forEach(n=>n.classList.remove(...e))}clear(){this.targets.forEach(e=>{let n=e.className.split(" ").filter(r=>this.isSwupClass(r));e.classList.remove(...n)})}isSwupClass(e){return this.swupClasses.some(n=>e.startsWith(n))}},St=class{constructor(e,n){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0,this.meta=void 0;let{to:r,from:i,hash:s,el:o,event:a}=n;this.id=Math.random(),this.state=1,this.from={url:i??e.location.url,hash:e.location.hash},this.to={url:r,hash:s},this.containers=e.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:e.options.native,scope:e.options.animationScope,selector:e.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:e.options.cache,write:e.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0},this.meta={}}advance(e){this.state<e&&(this.state=e)}abort(){this.state=8}get done(){return this.state>=7}};function Ou(t){return new St(this,t)}var qn=class{constructor(e){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=e,this.init()}init(){this.hooks.forEach(e=>this.create(e))}create(e){this.registry.has(e)||this.registry.set(e,new Map)}exists(e){return this.registry.has(e)}get(e){let n=this.registry.get(e);if(n)return n;console.error(`Unknown hook '${e}'`)}clear(){this.registry.forEach(e=>e.clear())}on(e,n,r={}){let i=this.get(e);if(!i)return console.warn(`Hook '${e}' not found.`),()=>{};let s=P({},r,{id:i.size+1,hook:e,handler:n});return i.set(n,s),()=>this.off(e,n)}before(e,n,r={}){return this.on(e,n,P({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,P({},r,{replace:!0}))}once(e,n,r={}){return this.on(e,n,P({},r,{once:!0}))}off(e,n){let r=this.get(e);r&&n?r.delete(n)||console.warn(`Handler for hook '${e}' not found.`):r&&r.clear()}async call(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);await this.run(l,s,o);let[d]=await this.run(u,s,o,!0);return await this.run(c,s,o),this.dispatchDomEvent(e,s,o),d}callSync(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);this.runSync(l,s,o);let[d]=this.runSync(u,s,o,!0);return this.runSync(c,s,o),this.dispatchDomEvent(e,s,o),d}parseCallArgs(e,n,r,i){return n instanceof St||typeof n!="object"&&typeof r!="function"?[n,r,i]:[void 0,n,r]}async run(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=await Pu(a,[n,r,l]);s.push(c)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}runSync(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=a(n,r,l);s.push(c),ws(c)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}getHandlers(e,n){let r=this.get(e);if(!r)return{found:!1,before:[],handler:[],after:[],replaced:!1};let i=Array.from(r.values()),s=this.sortRegistrations,o=i.filter(({before:d,replace:h})=>d&&!h).sort(s),a=i.filter(({replace:d})=>d).filter(d=>!0).sort(s),l=i.filter(({before:d,replace:h})=>!d&&!h).sort(s),u=a.length>0,c=[];if(n&&(c=[{id:0,hook:e,handler:n}],u)){let d=a.length-1,{handler:h,once:p}=a[d],m=g=>{let v=a[g-1];return v?(w,x)=>v.handler(w,x,m(g-1)):n};c=[{id:0,hook:e,once:p,handler:h,defaultHandler:m(d)}]}return{found:!0,before:o,handler:c,after:l,replaced:u}}sortRegistrations(e,n){var r,i;return((r=e.priority)!=null?r:0)-((i=n.priority)!=null?i:0)||e.id-n.id||0}dispatchDomEvent(e,n,r){if(n!=null&&n.done)return;let i={hook:e,args:r,visit:n||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:i,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${e}`,{detail:i,bubbles:!0}))}parseName(e){let[n,...r]=e.split(".");return[n,r.reduce((i,s)=>P({},i,{[s]:!0}),{})]}},Iu=t=>{if(t&&t.charAt(0)==="#"&&(t=t.substring(1)),!t)return null;let e=decodeURIComponent(t),n=document.getElementById(t)||document.getElementById(e)||Bn(`a[name='${CSS.escape(t)}']`)||Bn(`a[name='${CSS.escape(e)}']`);return n||t!=="top"||(n=document.body),n},xt="transition",Nn="animation";async function Au({selector:t,elements:e}){if(t===!1&&!e)return;let n=[];if(e)n=Array.from(e);else if(t&&(n=Fn(t,document.body),!n.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);let r=n.map(i=>function(s){let{type:o,timeout:a,propCount:l}=function(u){let c=window.getComputedStyle(u),d=kt(c,`${xt}Delay`),h=kt(c,`${xt}Duration`),p=ms(d,h),m=kt(c,`${Nn}Delay`),g=kt(c,`${Nn}Duration`),v=ms(m,g),w=Math.max(p,v),x=w>0?p>v?xt:Nn:null;return{type:x,timeout:w,propCount:x?x===xt?h.length:g.length:0}}(s);return!(!o||!a)&&new Promise(u=>{let c=`${o}end`,d=performance.now(),h=0,p=()=>{s.removeEventListener(c,m),u()},m=g=>{g.target===s&&((performance.now()-d)/1e3<g.elapsedTime||++h>=l&&p())};setTimeout(()=>{h<l&&p()},a+1),s.addEventListener(c,m)})}(i));r.filter(Boolean).length>0?await Promise.all(r):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function kt(t,e){return(t[e]||"").split(", ")}function ms(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,r)=>gs(n)+gs(t[r])))}function gs(t){return 1e3*parseFloat(t)}function Cu(t,e={},n={}){if(typeof t!="string")throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:n.el,event:n.event}))return void window.location.assign(t);let{url:r,hash:i}=O.fromUrl(t),s=this.createVisit(P({},n,{to:r,hash:i}));this.performNavigation(s,e)}async function Ru(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;let{el:n}=t.trigger;e.referrer=e.referrer||this.location.url,e.animate===!1&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();let r=e.history||ps(n,"data-swup-history");typeof r=="string"&&["push","replace"].includes(r)&&(t.history.action=r);let i=e.animation||ps(n,"data-swup-animation");var s,o;typeof i=="string"&&(t.animation.name=i),t.meta=e.meta||{},typeof e.cache=="object"?(t.cache.read=(s=e.cache.read)!=null?s:t.cache.read,t.cache.write=(o=e.cache.write)!=null?o:t.cache.write):e.cache!==void 0&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;let a=this.hooks.call("page:load",t,{options:e},async(u,c)=>{let d;return u.cache.read&&(d=this.cache.get(u.to.url)),c.page=d||await this.fetchPage(u.to.url,c.options),c.cache=!!d,c.page});a.then(({html:u})=>{t.advance(5),t.to.html=u,t.to.document=new DOMParser().parseFromString(u,"text/html")});let l=t.to.url+t.to.hash;if(t.history.popstate||(t.history.action==="replace"||t.to.url===this.location.url?Le(l):(this.currentHistoryIndex++,Lu(l,{index:this.currentHistoryIndex}))),this.location=O.fromUrl(l),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${vs(t.animation.name)}`),t.animation.wait&&await a,t.done||(await this.hooks.call("visit:transition",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await a);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await a)).finished:await this.renderPage(t,await a),await this.animatePageIn(t)}),t.done))return;await this.hooks.call("visit:end",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(a){if(!a||a!=null&&a.aborted)return void(t.state=8);t.state=9,console.error(a),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}var Mu=async function(t){await this.hooks.call("animation:out:start",t,void 0,()=>{this.classes.add("is-changing","is-animating","is-leaving")}),await this.hooks.call("animation:out:await",t,{skip:!1},(e,{skip:n})=>{if(!n)return this.awaitAnimations({selector:e.animation.selector})}),await this.hooks.call("animation:out:end",t,void 0)},Hu=function(t){var e;let n=t.to.document;if(!n)return!1;let r=((e=n.querySelector("title"))==null?void 0:e.innerText)||"";document.title=r;let i=Fn('[data-swup-persist]:not([data-swup-persist=""])'),s=t.containers.map(o=>{let a=document.querySelector(o),l=n.querySelector(o);return a&&l?(a.replaceWith(l.cloneNode(!0)),!0):(a||console.warn(`[swup] Container missing in current document: ${o}`),l||console.warn(`[swup] Container missing in incoming document: ${o}`),!1)}).filter(Boolean);return i.forEach(o=>{let a=o.getAttribute("data-swup-persist"),l=Bn(`[data-swup-persist="${a}"]`);l&&l!==o&&l.replaceWith(o)}),s.length===t.containers.length},Nu=function(t){let e={behavior:"auto"},{target:n,reset:r}=t.scroll,i=n??t.to.hash,s=!1;return i&&(s=this.hooks.callSync("scroll:anchor",t,{hash:i,options:e},(o,{hash:a,options:l})=>{let u=this.getAnchorElement(a);return u&&u.scrollIntoView(l),!!u})),r&&!s&&(s=this.hooks.callSync("scroll:top",t,{options:e},(o,{options:a})=>(window.scrollTo(P({top:0,left:0},a)),!0))),s},Du=async function(t){if(t.done)return;let e=this.hooks.call("animation:in:await",t,{skip:!1},(n,{skip:r})=>{if(!r)return this.awaitAnimations({selector:n.animation.selector})});await ys(),await this.hooks.call("animation:in:start",t,void 0,()=>{this.classes.remove("is-animating")}),await e,await this.hooks.call("animation:in:end",t,void 0)},Bu=async function(t,e){if(t.done)return;t.advance(6);let{url:n}=e;this.isSameResolvedUrl(Te(),n)||(Le(n),this.location=O.fromUrl(n),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},(r,{})=>{if(this.classes.remove("is-leaving"),r.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(r))throw new Error("[swup] Container mismatch, aborting");r.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),r.animation.name&&this.classes.add(`to-${vs(r.animation.name)}`))}),await this.hooks.call("content:scroll",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},Qu=function(t){var e;if(e=t,Boolean(e?.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function qu(t){let e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(n=>n!==e),this.plugins;console.error("No such plugin",e)}function Fu(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function Vu(t){if(typeof this.options.resolveUrl!="function")return console.warn("[swup] options.resolveUrl expects a callback function."),t;let e=this.options.resolveUrl(t);return e&&typeof e=="string"?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function $u(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}var Uu={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],hooks:{},ignoreVisit:(t,{el:e}={})=>!(e==null||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return((e=t.state)==null?void 0:e.source)!=="swup"},timeout:0},Lt=class{get currentPageUrl(){return this.location.url}constructor(e={}){var n,r;this.version="4.8.1",this.options=void 0,this.defaults=Uu,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=O.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=Qu,this.unuse=qu,this.findPlugin=Fu,this.log=()=>{},this.navigate=Cu,this.performNavigation=Ru,this.createVisit=Ou,this.delegateEvent=Tu,this.fetchPage=_u,this.awaitAnimations=Au,this.renderPage=Bu,this.replaceContent=Hu,this.animatePageIn=Du,this.animatePageOut=Mu,this.scrollToContent=Nu,this.getAnchorElement=Iu,this.getCurrentUrl=Te,this.resolveUrl=Vu,this.isSameResolvedUrl=$u,this.options=P({},this.defaults,e),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new Dn(this),this.classes=new Qn(this),this.hooks=new qn(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=(n=(r=window.history.state)==null?void 0:r.index)!=null?n:1,this.enable()}async enable(){var e;let{linkSelector:n}=this.options;this.clickDelegate=this.delegateEvent(n,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(r=>this.use(r));for(let[r,i]of Object.entries(this.options.hooks)){let[s,o]=this.hooks.parseName(r);this.hooks.on(s,i,o)}((e=window.history.state)==null?void 0:e.source)!=="swup"&&Le(null,{index:this.currentHistoryIndex}),await ys(),await this.hooks.call("enable",void 0,void 0,()=>{let r=document.documentElement;r.classList.add("swup-enabled"),r.classList.toggle("swup-native",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(e=>this.unuse(e)),await this.hooks.call("disable",void 0,void 0,()=>{let e=document.documentElement;e.classList.remove("swup-enabled"),e.classList.remove("swup-native")}),this.hooks.clear()}shouldIgnoreVisit(e,{el:n,event:r}={}){let{origin:i,url:s,hash:o}=O.fromUrl(e);return i!==window.location.origin||!(!n||!this.triggerWillOpenNewWindow(n))||!!this.options.ignoreVisit(s+o,{el:n,event:r})}handleLinkClick(e){let n=e.delegateTarget,{href:r,url:i,hash:s}=O.fromElement(n);if(this.shouldIgnoreVisit(r,{el:n,event:e}))return;if(this.navigating&&i===this.visit.to.url)return void e.preventDefault();let o=this.createVisit({to:i,hash:s,el:n,event:e});e.metaKey||e.ctrlKey||e.shiftKey||e.altKey?this.hooks.callSync("link:newtab",o,{href:r}):e.button===0&&this.hooks.callSync("link:click",o,{el:n,event:e},()=>{var a;let l=(a=o.from.url)!=null?a:"";e.preventDefault(),i&&i!==l?this.isSameResolvedUrl(i,l)||this.performNavigation(o):s?this.hooks.callSync("link:anchor",o,{hash:s},()=>{Le(i+s),this.scrollToContent(o)}):this.hooks.callSync("link:self",o,void 0,()=>{this.options.linkToSelf==="navigate"?this.performNavigation(o):(Le(i),this.scrollToContent(o))})})}handlePopState(e){var n,r,i,s;let o=(n=(r=e.state)==null?void 0:r.url)!=null?n:window.location.href;if(this.options.skipPopStateHandling(e)||this.isSameResolvedUrl(Te(),this.location.url))return;let{url:a,hash:l}=O.fromUrl(o),u=this.createVisit({to:a,hash:l,event:e});u.history.popstate=!0;let c=(i=(s=e.state)==null?void 0:s.index)!=null?i:0;c&&c!==this.currentHistoryIndex&&(u.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),u.animation.animate=!1,u.scroll.reset=!1,u.scroll.target=!1,this.options.animateHistoryBrowsing&&(u.animation.animate=!0,u.scroll.reset=!0),this.hooks.callSync("history:popstate",u,{event:e},()=>{this.performNavigation(u)})}triggerWillOpenNewWindow(e){return!!e.matches('[download], [target="_blank"]')}};function _e(){return _e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},_e.apply(this,arguments)}var bs=t=>String(t).split(".").map(e=>String(parseInt(e||"0",10))).concat(["0","0"]).slice(0,3).join("."),ge=class{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach(e=>e()),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return typeof this.requires!="object"||Object.entries(this.requires).forEach(([e,n])=>{if(!function(r,i,s){let o=function(a,l){var u;if(a==="swup")return(u=l.version)!=null?u:"";{var c;let d=l.findPlugin(a);return(c=d?.version)!=null?c:""}}(r,s);return!!o&&((a,l)=>l.every(u=>{let[,c,d]=u.match(/^([\D]+)?(.*)$/)||[];var h,p;return((m,g)=>{let v={"":w=>w===0,">":w=>w>0,">=":w=>w>=0,"<":w=>w<0,"<=":w=>w<=0};return(v[g]||v[""])(m)})((p=d,h=bs(h=a),p=bs(p),h.localeCompare(p,void 0,{numeric:!0})),c||">=")}))(o,i)}(e,n=Array.isArray(n)?n:[n],this.swup)){let r=`${e} ${n.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${r}`)}}),!0}on(e,n,r={}){var i;n=!(i=n).name.startsWith("bound ")||i.hasOwnProperty("prototype")?n.bind(this):n;let s=this.swup.hooks.on(e,n,r);return this.handlersToUnregister.push(s),s}once(e,n,r={}){return this.on(e,n,_e({},r,{once:!0}))}before(e,n,r={}){return this.on(e,n,_e({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,_e({},r,{replace:!0}))}off(e,n){return this.swup.hooks.off(e,n)}};(function(){if(!(typeof window>"u"||typeof document>"u"||typeof HTMLElement>"u")){var t=!1;try{var e=document.createElement("div");e.addEventListener("focus",function(s){s.preventDefault(),s.stopPropagation()},!0),e.focus(Object.defineProperty({},"preventScroll",{get:function(){if(navigator&&typeof navigator.userAgent<"u"&&navigator.userAgent&&navigator.userAgent.match(/Edge\/1[7-8]/))return t=!1;t=!0}}))}catch{}if(HTMLElement.prototype.nativeFocus===void 0&&!t){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var n=function(s){for(var o=s.parentNode,a=[],l=document.scrollingElement||document.documentElement;o&&o!==l;)(o.offsetHeight<o.scrollHeight||o.offsetWidth<o.scrollWidth)&&a.push([o,o.scrollTop,o.scrollLeft]),o=o.parentNode;return o=l,a.push([o,o.scrollTop,o.scrollLeft]),a},r=function(s){for(var o=0;o<s.length;o++)s[o][0].scrollTop=s[o][1],s[o][0].scrollLeft=s[o][2];s=[]},i=function(s){if(s&&s.preventScroll){var o=n(this);if(typeof setTimeout=="function"){var a=this;setTimeout(function(){a.nativeFocus(),r(o)},0)}else this.nativeFocus(),r(o)}else this.nativeFocus()};HTMLElement.prototype.focus=i}}})();function Vn(){return Vn=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Vn.apply(this,arguments)}function Es(t,e){return Object.keys(e).reduce((n,r)=>n.replace(`{${r}}`,e[r]||""),t||"")}var $n=class{constructor(){var e;this.id="swup-announcer",this.style="position:absolute;top:0;left:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;word-wrap:normal;width:1px;height:1px;",this.region=void 0,this.region=(e=this.getRegion())!=null?e:this.createRegion()}getRegion(){return document.getElementById(this.id)}createRegion(){let e=function(n){let r=document.createElement("template");return r.innerHTML=n,r.content.children[0]}(`<p aria-live="assertive" aria-atomic="true" id="${this.id}" style="${this.style}"></p>`);return document.body.appendChild(e),e}announce(e,n=0){return new Promise(r=>{setTimeout(()=>{this.region.textContent===e&&(e=`${e}.`),this.region.textContent="",this.region.textContent=e,r()},n)})}};function xs(t){let e;if(e=typeof t=="string"?document.querySelector(t):t,!(e instanceof HTMLElement))return;let n=e.getAttribute("tabindex");e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}),n!==null&&e.setAttribute("tabindex",n)}var Tt=class extends ge{constructor(e={}){super(),this.name="SwupA11yPlugin",this.requires={swup:">=4"},this.defaults={headingSelector:"h1",respectReducedMotion:!0,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.announcer=void 0,this.announcementDelay=100,this.rootSelector="body",this.handleAnchorScroll=(n,{hash:r})=>{let i=this.swup.getAnchorElement(r);i instanceof HTMLElement&&xs(i)},this.options=Vn({},this.defaults,e),this.announcer=new $n}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("visit:end",this.focusContent),this.on("visit:end",this.announceContent),this.on("scroll:anchor",this.handleAnchorScroll),this.before("visit:start",this.disableAnimations),this.before("link:self",this.disableAnimations),this.before("link:anchor",this.disableAnimations),this.swup.announce=this.announce.bind(this)}unmount(){this.swup.announce=void 0}async announce(e){await this.announcer.announce(e)}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(e){e.a11y={announce:void 0,focus:this.rootSelector}}announceContent(e){this.swup.hooks.callSync("content:announce",e,void 0,n=>{n.a11y.announce===void 0&&(n.a11y.announce=this.getPageAnnouncement()),n.a11y.announce&&this.announcer.announce(n.a11y.announce,this.announcementDelay)})}focusContent(e){this.swup.hooks.callSync("content:focus",e,void 0,n=>{n.a11y.focus&&(this.options.autofocus&&function(){let r=function(){let i=document.querySelector("body [autofocus]");if(i&&!i.closest('[inert], [aria-disabled], [aria-hidden="true"]'))return i}();return!!r&&(r!==document.activeElement&&r.focus(),!0)}()===!0||xs(n.a11y.focus))})}getPageAnnouncement(){let{headingSelector:e,announcements:n}=this.options;return function({headingSelector:r="h1",announcements:i={}}){var s,o;let a=document.documentElement.lang||"*",{href:l,url:u,pathname:c}=O.fromUrl(window.location.href),d=(s=(o=i[a])!=null?o:i["*"])!=null?s:i;if(typeof d!="object")return;let h=document.querySelector(r);h||console.warn(`SwupA11yPlugin: No main heading (${r}) found on new page`);let p=h?.getAttribute("aria-label")||h?.textContent||document.title||Es(d.url,{href:l,url:u,path:c});return Es(d.visit,{title:p,href:l,url:u,path:c})}({headingSelector:e,announcements:n})}disableAnimations(e){this.options.respectReducedMotion&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(e.animation.animate=!1,e.scroll.animate=!1)}};function Un(){return Un=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Un.apply(this,arguments)}var jn=class{constructor({className:e,styleAttr:n,animationDuration:r,minValue:i,initialValue:s,trickleValue:o}={}){this.value=0,this.visible=!1,this.hiding=!1,this.className="progress-bar",this.styleAttr="data-progressbar-styles data-swup-theme",this.animationDuration=300,this.minValue=.1,this.initialValue=.25,this.trickleValue=.03,this.trickleInterval=void 0,this.styleElement=void 0,this.progressElement=void 0,this.trickle=()=>{let a=Math.random()*this.trickleValue;this.setValue(this.value+a)},e!==void 0&&(this.className=String(e)),n!==void 0&&(this.styleAttr=String(n)),r!==void 0&&(this.animationDuration=Number(r)),i!==void 0&&(this.minValue=Number(i)),s!==void 0&&(this.initialValue=Number(s)),o!==void 0&&(this.trickleValue=Number(o)),this.styleElement=this.createStyleElement(),this.progressElement=this.createProgressElement()}get defaultStyles(){return` +`},useData:!0});var Eu=".display-settings",xu="#settings-modal-content",Rn="#modal-settings-tab",Mn="#modal-keyboard-shortcuts-tab",fs="#settings-content",ps="#keyboard-shortcuts-content",ku=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];window.addEventListener("exdoc:loaded",Su);function Su(){M(Eu).forEach(t=>{t.addEventListener("click",Cn)})}function hs(){p(Mn).classList.remove("active"),p(Rn).classList.add("active"),p(fs).classList.remove("hidden"),p(ps).classList.add("hidden")}function Lu(){p(Mn).classList.add("active"),p(Rn).classList.remove("active"),p(ps).classList.remove("hidden"),p(fs).classList.add("hidden")}function Cn(){wt({title:ku.map(({id:s,title:o})=>`<button id="${s}">${o}</button>`).join(""),body:ds({shortcuts:An})});let t=p(xu),e=t.querySelector('[name="theme"]'),n=t.querySelector('[name="tooltips"]'),r=t.querySelector('[name="direct_livebook_url"]'),i=t.querySelector('[name="livebook_url"]');H.getAndSubscribe(s=>{e.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),e.addEventListener("change",s=>{H.update({theme:s.target.value})}),n.addEventListener("change",s=>{H.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;H.update({livebookUrl:o})}),i.addEventListener("input",s=>{H.update({livebookUrl:s.target.value})}),p(Rn).addEventListener("click",s=>{hs()}),p(Mn).addEventListener("click",s=>{Lu()}),hs()}var Hn=new WeakMap;function Nn(t,e,n,r){if(!t&&!Hn.has(e))return!1;let i=Hn.get(e)??new WeakMap;Hn.set(e,i);let s=i.get(n)??new Set;i.set(n,s);let o=s.has(r);return t?s.add(r):s.delete(r),o&&t}function _u(t,e){let n=t.target;if(n instanceof Text&&(n=n.parentElement),n instanceof Element&&t.currentTarget instanceof Element){let r=n.closest(e);if(r&&t.currentTarget.contains(r))return r}}function Tu(t,e,n,r={}){let{signal:i,base:s=document}=r;if(i?.aborted)return;let{once:o,...a}=r,l=s instanceof Document?s.documentElement:s,u=Boolean(typeof r=="object"?r.capture:r),c=f=>{let m=_u(f,String(t));if(m){let g=Object.assign(f,{delegateTarget:m});n.call(l,g),o&&(l.removeEventListener(e,c,a),Nn(!1,l,n,d))}},d=JSON.stringify({selector:t,type:e,capture:u});Nn(!0,l,n,d)||l.addEventListener(e,c,a),i?.addEventListener("abort",()=>{Nn(!1,l,n,d)})}var bt=Tu;function P(){return P=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},P.apply(null,arguments)}var ys=(t,e)=>String(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",Te=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),Pu=(t,e={})=>{let n=P({url:t=t||Te({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(n,"",t)},_e=(t=null,e={})=>{t=t||Te({hash:!0});let n=P({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(n,"",t)},Ou=(t,e,n,r)=>{let i=new AbortController;return r=P({},r,{signal:i.signal}),bt(t,e,n,r),{destroy:()=>i.abort()}},O=class extends URL{constructor(e,n=document.baseURI){super(e.toString(),n),Object.setPrototypeOf(this,O.prototype)}get url(){return this.pathname+this.search}static fromElement(e){let n=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new O(n)}static fromUrl(e){return new O(e)}};var ge=class extends Error{constructor(e,n){super(e),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=n.url,this.status=n.status,this.aborted=n.aborted||!1,this.timedOut=n.timedOut||!1}};async function Iu(t,e={}){var n;t=O.fromUrl(t).url;let{visit:r=this.visit}=e,i=P({},this.options.requestHeaders,e.headers),s=(n=e.timeout)!=null?n:this.options.timeout,o=new AbortController,{signal:a}=o;e=P({},e,{headers:i,signal:a});let l,u=!1,c=null;s&&s>0&&(c=setTimeout(()=>{u=!0,o.abort("timeout")},s));try{l=await this.hooks.call("fetch:request",r,{url:t,options:e},(v,{url:w,options:x})=>fetch(w,x)),c&&clearTimeout(c)}catch(v){throw u?(this.hooks.call("fetch:timeout",r,{url:t}),new ge(`Request timed out: ${t}`,{url:t,timedOut:u})):v?.name==="AbortError"||a.aborted?new ge(`Request aborted: ${t}`,{url:t,aborted:!0}):v}let{status:d,url:h}=l,f=await l.text();if(d===500)throw this.hooks.call("fetch:error",r,{status:d,response:l,url:h}),new ge(`Server error: ${h}`,{status:d,url:h});if(!f)throw new ge(`Empty response: ${h}`,{status:d,url:h});let{url:m}=O.fromUrl(h),g={url:m,html:f};return!r.cache.write||e.method&&e.method!=="GET"||t!==m||this.cache.set(g.url,g),g}var Bn=class{constructor(e){this.swup=void 0,this.pages=new Map,this.swup=e}get size(){return this.pages.size}get all(){let e=new Map;return this.pages.forEach((n,r)=>{e.set(r,P({},n))}),e}has(e){return this.pages.has(this.resolve(e))}get(e){let n=this.pages.get(this.resolve(e));return n&&P({},n)}set(e,n){n=P({},n,{url:e=this.resolve(e)}),this.pages.set(e,n),this.swup.hooks.callSync("cache:set",void 0,{page:n})}update(e,n){e=this.resolve(e);let r=P({},this.get(e),n,{url:e});this.pages.set(e,r)}delete(e){this.pages.delete(this.resolve(e))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(e){this.pages.forEach((n,r)=>{e(r,n)&&this.delete(r)})}resolve(e){let{url:n}=O.fromUrl(e);return this.swup.resolveUrl(n)}},Qn=(t,e=document)=>e.querySelector(t),Vn=(t,e=document)=>Array.from(e.querySelectorAll(t)),ws=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function bs(t){return!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function Au(t,e=[]){return new Promise((n,r)=>{let i=t(...e);bs(i)?i.then(n,r):n(i)})}function ms(t,e){let n=t?.closest(`[${e}]`);return n!=null&&n.hasAttribute(e)?n?.getAttribute(e)||!0:void 0}var Fn=class{constructor(e){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=e}get selectors(){let{scope:e}=this.swup.visit.animation;return e==="containers"?this.swup.visit.containers:e==="html"?["html"]:Array.isArray(e)?e:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?Vn(this.selector):[]}add(...e){this.targets.forEach(n=>n.classList.add(...e))}remove(...e){this.targets.forEach(n=>n.classList.remove(...e))}clear(){this.targets.forEach(e=>{let n=e.className.split(" ").filter(r=>this.isSwupClass(r));e.classList.remove(...n)})}isSwupClass(e){return this.swupClasses.some(n=>e.startsWith(n))}},kt=class{constructor(e,n){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0,this.meta=void 0;let{to:r,from:i,hash:s,el:o,event:a}=n;this.id=Math.random(),this.state=1,this.from={url:i??e.location.url,hash:e.location.hash},this.to={url:r,hash:s},this.containers=e.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:e.options.native,scope:e.options.animationScope,selector:e.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:e.options.cache,write:e.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0},this.meta={}}advance(e){this.state<e&&(this.state=e)}abort(){this.state=8}get done(){return this.state>=7}};function Cu(t){return new kt(this,t)}var qn=class{constructor(e){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=e,this.init()}init(){this.hooks.forEach(e=>this.create(e))}create(e){this.registry.has(e)||this.registry.set(e,new Map)}exists(e){return this.registry.has(e)}get(e){let n=this.registry.get(e);if(n)return n;console.error(`Unknown hook '${e}'`)}clear(){this.registry.forEach(e=>e.clear())}on(e,n,r={}){let i=this.get(e);if(!i)return console.warn(`Hook '${e}' not found.`),()=>{};let s=P({},r,{id:i.size+1,hook:e,handler:n});return i.set(n,s),()=>this.off(e,n)}before(e,n,r={}){return this.on(e,n,P({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,P({},r,{replace:!0}))}once(e,n,r={}){return this.on(e,n,P({},r,{once:!0}))}off(e,n){let r=this.get(e);r&&n?r.delete(n)||console.warn(`Handler for hook '${e}' not found.`):r&&r.clear()}async call(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);await this.run(l,s,o);let[d]=await this.run(u,s,o,!0);return await this.run(c,s,o),this.dispatchDomEvent(e,s,o),d}callSync(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);this.runSync(l,s,o);let[d]=this.runSync(u,s,o,!0);return this.runSync(c,s,o),this.dispatchDomEvent(e,s,o),d}parseCallArgs(e,n,r,i){return n instanceof kt||typeof n!="object"&&typeof r!="function"?[n,r,i]:[void 0,n,r]}async run(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=await Au(a,[n,r,l]);s.push(c)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}runSync(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=a(n,r,l);s.push(c),bs(c)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}getHandlers(e,n){let r=this.get(e);if(!r)return{found:!1,before:[],handler:[],after:[],replaced:!1};let i=Array.from(r.values()),s=this.sortRegistrations,o=i.filter(({before:d,replace:h})=>d&&!h).sort(s),a=i.filter(({replace:d})=>d).filter(d=>!0).sort(s),l=i.filter(({before:d,replace:h})=>!d&&!h).sort(s),u=a.length>0,c=[];if(n&&(c=[{id:0,hook:e,handler:n}],u)){let d=a.length-1,{handler:h,once:f}=a[d],m=g=>{let v=a[g-1];return v?(w,x)=>v.handler(w,x,m(g-1)):n};c=[{id:0,hook:e,once:f,handler:h,defaultHandler:m(d)}]}return{found:!0,before:o,handler:c,after:l,replaced:u}}sortRegistrations(e,n){var r,i;return((r=e.priority)!=null?r:0)-((i=n.priority)!=null?i:0)||e.id-n.id||0}dispatchDomEvent(e,n,r){if(n!=null&&n.done)return;let i={hook:e,args:r,visit:n||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:i,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${e}`,{detail:i,bubbles:!0}))}parseName(e){let[n,...r]=e.split(".");return[n,r.reduce((i,s)=>P({},i,{[s]:!0}),{})]}},Ru=t=>{if(t&&t.charAt(0)==="#"&&(t=t.substring(1)),!t)return null;let e=decodeURIComponent(t),n=document.getElementById(t)||document.getElementById(e)||Qn(`a[name='${CSS.escape(t)}']`)||Qn(`a[name='${CSS.escape(e)}']`);return n||t!=="top"||(n=document.body),n},Et="transition",Dn="animation";async function Mu({selector:t,elements:e}){if(t===!1&&!e)return;let n=[];if(e)n=Array.from(e);else if(t&&(n=Vn(t,document.body),!n.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);let r=n.map(i=>function(s){let{type:o,timeout:a,propCount:l}=function(u){let c=window.getComputedStyle(u),d=xt(c,`${Et}Delay`),h=xt(c,`${Et}Duration`),f=gs(d,h),m=xt(c,`${Dn}Delay`),g=xt(c,`${Dn}Duration`),v=gs(m,g),w=Math.max(f,v),x=w>0?f>v?Et:Dn:null;return{type:x,timeout:w,propCount:x?x===Et?h.length:g.length:0}}(s);return!(!o||!a)&&new Promise(u=>{let c=`${o}end`,d=performance.now(),h=0,f=()=>{s.removeEventListener(c,m),u()},m=g=>{g.target===s&&((performance.now()-d)/1e3<g.elapsedTime||++h>=l&&f())};setTimeout(()=>{h<l&&f()},a+1),s.addEventListener(c,m)})}(i));r.filter(Boolean).length>0?await Promise.all(r):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function xt(t,e){return(t[e]||"").split(", ")}function gs(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,r)=>vs(n)+vs(t[r])))}function vs(t){return 1e3*parseFloat(t)}function Hu(t,e={},n={}){if(typeof t!="string")throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:n.el,event:n.event}))return void window.location.assign(t);let{url:r,hash:i}=O.fromUrl(t),s=this.createVisit(P({},n,{to:r,hash:i}));this.performNavigation(s,e)}async function Nu(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;let{el:n}=t.trigger;e.referrer=e.referrer||this.location.url,e.animate===!1&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();let r=e.history||ms(n,"data-swup-history");typeof r=="string"&&["push","replace"].includes(r)&&(t.history.action=r);let i=e.animation||ms(n,"data-swup-animation");var s,o;typeof i=="string"&&(t.animation.name=i),t.meta=e.meta||{},typeof e.cache=="object"?(t.cache.read=(s=e.cache.read)!=null?s:t.cache.read,t.cache.write=(o=e.cache.write)!=null?o:t.cache.write):e.cache!==void 0&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;let a=this.hooks.call("page:load",t,{options:e},async(u,c)=>{let d;return u.cache.read&&(d=this.cache.get(u.to.url)),c.page=d||await this.fetchPage(u.to.url,c.options),c.cache=!!d,c.page});a.then(({html:u})=>{t.advance(5),t.to.html=u,t.to.document=new DOMParser().parseFromString(u,"text/html")});let l=t.to.url+t.to.hash;if(t.history.popstate||(t.history.action==="replace"||t.to.url===this.location.url?_e(l):(this.currentHistoryIndex++,Pu(l,{index:this.currentHistoryIndex}))),this.location=O.fromUrl(l),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${ys(t.animation.name)}`),t.animation.wait&&await a,t.done||(await this.hooks.call("visit:transition",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await a);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await a)).finished:await this.renderPage(t,await a),await this.animatePageIn(t)}),t.done))return;await this.hooks.call("visit:end",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(a){if(!a||a!=null&&a.aborted)return void(t.state=8);t.state=9,console.error(a),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}var Du=async function(t){await this.hooks.call("animation:out:start",t,void 0,()=>{this.classes.add("is-changing","is-animating","is-leaving")}),await this.hooks.call("animation:out:await",t,{skip:!1},(e,{skip:n})=>{if(!n)return this.awaitAnimations({selector:e.animation.selector})}),await this.hooks.call("animation:out:end",t,void 0)},Bu=function(t){var e;let n=t.to.document;if(!n)return!1;let r=((e=n.querySelector("title"))==null?void 0:e.innerText)||"";document.title=r;let i=Vn('[data-swup-persist]:not([data-swup-persist=""])'),s=t.containers.map(o=>{let a=document.querySelector(o),l=n.querySelector(o);return a&&l?(a.replaceWith(l.cloneNode(!0)),!0):(a||console.warn(`[swup] Container missing in current document: ${o}`),l||console.warn(`[swup] Container missing in incoming document: ${o}`),!1)}).filter(Boolean);return i.forEach(o=>{let a=o.getAttribute("data-swup-persist"),l=Qn(`[data-swup-persist="${a}"]`);l&&l!==o&&l.replaceWith(o)}),s.length===t.containers.length},Qu=function(t){let e={behavior:"auto"},{target:n,reset:r}=t.scroll,i=n??t.to.hash,s=!1;return i&&(s=this.hooks.callSync("scroll:anchor",t,{hash:i,options:e},(o,{hash:a,options:l})=>{let u=this.getAnchorElement(a);return u&&u.scrollIntoView(l),!!u})),r&&!s&&(s=this.hooks.callSync("scroll:top",t,{options:e},(o,{options:a})=>(window.scrollTo(P({top:0,left:0},a)),!0))),s},Fu=async function(t){if(t.done)return;let e=this.hooks.call("animation:in:await",t,{skip:!1},(n,{skip:r})=>{if(!r)return this.awaitAnimations({selector:n.animation.selector})});await ws(),await this.hooks.call("animation:in:start",t,void 0,()=>{this.classes.remove("is-animating")}),await e,await this.hooks.call("animation:in:end",t,void 0)},qu=async function(t,e){if(t.done)return;t.advance(6);let{url:n}=e;this.isSameResolvedUrl(Te(),n)||(_e(n),this.location=O.fromUrl(n),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},(r,{})=>{if(this.classes.remove("is-leaving"),r.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(r))throw new Error("[swup] Container mismatch, aborting");r.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),r.animation.name&&this.classes.add(`to-${ys(r.animation.name)}`))}),await this.hooks.call("content:scroll",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},Vu=function(t){var e;if(e=t,Boolean(e?.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function $u(t){let e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(n=>n!==e),this.plugins;console.error("No such plugin",e)}function Uu(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function ju(t){if(typeof this.options.resolveUrl!="function")return console.warn("[swup] options.resolveUrl expects a callback function."),t;let e=this.options.resolveUrl(t);return e&&typeof e=="string"?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function Wu(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}var zu={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],hooks:{},ignoreVisit:(t,{el:e}={})=>!(e==null||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return((e=t.state)==null?void 0:e.source)!=="swup"},timeout:0},St=class{get currentPageUrl(){return this.location.url}constructor(e={}){var n,r;this.version="4.8.1",this.options=void 0,this.defaults=zu,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=O.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=Vu,this.unuse=$u,this.findPlugin=Uu,this.log=()=>{},this.navigate=Hu,this.performNavigation=Nu,this.createVisit=Cu,this.delegateEvent=Ou,this.fetchPage=Iu,this.awaitAnimations=Mu,this.renderPage=qu,this.replaceContent=Bu,this.animatePageIn=Fu,this.animatePageOut=Du,this.scrollToContent=Qu,this.getAnchorElement=Ru,this.getCurrentUrl=Te,this.resolveUrl=ju,this.isSameResolvedUrl=Wu,this.options=P({},this.defaults,e),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new Bn(this),this.classes=new Fn(this),this.hooks=new qn(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=(n=(r=window.history.state)==null?void 0:r.index)!=null?n:1,this.enable()}async enable(){var e;let{linkSelector:n}=this.options;this.clickDelegate=this.delegateEvent(n,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(r=>this.use(r));for(let[r,i]of Object.entries(this.options.hooks)){let[s,o]=this.hooks.parseName(r);this.hooks.on(s,i,o)}((e=window.history.state)==null?void 0:e.source)!=="swup"&&_e(null,{index:this.currentHistoryIndex}),await ws(),await this.hooks.call("enable",void 0,void 0,()=>{let r=document.documentElement;r.classList.add("swup-enabled"),r.classList.toggle("swup-native",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(e=>this.unuse(e)),await this.hooks.call("disable",void 0,void 0,()=>{let e=document.documentElement;e.classList.remove("swup-enabled"),e.classList.remove("swup-native")}),this.hooks.clear()}shouldIgnoreVisit(e,{el:n,event:r}={}){let{origin:i,url:s,hash:o}=O.fromUrl(e);return i!==window.location.origin||!(!n||!this.triggerWillOpenNewWindow(n))||!!this.options.ignoreVisit(s+o,{el:n,event:r})}handleLinkClick(e){let n=e.delegateTarget,{href:r,url:i,hash:s}=O.fromElement(n);if(this.shouldIgnoreVisit(r,{el:n,event:e}))return;if(this.navigating&&i===this.visit.to.url)return void e.preventDefault();let o=this.createVisit({to:i,hash:s,el:n,event:e});e.metaKey||e.ctrlKey||e.shiftKey||e.altKey?this.hooks.callSync("link:newtab",o,{href:r}):e.button===0&&this.hooks.callSync("link:click",o,{el:n,event:e},()=>{var a;let l=(a=o.from.url)!=null?a:"";e.preventDefault(),i&&i!==l?this.isSameResolvedUrl(i,l)||this.performNavigation(o):s?this.hooks.callSync("link:anchor",o,{hash:s},()=>{_e(i+s),this.scrollToContent(o)}):this.hooks.callSync("link:self",o,void 0,()=>{this.options.linkToSelf==="navigate"?this.performNavigation(o):(_e(i),this.scrollToContent(o))})})}handlePopState(e){var n,r,i,s;let o=(n=(r=e.state)==null?void 0:r.url)!=null?n:window.location.href;if(this.options.skipPopStateHandling(e)||this.isSameResolvedUrl(Te(),this.location.url))return;let{url:a,hash:l}=O.fromUrl(o),u=this.createVisit({to:a,hash:l,event:e});u.history.popstate=!0;let c=(i=(s=e.state)==null?void 0:s.index)!=null?i:0;c&&c!==this.currentHistoryIndex&&(u.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),u.animation.animate=!1,u.scroll.reset=!1,u.scroll.target=!1,this.options.animateHistoryBrowsing&&(u.animation.animate=!0,u.scroll.reset=!0),this.hooks.callSync("history:popstate",u,{event:e},()=>{this.performNavigation(u)})}triggerWillOpenNewWindow(e){return!!e.matches('[download], [target="_blank"]')}};function Pe(){return Pe=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Pe.apply(this,arguments)}var Es=t=>String(t).split(".").map(e=>String(parseInt(e||"0",10))).concat(["0","0"]).slice(0,3).join("."),ve=class{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach(e=>e()),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return typeof this.requires!="object"||Object.entries(this.requires).forEach(([e,n])=>{if(!function(r,i,s){let o=function(a,l){var u;if(a==="swup")return(u=l.version)!=null?u:"";{var c;let d=l.findPlugin(a);return(c=d?.version)!=null?c:""}}(r,s);return!!o&&((a,l)=>l.every(u=>{let[,c,d]=u.match(/^([\D]+)?(.*)$/)||[];var h,f;return((m,g)=>{let v={"":w=>w===0,">":w=>w>0,">=":w=>w>=0,"<":w=>w<0,"<=":w=>w<=0};return(v[g]||v[""])(m)})((f=d,h=Es(h=a),f=Es(f),h.localeCompare(f,void 0,{numeric:!0})),c||">=")}))(o,i)}(e,n=Array.isArray(n)?n:[n],this.swup)){let r=`${e} ${n.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${r}`)}}),!0}on(e,n,r={}){var i;n=!(i=n).name.startsWith("bound ")||i.hasOwnProperty("prototype")?n.bind(this):n;let s=this.swup.hooks.on(e,n,r);return this.handlersToUnregister.push(s),s}once(e,n,r={}){return this.on(e,n,Pe({},r,{once:!0}))}before(e,n,r={}){return this.on(e,n,Pe({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,Pe({},r,{replace:!0}))}off(e,n){return this.swup.hooks.off(e,n)}};(function(){if(!(typeof window>"u"||typeof document>"u"||typeof HTMLElement>"u")){var t=!1;try{var e=document.createElement("div");e.addEventListener("focus",function(s){s.preventDefault(),s.stopPropagation()},!0),e.focus(Object.defineProperty({},"preventScroll",{get:function(){if(navigator&&typeof navigator.userAgent<"u"&&navigator.userAgent&&navigator.userAgent.match(/Edge\/1[7-8]/))return t=!1;t=!0}}))}catch{}if(HTMLElement.prototype.nativeFocus===void 0&&!t){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var n=function(s){for(var o=s.parentNode,a=[],l=document.scrollingElement||document.documentElement;o&&o!==l;)(o.offsetHeight<o.scrollHeight||o.offsetWidth<o.scrollWidth)&&a.push([o,o.scrollTop,o.scrollLeft]),o=o.parentNode;return o=l,a.push([o,o.scrollTop,o.scrollLeft]),a},r=function(s){for(var o=0;o<s.length;o++)s[o][0].scrollTop=s[o][1],s[o][0].scrollLeft=s[o][2];s=[]},i=function(s){if(s&&s.preventScroll){var o=n(this);if(typeof setTimeout=="function"){var a=this;setTimeout(function(){a.nativeFocus(),r(o)},0)}else this.nativeFocus(),r(o)}else this.nativeFocus()};HTMLElement.prototype.focus=i}}})();function $n(){return $n=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},$n.apply(this,arguments)}function xs(t,e){return Object.keys(e).reduce((n,r)=>n.replace(`{${r}}`,e[r]||""),t||"")}var Un=class{constructor(){var e;this.id="swup-announcer",this.style="position:absolute;top:0;left:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;word-wrap:normal;width:1px;height:1px;",this.region=void 0,this.region=(e=this.getRegion())!=null?e:this.createRegion()}getRegion(){return document.getElementById(this.id)}createRegion(){let e=function(n){let r=document.createElement("template");return r.innerHTML=n,r.content.children[0]}(`<p aria-live="assertive" aria-atomic="true" id="${this.id}" style="${this.style}"></p>`);return document.body.appendChild(e),e}announce(e,n=0){return new Promise(r=>{setTimeout(()=>{this.region.textContent===e&&(e=`${e}.`),this.region.textContent="",this.region.textContent=e,r()},n)})}};function ks(t){let e;if(e=typeof t=="string"?document.querySelector(t):t,!(e instanceof HTMLElement))return;let n=e.getAttribute("tabindex");e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}),n!==null&&e.setAttribute("tabindex",n)}var Lt=class extends ve{constructor(e={}){super(),this.name="SwupA11yPlugin",this.requires={swup:">=4"},this.defaults={headingSelector:"h1",respectReducedMotion:!0,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.announcer=void 0,this.announcementDelay=100,this.rootSelector="body",this.handleAnchorScroll=(n,{hash:r})=>{let i=this.swup.getAnchorElement(r);i instanceof HTMLElement&&ks(i)},this.options=$n({},this.defaults,e),this.announcer=new Un}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("visit:end",this.focusContent),this.on("visit:end",this.announceContent),this.on("scroll:anchor",this.handleAnchorScroll),this.before("visit:start",this.disableAnimations),this.before("link:self",this.disableAnimations),this.before("link:anchor",this.disableAnimations),this.swup.announce=this.announce.bind(this)}unmount(){this.swup.announce=void 0}async announce(e){await this.announcer.announce(e)}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(e){e.a11y={announce:void 0,focus:this.rootSelector}}announceContent(e){this.swup.hooks.callSync("content:announce",e,void 0,n=>{n.a11y.announce===void 0&&(n.a11y.announce=this.getPageAnnouncement()),n.a11y.announce&&this.announcer.announce(n.a11y.announce,this.announcementDelay)})}focusContent(e){this.swup.hooks.callSync("content:focus",e,void 0,n=>{n.a11y.focus&&(this.options.autofocus&&function(){let r=function(){let i=document.querySelector("body [autofocus]");if(i&&!i.closest('[inert], [aria-disabled], [aria-hidden="true"]'))return i}();return!!r&&(r!==document.activeElement&&r.focus(),!0)}()===!0||ks(n.a11y.focus))})}getPageAnnouncement(){let{headingSelector:e,announcements:n}=this.options;return function({headingSelector:r="h1",announcements:i={}}){var s,o;let a=document.documentElement.lang||"*",{href:l,url:u,pathname:c}=O.fromUrl(window.location.href),d=(s=(o=i[a])!=null?o:i["*"])!=null?s:i;if(typeof d!="object")return;let h=document.querySelector(r);h||console.warn(`SwupA11yPlugin: No main heading (${r}) found on new page`);let f=h?.getAttribute("aria-label")||h?.textContent||document.title||xs(d.url,{href:l,url:u,path:c});return xs(d.visit,{title:f,href:l,url:u,path:c})}({headingSelector:e,announcements:n})}disableAnimations(e){this.options.respectReducedMotion&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(e.animation.animate=!1,e.scroll.animate=!1)}};function jn(){return jn=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},jn.apply(this,arguments)}var Wn=class{constructor({className:e,styleAttr:n,animationDuration:r,minValue:i,initialValue:s,trickleValue:o}={}){this.value=0,this.visible=!1,this.hiding=!1,this.className="progress-bar",this.styleAttr="data-progressbar-styles data-swup-theme",this.animationDuration=300,this.minValue=.1,this.initialValue=.25,this.trickleValue=.03,this.trickleInterval=void 0,this.styleElement=void 0,this.progressElement=void 0,this.trickle=()=>{let a=Math.random()*this.trickleValue;this.setValue(this.value+a)},e!==void 0&&(this.className=String(e)),n!==void 0&&(this.styleAttr=String(n)),r!==void 0&&(this.animationDuration=Number(r)),i!==void 0&&(this.minValue=Number(i)),s!==void 0&&(this.initialValue=Number(s)),o!==void 0&&(this.trickleValue=Number(o)),this.styleElement=this.createStyleElement(),this.progressElement=this.createProgressElement()}get defaultStyles(){return` .${this.className} { position: fixed; display: block; @@ -165,7 +165,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr transform: translate3d(0, 0, 0) scaleX(var(--progress, 0)); transform-origin: 0; } - `}show(){this.visible||(this.visible=!0,this.installStyleElement(),this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=Math.min(1,Math.max(this.minValue,e)),this.refresh()}installStyleElement(){document.head.prepend(this.styleElement)}installProgressElement(){this.progressElement.style.setProperty("--progress",String(0)),this.progressElement.style.opacity="1",document.body.prepend(this.progressElement),this.progressElement.scrollTop=0,this.setValue(Math.random()*this.initialValue)}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,1.5*this.animationDuration)}uninstallProgressElement(){this.progressElement.remove()}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,this.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}refresh(){requestAnimationFrame(()=>{this.progressElement.style.setProperty("--progress",String(this.value))})}createStyleElement(){let e=document.createElement("style");return this.styleAttr.split(" ").forEach(n=>e.setAttribute(n,"")),e.textContent=this.defaultStyles,e}createProgressElement(){let e=document.createElement("div");return e.className=this.className,e.setAttribute("aria-hidden","true"),e}},_t=class extends ge{constructor(e={}){super(),this.name="SwupProgressPlugin",this.defaults={className:"swup-progress-bar",delay:300,transition:300,minValue:.1,initialValue:.25,finishAnimation:!0},this.options=void 0,this.progressBar=void 0,this.showProgressBarTimeout=void 0,this.hideProgressBarTimeout=void 0,this.options=Un({},this.defaults,e);let{className:n,minValue:r,initialValue:i,transition:s}=this.options;this.progressBar=new jn({className:n,minValue:r,initialValue:i,animationDuration:s})}mount(){this.on("visit:start",this.startShowingProgress),this.on("page:view",this.stopShowingProgress)}startShowingProgress(){this.progressBar.setValue(0),this.showProgressBarAfterDelay()}stopShowingProgress(){this.progressBar.setValue(1),this.options.finishAnimation?this.finishAnimationAndHideProgressBar():this.hideProgressBar()}showProgressBar(){this.cancelHideProgressBarTimeout(),this.progressBar.show()}showProgressBarAfterDelay(){this.cancelShowProgressBarTimeout(),this.cancelHideProgressBarTimeout(),this.showProgressBarTimeout=window.setTimeout(this.showProgressBar.bind(this),this.options.delay)}hideProgressBar(){this.cancelShowProgressBarTimeout(),this.progressBar.hide()}finishAnimationAndHideProgressBar(){this.cancelShowProgressBarTimeout(),this.hideProgressBarTimeout=window.setTimeout(this.hideProgressBar.bind(this),this.options.transition)}cancelShowProgressBarTimeout(){window.clearTimeout(this.showProgressBarTimeout),delete this.showProgressBarTimeout}cancelHideProgressBarTimeout(){window.clearTimeout(this.hideProgressBarTimeout),delete this.hideProgressBarTimeout}};var ks=()=>{window.dispatchEvent(new Event("exdoc:loaded"))};window.addEventListener("DOMContentLoaded",ks);!A&&window.location.protocol!=="file:"&&new Lt({animationSelector:!1,containers:["#main"],ignoreVisit:t=>{let e=t.split("#")[0];return e===window.location.pathname||e===window.location.pathname+".html"},linkSelector:'a[href]:not([href^="/"]):not([href^="http"])',hooks:{"page:view":ks},plugins:[new Tt,new _t({delay:500})]});})(); + `}show(){this.visible||(this.visible=!0,this.installStyleElement(),this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=Math.min(1,Math.max(this.minValue,e)),this.refresh()}installStyleElement(){document.head.prepend(this.styleElement)}installProgressElement(){this.progressElement.style.setProperty("--progress",String(0)),this.progressElement.style.opacity="1",document.body.prepend(this.progressElement),this.progressElement.scrollTop=0,this.setValue(Math.random()*this.initialValue)}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,1.5*this.animationDuration)}uninstallProgressElement(){this.progressElement.remove()}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,this.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}refresh(){requestAnimationFrame(()=>{this.progressElement.style.setProperty("--progress",String(this.value))})}createStyleElement(){let e=document.createElement("style");return this.styleAttr.split(" ").forEach(n=>e.setAttribute(n,"")),e.textContent=this.defaultStyles,e}createProgressElement(){let e=document.createElement("div");return e.className=this.className,e.setAttribute("aria-hidden","true"),e}},_t=class extends ve{constructor(e={}){super(),this.name="SwupProgressPlugin",this.defaults={className:"swup-progress-bar",delay:300,transition:300,minValue:.1,initialValue:.25,finishAnimation:!0},this.options=void 0,this.progressBar=void 0,this.showProgressBarTimeout=void 0,this.hideProgressBarTimeout=void 0,this.options=jn({},this.defaults,e);let{className:n,minValue:r,initialValue:i,transition:s}=this.options;this.progressBar=new Wn({className:n,minValue:r,initialValue:i,animationDuration:s})}mount(){this.on("visit:start",this.startShowingProgress),this.on("page:view",this.stopShowingProgress)}startShowingProgress(){this.progressBar.setValue(0),this.showProgressBarAfterDelay()}stopShowingProgress(){this.progressBar.setValue(1),this.options.finishAnimation?this.finishAnimationAndHideProgressBar():this.hideProgressBar()}showProgressBar(){this.cancelHideProgressBarTimeout(),this.progressBar.show()}showProgressBarAfterDelay(){this.cancelShowProgressBarTimeout(),this.cancelHideProgressBarTimeout(),this.showProgressBarTimeout=window.setTimeout(this.showProgressBar.bind(this),this.options.delay)}hideProgressBar(){this.cancelShowProgressBarTimeout(),this.progressBar.hide()}finishAnimationAndHideProgressBar(){this.cancelShowProgressBarTimeout(),this.hideProgressBarTimeout=window.setTimeout(this.hideProgressBar.bind(this),this.options.transition)}cancelShowProgressBarTimeout(){window.clearTimeout(this.showProgressBarTimeout),delete this.showProgressBarTimeout}cancelHideProgressBarTimeout(){window.clearTimeout(this.hideProgressBarTimeout),delete this.hideProgressBarTimeout}};var Ss=()=>{window.dispatchEvent(new Event("exdoc:loaded"))};window.addEventListener("DOMContentLoaded",Ss);!A&&window.location.protocol!=="file:"&&new St({animationSelector:!1,containers:["#main"],ignoreVisit:t=>{let e=t.split("#")[0];return e===window.location.pathname||e===window.location.pathname+".html"},linkSelector:'a[href]:not([href^="/"]):not([href^="http"])',hooks:{"page:view":Ss},plugins:[new Lt,new _t({delay:500})]});})(); /*! Bundled license information: lunr/lunr.js: From 655d6af2b830be56c1242a24f62ff0c886de8b90 Mon Sep 17 00:00:00 2001 From: James Harton <james@harton.nz> Date: Thu, 13 Feb 2025 12:34:59 +1300 Subject: [PATCH 4/5] improvement: Allow the search type to be selected in the UI. --- assets/css/search-bar.css | 30 +++++- assets/js/search-bar.js | 92 ++++++++++++++++++- assets/js/search-page.js | 54 ++++++----- .../{html-XEWS3Q4M.js => html-PCPGWS3R.js} | 20 ++-- formatters/html/dist/html-elixir-6X3L5KMG.css | 6 -- formatters/html/dist/html-elixir-MC2QMTHN.css | 6 ++ formatters/html/dist/html-erlang-FDBURIED.css | 6 -- formatters/html/dist/html-erlang-PUDIA7BT.css | 6 ++ .../html/templates/sidebar_template.eex | 5 + 9 files changed, 176 insertions(+), 49 deletions(-) rename formatters/html/dist/{html-XEWS3Q4M.js => html-PCPGWS3R.js} (66%) delete mode 100644 formatters/html/dist/html-elixir-6X3L5KMG.css create mode 100644 formatters/html/dist/html-elixir-MC2QMTHN.css delete mode 100644 formatters/html/dist/html-erlang-FDBURIED.css create mode 100644 formatters/html/dist/html-erlang-PUDIA7BT.css diff --git a/assets/css/search-bar.css b/assets/css/search-bar.css index f2db11d41..1062d0aef 100644 --- a/assets/css/search-bar.css +++ b/assets/css/search-bar.css @@ -30,7 +30,7 @@ color: var(--searchAccentMain); position: relative; height: 46px; - padding: 8px 35px 8px 43px; + padding: 8px 135px 8px 43px; width: 100%; transition: var(--transition-all); } @@ -80,7 +80,8 @@ background-color: transparent; border: none; cursor: pointer; - right: 11px; + /* FIXME: I know this is wrong. Not sure what to do though */ + right: 100px; margin: 0; opacity: 0.5; padding: 5px 1px 5px 0; @@ -95,6 +96,31 @@ opacity: 0.7; } +.top-search .search-bar .search-type { + background-color: transparent; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + border-right: 1px solid transparent; + border-left: 1px solid var(--searchBarBorder); + border-top-right-radius: var(--borderRadius-base); + border-bottom-right-radius: var(--borderRadius-base); + color: var(--searchAccentMain); + position: absolute; + top: calc(50% - 23px); + right: 0; + height: 46px; + padding: 8px 8px 8px 16px; + transition: var(--transition-all); + z-index: 99; +} + +.top-search .search-bar .search-type:focus { + border: 1px solid var(--searchBarFocusColor); + border-top-right-radius: calc(var(--borderRadius-base) - 1px); + border-bottom-right-radius: calc(var(--borderRadius-base) - 1px); + box-shadow: 0px 4px 20px 0px var(--searchBarBorderColor) inset; +} + .top-search .search-settings button.icon-settings { display: flex; align-items: center; diff --git a/assets/js/search-bar.js b/assets/js/search-bar.js index 2e50e04e4..9c7821328 100644 --- a/assets/js/search-bar.js +++ b/assets/js/search-bar.js @@ -10,7 +10,7 @@ import { AUTOCOMPLETE_CONTAINER_SELECTOR, AUTOCOMPLETE_SUGGESTION_LIST_SELECTOR } from './autocomplete/autocomplete-list' -import { isEmbedded } from './globals' +import { isEmbedded, getSearchNodes, getVersionNodes } from './globals' import { isAppleOS, qs } from './helpers' const SEARCH_INPUT_SELECTOR = 'form.search-bar input' @@ -37,6 +37,12 @@ function initialize () { focusSearchInput() if (open) { showPreview(event.target) } else { hidePreview() } } + + if (window.navigator.onLine) { + enableRemoteSearch(null) + } else { + disableRemoteSearch(null) + } } /** @@ -137,6 +143,66 @@ function addEventListeners () { clearSearch() hideAutocomplete() }) + + window.addEventListener('online', enableRemoteSearch) + window.addEventListener('offline', disableRemoteSearch) +} + +function enableRemoteSearch (_event) { + Array.from(document.getElementsByClassName('online-only')).forEach(element => { + element.removeAttribute('disabled') + element.removeAttribute('title') + updateSearchTypeOptions(element) + }) +} + +function disableRemoteSearch (_event) { + Array.from(document.getElementsByClassName('online-only')).forEach(element => { + element.setAttribute('disabled', '') + element.setAttribute('title', 'Local searching only - browser is offline') + updateSearchTypeOptions(element) + }) +} + +function updateSearchTypeOptions (element) { + Array.from(element.getElementsByTagName('option')).forEach(option => { + if (option.value === 'related') { + if (shouldEnableRelatedSearch()) { + option.removeAttribute('disabled') + option.removeAttribute('title') + } else { + option.setAttribute('disabled', '') + option.setAttribute('title', 'No known related packages to search') + } + } + if (option.value === 'latest') { + if (shouldEnableLatestSearch()) { + option.removeAttribute('disabled') + option.removeAttribute('title') + } else { + option.setAttribute('disabled', '') + option.setAttribute('title', 'Already browsing latest version') + } + } + }) +} + +function shouldEnableRelatedSearch () { + return getSearchNodes().length > 1 +} + +function shouldEnableLatestSearch () { + const versionNodes = getVersionNodes() + + if (versionNodes.length > 0) { + const latest = versionNodes[0] + const searchNodes = getSearchNodes() + const match = searchNodes.some(node => `v${node.version}` === latest.version) + + return !match + } + + return false } function handleAutocompleteFormSubmission (event) { @@ -155,8 +221,18 @@ function handleAutocompleteFormSubmission (event) { anchor.setAttribute('href', autocompleteSuggestion.link) } else { const meta = document.querySelector('meta[name="exdoc:full-text-search-url"]') - const url = meta ? meta.getAttribute('content') : 'search.html?q=' - anchor.setAttribute('href', `${url}${encodeURIComponent(searchInput.value)}`) + const url = meta ? meta.getAttribute('content') : 'search.html' + + const params = new URLSearchParams() + params.set('q', searchInput.value) + + const searchType = getSearchType() + + if (searchType !== 'local') { + params.set('type', searchType) + } + + anchor.setAttribute('href', `${url}?${params.toString()}`) } anchor.click() @@ -167,6 +243,16 @@ function handleAutocompleteFormSubmission (event) { } } +function getSearchType () { + const searchTypes = Array.from(document.getElementsByClassName('search-type')) + + if (searchTypes.length > 0) { + return searchTypes[0].value + } + + return 'local' +} + function clearSearch () { const input = qs(SEARCH_INPUT_SELECTOR) input.value = '' diff --git a/assets/js/search-page.js b/assets/js/search-page.js index 51158639c..79ec45604 100644 --- a/assets/js/search-page.js +++ b/assets/js/search-page.js @@ -24,7 +24,7 @@ lunr.Pipeline.registerFunction(docTrimmerFunction, 'docTrimmer') window.addEventListener('exdoc:loaded', initialize) -function initialize() { +function initialize () { const pathname = window.location.pathname if (pathname.endsWith('/search.html') || pathname.endsWith('/search')) { const query = getQueryParamByName('q') @@ -33,7 +33,7 @@ function initialize() { } } -async function search(value, queryType) { +async function search (value, queryType) { if (isBlank(value)) { renderResults({ value }) } else { @@ -44,6 +44,8 @@ async function search(value, queryType) { const searchNodes = getSearchNodes() if (['related', 'latest'].includes(queryType) && searchNodes.length > 0) { + setSearchType(queryType) + results = await remoteSearch(value, queryType, searchNodes) } else { results = await localSearch(value) @@ -56,7 +58,7 @@ async function search(value, queryType) { } } -async function localSearch(value) { +async function localSearch (value) { const index = await getIndex() // We cannot match on atoms :foo because that would be considered @@ -65,7 +67,7 @@ async function localSearch(value) { return searchResultsToDecoratedSearchItems(index.search(fixedValue)) } -async function remoteSearch(value, queryType, searchNodes) { +async function remoteSearch (value, queryType, searchNodes) { let filterNodes = searchNodes if (queryType === 'latest') { @@ -107,13 +109,21 @@ async function remoteSearch(value, queryType, searchNodes) { } } -function renderResults({ value, results, errorMessage }) { +function setSearchType (value) { + const searchTypes = Array.from(document.getElementsByClassName('search-type')) + + searchTypes.forEach(element => { + element.value = value + }) +} + +function renderResults ({ value, results, errorMessage }) { const searchContainer = qs(SEARCH_CONTAINER_SELECTOR) const resultsHtml = searchResultsTemplate({ value, results, errorMessage }) searchContainer.innerHTML = resultsHtml } -async function getIndex() { +async function getIndex () { const cachedIndex = await loadIndex() if (cachedIndex) { return cachedIndex } @@ -122,7 +132,7 @@ async function getIndex() { return index } -async function loadIndex() { +async function loadIndex () { try { const serializedIndex = sessionStorage.getItem(indexStorageKey()) if (serializedIndex) { @@ -137,7 +147,7 @@ async function loadIndex() { } } -async function saveIndex(index) { +async function saveIndex (index) { try { const serializedIndex = await compress(index) sessionStorage.setItem(indexStorageKey(), serializedIndex) @@ -146,7 +156,7 @@ async function saveIndex(index) { } } -async function compress(index) { +async function compress (index) { const stream = new Blob([JSON.stringify(index)], { type: 'application/json' }).stream().pipeThrough(new window.CompressionStream('gzip')) @@ -156,7 +166,7 @@ async function compress(index) { return b64encode(buffer) } -async function decompress(index) { +async function decompress (index) { const stream = new Blob([b64decode(index)], { type: 'application/json' }).stream().pipeThrough(new window.DecompressionStream('gzip')) @@ -165,7 +175,7 @@ async function decompress(index) { return JSON.parse(blob) } -function b64encode(buffer) { +function b64encode (buffer) { let binary = '' const bytes = new Uint8Array(buffer) const len = bytes.byteLength @@ -175,7 +185,7 @@ function b64encode(buffer) { return window.btoa(binary) } -function b64decode(str) { +function b64decode (str) { const binaryString = window.atob(str) const len = binaryString.length const bytes = new Uint8Array(new ArrayBuffer(len)) @@ -185,11 +195,11 @@ function b64decode(str) { return bytes } -function indexStorageKey() { +function indexStorageKey () { return `idv5:${getProjectNameAndVersion()}` } -function createIndex() { +function createIndex () { return lunr(function () { this.ref('ref') this.field('title', { boost: 3 }) @@ -207,11 +217,11 @@ function createIndex() { }) } -function docTokenSplitter(builder) { +function docTokenSplitter (builder) { builder.pipeline.before(lunr.stemmer, docTokenFunction) } -function docTokenFunction(token) { +function docTokenFunction (token) { // If we have something with an arity, we split on : . to make partial // matches easier. We split only when tokenizing, not when searching. // Below we use ExDoc.Markdown.to_ast/2 as an example. @@ -275,11 +285,11 @@ function docTokenFunction(token) { return tokens } -function docTrimmer(builder) { +function docTrimmer (builder) { builder.pipeline.before(lunr.stemmer, docTrimmerFunction) } -function docTrimmerFunction(token) { +function docTrimmerFunction (token) { // Preserve @ and : at the beginning of tokens, // and ? and ! at the end of tokens. It needs to // be done before stemming, otherwise search and @@ -289,7 +299,7 @@ function docTrimmerFunction(token) { }) } -function searchResultsToDecoratedSearchItems(results) { +function searchResultsToDecoratedSearchItems (results) { return results // If the docs are regenerated without changing its version, // a reference may have been doc'ed false in the code but @@ -306,11 +316,11 @@ function searchResultsToDecoratedSearchItems(results) { }) } -function getSearchItemByRef(ref) { +function getSearchItemByRef (ref) { return searchData.items.find(searchItem => searchItem.ref === ref) || null } -function getExcerpts(searchItem, metadata) { +function getExcerpts (searchItem, metadata) { const { doc } = searchItem const searchTerms = Object.keys(metadata) @@ -331,7 +341,7 @@ function getExcerpts(searchItem, metadata) { return excerpts.slice(0, 1) } -function excerpt(doc, sliceStart, sliceLength) { +function excerpt (doc, sliceStart, sliceLength) { const startPos = Math.max(sliceStart - EXCERPT_RADIUS, 0) const endPos = Math.min(sliceStart + sliceLength + EXCERPT_RADIUS, doc.length) return [ diff --git a/formatters/html/dist/html-XEWS3Q4M.js b/formatters/html/dist/html-PCPGWS3R.js similarity index 66% rename from formatters/html/dist/html-XEWS3Q4M.js rename to formatters/html/dist/html-PCPGWS3R.js index 566e5115d..95039b6cf 100644 --- a/formatters/html/dist/html-XEWS3Q4M.js +++ b/formatters/html/dist/html-PCPGWS3R.js @@ -1,9 +1,9 @@ -(()=>{var Os=Object.create;var zn=Object.defineProperty;var Is=Object.getOwnPropertyDescriptor;var As=Object.getOwnPropertyNames;var Cs=Object.getPrototypeOf,Rs=Object.prototype.hasOwnProperty;var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ms=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of As(e))!Rs.call(t,i)&&i!==n&&zn(t,i,{get:()=>e[i],enumerable:!(r=Is(e,i))||r.enumerable});return t};var Y=(t,e,n)=>(n=t!=null?Os(Cs(t)):{},Ms(e||!t||!t.__esModule?zn(n,"default",{value:t,enumerable:!0}):n,t));var vr=L((dc,gr)=>{var mr="Expected a function",fr=NaN,Qs="[object Symbol]",Fs=/^\s+|\s+$/g,qs=/^[-+]0x[0-9a-f]+$/i,Vs=/^0b[01]+$/i,$s=/^0o[0-7]+$/i,Us=parseInt,js=typeof global=="object"&&global&&global.Object===Object&&global,Ws=typeof self=="object"&&self&&self.Object===Object&&self,zs=js||Ws||Function("return this")(),Gs=Object.prototype,Ks=Gs.toString,Ys=Math.max,Js=Math.min,Bt=function(){return zs.Date.now()};function Xs(t,e,n){var r,i,s,o,a,l,u=0,c=!1,d=!1,h=!0;if(typeof t!="function")throw new TypeError(mr);e=pr(e)||0,Ve(n)&&(c=!!n.leading,d="maxWait"in n,s=d?Ys(pr(n.maxWait)||0,e):s,h="trailing"in n?!!n.trailing:h);function f(S){var R=r,U=i;return r=i=void 0,u=S,o=t.apply(U,R),o}function m(S){return u=S,a=setTimeout(w,e),c?f(S):o}function g(S){var R=S-l,U=S-u,ee=e-R;return d?Js(ee,s-U):ee}function v(S){var R=S-l,U=S-u;return l===void 0||R>=e||R<0||d&&U>=s}function w(){var S=Bt();if(v(S))return x(S);a=setTimeout(w,g(S))}function x(S){return a=void 0,h&&r?f(S):(r=i=void 0,o)}function I(){a!==void 0&&clearTimeout(a),u=0,r=l=i=a=void 0}function F(){return a===void 0?o:x(Bt())}function $(){var S=Bt(),R=v(S);if(r=arguments,i=this,l=S,R){if(a===void 0)return m(l);if(d)return a=setTimeout(w,e),f(l)}return a===void 0&&(a=setTimeout(w,e)),o}return $.cancel=I,$.flush=F,$}function Zs(t,e,n){var r=!0,i=!0;if(typeof t!="function")throw new TypeError(mr);return Ve(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Xs(t,e,{leading:r,maxWait:e,trailing:i})}function Ve(t){var e=typeof t;return!!t&&(e=="object"||e=="function")}function eo(t){return!!t&&typeof t=="object"}function to(t){return typeof t=="symbol"||eo(t)&&Ks.call(t)==Qs}function pr(t){if(typeof t=="number")return t;if(to(t))return fr;if(Ve(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Ve(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=t.replace(Fs,"");var n=Vs.test(t);return n||$s.test(t)?Us(t.slice(2),n?2:8):qs.test(t)?fr:+t}gr.exports=Zs});var q=L(D=>{"use strict";D.__esModule=!0;D.extend=Rr;D.indexOf=po;D.escapeExpression=mo;D.isEmpty=go;D.createFrame=vo;D.blockParams=yo;D.appendContextPath=wo;var uo={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},co=/[&<>"'`=]/g,ho=/[&<>"'`=]/;function fo(t){return uo[t]}function Rr(t){for(var e=1;e<arguments.length;e++)for(var n in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],n)&&(t[n]=arguments[e][n]);return t}var jt=Object.prototype.toString;D.toString=jt;var Ut=function(e){return typeof e=="function"};Ut(/x/)&&(D.isFunction=Ut=function(t){return typeof t=="function"&&jt.call(t)==="[object Function]"});D.isFunction=Ut;var Mr=Array.isArray||function(t){return t&&typeof t=="object"?jt.call(t)==="[object Array]":!1};D.isArray=Mr;function po(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}function mo(t){if(typeof t!="string"){if(t&&t.toHTML)return t.toHTML();if(t==null)return"";if(!t)return t+"";t=""+t}return ho.test(t)?t.replace(co,fo):t}function go(t){return!t&&t!==0?!0:!!(Mr(t)&&t.length===0)}function vo(t){var e=Rr({},t);return e._parent=t,e}function yo(t,e){return t.path=e,t}function wo(t,e){return(t?t+".":"")+e}});var X=L((We,Hr)=>{"use strict";We.__esModule=!0;var Wt=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function zt(t,e){var n=e&&e.loc,r=void 0,i=void 0,s=void 0,o=void 0;n&&(r=n.start.line,i=n.end.line,s=n.start.column,o=n.end.column,t+=" - "+r+":"+s);for(var a=Error.prototype.constructor.call(this,t),l=0;l<Wt.length;l++)this[Wt[l]]=a[Wt[l]];Error.captureStackTrace&&Error.captureStackTrace(this,zt);try{n&&(this.lineNumber=r,this.endLineNumber=i,Object.defineProperty?(Object.defineProperty(this,"column",{value:s,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:o,enumerable:!0})):(this.column=s,this.endColumn=o))}catch{}}zt.prototype=new Error;We.default=zt;Hr.exports=We.default});var Dr=L((ze,Nr)=>{"use strict";ze.__esModule=!0;var Gt=q();ze.default=function(t){t.registerHelper("blockHelperMissing",function(e,n){var r=n.inverse,i=n.fn;if(e===!0)return i(this);if(e===!1||e==null)return r(this);if(Gt.isArray(e))return e.length>0?(n.ids&&(n.ids=[n.name]),t.helpers.each(e,n)):r(this);if(n.data&&n.ids){var s=Gt.createFrame(n.data);s.contextPath=Gt.appendContextPath(n.data.contextPath,n.name),n={data:s}}return i(e,n)})};Nr.exports=ze.default});var Qr=L((Ge,Br)=>{"use strict";Ge.__esModule=!0;function bo(t){return t&&t.__esModule?t:{default:t}}var be=q(),Eo=X(),xo=bo(Eo);Ge.default=function(t){t.registerHelper("each",function(e,n){if(!n)throw new xo.default("Must pass iterator to #each");var r=n.fn,i=n.inverse,s=0,o="",a=void 0,l=void 0;n.data&&n.ids&&(l=be.appendContextPath(n.data.contextPath,n.ids[0])+"."),be.isFunction(e)&&(e=e.call(this)),n.data&&(a=be.createFrame(n.data));function u(m,g,v){a&&(a.key=m,a.index=g,a.first=g===0,a.last=!!v,l&&(a.contextPath=l+m)),o=o+r(e[m],{data:a,blockParams:be.blockParams([e[m],m],[l+m,null])})}if(e&&typeof e=="object")if(be.isArray(e))for(var c=e.length;s<c;s++)s in e&&u(s,s,s===e.length-1);else if(global.Symbol&&e[global.Symbol.iterator]){for(var d=[],h=e[global.Symbol.iterator](),f=h.next();!f.done;f=h.next())d.push(f.value);e=d;for(var c=e.length;s<c;s++)u(s,s,s===e.length-1)}else(function(){var m=void 0;Object.keys(e).forEach(function(g){m!==void 0&&u(m,s-1),m=g,s++}),m!==void 0&&u(m,s-1,!0)})();return s===0&&(o=i(this)),o})};Br.exports=Ge.default});var qr=L((Ke,Fr)=>{"use strict";Ke.__esModule=!0;function ko(t){return t&&t.__esModule?t:{default:t}}var So=X(),Lo=ko(So);Ke.default=function(t){t.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new Lo.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Fr.exports=Ke.default});var jr=L((Ye,Ur)=>{"use strict";Ye.__esModule=!0;function _o(t){return t&&t.__esModule?t:{default:t}}var Vr=q(),To=X(),$r=_o(To);Ye.default=function(t){t.registerHelper("if",function(e,n){if(arguments.length!=2)throw new $r.default("#if requires exactly one argument");return Vr.isFunction(e)&&(e=e.call(this)),!n.hash.includeZero&&!e||Vr.isEmpty(e)?n.inverse(this):n.fn(this)}),t.registerHelper("unless",function(e,n){if(arguments.length!=2)throw new $r.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:n.inverse,inverse:n.fn,hash:n.hash})})};Ur.exports=Ye.default});var zr=L((Je,Wr)=>{"use strict";Je.__esModule=!0;Je.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var i=1;n.hash.level!=null?i=n.hash.level:n.data&&n.data.level!=null&&(i=n.data.level),e[0]=i,t.log.apply(t,e)})};Wr.exports=Je.default});var Kr=L((Xe,Gr)=>{"use strict";Xe.__esModule=!0;Xe.default=function(t){t.registerHelper("lookup",function(e,n,r){return e&&r.lookupProperty(e,n)})};Gr.exports=Xe.default});var Jr=L((Ze,Yr)=>{"use strict";Ze.__esModule=!0;function Po(t){return t&&t.__esModule?t:{default:t}}var Ee=q(),Oo=X(),Io=Po(Oo);Ze.default=function(t){t.registerHelper("with",function(e,n){if(arguments.length!=2)throw new Io.default("#with requires exactly one argument");Ee.isFunction(e)&&(e=e.call(this));var r=n.fn;if(Ee.isEmpty(e))return n.inverse(this);var i=n.data;return n.data&&n.ids&&(i=Ee.createFrame(n.data),i.contextPath=Ee.appendContextPath(n.data.contextPath,n.ids[0])),r(e,{data:i,blockParams:Ee.blockParams([e],[i&&i.contextPath])})})};Yr.exports=Ze.default});var Kt=L(et=>{"use strict";et.__esModule=!0;et.registerDefaultHelpers=jo;et.moveHelperToHooks=Wo;function se(t){return t&&t.__esModule?t:{default:t}}var Ao=Dr(),Co=se(Ao),Ro=Qr(),Mo=se(Ro),Ho=qr(),No=se(Ho),Do=jr(),Bo=se(Do),Qo=zr(),Fo=se(Qo),qo=Kr(),Vo=se(qo),$o=Jr(),Uo=se($o);function jo(t){Co.default(t),Mo.default(t),No.default(t),Bo.default(t),Fo.default(t),Vo.default(t),Uo.default(t)}function Wo(t,e,n){t.helpers[e]&&(t.hooks[e]=t.helpers[e],n||delete t.helpers[e])}});var Zr=L((tt,Xr)=>{"use strict";tt.__esModule=!0;var zo=q();tt.default=function(t){t.registerDecorator("inline",function(e,n,r,i){var s=e;return n.partials||(n.partials={},s=function(o,a){var l=r.partials;r.partials=zo.extend({},l,n.partials);var u=e(o,a);return r.partials=l,u}),n.partials[i.args[0]]=i.fn,s})};Xr.exports=tt.default});var ei=L(Yt=>{"use strict";Yt.__esModule=!0;Yt.registerDefaultDecorators=Jo;function Go(t){return t&&t.__esModule?t:{default:t}}var Ko=Zr(),Yo=Go(Ko);function Jo(t){Yo.default(t)}});var Jt=L((nt,ti)=>{"use strict";nt.__esModule=!0;var Xo=q(),pe={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if(typeof e=="string"){var n=Xo.indexOf(pe.methodMap,e.toLowerCase());n>=0?e=n:e=parseInt(e,10)}return e},log:function(e){if(e=pe.lookupLevel(e),typeof console<"u"&&pe.lookupLevel(pe.level)<=e){var n=pe.methodMap[e];console[n]||(n="log");for(var r=arguments.length,i=Array(r>1?r-1:0),s=1;s<r;s++)i[s-1]=arguments[s];console[n].apply(console,i)}}};nt.default=pe;ti.exports=nt.default});var ni=L(Xt=>{"use strict";Xt.__esModule=!0;Xt.createNewLookupObject=ea;var Zo=q();function ea(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return Zo.extend.apply(void 0,[Object.create(null)].concat(e))}});var Zt=L(xe=>{"use strict";xe.__esModule=!0;xe.createProtoAccessControl=ia;xe.resultIsAllowed=sa;xe.resetLoggedProperties=aa;function ta(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var ri=ni(),na=Jt(),ra=ta(na),rt=Object.create(null);function ia(t){var e=Object.create(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:ri.createNewLookupObject(n,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:ri.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}}function sa(t,e,n){return ii(typeof t=="function"?e.methods:e.properties,n)}function ii(t,e){return t.whitelist[e]!==void 0?t.whitelist[e]===!0:t.defaultValue!==void 0?t.defaultValue:(oa(e),!1)}function oa(t){rt[t]!==!0&&(rt[t]=!0,ra.log("error",'Handlebars: Access has been denied to resolve the property "'+t+`" because it is not an "own property" of its parent. +(()=>{var Cs=Object.create;var Kn=Object.defineProperty;var Rs=Object.getOwnPropertyDescriptor;var Ms=Object.getOwnPropertyNames;var Ns=Object.getPrototypeOf,Hs=Object.prototype.hasOwnProperty;var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ds=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ms(e))!Hs.call(t,i)&&i!==n&&Kn(t,i,{get:()=>e[i],enumerable:!(r=Rs(e,i))||r.enumerable});return t};var Y=(t,e,n)=>(n=t!=null?Cs(Ns(t)):{},Ds(e||!t||!t.__esModule?Kn(n,"default",{value:t,enumerable:!0}):n,t));var vr=L((yc,gr)=>{var mr="Expected a function",fr=NaN,$s="[object Symbol]",qs=/^\s+|\s+$/g,Us=/^[-+]0x[0-9a-f]+$/i,js=/^0b[01]+$/i,Ws=/^0o[0-7]+$/i,zs=parseInt,Gs=typeof global=="object"&&global&&global.Object===Object&&global,Ks=typeof self=="object"&&self&&self.Object===Object&&self,Ys=Gs||Ks||Function("return this")(),Js=Object.prototype,Xs=Js.toString,Zs=Math.max,eo=Math.min,Ft=function(){return Ys.Date.now()};function to(t,e,n){var r,i,s,o,a,l,u=0,c=!1,d=!1,h=!0;if(typeof t!="function")throw new TypeError(mr);e=pr(e)||0,Ue(n)&&(c=!!n.leading,d="maxWait"in n,s=d?Zs(pr(n.maxWait)||0,e):s,h="trailing"in n?!!n.trailing:h);function f(S){var R=r,U=i;return r=i=void 0,u=S,o=t.apply(U,R),o}function m(S){return u=S,a=setTimeout(w,e),c?f(S):o}function g(S){var R=S-l,U=S-u,ee=e-R;return d?eo(ee,s-U):ee}function v(S){var R=S-l,U=S-u;return l===void 0||R>=e||R<0||d&&U>=s}function w(){var S=Ft();if(v(S))return x(S);a=setTimeout(w,g(S))}function x(S){return a=void 0,h&&r?f(S):(r=i=void 0,o)}function A(){a!==void 0&&clearTimeout(a),u=0,r=l=i=a=void 0}function F(){return a===void 0?o:x(Ft())}function q(){var S=Ft(),R=v(S);if(r=arguments,i=this,l=S,R){if(a===void 0)return m(l);if(d)return a=setTimeout(w,e),f(l)}return a===void 0&&(a=setTimeout(w,e)),o}return q.cancel=A,q.flush=F,q}function no(t,e,n){var r=!0,i=!0;if(typeof t!="function")throw new TypeError(mr);return Ue(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),to(t,e,{leading:r,maxWait:e,trailing:i})}function Ue(t){var e=typeof t;return!!t&&(e=="object"||e=="function")}function ro(t){return!!t&&typeof t=="object"}function io(t){return typeof t=="symbol"||ro(t)&&Xs.call(t)==$s}function pr(t){if(typeof t=="number")return t;if(io(t))return fr;if(Ue(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Ue(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=t.replace(qs,"");var n=js.test(t);return n||Ws.test(t)?zs(t.slice(2),n?2:8):Us.test(t)?fr:+t}gr.exports=no});var V=L(D=>{"use strict";D.__esModule=!0;D.extend=Rr;D.indexOf=vo;D.escapeExpression=yo;D.isEmpty=wo;D.createFrame=bo;D.blockParams=Eo;D.appendContextPath=xo;var fo={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},po=/[&<>"'`=]/g,mo=/[&<>"'`=]/;function go(t){return fo[t]}function Rr(t){for(var e=1;e<arguments.length;e++)for(var n in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],n)&&(t[n]=arguments[e][n]);return t}var zt=Object.prototype.toString;D.toString=zt;var Wt=function(e){return typeof e=="function"};Wt(/x/)&&(D.isFunction=Wt=function(t){return typeof t=="function"&&zt.call(t)==="[object Function]"});D.isFunction=Wt;var Mr=Array.isArray||function(t){return t&&typeof t=="object"?zt.call(t)==="[object Array]":!1};D.isArray=Mr;function vo(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}function yo(t){if(typeof t!="string"){if(t&&t.toHTML)return t.toHTML();if(t==null)return"";if(!t)return t+"";t=""+t}return mo.test(t)?t.replace(po,go):t}function wo(t){return!t&&t!==0?!0:!!(Mr(t)&&t.length===0)}function bo(t){var e=Rr({},t);return e._parent=t,e}function Eo(t,e){return t.path=e,t}function xo(t,e){return(t?t+".":"")+e}});var X=L((Ge,Nr)=>{"use strict";Ge.__esModule=!0;var Gt=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function Kt(t,e){var n=e&&e.loc,r=void 0,i=void 0,s=void 0,o=void 0;n&&(r=n.start.line,i=n.end.line,s=n.start.column,o=n.end.column,t+=" - "+r+":"+s);for(var a=Error.prototype.constructor.call(this,t),l=0;l<Gt.length;l++)this[Gt[l]]=a[Gt[l]];Error.captureStackTrace&&Error.captureStackTrace(this,Kt);try{n&&(this.lineNumber=r,this.endLineNumber=i,Object.defineProperty?(Object.defineProperty(this,"column",{value:s,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:o,enumerable:!0})):(this.column=s,this.endColumn=o))}catch{}}Kt.prototype=new Error;Ge.default=Kt;Nr.exports=Ge.default});var Dr=L((Ke,Hr)=>{"use strict";Ke.__esModule=!0;var Yt=V();Ke.default=function(t){t.registerHelper("blockHelperMissing",function(e,n){var r=n.inverse,i=n.fn;if(e===!0)return i(this);if(e===!1||e==null)return r(this);if(Yt.isArray(e))return e.length>0?(n.ids&&(n.ids=[n.name]),t.helpers.each(e,n)):r(this);if(n.data&&n.ids){var s=Yt.createFrame(n.data);s.contextPath=Yt.appendContextPath(n.data.contextPath,n.name),n={data:s}}return i(e,n)})};Hr.exports=Ke.default});var Qr=L((Ye,Br)=>{"use strict";Ye.__esModule=!0;function ko(t){return t&&t.__esModule?t:{default:t}}var Ee=V(),So=X(),Lo=ko(So);Ye.default=function(t){t.registerHelper("each",function(e,n){if(!n)throw new Lo.default("Must pass iterator to #each");var r=n.fn,i=n.inverse,s=0,o="",a=void 0,l=void 0;n.data&&n.ids&&(l=Ee.appendContextPath(n.data.contextPath,n.ids[0])+"."),Ee.isFunction(e)&&(e=e.call(this)),n.data&&(a=Ee.createFrame(n.data));function u(m,g,v){a&&(a.key=m,a.index=g,a.first=g===0,a.last=!!v,l&&(a.contextPath=l+m)),o=o+r(e[m],{data:a,blockParams:Ee.blockParams([e[m],m],[l+m,null])})}if(e&&typeof e=="object")if(Ee.isArray(e))for(var c=e.length;s<c;s++)s in e&&u(s,s,s===e.length-1);else if(global.Symbol&&e[global.Symbol.iterator]){for(var d=[],h=e[global.Symbol.iterator](),f=h.next();!f.done;f=h.next())d.push(f.value);e=d;for(var c=e.length;s<c;s++)u(s,s,s===e.length-1)}else(function(){var m=void 0;Object.keys(e).forEach(function(g){m!==void 0&&u(m,s-1),m=g,s++}),m!==void 0&&u(m,s-1,!0)})();return s===0&&(o=i(this)),o})};Br.exports=Ye.default});var Vr=L((Je,Fr)=>{"use strict";Je.__esModule=!0;function To(t){return t&&t.__esModule?t:{default:t}}var _o=X(),Po=To(_o);Je.default=function(t){t.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new Po.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Fr.exports=Je.default});var jr=L((Xe,Ur)=>{"use strict";Xe.__esModule=!0;function Oo(t){return t&&t.__esModule?t:{default:t}}var $r=V(),Ao=X(),qr=Oo(Ao);Xe.default=function(t){t.registerHelper("if",function(e,n){if(arguments.length!=2)throw new qr.default("#if requires exactly one argument");return $r.isFunction(e)&&(e=e.call(this)),!n.hash.includeZero&&!e||$r.isEmpty(e)?n.inverse(this):n.fn(this)}),t.registerHelper("unless",function(e,n){if(arguments.length!=2)throw new qr.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:n.inverse,inverse:n.fn,hash:n.hash})})};Ur.exports=Xe.default});var zr=L((Ze,Wr)=>{"use strict";Ze.__esModule=!0;Ze.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var i=1;n.hash.level!=null?i=n.hash.level:n.data&&n.data.level!=null&&(i=n.data.level),e[0]=i,t.log.apply(t,e)})};Wr.exports=Ze.default});var Kr=L((et,Gr)=>{"use strict";et.__esModule=!0;et.default=function(t){t.registerHelper("lookup",function(e,n,r){return e&&r.lookupProperty(e,n)})};Gr.exports=et.default});var Jr=L((tt,Yr)=>{"use strict";tt.__esModule=!0;function Io(t){return t&&t.__esModule?t:{default:t}}var xe=V(),Co=X(),Ro=Io(Co);tt.default=function(t){t.registerHelper("with",function(e,n){if(arguments.length!=2)throw new Ro.default("#with requires exactly one argument");xe.isFunction(e)&&(e=e.call(this));var r=n.fn;if(xe.isEmpty(e))return n.inverse(this);var i=n.data;return n.data&&n.ids&&(i=xe.createFrame(n.data),i.contextPath=xe.appendContextPath(n.data.contextPath,n.ids[0])),r(e,{data:i,blockParams:xe.blockParams([e],[i&&i.contextPath])})})};Yr.exports=tt.default});var Jt=L(nt=>{"use strict";nt.__esModule=!0;nt.registerDefaultHelpers=Go;nt.moveHelperToHooks=Ko;function se(t){return t&&t.__esModule?t:{default:t}}var Mo=Dr(),No=se(Mo),Ho=Qr(),Do=se(Ho),Bo=Vr(),Qo=se(Bo),Fo=jr(),Vo=se(Fo),$o=zr(),qo=se($o),Uo=Kr(),jo=se(Uo),Wo=Jr(),zo=se(Wo);function Go(t){No.default(t),Do.default(t),Qo.default(t),Vo.default(t),qo.default(t),jo.default(t),zo.default(t)}function Ko(t,e,n){t.helpers[e]&&(t.hooks[e]=t.helpers[e],n||delete t.helpers[e])}});var Zr=L((rt,Xr)=>{"use strict";rt.__esModule=!0;var Yo=V();rt.default=function(t){t.registerDecorator("inline",function(e,n,r,i){var s=e;return n.partials||(n.partials={},s=function(o,a){var l=r.partials;r.partials=Yo.extend({},l,n.partials);var u=e(o,a);return r.partials=l,u}),n.partials[i.args[0]]=i.fn,s})};Xr.exports=rt.default});var ei=L(Xt=>{"use strict";Xt.__esModule=!0;Xt.registerDefaultDecorators=ea;function Jo(t){return t&&t.__esModule?t:{default:t}}var Xo=Zr(),Zo=Jo(Xo);function ea(t){Zo.default(t)}});var Zt=L((it,ti)=>{"use strict";it.__esModule=!0;var ta=V(),pe={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if(typeof e=="string"){var n=ta.indexOf(pe.methodMap,e.toLowerCase());n>=0?e=n:e=parseInt(e,10)}return e},log:function(e){if(e=pe.lookupLevel(e),typeof console<"u"&&pe.lookupLevel(pe.level)<=e){var n=pe.methodMap[e];console[n]||(n="log");for(var r=arguments.length,i=Array(r>1?r-1:0),s=1;s<r;s++)i[s-1]=arguments[s];console[n].apply(console,i)}}};it.default=pe;ti.exports=it.default});var ni=L(en=>{"use strict";en.__esModule=!0;en.createNewLookupObject=ra;var na=V();function ra(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return na.extend.apply(void 0,[Object.create(null)].concat(e))}});var tn=L(ke=>{"use strict";ke.__esModule=!0;ke.createProtoAccessControl=aa;ke.resultIsAllowed=la;ke.resetLoggedProperties=ca;function ia(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var ri=ni(),sa=Zt(),oa=ia(sa),st=Object.create(null);function aa(t){var e=Object.create(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:ri.createNewLookupObject(n,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:ri.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}}function la(t,e,n){return ii(typeof t=="function"?e.methods:e.properties,n)}function ii(t,e){return t.whitelist[e]!==void 0?t.whitelist[e]===!0:t.defaultValue!==void 0?t.defaultValue:(ua(e),!1)}function ua(t){st[t]!==!0&&(st[t]=!0,oa.log("error",'Handlebars: Access has been denied to resolve the property "'+t+`" because it is not an "own property" of its parent. You can add a runtime option to disable the check or this warning: -See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function aa(){Object.keys(rt).forEach(function(t){delete rt[t]})}});var rn=L(j=>{"use strict";j.__esModule=!0;j.HandlebarsEnvironment=nn;function si(t){return t&&t.__esModule?t:{default:t}}var oe=q(),la=X(),en=si(la),ua=Kt(),ca=ei(),da=Jt(),it=si(da),ha=Zt(),fa="4.7.7";j.VERSION=fa;var pa=8;j.COMPILER_REVISION=pa;var ma=7;j.LAST_COMPATIBLE_COMPILER_REVISION=ma;var ga={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};j.REVISION_CHANGES=ga;var tn="[object Object]";function nn(t,e,n){this.helpers=t||{},this.partials=e||{},this.decorators=n||{},ua.registerDefaultHelpers(this),ca.registerDefaultDecorators(this)}nn.prototype={constructor:nn,logger:it.default,log:it.default.log,registerHelper:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple helpers");oe.extend(this.helpers,e)}else this.helpers[e]=n},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){if(oe.toString.call(e)===tn)oe.extend(this.partials,e);else{if(typeof n>"u")throw new en.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=n}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,n){if(oe.toString.call(e)===tn){if(n)throw new en.default("Arg not supported with multiple decorators");oe.extend(this.decorators,e)}else this.decorators[e]=n},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){ha.resetLoggedProperties()}};var va=it.default.log;j.log=va;j.createFrame=oe.createFrame;j.logger=it.default});var ai=L((st,oi)=>{"use strict";st.__esModule=!0;function sn(t){this.string=t}sn.prototype.toString=sn.prototype.toHTML=function(){return""+this.string};st.default=sn;oi.exports=st.default});var li=L(on=>{"use strict";on.__esModule=!0;on.wrapHelper=ya;function ya(t,e){if(typeof t!="function")return t;var n=function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)};return n}});var fi=L(Z=>{"use strict";Z.__esModule=!0;Z.checkRevision=Sa;Z.template=La;Z.wrapProgram=ot;Z.resolvePartial=_a;Z.invokePartial=Ta;Z.noop=di;function wa(t){return t&&t.__esModule?t:{default:t}}function ba(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Ea=q(),z=ba(Ea),xa=X(),G=wa(xa),K=rn(),ui=Kt(),ka=li(),ci=Zt();function Sa(t){var e=t&&t[0]||1,n=K.COMPILER_REVISION;if(!(e>=K.LAST_COMPATIBLE_COMPILER_REVISION&&e<=K.COMPILER_REVISION))if(e<K.LAST_COMPATIBLE_COMPILER_REVISION){var r=K.REVISION_CHANGES[n],i=K.REVISION_CHANGES[e];throw new G.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}else throw new G.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}function La(t,e){if(!e)throw new G.default("No environment passed to template");if(!t||!t.main)throw new G.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var n=t.compiler&&t.compiler[0]===7;function r(o,a,l){l.hash&&(a=z.extend({},a,l.hash),l.ids&&(l.ids[0]=!0)),o=e.VM.resolvePartial.call(this,o,a,l);var u=z.extend({},l,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=e.VM.invokePartial.call(this,o,a,u);if(c==null&&e.compile&&(l.partials[l.name]=e.compile(o,t.compilerOptions,e),c=l.partials[l.name](a,u)),c!=null){if(l.indent){for(var d=c.split(` +See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function ca(){Object.keys(st).forEach(function(t){delete st[t]})}});var on=L(j=>{"use strict";j.__esModule=!0;j.HandlebarsEnvironment=sn;function si(t){return t&&t.__esModule?t:{default:t}}var oe=V(),da=X(),nn=si(da),ha=Jt(),fa=ei(),pa=Zt(),ot=si(pa),ma=tn(),ga="4.7.7";j.VERSION=ga;var va=8;j.COMPILER_REVISION=va;var ya=7;j.LAST_COMPATIBLE_COMPILER_REVISION=ya;var wa={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};j.REVISION_CHANGES=wa;var rn="[object Object]";function sn(t,e,n){this.helpers=t||{},this.partials=e||{},this.decorators=n||{},ha.registerDefaultHelpers(this),fa.registerDefaultDecorators(this)}sn.prototype={constructor:sn,logger:ot.default,log:ot.default.log,registerHelper:function(e,n){if(oe.toString.call(e)===rn){if(n)throw new nn.default("Arg not supported with multiple helpers");oe.extend(this.helpers,e)}else this.helpers[e]=n},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){if(oe.toString.call(e)===rn)oe.extend(this.partials,e);else{if(typeof n>"u")throw new nn.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=n}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,n){if(oe.toString.call(e)===rn){if(n)throw new nn.default("Arg not supported with multiple decorators");oe.extend(this.decorators,e)}else this.decorators[e]=n},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){ma.resetLoggedProperties()}};var ba=ot.default.log;j.log=ba;j.createFrame=oe.createFrame;j.logger=ot.default});var ai=L((at,oi)=>{"use strict";at.__esModule=!0;function an(t){this.string=t}an.prototype.toString=an.prototype.toHTML=function(){return""+this.string};at.default=an;oi.exports=at.default});var li=L(ln=>{"use strict";ln.__esModule=!0;ln.wrapHelper=Ea;function Ea(t,e){if(typeof t!="function")return t;var n=function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)};return n}});var fi=L(Z=>{"use strict";Z.__esModule=!0;Z.checkRevision=_a;Z.template=Pa;Z.wrapProgram=lt;Z.resolvePartial=Oa;Z.invokePartial=Aa;Z.noop=di;function xa(t){return t&&t.__esModule?t:{default:t}}function ka(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Sa=V(),z=ka(Sa),La=X(),G=xa(La),K=on(),ui=Jt(),Ta=li(),ci=tn();function _a(t){var e=t&&t[0]||1,n=K.COMPILER_REVISION;if(!(e>=K.LAST_COMPATIBLE_COMPILER_REVISION&&e<=K.COMPILER_REVISION))if(e<K.LAST_COMPATIBLE_COMPILER_REVISION){var r=K.REVISION_CHANGES[n],i=K.REVISION_CHANGES[e];throw new G.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}else throw new G.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}function Pa(t,e){if(!e)throw new G.default("No environment passed to template");if(!t||!t.main)throw new G.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var n=t.compiler&&t.compiler[0]===7;function r(o,a,l){l.hash&&(a=z.extend({},a,l.hash),l.ids&&(l.ids[0]=!0)),o=e.VM.resolvePartial.call(this,o,a,l);var u=z.extend({},l,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=e.VM.invokePartial.call(this,o,a,u);if(c==null&&e.compile&&(l.partials[l.name]=e.compile(o,t.compilerOptions,e),c=l.partials[l.name](a,u)),c!=null){if(l.indent){for(var d=c.split(` `),h=0,f=d.length;h<f&&!(!d[h]&&h+1===f);h++)d[h]=l.indent+d[h];c=d.join(` -`)}return c}else throw new G.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,l,u){if(!a||!(l in a))throw new G.default('"'+l+'" not defined in '+a,{loc:u});return i.lookupProperty(a,l)},lookupProperty:function(a,l){var u=a[l];if(u==null||Object.prototype.hasOwnProperty.call(a,l)||ci.resultIsAllowed(u,i.protoAccessControl,l))return u},lookup:function(a,l){for(var u=a.length,c=0;c<u;c++){var d=a[c]&&i.lookupProperty(a[c],l);if(d!=null)return a[c][l]}},lambda:function(a,l){return typeof a=="function"?a.call(l):a},escapeExpression:z.escapeExpression,invokePartial:r,fn:function(a){var l=t[a];return l.decorator=t[a+"_d"],l},programs:[],program:function(a,l,u,c,d){var h=this.programs[a],f=this.fn(a);return l||d||c||u?h=ot(this,a,f,l,u,c,d):h||(h=this.programs[a]=ot(this,a,f)),h},data:function(a,l){for(;a&&l--;)a=a._parent;return a},mergeIfNeeded:function(a,l){var u=a||l;return a&&l&&a!==l&&(u=z.extend({},l,a)),u},nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=a.data;s._setup(a),!a.partial&&t.useData&&(l=Pa(o,l));var u=void 0,c=t.useBlockParams?[]:void 0;t.useDepths&&(a.depths?u=o!=a.depths[0]?[o].concat(a.depths):a.depths:u=[o]);function d(h){return""+t.main(i,h,i.helpers,i.partials,l,c,u)}return d=hi(t.main,d,i,a.depths||[],l,c),d(o,a)}return s.isTop=!0,s._setup=function(o){if(o.partial)i.protoAccessControl=o.protoAccessControl,i.helpers=o.helpers,i.partials=o.partials,i.decorators=o.decorators,i.hooks=o.hooks;else{var a=z.extend({},e.helpers,o.helpers);Oa(a,i),i.helpers=a,t.usePartial&&(i.partials=i.mergeIfNeeded(o.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=z.extend({},e.decorators,o.decorators)),i.hooks={},i.protoAccessControl=ci.createProtoAccessControl(o);var l=o.allowCallsToHelperMissing||n;ui.moveHelperToHooks(i,"helperMissing",l),ui.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(o,a,l,u){if(t.useBlockParams&&!l)throw new G.default("must pass block params");if(t.useDepths&&!u)throw new G.default("must pass parent depths");return ot(i,o,t[o],a,0,l,u)},s}function ot(t,e,n,r,i,s,o){function a(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=o;return o&&l!=o[0]&&!(l===t.nullContext&&o[0]===null)&&(c=[l].concat(o)),n(t,l,t.helpers,t.partials,u.data||r,s&&[u.blockParams].concat(s),c)}return a=hi(n,a,t,o,r,s),a.program=e,a.depth=o?o.length:0,a.blockParams=i||0,a}function _a(t,e,n){return t?!t.call&&!n.name&&(n.name=t,t=n.partials[t]):n.name==="@partial-block"?t=n.data["partial-block"]:t=n.partials[n.name],t}function Ta(t,e,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var i=void 0;if(n.fn&&n.fn!==di&&function(){n.data=K.createFrame(n.data);var s=n.fn;i=n.data["partial-block"]=function(a){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=K.createFrame(l.data),l.data["partial-block"]=r,s(a,l)},s.partials&&(n.partials=z.extend({},n.partials,s.partials))}(),t===void 0&&i&&(t=i),t===void 0)throw new G.default("The partial "+n.name+" could not be found");if(t instanceof Function)return t(e,n)}function di(){return""}function Pa(t,e){return(!e||!("root"in e))&&(e=e?K.createFrame(e):{},e.root=t),e}function hi(t,e,n,r,i,s){if(t.decorator){var o={};e=t.decorator(e,o,n,r&&r[0],i,s,r),z.extend(e,o)}return e}function Oa(t,e){Object.keys(t).forEach(function(n){var r=t[n];t[n]=Ia(r,e)})}function Ia(t,e){var n=e.lookupProperty;return ka.wrapHelper(t,function(r){return z.extend({lookupProperty:n},r)})}});var mi=L((at,pi)=>{"use strict";at.__esModule=!0;at.default=function(t){var e=typeof global<"u"?global:window,n=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=n),t}};pi.exports=at.default});var ae=L((lt,wi)=>{"use strict";lt.__esModule=!0;function ln(t){return t&&t.__esModule?t:{default:t}}function un(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Aa=rn(),gi=un(Aa),Ca=ai(),Ra=ln(Ca),Ma=X(),Ha=ln(Ma),Na=q(),an=un(Na),Da=fi(),vi=un(Da),Ba=mi(),Qa=ln(Ba);function yi(){var t=new gi.HandlebarsEnvironment;return an.extend(t,gi),t.SafeString=Ra.default,t.Exception=Ha.default,t.Utils=an,t.escapeExpression=an.escapeExpression,t.VM=vi,t.template=function(e){return vi.template(e,t)},t}var ke=yi();ke.create=yi;Qa.default(ke);ke.default=ke;lt.default=ke;wi.exports=lt.default});var Gi=L((Wi,zi)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(d){return new t.Token(t.utils.asString(d).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var c=t.utils.clone(n)||{};c.position=[a,u],c.index=s.length,s.push(new t.Token(r.slice(a,o),c))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,c=0;u<s&&c<o;)a=r[u],l=i[c],a<l?u+=2:a>l?c+=2:a==l&&(n+=r[u+1]*i[c+1],u+=2,c+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,c="^("+s+")?"+i,d=new RegExp(a),h=new RegExp(u),f=new RegExp(l),m=new RegExp(c),g=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,x=/^(.+?)(ed|ing)$/,I=/.$/,F=/(at|bl|iz)$/,$=new RegExp("([^aeiouylsz])\\1$"),S=new RegExp("^"+s+i+"[^aeiouwxy]$"),R=/^(.+?[^aeiou])y$/,U=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,ee=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,ye=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,Oe=/^(.+?)(s|t)(ion)$/,te=/^(.+?)e$/,Ie=/ll$/,Ae=new RegExp("^"+s+i+"[^aeiouwxy]$"),we=function(y){var k,ne,Q,b,_,re,he;if(y.length<3)return y;if(Q=y.substr(0,1),Q=="y"&&(y=Q.toUpperCase()+y.substr(1)),b=g,_=v,b.test(y)?y=y.replace(b,"$1$2"):_.test(y)&&(y=y.replace(_,"$1$2")),b=w,_=x,b.test(y)){var T=b.exec(y);b=d,b.test(T[1])&&(b=I,y=y.replace(b,""))}else if(_.test(y)){var T=_.exec(y);k=T[1],_=m,_.test(k)&&(y=k,_=F,re=$,he=S,_.test(y)?y=y+"e":re.test(y)?(b=I,y=y.replace(b,"")):he.test(y)&&(y=y+"e"))}if(b=R,b.test(y)){var T=b.exec(y);k=T[1],y=k+"i"}if(b=U,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+e[ne])}if(b=ee,b.test(y)){var T=b.exec(y);k=T[1],ne=T[2],b=d,b.test(k)&&(y=k+n[ne])}if(b=ye,_=Oe,b.test(y)){var T=b.exec(y);k=T[1],b=h,b.test(k)&&(y=k)}else if(_.test(y)){var T=_.exec(y);k=T[1]+T[2],_=h,_.test(k)&&(y=k)}if(b=te,b.test(y)){var T=b.exec(y);k=T[1],b=h,_=f,re=Ae,(b.test(k)||_.test(k)&&!re.test(k))&&(y=k)}return b=Ie,_=h,b.test(y)&&_.test(y)&&(b=I,y=y.replace(b,"")),Q=="y"&&(y=Q.toLowerCase()+y.substr(1)),y};return function(de){return de.update(we)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c=s.str.charAt(0),d=s.str.charAt(1),h;d in s.node.edges?h=s.node.edges[d]:(h=new t.TokenSet,s.node.edges[d]=h),s.str.length==1&&(h.final=!0),i.push({node:h,editsRemaining:s.editsRemaining-1,str:c+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var c=s[u],d=0;d<l;d++){var h=a[d];if(h==c||c=="*"){var f=r.node.edges[h],m=r.qNode.edges[c],g=f.final&&m.final,v=void 0;h in r.output.edges?(v=r.output.edges[h],v.final=v.final||g):(v=new t.TokenSet,v.final=g,r.output.edges[h]=v),i.push({qNode:m,output:v,node:f})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],c=null,d=t.Set.empty;u.usePipeline?c=this.pipeline.runString(u.term,{fields:u.fields}):c=[u.term];for(var h=0;h<c.length;h++){var f=c[h];u.term=f;var m=t.TokenSet.fromClause(u),g=this.tokenSet.intersect(m).toArray();if(g.length===0&&u.presence===t.Query.presence.REQUIRED){for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=t.Set.empty}break}for(var x=0;x<g.length;x++)for(var I=g[x],F=this.invertedIndex[I],$=F._index,v=0;v<u.fields.length;v++){var w=u.fields[v],S=F[w],R=Object.keys(S),U=I+"/"+w,ee=new t.Set(R);if(u.presence==t.Query.presence.REQUIRED&&(d=d.union(ee),o[w]===void 0&&(o[w]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[w]===void 0&&(a[w]=t.Set.empty),a[w]=a[w].union(ee);continue}if(i[w].upsert($,u.boost,function(Ts,Ps){return Ts+Ps}),!s[U]){for(var ye=0;ye<R.length;ye++){var Oe=R[ye],te=new t.FieldRef(Oe,w),Ie=S[Oe],Ae;(Ae=r[te])===void 0?r[te]=new t.MatchData(I,w,Ie):Ae.add(I,w,Ie)}s[U]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=o[w].intersect(d)}}for(var we=t.Set.complete,de=t.Set.empty,l=0;l<this.fields.length;l++){var w=this.fields[l];o[w]&&(we=we.intersect(o[w])),a[w]&&(de=de.union(a[w]))}var y=Object.keys(r),k=[],ne=Object.create(null);if(n.isNegated()){y=Object.keys(this.fieldVectors);for(var l=0;l<y.length;l++){var te=y[l],Q=t.FieldRef.fromString(te);r[te]=new t.MatchData}}for(var l=0;l<y.length;l++){var Q=t.FieldRef.fromString(y[l]),b=Q.docRef;if(we.contains(b)&&!de.contains(b)){var _=this.fieldVectors[Q],re=i[Q.fieldName].similarity(_),he;if((he=ne[b])!==void 0)he.score+=re,he.matchData.combine(r[Q]);else{var T={ref:b,score:re,matchData:r[Q]};ne[b]=T,k.push(T)}}}return k.sort(function(Ls,_s){return _s.score-Ls.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=i[u],d=c[0],h=c[1];r[d]=new t.Vector(h)}for(var u=0;u<o.length;u++){var c=o[u],f=c[0],m=c[1];a.insert(f),s[f]=m}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),c=this.pipeline.run(u),d=new t.FieldRef(r,o),h=Object.create(null);this.fieldTermFrequencies[d]=h,this.fieldLengths[d]=0,this.fieldLengths[d]+=c.length;for(var f=0;f<c.length;f++){var m=c[f];if(h[m]==null&&(h[m]=0),h[m]+=1,this.invertedIndex[m]==null){var g=Object.create(null);g._index=this.termIndex,this.termIndex+=1;for(var v=0;v<i.length;v++)g[i[v]]=Object.create(null);this.invertedIndex[m]=g}this.invertedIndex[m][o][r]==null&&(this.invertedIndex[m][o][r]=Object.create(null));for(var w=0;w<this.metadataWhitelist.length;w++){var x=this.metadataWhitelist[w],I=m.metadata[x];this.invertedIndex[m][o][r][x]==null&&(this.invertedIndex[m][o][r][x]=[]),this.invertedIndex[m][o][r][x].push(I)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,c=this.fieldTermFrequencies[o],d=Object.keys(c),h=d.length,f=this._fields[a].boost||1,m=this._documents[o.docRef].boost||1,g=0;g<h;g++){var v=d[g],w=c[v],x=this.invertedIndex[v]._index,I,F,$;i[v]===void 0?(I=t.idf(this.invertedIndex[v],this.documentCount),i[v]=I):I=i[v],F=I*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+w),F*=f,F*=m,$=Math.round(F*1e3)/1e3,u.insert(x,$)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var c=l[u];this.metadata[i][a][c]==null?this.metadata[i][a][c]=e.metadata[i][a][c]:this.metadata[i][a][c]=this.metadata[i][a][c].concat(e.metadata[i][a][c])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof Wi=="object"?zi.exports=n():e.lunr=n()}(this,function(){return t})})()});var Gn=new URLSearchParams(window.location.search),Kn=window.self!==window.parent,Tt=Kn&&Gn.has("preview"),Pt=Kn&&Gn.has("hint"),A=Tt||Pt;function Ce(){return window.sidebarNodes||{}}function Yn(){return window.versionNodes||[]}function Jn(){return window.searchNodes||[]}var p=document.querySelector.bind(document),M=document.querySelectorAll.bind(document);function Xn(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Me(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function He(){return document.getElementById("main").dataset.type}var Re=["H1","H2","H3","H4","H5","H6"];function Ne(t=!1){let e=window.location.hash.replace(/^#/,"");if(!e)return t?document.getElementById("top-content"):null;let n=document.getElementById(e);if(!n)return null;if(n.matches(".detail"))return n;if(Re.includes(n.tagName))return Ot(n);let r=Hs(n);return r||document.getElementById("top-content")}function Hs(t){let e=t.previousElementSibling;for(;e;){if(Re.includes(e.tagName))return Ot(e);e=e.previousElementSibling}let n=t.parentNode;for(;n;){for(e=n.previousElementSibling;e;){if(Re.includes(e.tagName))return Ot(e);e=e.previousElementSibling}n=n.parentNode}return null}function Ot(t){let e=document.createElement("div"),n=[t],r=t;for(;(r=r.nextSibling)&&!(Re.includes(r.tagName)&&r.tagName<=t.tagName);)n.push(r);return e.append(...n),e}function It(t){return new URLSearchParams(window.location.search).get(t)}function At(t){return fetch(t).then(e=>e.ok).catch(()=>!1)}function fe(t){return!t||t.trim()===""}function Zn(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,t(...i)},e)}}function De(){return document.head.querySelector("meta[name=project][content]").content}function Be(){return document.documentElement.classList.contains("apple-os")}function E(t,e,n){let r=document.createElement(t);for(let i in e)e[i]!=null&&r.setAttribute(i,e[i]);return n&&r.replaceChildren(...n),r}if(Tt&&A){let t=Ne(!0);if(t){document.body.classList.add("preview"),document.getElementById("content").replaceChildren(...t.childNodes);let e=document.getElementsByTagName("a:not([target=_blank]");for(let n of e)n.setAttribute("target","_parent");window.scrollTo(0,0),document.body.style.position="fixed",setTimeout(er),window.addEventListener("resize",er)}}function er(){let t={type:"preview",contentHeight:document.getElementById("content").parentElement.offsetHeight};window.parent.postMessage(t,"*")}var ie={plain:"plain",function:"function",module:"module"},Ns=[{href:"typespecs.html#basic-types",hint:{kind:ie.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:ie.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:ie.plain,description:"Built-in type"}}],Qe={cancelHintFetching:null};function tr(t){if(rr(t))return!0;let e=/#.*\//;return t.includes("#")&&!e.test(t)?!1:t.includes(".html")}function nr(t){let e=rr(t);return e?Promise.resolve(e):Ds(t)}function rr(t){let e=Ns.find(n=>t.includes(n.href));return e?e.hint:null}function Ds(t){let e=t.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("src",e),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;e===l&&(o(),n(u))}Qe.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Qe.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function ir(){Qe.cancelHintFetching&&Qe.cancelHintFetching()}function sr(t){let n=t.querySelector("h1").textContent,r=t.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:ie.function,title:n.trim(),description:i.trim()}}function or(t){let n=t.querySelector("h1 > span").textContent,r=t.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:ie.module,title:n.trim(),description:i.trim()}}if(Pt&&A){let t=Ne(),e=t?sr(t):["modules","tasks"].includes(He())?or(p(".content-inner")):null;if(e){let n={hint:{...e,version:De()},href:window.location.href};window.parent.postMessage(n,"*")}p(".content-inner")?.replaceChildren()}var Ct="ex_doc:settings",ar="dark",Rt="system",Mt="dark",Ht="light";var Bs={tooltips:!0,theme:null,livebookUrl:null},Nt=class{constructor(){this._subscribers=[],this._settings=Bs,this._loadSettings()}get(){return this._settings}update(e){let n=this._settings;this._settings={...this._settings,...e},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(e){this._subscribers.push(e),e(this._settings)}_loadSettings(){try{let e=localStorage.getItem(Ct);if(e){let n=JSON.parse(e);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(e){console.error(`Failed to load settings: ${e}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(Ct,JSON.stringify(this._settings))}catch(e){console.error(`Failed to persist settings: ${e}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},H=new Nt;var lr=!1,Fe=null,J=null;function ur(t){lr||(lr=!0,J=document.getElementById("toast"),J?.addEventListener("click",()=>{clearTimeout(Fe),J.classList.remove("show")})),J&&(clearTimeout(Fe),J.innerText=t,J.classList.add("show"),Fe=setTimeout(()=>{J.classList.remove("show"),Fe=setTimeout(function(){J.innerText=""},1e3)},5e3))}var Dt=[Rt,Mt,Ht],cr=window.matchMedia("(prefers-color-scheme: dark)");H.getAndSubscribe(dr);cr.addEventListener("change",dr);function dr(){let t=qe(),e=t===Mt||t!==Ht&&cr.matches;document.body.classList.toggle(ar,e)}function hr(){let t=Dt[Dt.indexOf(qe())+1]||Dt[0];H.update({theme:t}),ur(`Set theme to "${t}"`)}function qe(){return new URLSearchParams(window.location.search).get("theme")||H.get().theme||Rt}var Lr=Y(vr());var Qt="sidebar_state",Ft="closed",yr="open",wr="sidebar_width";var $e="sidebar-open",Ue="sidebar-transition";var br=!1;function Er(){if(br)return;br=!0;let t=document.getElementById("sidebar-list-nav");if(!t)return;let e=He(),n={extras:t.dataset.extras||"Pages",modules:"Modules",tasks:'<span translate="no">Mix</span> Tasks'};Object.entries(n).forEach(([r,i])=>{let s=Ce()[r];if(!s?.length)return;let o=`${r}-list-tab-button`,a=`${r}-tab-panel`,l=r===e,u=E("button",{id:o,role:"tab",tabindex:l?0:-1,"aria-selected":l||void 0,"aria-controls":a});u.innerHTML=i,u.addEventListener("keydown",io),u.addEventListener("click",so),t.appendChild(E("li",{},[u]));let c=E("ul",{class:"full-list"});c.addEventListener("click",oo);let d=E("div",{id:a,class:"sidebar-tabpanel",role:"tabpanel","aria-labelledby":o,hidden:l?void 0:""},[c]);document.getElementById("sidebar").appendChild(d);let h="",f,m;c.replaceChildren(...s.flatMap(g=>{let v=[],w=Array.isArray(g.headers),x=w?void 0:"no";return g.group!==h&&(v.push(E("li",{class:"group",translate:x},[g.group])),h=g.group,f=void 0),g.nested_context&&g.nested_context!==f?(f=g.nested_context,m!==f&&v.push(E("li",{class:"nesting-context",translate:"no","aria-hidden":!0},[f]))):m=g.title,v.push(E("li",{},[E("a",{href:`${g.id}.html`,translate:x},[g.nested_title||g.title]),...Vt(`node-${g.id}-headers`,w?no(g):ro(g))])),v}))}),qt(),requestAnimationFrame(xr),window.addEventListener("hashchange",qt),window.addEventListener("exdoc:loaded",qt)}function Vt(t,e){return e.length?[E("button",{"aria-label":"expand","aria-expanded":!1,"aria-controls":t}),E("ul",{id:t},e)]:[]}function no(t){return t.headers.map(({id:e,anchor:n})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[e])]))}function ro(t){let e=[];return t.sections?.length&&e.push(E("li",{},[E("a",{href:`${t.id}.html#content`},["Sections"]),...Vt(`${t.id}-sections-list`,t.sections.map(({id:n,anchor:r})=>E("li",{},[E("a",{href:`${t.id}.html#${r}`},[n])])))])),t.nodeGroups&&(e.push(E("li",{},[E("a",{href:`${t.id}.html#summary`},["Summary"])])),e.push(...t.nodeGroups.map(({key:n,name:r,nodes:i})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[r]),...Vt(`node-${t.id}-group-${n}-list`,i.map(({anchor:s,title:o,id:a})=>E("li",{},[E("a",{href:`${t.id}.html#${s}`,title:o,translate:"no"},[a])])))])))),e}function $t(t){let e=document.getElementById("sidebar-list-nav").querySelector("[aria-selected]");e!==t&&(e&&(e.removeAttribute("aria-selected"),e.setAttribute("tabindex","-1"),document.getElementById(e.getAttribute("aria-controls")).setAttribute("hidden","hidden")),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),document.getElementById(t.getAttribute("aria-controls")).removeAttribute("hidden"))}function xr(){p("#sidebar [role=tabpanel]:not([hidden]) a[aria-selected]")?.scrollIntoView()}function qt(){let t=document.getElementById("sidebar"),{pathname:e,hash:n}=window.location,r=e.split("/").pop().replace(/\.html$/,"")+".html",i=t.querySelector(`li a[href="${r+n}"]`)||t.querySelector(`li a[href="${r}"]`);if(!i)return;t.querySelectorAll(".full-list a[aria-selected]").forEach(o=>{o.removeAttribute("aria-selected")}),t.querySelectorAll(".full-list button[aria-expanded=true]").forEach(o=>{o.setAttribute("aria-expanded",!1)});let s=i.parentElement;for(;s;){if(s.tagName==="LI"){let o=s.firstChild;o.setAttribute("aria-selected",o.getAttribute("href")===r?"page":"true");let a=o.nextSibling;a?.tagName==="BUTTON"&&a.setAttribute("aria-expanded",!0)}else if(s.role==="tabpanel"){s.hasAttribute("hidden")&&$t(document.getElementById(s.getAttribute("aria-labelledby")));break}s=s.parentElement}}function io(t){if(!["ArrowRight","ArrowLeft"].includes(t.key))return;let e=Array.from(M('#sidebar-list-nav [role="tab"]')),r=e.indexOf(t.currentTarget)+(t.key==="ArrowRight"?1:-1),i=e.at(r%e.length);$t(i),i.focus()}function so(t){$t(t.currentTarget),xr()}function oo(t){let e=t.target;e.tagName==="BUTTON"&&e.setAttribute("aria-expanded",e.getAttribute("aria-expanded")==="false")}var lo=300,_r=".sidebar-toggle",Tr=window.matchMedia(`screen and (max-width: ${768}px)`);if(!A){window.addEventListener("exdoc:loaded",kr);let t=document.getElementById("sidebar"),e=p(_r);e.addEventListener("click",je),document.body.addEventListener("click",i=>{Tr.matches&&Pr()&&!t.contains(i.target)&&!e.contains(i.target)&&je()});let n=window.innerWidth;window.addEventListener("resize",(0,Lr.default)(()=>{n!==window.innerWidth&&(n=window.innerWidth,kr())},100));let r=new ResizeObserver(([i])=>{if(!i)return;let s=i.contentRect.width;sessionStorage.setItem(wr,s),document.body.style.setProperty("--sidebarWidth",`${s}px`)});t.addEventListener("mousedown",()=>r.observe(t)),t.addEventListener("mouseup",()=>r.unobserve(t))}function kr(){let e=sessionStorage.getItem(Qt)!==Ft&&!Tr.matches;Ir(e)}function je(){let t=!Pr();return sessionStorage.setItem(Qt,t?yr:Ft),Ar(t)}function Pr(){return document.body.classList.contains($e)}function Or(){return document.body.classList.contains($e)&&!document.body.classList.contains(Ue)}function Ir(t){t&&Er(),document.body.classList.toggle($e,t),p(_r).setAttribute("aria-expanded",t?"true":"false")}var Sr;function Ar(t){return new Promise(e=>{document.body.classList.add(Ue),document.body.scrollTop,Ir(t),clearTimeout(Sr),Sr=setTimeout(()=>{document.body.classList.remove(Ue),e()},lo)})}function Cr(){return Ar(!0)}var bi=Y(ae());var cn=Y(ae());cn.registerHelper("isArray",function(t,e){return Array.isArray(t)?e.fn(this):e.inverse(this)});cn.registerHelper("isNonEmptyArray",function(t,e){return Array.isArray(t)&&t.length>0?e.fn(this):e.inverse(this)});var Ei=bi.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <option translate="no" value="'+c((o=(o=d(n,"url")||(e!=null?d(e,"url"):e))!=null?o:l,typeof o===u?o.call(a,{name:"url",hash:{},data:i,loc:{start:{line:7,column:38},end:{line:7,column:45}}}):o))+'"'+((s=d(n,"if").call(a,e!=null?d(e,"isCurrentVersion"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:7,column:46},end:{line:7,column:95}}}))!=null?s:"")+`> +`)}return c}else throw new G.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,l,u){if(!a||!(l in a))throw new G.default('"'+l+'" not defined in '+a,{loc:u});return i.lookupProperty(a,l)},lookupProperty:function(a,l){var u=a[l];if(u==null||Object.prototype.hasOwnProperty.call(a,l)||ci.resultIsAllowed(u,i.protoAccessControl,l))return u},lookup:function(a,l){for(var u=a.length,c=0;c<u;c++){var d=a[c]&&i.lookupProperty(a[c],l);if(d!=null)return a[c][l]}},lambda:function(a,l){return typeof a=="function"?a.call(l):a},escapeExpression:z.escapeExpression,invokePartial:r,fn:function(a){var l=t[a];return l.decorator=t[a+"_d"],l},programs:[],program:function(a,l,u,c,d){var h=this.programs[a],f=this.fn(a);return l||d||c||u?h=lt(this,a,f,l,u,c,d):h||(h=this.programs[a]=lt(this,a,f)),h},data:function(a,l){for(;a&&l--;)a=a._parent;return a},mergeIfNeeded:function(a,l){var u=a||l;return a&&l&&a!==l&&(u=z.extend({},l,a)),u},nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=a.data;s._setup(a),!a.partial&&t.useData&&(l=Ia(o,l));var u=void 0,c=t.useBlockParams?[]:void 0;t.useDepths&&(a.depths?u=o!=a.depths[0]?[o].concat(a.depths):a.depths:u=[o]);function d(h){return""+t.main(i,h,i.helpers,i.partials,l,c,u)}return d=hi(t.main,d,i,a.depths||[],l,c),d(o,a)}return s.isTop=!0,s._setup=function(o){if(o.partial)i.protoAccessControl=o.protoAccessControl,i.helpers=o.helpers,i.partials=o.partials,i.decorators=o.decorators,i.hooks=o.hooks;else{var a=z.extend({},e.helpers,o.helpers);Ca(a,i),i.helpers=a,t.usePartial&&(i.partials=i.mergeIfNeeded(o.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=z.extend({},e.decorators,o.decorators)),i.hooks={},i.protoAccessControl=ci.createProtoAccessControl(o);var l=o.allowCallsToHelperMissing||n;ui.moveHelperToHooks(i,"helperMissing",l),ui.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(o,a,l,u){if(t.useBlockParams&&!l)throw new G.default("must pass block params");if(t.useDepths&&!u)throw new G.default("must pass parent depths");return lt(i,o,t[o],a,0,l,u)},s}function lt(t,e,n,r,i,s,o){function a(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=o;return o&&l!=o[0]&&!(l===t.nullContext&&o[0]===null)&&(c=[l].concat(o)),n(t,l,t.helpers,t.partials,u.data||r,s&&[u.blockParams].concat(s),c)}return a=hi(n,a,t,o,r,s),a.program=e,a.depth=o?o.length:0,a.blockParams=i||0,a}function Oa(t,e,n){return t?!t.call&&!n.name&&(n.name=t,t=n.partials[t]):n.name==="@partial-block"?t=n.data["partial-block"]:t=n.partials[n.name],t}function Aa(t,e,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var i=void 0;if(n.fn&&n.fn!==di&&function(){n.data=K.createFrame(n.data);var s=n.fn;i=n.data["partial-block"]=function(a){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=K.createFrame(l.data),l.data["partial-block"]=r,s(a,l)},s.partials&&(n.partials=z.extend({},n.partials,s.partials))}(),t===void 0&&i&&(t=i),t===void 0)throw new G.default("The partial "+n.name+" could not be found");if(t instanceof Function)return t(e,n)}function di(){return""}function Ia(t,e){return(!e||!("root"in e))&&(e=e?K.createFrame(e):{},e.root=t),e}function hi(t,e,n,r,i,s){if(t.decorator){var o={};e=t.decorator(e,o,n,r&&r[0],i,s,r),z.extend(e,o)}return e}function Ca(t,e){Object.keys(t).forEach(function(n){var r=t[n];t[n]=Ra(r,e)})}function Ra(t,e){var n=e.lookupProperty;return Ta.wrapHelper(t,function(r){return z.extend({lookupProperty:n},r)})}});var mi=L((ut,pi)=>{"use strict";ut.__esModule=!0;ut.default=function(t){var e=typeof global<"u"?global:window,n=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=n),t}};pi.exports=ut.default});var ae=L((ct,wi)=>{"use strict";ct.__esModule=!0;function cn(t){return t&&t.__esModule?t:{default:t}}function dn(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var Ma=on(),gi=dn(Ma),Na=ai(),Ha=cn(Na),Da=X(),Ba=cn(Da),Qa=V(),un=dn(Qa),Fa=fi(),vi=dn(Fa),Va=mi(),$a=cn(Va);function yi(){var t=new gi.HandlebarsEnvironment;return un.extend(t,gi),t.SafeString=Ha.default,t.Exception=Ba.default,t.Utils=un,t.escapeExpression=un.escapeExpression,t.VM=vi,t.template=function(e){return vi.template(e,t)},t}var Se=yi();Se.create=yi;$a.default(Se);Se.default=Se;ct.default=Se;wi.exports=ct.default});var Ji=L((Ki,Yi)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(d){return new t.Token(t.utils.asString(d).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var c=t.utils.clone(n)||{};c.position=[a,u],c.index=s.length,s.push(new t.Token(r.slice(a,o),c))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,c=0;u<s&&c<o;)a=r[u],l=i[c],a<l?u+=2:a>l?c+=2:a==l&&(n+=r[u+1]*i[c+1],u+=2,c+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,c="^("+s+")?"+i,d=new RegExp(a),h=new RegExp(u),f=new RegExp(l),m=new RegExp(c),g=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,x=/^(.+?)(ed|ing)$/,A=/.$/,F=/(at|bl|iz)$/,q=new RegExp("([^aeiouylsz])\\1$"),S=new RegExp("^"+s+i+"[^aeiouwxy]$"),R=/^(.+?[^aeiou])y$/,U=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,ee=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,ye=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,Ae=/^(.+?)(s|t)(ion)$/,te=/^(.+?)e$/,Ie=/ll$/,Ce=new RegExp("^"+s+i+"[^aeiouwxy]$"),we=function(y){var k,ne,Q,b,T,re,he;if(y.length<3)return y;if(Q=y.substr(0,1),Q=="y"&&(y=Q.toUpperCase()+y.substr(1)),b=g,T=v,b.test(y)?y=y.replace(b,"$1$2"):T.test(y)&&(y=y.replace(T,"$1$2")),b=w,T=x,b.test(y)){var _=b.exec(y);b=d,b.test(_[1])&&(b=A,y=y.replace(b,""))}else if(T.test(y)){var _=T.exec(y);k=_[1],T=m,T.test(k)&&(y=k,T=F,re=q,he=S,T.test(y)?y=y+"e":re.test(y)?(b=A,y=y.replace(b,"")):he.test(y)&&(y=y+"e"))}if(b=R,b.test(y)){var _=b.exec(y);k=_[1],y=k+"i"}if(b=U,b.test(y)){var _=b.exec(y);k=_[1],ne=_[2],b=d,b.test(k)&&(y=k+e[ne])}if(b=ee,b.test(y)){var _=b.exec(y);k=_[1],ne=_[2],b=d,b.test(k)&&(y=k+n[ne])}if(b=ye,T=Ae,b.test(y)){var _=b.exec(y);k=_[1],b=h,b.test(k)&&(y=k)}else if(T.test(y)){var _=T.exec(y);k=_[1]+_[2],T=h,T.test(k)&&(y=k)}if(b=te,b.test(y)){var _=b.exec(y);k=_[1],b=h,T=f,re=Ce,(b.test(k)||T.test(k)&&!re.test(k))&&(y=k)}return b=Ie,T=h,b.test(y)&&T.test(y)&&(b=A,y=y.replace(b,"")),Q=="y"&&(y=Q.toLowerCase()+y.substr(1)),y};return function(de){return de.update(we)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c=s.str.charAt(0),d=s.str.charAt(1),h;d in s.node.edges?h=s.node.edges[d]:(h=new t.TokenSet,s.node.edges[d]=h),s.str.length==1&&(h.final=!0),i.push({node:h,editsRemaining:s.editsRemaining-1,str:c+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var c=s[u],d=0;d<l;d++){var h=a[d];if(h==c||c=="*"){var f=r.node.edges[h],m=r.qNode.edges[c],g=f.final&&m.final,v=void 0;h in r.output.edges?(v=r.output.edges[h],v.final=v.final||g):(v=new t.TokenSet,v.final=g,r.output.edges[h]=v),i.push({qNode:m,output:v,node:f})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],c=null,d=t.Set.empty;u.usePipeline?c=this.pipeline.runString(u.term,{fields:u.fields}):c=[u.term];for(var h=0;h<c.length;h++){var f=c[h];u.term=f;var m=t.TokenSet.fromClause(u),g=this.tokenSet.intersect(m).toArray();if(g.length===0&&u.presence===t.Query.presence.REQUIRED){for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=t.Set.empty}break}for(var x=0;x<g.length;x++)for(var A=g[x],F=this.invertedIndex[A],q=F._index,v=0;v<u.fields.length;v++){var w=u.fields[v],S=F[w],R=Object.keys(S),U=A+"/"+w,ee=new t.Set(R);if(u.presence==t.Query.presence.REQUIRED&&(d=d.union(ee),o[w]===void 0&&(o[w]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[w]===void 0&&(a[w]=t.Set.empty),a[w]=a[w].union(ee);continue}if(i[w].upsert(q,u.boost,function(As,Is){return As+Is}),!s[U]){for(var ye=0;ye<R.length;ye++){var Ae=R[ye],te=new t.FieldRef(Ae,w),Ie=S[Ae],Ce;(Ce=r[te])===void 0?r[te]=new t.MatchData(A,w,Ie):Ce.add(A,w,Ie)}s[U]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var v=0;v<u.fields.length;v++){var w=u.fields[v];o[w]=o[w].intersect(d)}}for(var we=t.Set.complete,de=t.Set.empty,l=0;l<this.fields.length;l++){var w=this.fields[l];o[w]&&(we=we.intersect(o[w])),a[w]&&(de=de.union(a[w]))}var y=Object.keys(r),k=[],ne=Object.create(null);if(n.isNegated()){y=Object.keys(this.fieldVectors);for(var l=0;l<y.length;l++){var te=y[l],Q=t.FieldRef.fromString(te);r[te]=new t.MatchData}}for(var l=0;l<y.length;l++){var Q=t.FieldRef.fromString(y[l]),b=Q.docRef;if(we.contains(b)&&!de.contains(b)){var T=this.fieldVectors[Q],re=i[Q.fieldName].similarity(T),he;if((he=ne[b])!==void 0)he.score+=re,he.matchData.combine(r[Q]);else{var _={ref:b,score:re,matchData:r[Q]};ne[b]=_,k.push(_)}}}return k.sort(function(Ps,Os){return Os.score-Ps.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=i[u],d=c[0],h=c[1];r[d]=new t.Vector(h)}for(var u=0;u<o.length;u++){var c=o[u],f=c[0],m=c[1];a.insert(f),s[f]=m}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),c=this.pipeline.run(u),d=new t.FieldRef(r,o),h=Object.create(null);this.fieldTermFrequencies[d]=h,this.fieldLengths[d]=0,this.fieldLengths[d]+=c.length;for(var f=0;f<c.length;f++){var m=c[f];if(h[m]==null&&(h[m]=0),h[m]+=1,this.invertedIndex[m]==null){var g=Object.create(null);g._index=this.termIndex,this.termIndex+=1;for(var v=0;v<i.length;v++)g[i[v]]=Object.create(null);this.invertedIndex[m]=g}this.invertedIndex[m][o][r]==null&&(this.invertedIndex[m][o][r]=Object.create(null));for(var w=0;w<this.metadataWhitelist.length;w++){var x=this.metadataWhitelist[w],A=m.metadata[x];this.invertedIndex[m][o][r][x]==null&&(this.invertedIndex[m][o][r][x]=[]),this.invertedIndex[m][o][r][x].push(A)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,c=this.fieldTermFrequencies[o],d=Object.keys(c),h=d.length,f=this._fields[a].boost||1,m=this._documents[o.docRef].boost||1,g=0;g<h;g++){var v=d[g],w=c[v],x=this.invertedIndex[v]._index,A,F,q;i[v]===void 0?(A=t.idf(this.invertedIndex[v],this.documentCount),i[v]=A):A=i[v],F=A*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+w),F*=f,F*=m,q=Math.round(F*1e3)/1e3,u.insert(x,q)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var c=l[u];this.metadata[i][a][c]==null?this.metadata[i][a][c]=e.metadata[i][a][c]:this.metadata[i][a][c]=this.metadata[i][a][c].concat(e.metadata[i][a][c])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof Ki=="object"?Yi.exports=n():e.lunr=n()}(this,function(){return t})})()});var Yn=new URLSearchParams(window.location.search),Jn=window.self!==window.parent,Ot=Jn&&Yn.has("preview"),At=Jn&&Yn.has("hint"),I=Ot||At;function Re(){return window.sidebarNodes||{}}function Me(){return window.versionNodes||[]}function be(){return window.searchNodes||[]}var p=document.querySelector.bind(document),M=document.querySelectorAll.bind(document);function Xn(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function He(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function De(){return document.getElementById("main").dataset.type}var Ne=["H1","H2","H3","H4","H5","H6"];function Be(t=!1){let e=window.location.hash.replace(/^#/,"");if(!e)return t?document.getElementById("top-content"):null;let n=document.getElementById(e);if(!n)return null;if(n.matches(".detail"))return n;if(Ne.includes(n.tagName))return It(n);let r=Bs(n);return r||document.getElementById("top-content")}function Bs(t){let e=t.previousElementSibling;for(;e;){if(Ne.includes(e.tagName))return It(e);e=e.previousElementSibling}let n=t.parentNode;for(;n;){for(e=n.previousElementSibling;e;){if(Ne.includes(e.tagName))return It(e);e=e.previousElementSibling}n=n.parentNode}return null}function It(t){let e=document.createElement("div"),n=[t],r=t;for(;(r=r.nextSibling)&&!(Ne.includes(r.tagName)&&r.tagName<=t.tagName);)n.push(r);return e.append(...n),e}function Ct(t){return new URLSearchParams(window.location.search).get(t)}function Rt(t){return fetch(t).then(e=>e.ok).catch(()=>!1)}function fe(t){return!t||t.trim()===""}function Zn(t,e){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,t(...i)},e)}}function Qe(){return document.head.querySelector("meta[name=project][content]").content}function Fe(){return document.documentElement.classList.contains("apple-os")}function E(t,e,n){let r=document.createElement(t);for(let i in e)e[i]!=null&&r.setAttribute(i,e[i]);return n&&r.replaceChildren(...n),r}if(Ot&&I){let t=Be(!0);if(t){document.body.classList.add("preview"),document.getElementById("content").replaceChildren(...t.childNodes);let e=document.getElementsByTagName("a:not([target=_blank]");for(let n of e)n.setAttribute("target","_parent");window.scrollTo(0,0),document.body.style.position="fixed",setTimeout(er),window.addEventListener("resize",er)}}function er(){let t={type:"preview",contentHeight:document.getElementById("content").parentElement.offsetHeight};window.parent.postMessage(t,"*")}var ie={plain:"plain",function:"function",module:"module"},Qs=[{href:"typespecs.html#basic-types",hint:{kind:ie.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:ie.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:ie.plain,description:"Built-in type"}}],Ve={cancelHintFetching:null};function tr(t){if(rr(t))return!0;let e=/#.*\//;return t.includes("#")&&!e.test(t)?!1:t.includes(".html")}function nr(t){let e=rr(t);return e?Promise.resolve(e):Fs(t)}function rr(t){let e=Qs.find(n=>t.includes(n.href));return e?e.hint:null}function Fs(t){let e=t.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("src",e),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;e===l&&(o(),n(u))}Ve.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Ve.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function ir(){Ve.cancelHintFetching&&Ve.cancelHintFetching()}function sr(t){let n=t.querySelector("h1").textContent,r=t.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:ie.function,title:n.trim(),description:i.trim()}}function or(t){let n=t.querySelector("h1 > span").textContent,r=t.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:ie.module,title:n.trim(),description:i.trim()}}if(At&&I){let t=Be(),e=t?sr(t):["modules","tasks"].includes(De())?or(p(".content-inner")):null;if(e){let n={hint:{...e,version:Qe()},href:window.location.href};window.parent.postMessage(n,"*")}p(".content-inner")?.replaceChildren()}var Mt="ex_doc:settings",ar="dark",Nt="system",Ht="dark",Dt="light";var Vs={tooltips:!0,theme:null,livebookUrl:null},Bt=class{constructor(){this._subscribers=[],this._settings=Vs,this._loadSettings()}get(){return this._settings}update(e){let n=this._settings;this._settings={...this._settings,...e},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(e){this._subscribers.push(e),e(this._settings)}_loadSettings(){try{let e=localStorage.getItem(Mt);if(e){let n=JSON.parse(e);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(e){console.error(`Failed to load settings: ${e}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(Mt,JSON.stringify(this._settings))}catch(e){console.error(`Failed to persist settings: ${e}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},N=new Bt;var lr=!1,$e=null,J=null;function ur(t){lr||(lr=!0,J=document.getElementById("toast"),J?.addEventListener("click",()=>{clearTimeout($e),J.classList.remove("show")})),J&&(clearTimeout($e),J.innerText=t,J.classList.add("show"),$e=setTimeout(()=>{J.classList.remove("show"),$e=setTimeout(function(){J.innerText=""},1e3)},5e3))}var Qt=[Nt,Ht,Dt],cr=window.matchMedia("(prefers-color-scheme: dark)");N.getAndSubscribe(dr);cr.addEventListener("change",dr);function dr(){let t=qe(),e=t===Ht||t!==Dt&&cr.matches;document.body.classList.toggle(ar,e)}function hr(){let t=Qt[Qt.indexOf(qe())+1]||Qt[0];N.update({theme:t}),ur(`Set theme to "${t}"`)}function qe(){return new URLSearchParams(window.location.search).get("theme")||N.get().theme||Nt}var Lr=Y(vr());var Vt="sidebar_state",$t="closed",yr="open",wr="sidebar_width";var je="sidebar-open",We="sidebar-transition";var br=!1;function Er(){if(br)return;br=!0;let t=document.getElementById("sidebar-list-nav");if(!t)return;let e=De(),n={extras:t.dataset.extras||"Pages",modules:"Modules",tasks:'<span translate="no">Mix</span> Tasks'};Object.entries(n).forEach(([r,i])=>{let s=Re()[r];if(!s?.length)return;let o=`${r}-list-tab-button`,a=`${r}-tab-panel`,l=r===e,u=E("button",{id:o,role:"tab",tabindex:l?0:-1,"aria-selected":l||void 0,"aria-controls":a});u.innerHTML=i,u.addEventListener("keydown",ao),u.addEventListener("click",lo),t.appendChild(E("li",{},[u]));let c=E("ul",{class:"full-list"});c.addEventListener("click",uo);let d=E("div",{id:a,class:"sidebar-tabpanel",role:"tabpanel","aria-labelledby":o,hidden:l?void 0:""},[c]);document.getElementById("sidebar").appendChild(d);let h="",f,m;c.replaceChildren(...s.flatMap(g=>{let v=[],w=Array.isArray(g.headers),x=w?void 0:"no";return g.group!==h&&(v.push(E("li",{class:"group",translate:x},[g.group])),h=g.group,f=void 0),g.nested_context&&g.nested_context!==f?(f=g.nested_context,m!==f&&v.push(E("li",{class:"nesting-context",translate:"no","aria-hidden":!0},[f]))):m=g.title,v.push(E("li",{},[E("a",{href:`${g.id}.html`,translate:x},[g.nested_title||g.title]),...Ut(`node-${g.id}-headers`,w?so(g):oo(g))])),v}))}),qt(),requestAnimationFrame(xr),window.addEventListener("hashchange",qt),window.addEventListener("exdoc:loaded",qt)}function Ut(t,e){return e.length?[E("button",{"aria-label":"expand","aria-expanded":!1,"aria-controls":t}),E("ul",{id:t},e)]:[]}function so(t){return t.headers.map(({id:e,anchor:n})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[e])]))}function oo(t){let e=[];return t.sections?.length&&e.push(E("li",{},[E("a",{href:`${t.id}.html#content`},["Sections"]),...Ut(`${t.id}-sections-list`,t.sections.map(({id:n,anchor:r})=>E("li",{},[E("a",{href:`${t.id}.html#${r}`},[n])])))])),t.nodeGroups&&(e.push(E("li",{},[E("a",{href:`${t.id}.html#summary`},["Summary"])])),e.push(...t.nodeGroups.map(({key:n,name:r,nodes:i})=>E("li",{},[E("a",{href:`${t.id}.html#${n}`},[r]),...Ut(`node-${t.id}-group-${n}-list`,i.map(({anchor:s,title:o,id:a})=>E("li",{},[E("a",{href:`${t.id}.html#${s}`,title:o,translate:"no"},[a])])))])))),e}function jt(t){let e=document.getElementById("sidebar-list-nav").querySelector("[aria-selected]");e!==t&&(e&&(e.removeAttribute("aria-selected"),e.setAttribute("tabindex","-1"),document.getElementById(e.getAttribute("aria-controls")).setAttribute("hidden","hidden")),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),document.getElementById(t.getAttribute("aria-controls")).removeAttribute("hidden"))}function xr(){p("#sidebar [role=tabpanel]:not([hidden]) a[aria-selected]")?.scrollIntoView()}function qt(){let t=document.getElementById("sidebar"),{pathname:e,hash:n}=window.location,r=e.split("/").pop().replace(/\.html$/,"")+".html",i=t.querySelector(`li a[href="${r+n}"]`)||t.querySelector(`li a[href="${r}"]`);if(!i)return;t.querySelectorAll(".full-list a[aria-selected]").forEach(o=>{o.removeAttribute("aria-selected")}),t.querySelectorAll(".full-list button[aria-expanded=true]").forEach(o=>{o.setAttribute("aria-expanded",!1)});let s=i.parentElement;for(;s;){if(s.tagName==="LI"){let o=s.firstChild;o.setAttribute("aria-selected",o.getAttribute("href")===r?"page":"true");let a=o.nextSibling;a?.tagName==="BUTTON"&&a.setAttribute("aria-expanded",!0)}else if(s.role==="tabpanel"){s.hasAttribute("hidden")&&jt(document.getElementById(s.getAttribute("aria-labelledby")));break}s=s.parentElement}}function ao(t){if(!["ArrowRight","ArrowLeft"].includes(t.key))return;let e=Array.from(M('#sidebar-list-nav [role="tab"]')),r=e.indexOf(t.currentTarget)+(t.key==="ArrowRight"?1:-1),i=e.at(r%e.length);jt(i),i.focus()}function lo(t){jt(t.currentTarget),xr()}function uo(t){let e=t.target;e.tagName==="BUTTON"&&e.setAttribute("aria-expanded",e.getAttribute("aria-expanded")==="false")}var ho=300,Tr=".sidebar-toggle",_r=window.matchMedia(`screen and (max-width: ${768}px)`);if(!I){window.addEventListener("exdoc:loaded",kr);let t=document.getElementById("sidebar"),e=p(Tr);e.addEventListener("click",ze),document.body.addEventListener("click",i=>{_r.matches&&Pr()&&!t.contains(i.target)&&!e.contains(i.target)&&ze()});let n=window.innerWidth;window.addEventListener("resize",(0,Lr.default)(()=>{n!==window.innerWidth&&(n=window.innerWidth,kr())},100));let r=new ResizeObserver(([i])=>{if(!i)return;let s=i.contentRect.width;sessionStorage.setItem(wr,s),document.body.style.setProperty("--sidebarWidth",`${s}px`)});t.addEventListener("mousedown",()=>r.observe(t)),t.addEventListener("mouseup",()=>r.unobserve(t))}function kr(){let e=sessionStorage.getItem(Vt)!==$t&&!_r.matches;Ar(e)}function ze(){let t=!Pr();return sessionStorage.setItem(Vt,t?yr:$t),Ir(t)}function Pr(){return document.body.classList.contains(je)}function Or(){return document.body.classList.contains(je)&&!document.body.classList.contains(We)}function Ar(t){t&&Er(),document.body.classList.toggle(je,t),p(Tr).setAttribute("aria-expanded",t?"true":"false")}var Sr;function Ir(t){return new Promise(e=>{document.body.classList.add(We),document.body.scrollTop,Ar(t),clearTimeout(Sr),Sr=setTimeout(()=>{document.body.classList.remove(We),e()},ho)})}function Cr(){return Ir(!0)}var bi=Y(ae());var hn=Y(ae());hn.registerHelper("isArray",function(t,e){return Array.isArray(t)?e.fn(this):e.inverse(this)});hn.registerHelper("isNonEmptyArray",function(t,e){return Array.isArray(t)&&t.length>0?e.fn(this):e.inverse(this)});var Ei=bi.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <option translate="no" value="'+c((o=(o=d(n,"url")||(e!=null?d(e,"url"):e))!=null?o:l,typeof o===u?o.call(a,{name:"url",hash:{},data:i,loc:{start:{line:7,column:38},end:{line:7,column:45}}}):o))+'"'+((s=d(n,"if").call(a,e!=null?d(e,"isCurrentVersion"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:7,column:46},end:{line:7,column:95}}}))!=null?s:"")+`> `+c((o=(o=d(n,"version")||(e!=null?d(e,"version"):e))!=null?o:l,typeof o===u?o.call(a,{name:"version",hash:{},data:i,loc:{start:{line:8,column:10},end:{line:8,column:21}}}):o))+` </option> `},2:function(t,e,n,r,i){return" selected disabled"},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <div class="sidebar-staleVersion"> @@ -19,7 +19,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `+((s=a(n,"each").call(o,e!=null?a(e,"nodes"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:6,column:6},end:{line:10,column:15}}}))!=null?s:"")+` </select> </label> `+((s=a(n,"if").call(o,e!=null?a(e,"latestVersion"):e,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:2},end:{line:19,column:9}}}))!=null?s:"")+`</form> -`},useData:!0});var Fa=".sidebar-projectVersion",xi=".sidebar-projectVersion select",qa=".sidebar-staleVersion a";if(!A){let t=Yn(),e=p(Fa);if(t.length>0||!e){let n=e.textContent.trim(),i=(t.some(u=>u.version===n)?t:[{version:n,url:"#"},...t]).map(u=>({...u,isCurrentVersion:u.version===n})),s=t.find(u=>u.latest),o=s?.version!==n&&!n.includes("-")?s?.url:null;e.innerHTML=Ei({nodes:i,latestVersion:o});let a=p(xi);a.addEventListener("change",$a),Va(a);let l=p(qa);l&&l.addEventListener("click",Ua)}}function Va(t){let e=document.createElement("span");e.style.visibility="hidden",e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.font=window.getComputedStyle(t).font,e.textContent=t.options[t.selectedIndex].text,document.body.appendChild(e),t.style.width=`${e.offsetWidth+20}px`,document.body.removeChild(e)}function $a(t){let e=t.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;At(r).then(i=>{i?window.location.href=r:window.location.href=e})}function Ua(t){let e=this.href,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;t.preventDefault(),At(r).then(i=>{i?window.location.href=r:window.location.href=e})}function dn(){let t=p(xi);t&&(t.focus(),t.addEventListener("keydown",e=>{(e.key==="Escape"||e.key==="v")&&(e.preventDefault(),t.blur())}),navigator.userActivation.isActive&&"showPicker"in HTMLSelectElement.prototype&&t.showPicker())}var ja="content",Wa="tabs-open",za="tabs-close",Ga="H3",Ka="tabset";window.addEventListener("exdoc:loaded",Ya);function Ya(){let t=[],e=[],n=document.createNodeIterator(document.getElementById(ja),NodeFilter.SHOW_COMMENT,i=>i.nodeValue.trim()===Wa?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT),r;for(;r=n.nextNode();){let i=[];t.push([r,i]);let s,o=r;for(;o=o.nextSibling;)if(o.nodeName===Ga){s=[];let a=o.querySelector(".text")?.childNodes||o.childNodes;i.push([a,s]),e.push(o)}else if(o.nodeName==="#comment"&&o.nodeValue.trim()===za){e.push(o);break}else s&&s.push(o)}t.forEach(([i,s],o)=>{let a=E("div",{class:Ka});i.parentNode.replaceChild(a,i);let l=E("div",{role:"tablist",class:"tabset-tablist"});a.appendChild(l),s.forEach(([u,c],d)=>{let h=d===0,f=`tab-${o}-${d}`,m=`tabpanel-${o}-${d}`,g=E("button",{role:"tab",id:f,class:"tabset-tab",tabindex:h?0:-1,"aria-selected":h,"aria-controls":m},u);g.addEventListener("click",Ja),g.addEventListener("keydown",Xa),l.appendChild(g);let v=E("div",{role:"tabpanel",id:m,class:"tabset-panel",hidden:h?void 0:"",tabindex:h?0:-1,"aria-labelledby":f},c);a.appendChild(v)})}),e.forEach(i=>{i.parentNode.removeChild(i)})}function Ja(t){Si(t.currentTarget)}function Xa(t){if(ki[t.code]){t.preventDefault();let e=[...t.currentTarget.parentNode.childNodes],n=e.indexOf(t.currentTarget),r=ki[t.code](n,e.length);Si(e.at(r%e.length))}}var ki={ArrowLeft:t=>t-1,ArrowRight:t=>t+1,Home:()=>0,End:(t,e)=>e-1};function Si(t){let e=t.parentNode.querySelector("[aria-selected=true]");if(e===t)return;e.setAttribute("aria-selected","false"),e.tabIndex=-1,t.setAttribute("aria-selected","true"),t.tabIndex=0,t.focus();let n=document.getElementById(e.getAttribute("aria-controls"));n.setAttribute("hidden",""),n.tabIndex=-1;let r=document.getElementById(t.getAttribute("aria-controls"));r.removeAttribute("hidden"),r.tabIndex=0}window.addEventListener("exdoc:loaded",Za);function Za(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),e=encodeURIComponent(new URL(t,window.location.href).toString());H.getAndSubscribe(({livebookUrl:n})=>{let r=n?`${n}/import?url=${e}`:`https://livebook.dev/run?url=${e}`;for(let i of M(".livebook-badge"))i.href=r})}var el="hll";window.addEventListener("exdoc:loaded",tl);function tl(){M("[data-group-id]").forEach(t=>{t.addEventListener("mouseenter",Li),t.addEventListener("mouseleave",Li)})}function Li(t){let e=t.currentTarget,n=t.type==="mouseenter",r=e.getAttribute("data-group-id");e.parentElement.querySelectorAll(`[data-group-id="${r}"]`).forEach(i=>{i.classList.toggle(el,n)})}function le(t,e,n={}){typeof e=="string"&&(e=e.split(/\s+/));let r=e.sort((i,s)=>s.length-i.length);return ut(t,r,n)}function ut(t,e,n){if(e.length===0)return t;let r="i";n.multiline&&(r="is");let[i,...s]=e,o=t.match(new RegExp(`(.*)(${Xn(i)})(.*)`,r));if(o){let[,a,l,u]=o;return ut(a,e,n)+"<em>"+Me(l)+"</em>"+ut(u,e,n)}else return ut(t,s,n)}var W={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Ti(t,e=8){if(fe(t))return[];let n=Ce(),r=[...hn(n.modules,t,W.module,"module"),...nl(n.modules,t,W.moduleChild),...hn(n.tasks,t,W.mixTask,"mix task"),...hn(n.extras,t,W.extra,"page"),...fn(n.modules,t,W.section,"module"),...fn(n.tasks,t,W.section,"mix task"),...fn(n.extras,t,W.section,"page")].filter(i=>i!==null);return ul(r).slice(0,e)}function hn(t,e,n,r){return t.map(i=>i.searchData?null:il(i,e,n,r))}function nl(t,e,n){return t.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=ll(i);return s.map(a=>sl(a,r.id,e,n,o)||al(a,r.id,e,n,o))}))}function fn(t,e,n,r){return t.flatMap(i=>rl(i).map(s=>ol(i,s,e,n,r)))}function rl(t){return t.searchData?t.searchData:(t.sections||[]).concat(t.headers||[])}function il(t,e,n,r){return ct(t.title,e)?{link:`${t.id}.html`,title:le(t.title,e),description:null,matchQuality:dt(t.title,e),deprecated:t.deprecated,labels:[r],category:n}:null}function sl(t,e,n,r,i){return ct(t.id,n)?{link:`${e}.html#${t.anchor}`,title:le(t.id,n),labels:[i],description:e,matchQuality:dt(t.id,n),deprecated:t.deprecated,category:r}:null}function ol(t,e,n,r,i){if(!Pi(e.id,n))return null;let s;return e.anchor===""?s=`${t.id}.html`:s=`${t.id}.html#${e.anchor}`,{link:s,title:le(e.id,n),description:t.title,matchQuality:dt(e.id,n),labels:e.labels||[i,"section"],category:r}}function al(t,e,n,r,i){let s=`${e}.${t.id}`,o=`${e}:${t.id}`,a,l;if(ct(s,n))a=s,l=/\./g;else if(ct(o,n))a=o,l=/:/g;else return null;let u=n.replace(l," ");return Pi(t.id,u)?{link:`${e}.html#${t.anchor}`,title:le(t.id,u),label:i,description:e,matchQuality:dt(a,n),deprecated:t.deprecated,category:r}:null}function ll(t){switch(t){case"callbacks":return"callback";case"types":return"type";default:return"function"}}function ul(t){return t.slice().sort((e,n)=>e.matchQuality!==n.matchQuality?n.matchQuality-e.matchQuality:_i(e.category)-_i(n.category))}function _i(t){switch(t){case W.module:return 1;case W.moduleChild:return 2;case W.mixTask:return 3;default:return 4}}function Pi(t,e){return pn(e).some(r=>Oi(t,r))}function ct(t,e){return pn(e).every(r=>Oi(t,r))}function Oi(t,e){return t.toLowerCase().includes(e.toLowerCase())}function dt(t,e){let n=pn(e),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/t.length,s=cl(t,n[0])?1:0;return i+s}function cl(t,e){return t.toLowerCase().startsWith(e.toLowerCase())}function pn(t){return t.trim().split(/\s+/)}var Ii=Y(ae());var Ai=Ii.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <a href="'+c((o=(o=d(n,"link")||(e!=null?d(e,"link"):e))!=null?o:l,typeof o===u?o.call(a,{name:"link",hash:{},data:i,loc:{start:{line:14,column:15},end:{line:14,column:23}}}):o))+'" class="autocomplete-suggestion" data-index="'+c((o=(o=d(n,"index")||i&&d(i,"index"))!=null?o:l,typeof o===u?o.call(a,{name:"index",hash:{},data:i,loc:{start:{line:14,column:69},end:{line:14,column:79}}}):o))+`" tabindex="-1"> +`},useData:!0});var qa=".sidebar-projectVersion",xi=".sidebar-projectVersion select",Ua=".sidebar-staleVersion a";if(!I){let t=Me(),e=p(qa);if(t.length>0||!e){let n=e.textContent.trim(),i=(t.some(u=>u.version===n)?t:[{version:n,url:"#"},...t]).map(u=>({...u,isCurrentVersion:u.version===n})),s=t.find(u=>u.latest),o=s?.version!==n&&!n.includes("-")?s?.url:null;e.innerHTML=Ei({nodes:i,latestVersion:o});let a=p(xi);a.addEventListener("change",Wa),ja(a);let l=p(Ua);l&&l.addEventListener("click",za)}}function ja(t){let e=document.createElement("span");e.style.visibility="hidden",e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.font=window.getComputedStyle(t).font,e.textContent=t.options[t.selectedIndex].text,document.body.appendChild(e),t.style.width=`${e.offsetWidth+20}px`,document.body.removeChild(e)}function Wa(t){let e=t.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;Rt(r).then(i=>{i?window.location.href=r:window.location.href=e})}function za(t){let e=this.href,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${e}/${n}`;t.preventDefault(),Rt(r).then(i=>{i?window.location.href=r:window.location.href=e})}function fn(){let t=p(xi);t&&(t.focus(),t.addEventListener("keydown",e=>{(e.key==="Escape"||e.key==="v")&&(e.preventDefault(),t.blur())}),navigator.userActivation.isActive&&"showPicker"in HTMLSelectElement.prototype&&t.showPicker())}var Ga="content",Ka="tabs-open",Ya="tabs-close",Ja="H3",Xa="tabset";window.addEventListener("exdoc:loaded",Za);function Za(){let t=[],e=[],n=document.createNodeIterator(document.getElementById(Ga),NodeFilter.SHOW_COMMENT,i=>i.nodeValue.trim()===Ka?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT),r;for(;r=n.nextNode();){let i=[];t.push([r,i]);let s,o=r;for(;o=o.nextSibling;)if(o.nodeName===Ja){s=[];let a=o.querySelector(".text")?.childNodes||o.childNodes;i.push([a,s]),e.push(o)}else if(o.nodeName==="#comment"&&o.nodeValue.trim()===Ya){e.push(o);break}else s&&s.push(o)}t.forEach(([i,s],o)=>{let a=E("div",{class:Xa});i.parentNode.replaceChild(a,i);let l=E("div",{role:"tablist",class:"tabset-tablist"});a.appendChild(l),s.forEach(([u,c],d)=>{let h=d===0,f=`tab-${o}-${d}`,m=`tabpanel-${o}-${d}`,g=E("button",{role:"tab",id:f,class:"tabset-tab",tabindex:h?0:-1,"aria-selected":h,"aria-controls":m},u);g.addEventListener("click",el),g.addEventListener("keydown",tl),l.appendChild(g);let v=E("div",{role:"tabpanel",id:m,class:"tabset-panel",hidden:h?void 0:"",tabindex:h?0:-1,"aria-labelledby":f},c);a.appendChild(v)})}),e.forEach(i=>{i.parentNode.removeChild(i)})}function el(t){Si(t.currentTarget)}function tl(t){if(ki[t.code]){t.preventDefault();let e=[...t.currentTarget.parentNode.childNodes],n=e.indexOf(t.currentTarget),r=ki[t.code](n,e.length);Si(e.at(r%e.length))}}var ki={ArrowLeft:t=>t-1,ArrowRight:t=>t+1,Home:()=>0,End:(t,e)=>e-1};function Si(t){let e=t.parentNode.querySelector("[aria-selected=true]");if(e===t)return;e.setAttribute("aria-selected","false"),e.tabIndex=-1,t.setAttribute("aria-selected","true"),t.tabIndex=0,t.focus();let n=document.getElementById(e.getAttribute("aria-controls"));n.setAttribute("hidden",""),n.tabIndex=-1;let r=document.getElementById(t.getAttribute("aria-controls"));r.removeAttribute("hidden"),r.tabIndex=0}window.addEventListener("exdoc:loaded",nl);function nl(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),e=encodeURIComponent(new URL(t,window.location.href).toString());N.getAndSubscribe(({livebookUrl:n})=>{let r=n?`${n}/import?url=${e}`:`https://livebook.dev/run?url=${e}`;for(let i of M(".livebook-badge"))i.href=r})}var rl="hll";window.addEventListener("exdoc:loaded",il);function il(){M("[data-group-id]").forEach(t=>{t.addEventListener("mouseenter",Li),t.addEventListener("mouseleave",Li)})}function Li(t){let e=t.currentTarget,n=t.type==="mouseenter",r=e.getAttribute("data-group-id");e.parentElement.querySelectorAll(`[data-group-id="${r}"]`).forEach(i=>{i.classList.toggle(rl,n)})}function le(t,e,n={}){typeof e=="string"&&(e=e.split(/\s+/));let r=e.sort((i,s)=>s.length-i.length);return dt(t,r,n)}function dt(t,e,n){if(e.length===0)return t;let r="i";n.multiline&&(r="is");let[i,...s]=e,o=t.match(new RegExp(`(.*)(${Xn(i)})(.*)`,r));if(o){let[,a,l,u]=o;return dt(a,e,n)+"<em>"+He(l)+"</em>"+dt(u,e,n)}else return dt(t,s,n)}var W={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function _i(t,e=8){if(fe(t))return[];let n=Re(),r=[...pn(n.modules,t,W.module,"module"),...sl(n.modules,t,W.moduleChild),...pn(n.tasks,t,W.mixTask,"mix task"),...pn(n.extras,t,W.extra,"page"),...mn(n.modules,t,W.section,"module"),...mn(n.tasks,t,W.section,"mix task"),...mn(n.extras,t,W.section,"page")].filter(i=>i!==null);return hl(r).slice(0,e)}function pn(t,e,n,r){return t.map(i=>i.searchData?null:al(i,e,n,r))}function sl(t,e,n){return t.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=dl(i);return s.map(a=>ll(a,r.id,e,n,o)||cl(a,r.id,e,n,o))}))}function mn(t,e,n,r){return t.flatMap(i=>ol(i).map(s=>ul(i,s,e,n,r)))}function ol(t){return t.searchData?t.searchData:(t.sections||[]).concat(t.headers||[])}function al(t,e,n,r){return ht(t.title,e)?{link:`${t.id}.html`,title:le(t.title,e),description:null,matchQuality:ft(t.title,e),deprecated:t.deprecated,labels:[r],category:n}:null}function ll(t,e,n,r,i){return ht(t.id,n)?{link:`${e}.html#${t.anchor}`,title:le(t.id,n),labels:[i],description:e,matchQuality:ft(t.id,n),deprecated:t.deprecated,category:r}:null}function ul(t,e,n,r,i){if(!Pi(e.id,n))return null;let s;return e.anchor===""?s=`${t.id}.html`:s=`${t.id}.html#${e.anchor}`,{link:s,title:le(e.id,n),description:t.title,matchQuality:ft(e.id,n),labels:e.labels||[i,"section"],category:r}}function cl(t,e,n,r,i){let s=`${e}.${t.id}`,o=`${e}:${t.id}`,a,l;if(ht(s,n))a=s,l=/\./g;else if(ht(o,n))a=o,l=/:/g;else return null;let u=n.replace(l," ");return Pi(t.id,u)?{link:`${e}.html#${t.anchor}`,title:le(t.id,u),label:i,description:e,matchQuality:ft(a,n),deprecated:t.deprecated,category:r}:null}function dl(t){switch(t){case"callbacks":return"callback";case"types":return"type";default:return"function"}}function hl(t){return t.slice().sort((e,n)=>e.matchQuality!==n.matchQuality?n.matchQuality-e.matchQuality:Ti(e.category)-Ti(n.category))}function Ti(t){switch(t){case W.module:return 1;case W.moduleChild:return 2;case W.mixTask:return 3;default:return 4}}function Pi(t,e){return gn(e).some(r=>Oi(t,r))}function ht(t,e){return gn(e).every(r=>Oi(t,r))}function Oi(t,e){return t.toLowerCase().includes(e.toLowerCase())}function ft(t,e){let n=gn(e),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/t.length,s=fl(t,n[0])?1:0;return i+s}function fl(t,e){return t.toLowerCase().startsWith(e.toLowerCase())}function gn(t){return t.trim().split(/\s+/)}var Ai=Y(ae());var Ii=Ai.template({1:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.hooks.helperMissing,u="function",c=t.escapeExpression,d=t.lookupProperty||function(h,f){if(Object.prototype.hasOwnProperty.call(h,f))return h[f]};return' <a href="'+c((o=(o=d(n,"link")||(e!=null?d(e,"link"):e))!=null?o:l,typeof o===u?o.call(a,{name:"link",hash:{},data:i,loc:{start:{line:14,column:15},end:{line:14,column:23}}}):o))+'" class="autocomplete-suggestion" data-index="'+c((o=(o=d(n,"index")||i&&d(i,"index"))!=null?o:l,typeof o===u?o.call(a,{name:"index",hash:{},data:i,loc:{start:{line:14,column:69},end:{line:14,column:79}}}):o))+`" tabindex="-1"> <div class="title"> `+((s=d(n,"if").call(a,e!=null?d(e,"deprecated"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.program(4,i,0),data:i,loc:{start:{line:16,column:10},end:{line:20,column:17}}}))!=null?s:"")+` `+((s=d(n,"each").call(a,e!=null?d(e,"labels"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:22,column:10},end:{line:24,column:19}}}))!=null?s:"")+` <div class="autocomplete-preview-indicator autocomplete-preview-indicator-open"> @@ -58,7 +58,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `+((s=l(n,"each").call(a,e!=null?l(e,"suggestions"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:6},end:{line:45,column:15}}}))!=null?s:"")+` </div> </div> </div> -`},useData:!0});var me=".autocomplete",ft=".autocomplete-suggestions",ht=".autocomplete-suggestion",C={autocompleteSuggestions:[],previewOpen:!1,selectedIdx:-1};function dl(){p(me).classList.add("shown")}function mn(){p(me).classList.remove("shown")}function Ci(){return p(me).classList.contains("shown")}function gn(t){C.autocompleteSuggestions=Ti(t),C.selectedIdx=-1,fe(t)?mn():(hl({term:t,suggestions:C.autocompleteSuggestions}),pt(0),dl())}function hl({term:t,suggestions:e}){let n=Ai({suggestions:e,term:t}),r=p(me);r.innerHTML=n}function vn(){return C.selectedIdx===-1?null:C.autocompleteSuggestions[C.selectedIdx]}function pt(t){Mi(fl(t))}function Ri(t){if(t.data.type==="preview"){let{contentHeight:e}=t.data,n=p(".autocomplete-preview");n&&(n.style.height=`${e+32}px`,n.classList.remove("loading"))}}function Mi(t){C.selectedIdx=t;let e=p(ft),n=p(`${ht}.selected`),r=p(`${ht}[data-index="${C.selectedIdx}"]`);if(n&&n.classList.remove("selected"),r){if(C.previewOpen){Ni(),window.addEventListener("message",Ri),e.classList.add("previewing");let i=document.createElement("div");i.classList.add("autocomplete-preview"),i.classList.add("loading");let s=r.href.replace(".html",`.html?preview=true&theme=${qe()}`),o=document.createElement("iframe");o.setAttribute("src",s),i.appendChild(document.createElement("div")),i.appendChild(document.createElement("span")),i.appendChild(o),r.parentNode.insertBefore(i,r.nextSibling)}r.classList.add("selected"),r.scrollIntoView({block:"nearest"})}else e&&(e.scrollTop=0)}function Hi(){C.previewOpen?mt():yn()}function mt(){C.previewOpen=!1;let t=p(ft);t&&t.classList.remove("previewing"),Ni()}function yn(t){C.previewOpen=!0,t?t=t.closest(ht):t=p(`${ht}[data-index="${C.selectedIdx}"]`),t&&Mi(parseInt(t.dataset.index))}function Ni(){let t=p(".autocomplete-preview");t&&(t.remove(),window.removeEventListener("message",Ri))}function fl(t){let e=C.autocompleteSuggestions.length+1;return(C.selectedIdx+t+1+e)%e-1}var Se="form.search-bar input",pl="form.search-bar .search-close-button";A||window.addEventListener("exdoc:loaded",ml);function ml(){gl(),window.onTogglePreviewClick=function(t,e){t.preventDefault(),t.stopImmediatePropagation(),bn(),e?yn(t.target):mt()}}function Qi(t){let e=p(Se);e.value=t}function bn(){let t=p(Se);document.body.classList.add("search-focused"),t.focus()}function gl(){let t=p(Se);if(document.querySelector('meta[name="exdoc:autocomplete"][content="off"]'))return t.addEventListener("keydown",e=>{e.key==="Enter"&&Di(e)}),!0;t.addEventListener("keydown",e=>{let n=Be();e.key==="Escape"?(gt(),t.blur()):e.key==="Enter"?Di(e):e.key==="ArrowUp"||n&&e.ctrlKey&&e.key==="p"?(pt(-1),e.preventDefault()):e.key==="ArrowDown"||n&&e.ctrlKey&&e.key==="n"?(pt(1),e.preventDefault()):e.key==="Tab"&&vn()!==null&&(Hi(),e.preventDefault())}),t.addEventListener("input",e=>{gn(e.target.value)}),t.addEventListener("focus",e=>{document.body.classList.contains("search-focused")||(document.body.classList.add("search-focused"),gn(e.target.value))}),t.addEventListener("blur",e=>{let n=e.relatedTarget,r=p(ft);if(n&&r&&r.contains(n))return setTimeout(()=>{Ci()&&t.focus()},1e3),null;vt()}),p(me).addEventListener("click",e=>{e.shiftKey||e.ctrlKey?t.focus():(gt(),vt())}),p(pl).addEventListener("click",e=>{gt(),vt()})}function Di(t){let e=p(Se),n=t.shiftKey||t.ctrlKey,r=vn();t.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");if(s.setAttribute("target",i),r)s.setAttribute("href",r.link);else{let o=document.querySelector('meta[name="exdoc:full-text-search-url"]'),a=o?o.getAttribute("content"):"search.html?q=";s.setAttribute("href",`${a}${encodeURIComponent(e.value)}`)}s.click(),n||(gt(),vt())}function gt(){let t=p(Se);t.value=""}function vt(){mt(),document.body.classList.remove("search-focused"),mn()}var wn,Bi=2;window.addEventListener("scroll",function(){let t=window.scrollY;if(wn!==void 0){let e=t-wn;t===0||e>Bi?document.body.classList.remove("scroll-sticky"):t>0&&-e>Bi&&document.body.classList.add("scroll-sticky")}wn=Math.max(0,t)},!1);var Fi=Y(ae());var qi=Fi.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring docstring-plain"> +`},useData:!0});var me=".autocomplete",mt=".autocomplete-suggestions",pt=".autocomplete-suggestion",C={autocompleteSuggestions:[],previewOpen:!1,selectedIdx:-1};function pl(){p(me).classList.add("shown")}function vn(){p(me).classList.remove("shown")}function Ci(){return p(me).classList.contains("shown")}function yn(t){C.autocompleteSuggestions=_i(t),C.selectedIdx=-1,fe(t)?vn():(ml({term:t,suggestions:C.autocompleteSuggestions}),gt(0),pl())}function ml({term:t,suggestions:e}){let n=Ii({suggestions:e,term:t}),r=p(me);r.innerHTML=n}function wn(){return C.selectedIdx===-1?null:C.autocompleteSuggestions[C.selectedIdx]}function gt(t){Mi(gl(t))}function Ri(t){if(t.data.type==="preview"){let{contentHeight:e}=t.data,n=p(".autocomplete-preview");n&&(n.style.height=`${e+32}px`,n.classList.remove("loading"))}}function Mi(t){C.selectedIdx=t;let e=p(mt),n=p(`${pt}.selected`),r=p(`${pt}[data-index="${C.selectedIdx}"]`);if(n&&n.classList.remove("selected"),r){if(C.previewOpen){Hi(),window.addEventListener("message",Ri),e.classList.add("previewing");let i=document.createElement("div");i.classList.add("autocomplete-preview"),i.classList.add("loading");let s=r.href.replace(".html",`.html?preview=true&theme=${qe()}`),o=document.createElement("iframe");o.setAttribute("src",s),i.appendChild(document.createElement("div")),i.appendChild(document.createElement("span")),i.appendChild(o),r.parentNode.insertBefore(i,r.nextSibling)}r.classList.add("selected"),r.scrollIntoView({block:"nearest"})}else e&&(e.scrollTop=0)}function Ni(){C.previewOpen?vt():bn()}function vt(){C.previewOpen=!1;let t=p(mt);t&&t.classList.remove("previewing"),Hi()}function bn(t){C.previewOpen=!0,t?t=t.closest(pt):t=p(`${pt}[data-index="${C.selectedIdx}"]`),t&&Mi(parseInt(t.dataset.index))}function Hi(){let t=p(".autocomplete-preview");t&&(t.remove(),window.removeEventListener("message",Ri))}function gl(t){let e=C.autocompleteSuggestions.length+1;return(C.selectedIdx+t+1+e)%e-1}var Le="form.search-bar input",vl="form.search-bar .search-close-button";I||window.addEventListener("exdoc:loaded",yl);function yl(){wl(),window.onTogglePreviewClick=function(t,e){t.preventDefault(),t.stopImmediatePropagation(),xn(),e?bn(t.target):vt()},window.navigator.onLine?Fi(null):Vi(null)}function Qi(t){let e=p(Le);e.value=t}function xn(){let t=p(Le);document.body.classList.add("search-focused"),t.focus()}function wl(){let t=p(Le);if(document.querySelector('meta[name="exdoc:autocomplete"][content="off"]'))return t.addEventListener("keydown",e=>{e.key==="Enter"&&Di(e)}),!0;t.addEventListener("keydown",e=>{let n=Fe();e.key==="Escape"?(yt(),t.blur()):e.key==="Enter"?Di(e):e.key==="ArrowUp"||n&&e.ctrlKey&&e.key==="p"?(gt(-1),e.preventDefault()):e.key==="ArrowDown"||n&&e.ctrlKey&&e.key==="n"?(gt(1),e.preventDefault()):e.key==="Tab"&&wn()!==null&&(Ni(),e.preventDefault())}),t.addEventListener("input",e=>{yn(e.target.value)}),t.addEventListener("focus",e=>{document.body.classList.contains("search-focused")||(document.body.classList.add("search-focused"),yn(e.target.value))}),t.addEventListener("blur",e=>{let n=e.relatedTarget,r=p(mt);if(n&&r&&r.contains(n))return setTimeout(()=>{Ci()&&t.focus()},1e3),null;wt()}),p(me).addEventListener("click",e=>{e.shiftKey||e.ctrlKey?t.focus():(yt(),wt())}),p(vl).addEventListener("click",e=>{yt(),wt()}),window.addEventListener("online",Fi),window.addEventListener("offline",Vi)}function Fi(t){Array.from(document.getElementsByClassName("online-only")).forEach(e=>{e.removeAttribute("disabled"),e.removeAttribute("title"),$i(e)})}function Vi(t){Array.from(document.getElementsByClassName("online-only")).forEach(e=>{e.setAttribute("disabled",""),e.setAttribute("title","Local searching only - browser is offline"),$i(e)})}function $i(t){Array.from(t.getElementsByTagName("option")).forEach(e=>{e.value==="related"&&(bl()?(e.removeAttribute("disabled"),e.removeAttribute("title")):(e.setAttribute("disabled",""),e.setAttribute("title","No known related packages to search"))),e.value==="latest"&&(El()?(e.removeAttribute("disabled"),e.removeAttribute("title")):(e.setAttribute("disabled",""),e.setAttribute("title","Already browsing latest version")))})}function bl(){return be().length>1}function El(){let t=Me();if(t.length>0){let e=t[0];return!be().some(i=>`v${i.version}`===e.version)}return!1}function Di(t){let e=p(Le),n=t.shiftKey||t.ctrlKey,r=wn();t.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");if(s.setAttribute("target",i),r)s.setAttribute("href",r.link);else{let o=document.querySelector('meta[name="exdoc:full-text-search-url"]'),a=o?o.getAttribute("content"):"search.html",l=new URLSearchParams;l.set("q",e.value);let u=xl();u!=="local"&&l.set("type",u),s.setAttribute("href",`${a}?${l.toString()}`)}s.click(),n||(yt(),wt())}function xl(){let t=Array.from(document.getElementsByClassName("search-type"));return t.length>0?t[0].value:"local"}function yt(){let t=p(Le);t.value=""}function wt(){vt(),document.body.classList.remove("search-focused"),vn()}var En,Bi=2;window.addEventListener("scroll",function(){let t=window.scrollY;if(En!==void 0){let e=t-En;t===0||e>Bi?document.body.classList.remove("scroll-sticky"):t>0&&-e>Bi&&document.body.classList.add("scroll-sticky")}En=Math.max(0,t)},!1);var qi=Y(ae());var Ui=qi.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring docstring-plain"> `+t.escapeExpression(t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))+` </section> `},3:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="detail-header"> @@ -70,7 +70,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `+((s=l(n,"if").call(e??(t.nullContext||{}),(s=e!=null?l(e,"hint"):e)!=null?l(s,"description"):s,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?s:"")},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring"> `+((s=t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))!=null?s:"")+` </section> -`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"isPlain"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?s:""},useData:!0});var vl='<div class="tooltip"><div class="tooltip-body"></div></div>',yl='.content a:not([data-no-tooltip=""])',En=".tooltip",Vi=".tooltip .tooltip-body",$i="body .content-inner",wl="#content",Ui="tooltip-shown",Le=10,bl=Le*4,El=768,xl=450,kl=100,ue={currentLinkElement:null,hoverDelayTimeout:null};window.addEventListener("exdoc:loaded",Sl);function Sl(){M(yl).forEach(t=>{Ll(t)&&(t.addEventListener("mouseenter",Tl),t.addEventListener("mouseleave",Ol))})}function Ll(t){return!(_l(t.href)||!tr(t.href))}function _l(t){let e=t.replace(wl,"");return window.location.href.split("#")[0]===e}function Tl(t){if(window.innerWidth<El||window.innerHeight<xl||!H.get().tooltips)return;let e=t.currentTarget;ue.currentLinkElement=e,ue.hoverDelayTimeout=setTimeout(()=>{nr(e.href).then(Pl).catch(()=>{})},kl)}function Pl(t){let e=qi({isPlain:t.kind===ie.plain,hint:t}),n=p(Vi);n||(p($i).insertAdjacentHTML("beforeend",vl),n=p(Vi)),n.innerHTML=e,Il(),p(En).classList.add(Ui)}function Ol(){ue.currentLinkElement&&(clearTimeout(ue.hoverDelayTimeout),ir(),ue.currentLinkElement=null,p(En)?.classList.remove(Ui))}function Il(){if(!ue.currentLinkElement)return;let t=p(En),e=ue.currentLinkElement.getBoundingClientRect(),n=p($i).getBoundingClientRect(),r=t.getBoundingClientRect(),i=Al(e,n);if(e.left+r.width+Le<window.innerWidth)t.style.left=`${i.left}px`,t.style.right="auto";else{let s=Math.max(i.right-r.width,Le);t.style.left=`${s}px`,t.style.right="auto"}e.bottom+r.height+bl<window.innerHeight?t.style.top=`${i.bottom+Le}px`:t.style.top=`${i.top-r.height-Le}px`}function Al(t,e){return{top:t.top-e.top,bottom:t.bottom-e.top,left:t.left-e.left,right:t.right-e.left,x:t.x-e.x,y:t.y-e.y,width:t.width,height:t.height}}var ji='<button class="copy-button"><svg role="img" aria-label="copy" viewBox="0 0 24 24" fill="currentColor"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg><svg aria-live="polite" role="img" aria-label="copied" viewBox="0 0 24 24" fill="currentColor"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg></button>';var xn;window.addEventListener("exdoc:loaded",Cl);function Cl(){"clipboard"in navigator&&M("pre:has(> code:first-child):not(:has(.copy-button))").forEach(t=>{if(!xn){let r=document.createElement("div");r.innerHTML=ji,xn=r.firstChild}let e=xn.cloneNode(!0);t.appendChild(e);let n;e.addEventListener("click",()=>{clearTimeout(n);let r=Array.from(t.querySelectorAll("code > *:not(.unselectable)")).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),e.disabled=!0,n=setTimeout(()=>{e.classList.remove("clicked"),e.disabled=!1},3e3)})})}var V=Y(Gi());var Ki=Y(ae());var Yi=Ki.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" Search results for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):s))+`</em> +`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"isPlain"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?s:""},useData:!0});var kl='<div class="tooltip"><div class="tooltip-body"></div></div>',Sl='.content a:not([data-no-tooltip=""])',kn=".tooltip",ji=".tooltip .tooltip-body",Wi="body .content-inner",Ll="#content",zi="tooltip-shown",Te=10,Tl=Te*4,_l=768,Pl=450,Ol=100,ue={currentLinkElement:null,hoverDelayTimeout:null};window.addEventListener("exdoc:loaded",Al);function Al(){M(Sl).forEach(t=>{Il(t)&&(t.addEventListener("mouseenter",Rl),t.addEventListener("mouseleave",Nl))})}function Il(t){return!(Cl(t.href)||!tr(t.href))}function Cl(t){let e=t.replace(Ll,"");return window.location.href.split("#")[0]===e}function Rl(t){if(window.innerWidth<_l||window.innerHeight<Pl||!N.get().tooltips)return;let e=t.currentTarget;ue.currentLinkElement=e,ue.hoverDelayTimeout=setTimeout(()=>{nr(e.href).then(Ml).catch(()=>{})},Ol)}function Ml(t){let e=Ui({isPlain:t.kind===ie.plain,hint:t}),n=p(ji);n||(p(Wi).insertAdjacentHTML("beforeend",kl),n=p(ji)),n.innerHTML=e,Hl(),p(kn).classList.add(zi)}function Nl(){ue.currentLinkElement&&(clearTimeout(ue.hoverDelayTimeout),ir(),ue.currentLinkElement=null,p(kn)?.classList.remove(zi))}function Hl(){if(!ue.currentLinkElement)return;let t=p(kn),e=ue.currentLinkElement.getBoundingClientRect(),n=p(Wi).getBoundingClientRect(),r=t.getBoundingClientRect(),i=Dl(e,n);if(e.left+r.width+Te<window.innerWidth)t.style.left=`${i.left}px`,t.style.right="auto";else{let s=Math.max(i.right-r.width,Te);t.style.left=`${s}px`,t.style.right="auto"}e.bottom+r.height+Tl<window.innerHeight?t.style.top=`${i.bottom+Te}px`:t.style.top=`${i.top-r.height-Te}px`}function Dl(t,e){return{top:t.top-e.top,bottom:t.bottom-e.top,left:t.left-e.left,right:t.right-e.left,x:t.x-e.x,y:t.y-e.y,width:t.width,height:t.height}}var Gi='<button class="copy-button"><svg role="img" aria-label="copy" viewBox="0 0 24 24" fill="currentColor"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg><svg aria-live="polite" role="img" aria-label="copied" viewBox="0 0 24 24" fill="currentColor"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg></button>';var Sn;window.addEventListener("exdoc:loaded",Bl);function Bl(){"clipboard"in navigator&&M("pre:has(> code:first-child):not(:has(.copy-button))").forEach(t=>{if(!Sn){let r=document.createElement("div");r.innerHTML=Gi,Sn=r.firstChild}let e=Sn.cloneNode(!0);t.appendChild(e);let n;e.addEventListener("click",()=>{clearTimeout(n);let r=Array.from(t.querySelectorAll("code > *:not(.unselectable)")).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),e.disabled=!0,n=setTimeout(()=>{e.classList.remove("clicked"),e.disabled=!1},3e3)})})}var $=Y(Ji());var Xi=Y(ae());var Zi=Xi.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" Search results for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):s))+`</em> `},3:function(t,e,n,r,i){return` Invalid search `},5:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:10,column:2},end:{line:21,column:11}}}))!=null?s:""},6:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="result"> <h2 class="result-id"> @@ -100,7 +100,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr `},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<h1> `+((s=a(n,"if").call(o,e!=null?a(e,"value"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?s:"")+`</h1> -`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var yt=80,Rl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(Zi,"docTokenSplitter");V.default.Pipeline.registerFunction(es,"docTrimmer");window.addEventListener("exdoc:loaded",Ml);function Ml(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=It("q"),n=It("type");Hl(e,n)}}async function Hl(t,e){if(fe(t))kn({value:t});else{Qi(t);try{let n=[],r=Jn();["related","latest"].includes(e)&&r.length>0?n=await Dl(t,e,r):n=await Nl(t),kn({value:t,results:n})}catch(n){kn({value:t,errorMessage:n.message})}}}async function Nl(t){let e=await Bl(),n=t.replaceAll(/(\B|\\):/g,"\\:");return Gl(e.search(n))}async function Dl(t,e,n){let r=n;e==="latest"&&(r=n.slice(0,1));let i=r.map(l=>`${l.name}-${l.version}`).join(","),s=new URLSearchParams;s.set("q",t),s.set("query_by","title,doc"),s.set("filter_by",`package:=[${i}]`);let a=await(await fetch(`https://search.hexdocs.pm/?${s.toString()}`)).json();return Array.isArray(a.hits)?a.hits.map(l=>{let[u,c]=l.document.package.split("-"),d=le(l.document.doc,t,{multiline:!0}),h=[d],f={},m=`https://hexdocs.pm/${u}/${c}/${l.document.ref}`,g=l.document.title,v=l.document.type;return{doc:d,excerpts:h,metadata:f,ref:m,title:g,type:v}}):[]}function kn({value:t,results:e,errorMessage:n}){let r=p(Rl),i=Yi({value:t,results:e,errorMessage:n});r.innerHTML=i}async function Bl(){let t=await Ql();if(t)return t;let e=jl();return Fl(e),e}async function Ql(){try{let t=sessionStorage.getItem(Xi());if(t){let e=await Vl(t);return V.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function Fl(t){try{let e=await ql(t);sessionStorage.setItem(Xi(),e)}catch(e){console.error("Failed to save index: ",e)}}async function ql(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return $l(r)}async function Vl(t){let e=new Blob([Ul(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function $l(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function Ul(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function Xi(){return`idv5:${De()}`}function jl(){return(0,V.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove(V.default.stopWordFilter),this.pipeline.remove(V.default.trimmer),this.use(Wl),this.use(zl),searchData.items.forEach(t=>{this.add(t)})})}function Wl(t){t.pipeline.before(V.default.stemmer,Zi)}function Zi(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function zl(t){t.pipeline.before(V.default.stemmer,es)}function es(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function Gl(t){return t.filter(e=>Ji(e.ref)).map(e=>{let n=Ji(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:Kl(n,r)}})}function Ji(t){return searchData.items.find(e=>e.ref===t)||null}function Kl(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>Yl(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,yt*2)+(yt*2<n.length?"...":"")]:i.slice(0,1)}function Yl(t,e,n){let r=Math.max(e-yt,0),i=Math.min(e+n+yt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+Me(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var ts='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var Jl='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',N=null,_n=null,Sn=null,Ln=!1;function Xl(){N||(document.body.insertAdjacentHTML("beforeend",ts),N=p(".modal"),N.addEventListener("keydown",t=>{t.key==="Escape"&&ce()}),N.querySelector(".modal-close").addEventListener("click",ce),N.addEventListener("click",t=>{t.target===N&&ce()}))}function ns(t){if(!Ln)if(N.contains(t.target))Sn=t.target;else{Ln=!0;let e=N.querySelectorAll(Jl);Sn===e[0]?e[e.length-1].focus():e[0].focus(),Ln=!1,Sn=document.activeElement}}function wt({title:t,body:e}){Xl(),_n=document.activeElement,document.addEventListener("focus",ns,!0),N.querySelector(".modal-title").innerHTML=t,N.querySelector(".modal-body").innerHTML=e,N.classList.add("shown"),N.focus()}function ce(){N?.classList.remove("shown"),document.removeEventListener("focus",ns,!0),_n?.focus(),_n=null}function rs(){return Boolean(N?.classList.contains("shown"))}var is='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var Zl="https://hexdocs.pm/%%",eu="https://www.erlang.org/doc/apps/%%",tu="https://hex.pm/api/packages?search=name:%%*",nu=".display-quick-switch",os="#quick-switch-input",as="#quick-switch-results",ru=300,iu=9,ls=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],su=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(ls).map(t=>({name:t})),us=2,B={autocompleteResults:[],selectedIdx:null};A||window.addEventListener("exdoc:loaded",ou);function ou(){M(nu).forEach(t=>{t.addEventListener("click",Pn)})}function au(t){if(t.key==="Enter"){let e=t.target.value;uu(e),t.preventDefault()}else t.key==="ArrowUp"?(ss(-1),t.preventDefault()):t.key==="ArrowDown"&&(ss(1),t.preventDefault())}function lu(t){let e=t.target.value;if(e.length<us){let n=p(as);n.innerHTML=""}else cu(e)}function Pn(){wt({title:"Go to package docs",body:is});let t=p(os);t.focus(),t.addEventListener("keydown",au),t.addEventListener("input",lu),B.autocompleteResults=[],B.selectedIdx=null}function uu(t){if(B.selectedIdx===null)Tn(t);else{let e=B.autocompleteResults[B.selectedIdx];Tn(e.name)}}function Tn(t){ls.includes(t.toLowerCase())?window.location=eu.replace("%%",t.toLowerCase()):window.location=Zl.replace("%%",t.toLowerCase())}var cu=Zn(du,ru);function du(t){let e=tu.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=fu(t,n),B.selectedIdx=null,p(os).value.length>=us&&hu(B.autocompleteResults))})}function hu(t){p(as).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>Tn(e)),r}))}function fu(t,e){return su.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,iu)}function ss(t){B.selectedIdx=pu(t);let e=p(".quick-switch-result.selected"),n=p(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function pu(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var mu="#settings-modal-content",An=[{key:"c",description:"Toggle sidebar",action:je},{key:"n",description:"Cycle themes",action:hr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:On},{key:"/",action:On},{key:"k",hasModifier:!0,action:On},{key:"v",description:"Open/focus version select",action:yu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:Pn},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:wu}],In={shortcutBeingPressed:null};A||(document.addEventListener("keydown",gu),document.addEventListener("keyup",vu));function gu(t){if(In.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=An.find(n=>n.hasModifier?Be()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(In.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function vu(t){In.shortcutBeingPressed=null}function On(t){ce(),bn()}function yu(){ce(),Or()?dn():Cr().then(dn)}function wu(){bu()?ce():Cn()}function bu(){return rs()&&p(mu)}var cs=Y(ae());var ds=cs.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> +`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var bt=80,Ql="#search";$.default.tokenizer.separator=/\s+/;$.default.QueryLexer.termSeparator=/\s+/;$.default.Pipeline.registerFunction(ns,"docTokenSplitter");$.default.Pipeline.registerFunction(rs,"docTrimmer");window.addEventListener("exdoc:loaded",Fl);function Fl(){let t=window.location.pathname;if(t.endsWith("/search.html")||t.endsWith("/search")){let e=Ct("q"),n=Ct("type");Vl(e,n)}}async function Vl(t,e){if(fe(t))Ln({value:t});else{Qi(t);try{let n=[],r=be();["related","latest"].includes(e)&&r.length>0?(Ul(e),n=await ql(t,e,r)):n=await $l(t),Ln({value:t,results:n})}catch(n){Ln({value:t,errorMessage:n.message})}}}async function $l(t){let e=await jl(),n=t.replaceAll(/(\B|\\):/g,"\\:");return tu(e.search(n))}async function ql(t,e,n){let r=n;e==="latest"&&(r=n.slice(0,1));let i=r.map(l=>`${l.name}-${l.version}`).join(","),s=new URLSearchParams;s.set("q",t),s.set("query_by","title,doc"),s.set("filter_by",`package:=[${i}]`);let a=await(await fetch(`https://search.hexdocs.pm/?${s.toString()}`)).json();return Array.isArray(a.hits)?a.hits.map(l=>{let[u,c]=l.document.package.split("-"),d=le(l.document.doc,t,{multiline:!0}),h=[d],f={},m=`https://hexdocs.pm/${u}/${c}/${l.document.ref}`,g=l.document.title,v=l.document.type;return{doc:d,excerpts:h,metadata:f,ref:m,title:g,type:v}}):[]}function Ul(t){Array.from(document.getElementsByClassName("search-type")).forEach(n=>{n.value=t})}function Ln({value:t,results:e,errorMessage:n}){let r=p(Ql),i=Zi({value:t,results:e,errorMessage:n});r.innerHTML=i}async function jl(){let t=await Wl();if(t)return t;let e=Xl();return zl(e),e}async function Wl(){try{let t=sessionStorage.getItem(ts());if(t){let e=await Kl(t);return $.default.Index.load(e)}else return null}catch(t){return console.error("Failed to load index: ",t),null}}async function zl(t){try{let e=await Gl(t);sessionStorage.setItem(ts(),e)}catch(e){console.error("Failed to save index: ",e)}}async function Gl(t){let e=new Blob([JSON.stringify(t)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(e).blob()).arrayBuffer();return Yl(r)}async function Kl(t){let e=new Blob([Jl(t)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(e).text();return JSON.parse(n)}function Yl(t){let e="",n=new Uint8Array(t),r=n.byteLength;for(let i=0;i<r;i++)e+=String.fromCharCode(n[i]);return window.btoa(e)}function Jl(t){let e=window.atob(t),n=e.length,r=new Uint8Array(new ArrayBuffer(n));for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r}function ts(){return`idv5:${Qe()}`}function Xl(){return(0,$.default)(function(){this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.field("type"),this.metadataWhitelist=["position"],this.pipeline.remove($.default.stopWordFilter),this.pipeline.remove($.default.trimmer),this.use(Zl),this.use(eu),searchData.items.forEach(t=>{this.add(t)})})}function Zl(t){t.pipeline.before($.default.stemmer,ns)}function ns(t){let e=[t],n=/\/\d+$/,r=/\:|\./,i=t.toString();if(i.replace(/^[.,;?!]+|[.,;]+$/g,""),i.startsWith("`")&&i.endsWith("`")&&(i=i.slice(1,-1)),n.test(i)){let o=t.toString().replace(n,"");e.push(t.clone().update(()=>o));let a=o.split(r);if(a.length>1){for(let u of a)e.push(t.clone().update(()=>u));let l=t.toString().split(r);e.push(t.clone().update(()=>l[l.length-1]))}i=a[a.length-1]}else i.startsWith("@")?(i=i.substring(1),e.push(t.clone().update(()=>i))):i.startsWith(":")&&(i=i.substring(1),e.push(t.clone().update(()=>i)));let s=i.split(/\_|\-/);if(s.length>1)for(let o of s)e.push(t.clone().update(()=>o));return e}function eu(t){t.pipeline.before($.default.stemmer,rs)}function rs(t){return t.update(function(e){return e.replace(/^[^@:\w]+/,"").replace(/[^\?\!\w]+$/,"")})}function tu(t){return t.filter(e=>es(e.ref)).map(e=>{let n=es(e.ref),r=e.matchData.metadata;return{...n,metadata:r,excerpts:nu(n,r)}})}function es(t){return searchData.items.find(e=>e.ref===t)||null}function nu(t,e){let{doc:n}=t,i=Object.keys(e).filter(s=>"doc"in e[s]).map(s=>e[s].doc.position.map(([o,a])=>ru(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,bt*2)+(bt*2<n.length?"...":"")]:i.slice(0,1)}function ru(t,e,n){let r=Math.max(e-bt,0),i=Math.min(e+n+bt,t.length);return[r>0?"...":"",t.slice(r,e),"<em>"+He(t.slice(e,e+n))+"</em>",t.slice(e+n,i),i<t.length?"...":""].join("")}var is='<div class="modal" tabindex="-1"><div class="modal-contents"><div class="modal-header"><div class="modal-title"></div><button class="modal-close" aria-label="close">\xD7</button></div><div class="modal-body"></div></div></div>';var iu='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',H=null,Pn=null,Tn=null,_n=!1;function su(){H||(document.body.insertAdjacentHTML("beforeend",is),H=p(".modal"),H.addEventListener("keydown",t=>{t.key==="Escape"&&ce()}),H.querySelector(".modal-close").addEventListener("click",ce),H.addEventListener("click",t=>{t.target===H&&ce()}))}function ss(t){if(!_n)if(H.contains(t.target))Tn=t.target;else{_n=!0;let e=H.querySelectorAll(iu);Tn===e[0]?e[e.length-1].focus():e[0].focus(),_n=!1,Tn=document.activeElement}}function Et({title:t,body:e}){su(),Pn=document.activeElement,document.addEventListener("focus",ss,!0),H.querySelector(".modal-title").innerHTML=t,H.querySelector(".modal-body").innerHTML=e,H.classList.add("shown"),H.focus()}function ce(){H?.classList.remove("shown"),document.removeEventListener("focus",ss,!0),Pn?.focus(),Pn=null}function os(){return Boolean(H?.classList.contains("shown"))}var as='<div id="quick-switch-modal-body"><i class="ri-search-2-line" aria-hidden="true"></i><input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false"><div id="quick-switch-results"></div></div>';var ou="https://hexdocs.pm/%%",au="https://www.erlang.org/doc/apps/%%",lu="https://hex.pm/api/packages?search=name:%%*",uu=".display-quick-switch",us="#quick-switch-input",cs="#quick-switch-results",cu=300,du=9,ds=["erts","asn1","common_test","compiler","crypto","debugger","dialyzer","diameter","edoc","eldap","erl_interface","et","eunit","ftp","inets","jinterface","kernel","megaco","mnesia","observer","odbc","os_mon","parsetools","public_key","reltool","runtime_tools","sasl","snmp","ssh","ssl","stdlib","syntax_tools","tftp","tools","wx","xmerl"],hu=["elixir","eex","ex_unit","hex","iex","logger","mix"].concat(ds).map(t=>({name:t})),hs=2,B={autocompleteResults:[],selectedIdx:null};I||window.addEventListener("exdoc:loaded",fu);function fu(){M(uu).forEach(t=>{t.addEventListener("click",An)})}function pu(t){if(t.key==="Enter"){let e=t.target.value;gu(e),t.preventDefault()}else t.key==="ArrowUp"?(ls(-1),t.preventDefault()):t.key==="ArrowDown"&&(ls(1),t.preventDefault())}function mu(t){let e=t.target.value;if(e.length<hs){let n=p(cs);n.innerHTML=""}else vu(e)}function An(){Et({title:"Go to package docs",body:as});let t=p(us);t.focus(),t.addEventListener("keydown",pu),t.addEventListener("input",mu),B.autocompleteResults=[],B.selectedIdx=null}function gu(t){if(B.selectedIdx===null)On(t);else{let e=B.autocompleteResults[B.selectedIdx];On(e.name)}}function On(t){ds.includes(t.toLowerCase())?window.location=au.replace("%%",t.toLowerCase()):window.location=ou.replace("%%",t.toLowerCase())}var vu=Zn(yu,cu);function yu(t){let e=lu.replace("%%",t);fetch(e).then(n=>n.json()).then(n=>{Array.isArray(n)&&(B.autocompleteResults=bu(t,n),B.selectedIdx=null,p(us).value.length>=hs&&wu(B.autocompleteResults))})}function wu(t){p(cs).replaceChildren(...t.map(({name:e},n)=>{let r=E("div",{class:"quick-switch-result","data-index":n},[e]);return r.addEventListener("click",()=>On(e)),r}))}function bu(t,e){return hu.concat(e).filter(n=>n.name.toLowerCase().includes(t.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,du)}function ls(t){B.selectedIdx=Eu(t);let e=p(".quick-switch-result.selected"),n=p(`.quick-switch-result[data-index="${B.selectedIdx}"]`);e&&e.classList.remove("selected"),n&&n.classList.add("selected")}function Eu(t){let e=B.autocompleteResults.length;if(B.selectedIdx===null){if(t>=0)return 0;if(t<0)return e-1}return(B.selectedIdx+t+e)%e}var xu="#settings-modal-content",Rn=[{key:"c",description:"Toggle sidebar",action:ze},{key:"n",description:"Cycle themes",action:hr},{key:"s",description:"Focus search bar",displayAs:"<kbd><kbd>/</kbd></kbd> or <kbd><kbd>s</kdb></kdb>",action:In},{key:"/",action:In},{key:"k",hasModifier:!0,action:In},{key:"v",description:"Open/focus version select",action:Lu},{key:"g",description:"Go to package docs",displayAs:"<kbd><kbd>g</kdb></kdb>",action:An},{key:"?",displayAs:"<kbd><kbd>?</kbd></kbd>",description:"Bring up this modal",action:Tu}],Cn={shortcutBeingPressed:null};I||(document.addEventListener("keydown",ku),document.addEventListener("keyup",Su));function ku(t){if(Cn.shortcutBeingPressed||t.target.matches("input, select, textarea"))return;let e=Rn.find(n=>n.hasModifier?Fe()&&t.metaKey||t.ctrlKey?n.key===t.key:!1:t.ctrlKey||t.metaKey||t.altKey?!1:n.key===t.key);e&&(Cn.shortcutBeingPressed=e,t.preventDefault(),e.action(t))}function Su(t){Cn.shortcutBeingPressed=null}function In(t){ce(),xn()}function Lu(){ce(),Or()?fn():Cr().then(fn)}function Tu(){_u()?ce():Mn()}function _u(){return os()&&p(xu)}var fs=Y(ae());var ps=fs.template({1:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"description"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.noop,data:i,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?s:""},2:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <dl class="shortcut-row"> <dd class="shortcut-description"> `+t.escapeExpression(t.lambda(e!=null?o(e,"description"):e,e))+` </dd> @@ -149,7 +149,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr <div id="keyboard-shortcuts-content" class="hidden"> `+((s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"shortcuts"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?s:"")+` </div> </div> -`},useData:!0});var Eu=".display-settings",xu="#settings-modal-content",Rn="#modal-settings-tab",Mn="#modal-keyboard-shortcuts-tab",fs="#settings-content",ps="#keyboard-shortcuts-content",ku=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];window.addEventListener("exdoc:loaded",Su);function Su(){M(Eu).forEach(t=>{t.addEventListener("click",Cn)})}function hs(){p(Mn).classList.remove("active"),p(Rn).classList.add("active"),p(fs).classList.remove("hidden"),p(ps).classList.add("hidden")}function Lu(){p(Mn).classList.add("active"),p(Rn).classList.remove("active"),p(ps).classList.remove("hidden"),p(fs).classList.add("hidden")}function Cn(){wt({title:ku.map(({id:s,title:o})=>`<button id="${s}">${o}</button>`).join(""),body:ds({shortcuts:An})});let t=p(xu),e=t.querySelector('[name="theme"]'),n=t.querySelector('[name="tooltips"]'),r=t.querySelector('[name="direct_livebook_url"]'),i=t.querySelector('[name="livebook_url"]');H.getAndSubscribe(s=>{e.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),e.addEventListener("change",s=>{H.update({theme:s.target.value})}),n.addEventListener("change",s=>{H.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;H.update({livebookUrl:o})}),i.addEventListener("input",s=>{H.update({livebookUrl:s.target.value})}),p(Rn).addEventListener("click",s=>{hs()}),p(Mn).addEventListener("click",s=>{Lu()}),hs()}var Hn=new WeakMap;function Nn(t,e,n,r){if(!t&&!Hn.has(e))return!1;let i=Hn.get(e)??new WeakMap;Hn.set(e,i);let s=i.get(n)??new Set;i.set(n,s);let o=s.has(r);return t?s.add(r):s.delete(r),o&&t}function _u(t,e){let n=t.target;if(n instanceof Text&&(n=n.parentElement),n instanceof Element&&t.currentTarget instanceof Element){let r=n.closest(e);if(r&&t.currentTarget.contains(r))return r}}function Tu(t,e,n,r={}){let{signal:i,base:s=document}=r;if(i?.aborted)return;let{once:o,...a}=r,l=s instanceof Document?s.documentElement:s,u=Boolean(typeof r=="object"?r.capture:r),c=f=>{let m=_u(f,String(t));if(m){let g=Object.assign(f,{delegateTarget:m});n.call(l,g),o&&(l.removeEventListener(e,c,a),Nn(!1,l,n,d))}},d=JSON.stringify({selector:t,type:e,capture:u});Nn(!0,l,n,d)||l.addEventListener(e,c,a),i?.addEventListener("abort",()=>{Nn(!1,l,n,d)})}var bt=Tu;function P(){return P=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},P.apply(null,arguments)}var ys=(t,e)=>String(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",Te=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),Pu=(t,e={})=>{let n=P({url:t=t||Te({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(n,"",t)},_e=(t=null,e={})=>{t=t||Te({hash:!0});let n=P({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(n,"",t)},Ou=(t,e,n,r)=>{let i=new AbortController;return r=P({},r,{signal:i.signal}),bt(t,e,n,r),{destroy:()=>i.abort()}},O=class extends URL{constructor(e,n=document.baseURI){super(e.toString(),n),Object.setPrototypeOf(this,O.prototype)}get url(){return this.pathname+this.search}static fromElement(e){let n=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new O(n)}static fromUrl(e){return new O(e)}};var ge=class extends Error{constructor(e,n){super(e),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=n.url,this.status=n.status,this.aborted=n.aborted||!1,this.timedOut=n.timedOut||!1}};async function Iu(t,e={}){var n;t=O.fromUrl(t).url;let{visit:r=this.visit}=e,i=P({},this.options.requestHeaders,e.headers),s=(n=e.timeout)!=null?n:this.options.timeout,o=new AbortController,{signal:a}=o;e=P({},e,{headers:i,signal:a});let l,u=!1,c=null;s&&s>0&&(c=setTimeout(()=>{u=!0,o.abort("timeout")},s));try{l=await this.hooks.call("fetch:request",r,{url:t,options:e},(v,{url:w,options:x})=>fetch(w,x)),c&&clearTimeout(c)}catch(v){throw u?(this.hooks.call("fetch:timeout",r,{url:t}),new ge(`Request timed out: ${t}`,{url:t,timedOut:u})):v?.name==="AbortError"||a.aborted?new ge(`Request aborted: ${t}`,{url:t,aborted:!0}):v}let{status:d,url:h}=l,f=await l.text();if(d===500)throw this.hooks.call("fetch:error",r,{status:d,response:l,url:h}),new ge(`Server error: ${h}`,{status:d,url:h});if(!f)throw new ge(`Empty response: ${h}`,{status:d,url:h});let{url:m}=O.fromUrl(h),g={url:m,html:f};return!r.cache.write||e.method&&e.method!=="GET"||t!==m||this.cache.set(g.url,g),g}var Bn=class{constructor(e){this.swup=void 0,this.pages=new Map,this.swup=e}get size(){return this.pages.size}get all(){let e=new Map;return this.pages.forEach((n,r)=>{e.set(r,P({},n))}),e}has(e){return this.pages.has(this.resolve(e))}get(e){let n=this.pages.get(this.resolve(e));return n&&P({},n)}set(e,n){n=P({},n,{url:e=this.resolve(e)}),this.pages.set(e,n),this.swup.hooks.callSync("cache:set",void 0,{page:n})}update(e,n){e=this.resolve(e);let r=P({},this.get(e),n,{url:e});this.pages.set(e,r)}delete(e){this.pages.delete(this.resolve(e))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(e){this.pages.forEach((n,r)=>{e(r,n)&&this.delete(r)})}resolve(e){let{url:n}=O.fromUrl(e);return this.swup.resolveUrl(n)}},Qn=(t,e=document)=>e.querySelector(t),Vn=(t,e=document)=>Array.from(e.querySelectorAll(t)),ws=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function bs(t){return!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function Au(t,e=[]){return new Promise((n,r)=>{let i=t(...e);bs(i)?i.then(n,r):n(i)})}function ms(t,e){let n=t?.closest(`[${e}]`);return n!=null&&n.hasAttribute(e)?n?.getAttribute(e)||!0:void 0}var Fn=class{constructor(e){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=e}get selectors(){let{scope:e}=this.swup.visit.animation;return e==="containers"?this.swup.visit.containers:e==="html"?["html"]:Array.isArray(e)?e:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?Vn(this.selector):[]}add(...e){this.targets.forEach(n=>n.classList.add(...e))}remove(...e){this.targets.forEach(n=>n.classList.remove(...e))}clear(){this.targets.forEach(e=>{let n=e.className.split(" ").filter(r=>this.isSwupClass(r));e.classList.remove(...n)})}isSwupClass(e){return this.swupClasses.some(n=>e.startsWith(n))}},kt=class{constructor(e,n){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0,this.meta=void 0;let{to:r,from:i,hash:s,el:o,event:a}=n;this.id=Math.random(),this.state=1,this.from={url:i??e.location.url,hash:e.location.hash},this.to={url:r,hash:s},this.containers=e.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:e.options.native,scope:e.options.animationScope,selector:e.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:e.options.cache,write:e.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0},this.meta={}}advance(e){this.state<e&&(this.state=e)}abort(){this.state=8}get done(){return this.state>=7}};function Cu(t){return new kt(this,t)}var qn=class{constructor(e){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=e,this.init()}init(){this.hooks.forEach(e=>this.create(e))}create(e){this.registry.has(e)||this.registry.set(e,new Map)}exists(e){return this.registry.has(e)}get(e){let n=this.registry.get(e);if(n)return n;console.error(`Unknown hook '${e}'`)}clear(){this.registry.forEach(e=>e.clear())}on(e,n,r={}){let i=this.get(e);if(!i)return console.warn(`Hook '${e}' not found.`),()=>{};let s=P({},r,{id:i.size+1,hook:e,handler:n});return i.set(n,s),()=>this.off(e,n)}before(e,n,r={}){return this.on(e,n,P({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,P({},r,{replace:!0}))}once(e,n,r={}){return this.on(e,n,P({},r,{once:!0}))}off(e,n){let r=this.get(e);r&&n?r.delete(n)||console.warn(`Handler for hook '${e}' not found.`):r&&r.clear()}async call(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);await this.run(l,s,o);let[d]=await this.run(u,s,o,!0);return await this.run(c,s,o),this.dispatchDomEvent(e,s,o),d}callSync(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);this.runSync(l,s,o);let[d]=this.runSync(u,s,o,!0);return this.runSync(c,s,o),this.dispatchDomEvent(e,s,o),d}parseCallArgs(e,n,r,i){return n instanceof kt||typeof n!="object"&&typeof r!="function"?[n,r,i]:[void 0,n,r]}async run(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=await Au(a,[n,r,l]);s.push(c)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}runSync(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=a(n,r,l);s.push(c),bs(c)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}getHandlers(e,n){let r=this.get(e);if(!r)return{found:!1,before:[],handler:[],after:[],replaced:!1};let i=Array.from(r.values()),s=this.sortRegistrations,o=i.filter(({before:d,replace:h})=>d&&!h).sort(s),a=i.filter(({replace:d})=>d).filter(d=>!0).sort(s),l=i.filter(({before:d,replace:h})=>!d&&!h).sort(s),u=a.length>0,c=[];if(n&&(c=[{id:0,hook:e,handler:n}],u)){let d=a.length-1,{handler:h,once:f}=a[d],m=g=>{let v=a[g-1];return v?(w,x)=>v.handler(w,x,m(g-1)):n};c=[{id:0,hook:e,once:f,handler:h,defaultHandler:m(d)}]}return{found:!0,before:o,handler:c,after:l,replaced:u}}sortRegistrations(e,n){var r,i;return((r=e.priority)!=null?r:0)-((i=n.priority)!=null?i:0)||e.id-n.id||0}dispatchDomEvent(e,n,r){if(n!=null&&n.done)return;let i={hook:e,args:r,visit:n||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:i,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${e}`,{detail:i,bubbles:!0}))}parseName(e){let[n,...r]=e.split(".");return[n,r.reduce((i,s)=>P({},i,{[s]:!0}),{})]}},Ru=t=>{if(t&&t.charAt(0)==="#"&&(t=t.substring(1)),!t)return null;let e=decodeURIComponent(t),n=document.getElementById(t)||document.getElementById(e)||Qn(`a[name='${CSS.escape(t)}']`)||Qn(`a[name='${CSS.escape(e)}']`);return n||t!=="top"||(n=document.body),n},Et="transition",Dn="animation";async function Mu({selector:t,elements:e}){if(t===!1&&!e)return;let n=[];if(e)n=Array.from(e);else if(t&&(n=Vn(t,document.body),!n.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);let r=n.map(i=>function(s){let{type:o,timeout:a,propCount:l}=function(u){let c=window.getComputedStyle(u),d=xt(c,`${Et}Delay`),h=xt(c,`${Et}Duration`),f=gs(d,h),m=xt(c,`${Dn}Delay`),g=xt(c,`${Dn}Duration`),v=gs(m,g),w=Math.max(f,v),x=w>0?f>v?Et:Dn:null;return{type:x,timeout:w,propCount:x?x===Et?h.length:g.length:0}}(s);return!(!o||!a)&&new Promise(u=>{let c=`${o}end`,d=performance.now(),h=0,f=()=>{s.removeEventListener(c,m),u()},m=g=>{g.target===s&&((performance.now()-d)/1e3<g.elapsedTime||++h>=l&&f())};setTimeout(()=>{h<l&&f()},a+1),s.addEventListener(c,m)})}(i));r.filter(Boolean).length>0?await Promise.all(r):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function xt(t,e){return(t[e]||"").split(", ")}function gs(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,r)=>vs(n)+vs(t[r])))}function vs(t){return 1e3*parseFloat(t)}function Hu(t,e={},n={}){if(typeof t!="string")throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:n.el,event:n.event}))return void window.location.assign(t);let{url:r,hash:i}=O.fromUrl(t),s=this.createVisit(P({},n,{to:r,hash:i}));this.performNavigation(s,e)}async function Nu(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;let{el:n}=t.trigger;e.referrer=e.referrer||this.location.url,e.animate===!1&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();let r=e.history||ms(n,"data-swup-history");typeof r=="string"&&["push","replace"].includes(r)&&(t.history.action=r);let i=e.animation||ms(n,"data-swup-animation");var s,o;typeof i=="string"&&(t.animation.name=i),t.meta=e.meta||{},typeof e.cache=="object"?(t.cache.read=(s=e.cache.read)!=null?s:t.cache.read,t.cache.write=(o=e.cache.write)!=null?o:t.cache.write):e.cache!==void 0&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;let a=this.hooks.call("page:load",t,{options:e},async(u,c)=>{let d;return u.cache.read&&(d=this.cache.get(u.to.url)),c.page=d||await this.fetchPage(u.to.url,c.options),c.cache=!!d,c.page});a.then(({html:u})=>{t.advance(5),t.to.html=u,t.to.document=new DOMParser().parseFromString(u,"text/html")});let l=t.to.url+t.to.hash;if(t.history.popstate||(t.history.action==="replace"||t.to.url===this.location.url?_e(l):(this.currentHistoryIndex++,Pu(l,{index:this.currentHistoryIndex}))),this.location=O.fromUrl(l),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${ys(t.animation.name)}`),t.animation.wait&&await a,t.done||(await this.hooks.call("visit:transition",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await a);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await a)).finished:await this.renderPage(t,await a),await this.animatePageIn(t)}),t.done))return;await this.hooks.call("visit:end",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(a){if(!a||a!=null&&a.aborted)return void(t.state=8);t.state=9,console.error(a),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}var Du=async function(t){await this.hooks.call("animation:out:start",t,void 0,()=>{this.classes.add("is-changing","is-animating","is-leaving")}),await this.hooks.call("animation:out:await",t,{skip:!1},(e,{skip:n})=>{if(!n)return this.awaitAnimations({selector:e.animation.selector})}),await this.hooks.call("animation:out:end",t,void 0)},Bu=function(t){var e;let n=t.to.document;if(!n)return!1;let r=((e=n.querySelector("title"))==null?void 0:e.innerText)||"";document.title=r;let i=Vn('[data-swup-persist]:not([data-swup-persist=""])'),s=t.containers.map(o=>{let a=document.querySelector(o),l=n.querySelector(o);return a&&l?(a.replaceWith(l.cloneNode(!0)),!0):(a||console.warn(`[swup] Container missing in current document: ${o}`),l||console.warn(`[swup] Container missing in incoming document: ${o}`),!1)}).filter(Boolean);return i.forEach(o=>{let a=o.getAttribute("data-swup-persist"),l=Qn(`[data-swup-persist="${a}"]`);l&&l!==o&&l.replaceWith(o)}),s.length===t.containers.length},Qu=function(t){let e={behavior:"auto"},{target:n,reset:r}=t.scroll,i=n??t.to.hash,s=!1;return i&&(s=this.hooks.callSync("scroll:anchor",t,{hash:i,options:e},(o,{hash:a,options:l})=>{let u=this.getAnchorElement(a);return u&&u.scrollIntoView(l),!!u})),r&&!s&&(s=this.hooks.callSync("scroll:top",t,{options:e},(o,{options:a})=>(window.scrollTo(P({top:0,left:0},a)),!0))),s},Fu=async function(t){if(t.done)return;let e=this.hooks.call("animation:in:await",t,{skip:!1},(n,{skip:r})=>{if(!r)return this.awaitAnimations({selector:n.animation.selector})});await ws(),await this.hooks.call("animation:in:start",t,void 0,()=>{this.classes.remove("is-animating")}),await e,await this.hooks.call("animation:in:end",t,void 0)},qu=async function(t,e){if(t.done)return;t.advance(6);let{url:n}=e;this.isSameResolvedUrl(Te(),n)||(_e(n),this.location=O.fromUrl(n),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},(r,{})=>{if(this.classes.remove("is-leaving"),r.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(r))throw new Error("[swup] Container mismatch, aborting");r.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),r.animation.name&&this.classes.add(`to-${ys(r.animation.name)}`))}),await this.hooks.call("content:scroll",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},Vu=function(t){var e;if(e=t,Boolean(e?.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function $u(t){let e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(n=>n!==e),this.plugins;console.error("No such plugin",e)}function Uu(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function ju(t){if(typeof this.options.resolveUrl!="function")return console.warn("[swup] options.resolveUrl expects a callback function."),t;let e=this.options.resolveUrl(t);return e&&typeof e=="string"?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function Wu(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}var zu={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],hooks:{},ignoreVisit:(t,{el:e}={})=>!(e==null||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return((e=t.state)==null?void 0:e.source)!=="swup"},timeout:0},St=class{get currentPageUrl(){return this.location.url}constructor(e={}){var n,r;this.version="4.8.1",this.options=void 0,this.defaults=zu,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=O.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=Vu,this.unuse=$u,this.findPlugin=Uu,this.log=()=>{},this.navigate=Hu,this.performNavigation=Nu,this.createVisit=Cu,this.delegateEvent=Ou,this.fetchPage=Iu,this.awaitAnimations=Mu,this.renderPage=qu,this.replaceContent=Bu,this.animatePageIn=Fu,this.animatePageOut=Du,this.scrollToContent=Qu,this.getAnchorElement=Ru,this.getCurrentUrl=Te,this.resolveUrl=ju,this.isSameResolvedUrl=Wu,this.options=P({},this.defaults,e),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new Bn(this),this.classes=new Fn(this),this.hooks=new qn(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=(n=(r=window.history.state)==null?void 0:r.index)!=null?n:1,this.enable()}async enable(){var e;let{linkSelector:n}=this.options;this.clickDelegate=this.delegateEvent(n,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(r=>this.use(r));for(let[r,i]of Object.entries(this.options.hooks)){let[s,o]=this.hooks.parseName(r);this.hooks.on(s,i,o)}((e=window.history.state)==null?void 0:e.source)!=="swup"&&_e(null,{index:this.currentHistoryIndex}),await ws(),await this.hooks.call("enable",void 0,void 0,()=>{let r=document.documentElement;r.classList.add("swup-enabled"),r.classList.toggle("swup-native",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(e=>this.unuse(e)),await this.hooks.call("disable",void 0,void 0,()=>{let e=document.documentElement;e.classList.remove("swup-enabled"),e.classList.remove("swup-native")}),this.hooks.clear()}shouldIgnoreVisit(e,{el:n,event:r}={}){let{origin:i,url:s,hash:o}=O.fromUrl(e);return i!==window.location.origin||!(!n||!this.triggerWillOpenNewWindow(n))||!!this.options.ignoreVisit(s+o,{el:n,event:r})}handleLinkClick(e){let n=e.delegateTarget,{href:r,url:i,hash:s}=O.fromElement(n);if(this.shouldIgnoreVisit(r,{el:n,event:e}))return;if(this.navigating&&i===this.visit.to.url)return void e.preventDefault();let o=this.createVisit({to:i,hash:s,el:n,event:e});e.metaKey||e.ctrlKey||e.shiftKey||e.altKey?this.hooks.callSync("link:newtab",o,{href:r}):e.button===0&&this.hooks.callSync("link:click",o,{el:n,event:e},()=>{var a;let l=(a=o.from.url)!=null?a:"";e.preventDefault(),i&&i!==l?this.isSameResolvedUrl(i,l)||this.performNavigation(o):s?this.hooks.callSync("link:anchor",o,{hash:s},()=>{_e(i+s),this.scrollToContent(o)}):this.hooks.callSync("link:self",o,void 0,()=>{this.options.linkToSelf==="navigate"?this.performNavigation(o):(_e(i),this.scrollToContent(o))})})}handlePopState(e){var n,r,i,s;let o=(n=(r=e.state)==null?void 0:r.url)!=null?n:window.location.href;if(this.options.skipPopStateHandling(e)||this.isSameResolvedUrl(Te(),this.location.url))return;let{url:a,hash:l}=O.fromUrl(o),u=this.createVisit({to:a,hash:l,event:e});u.history.popstate=!0;let c=(i=(s=e.state)==null?void 0:s.index)!=null?i:0;c&&c!==this.currentHistoryIndex&&(u.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),u.animation.animate=!1,u.scroll.reset=!1,u.scroll.target=!1,this.options.animateHistoryBrowsing&&(u.animation.animate=!0,u.scroll.reset=!0),this.hooks.callSync("history:popstate",u,{event:e},()=>{this.performNavigation(u)})}triggerWillOpenNewWindow(e){return!!e.matches('[download], [target="_blank"]')}};function Pe(){return Pe=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Pe.apply(this,arguments)}var Es=t=>String(t).split(".").map(e=>String(parseInt(e||"0",10))).concat(["0","0"]).slice(0,3).join("."),ve=class{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach(e=>e()),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return typeof this.requires!="object"||Object.entries(this.requires).forEach(([e,n])=>{if(!function(r,i,s){let o=function(a,l){var u;if(a==="swup")return(u=l.version)!=null?u:"";{var c;let d=l.findPlugin(a);return(c=d?.version)!=null?c:""}}(r,s);return!!o&&((a,l)=>l.every(u=>{let[,c,d]=u.match(/^([\D]+)?(.*)$/)||[];var h,f;return((m,g)=>{let v={"":w=>w===0,">":w=>w>0,">=":w=>w>=0,"<":w=>w<0,"<=":w=>w<=0};return(v[g]||v[""])(m)})((f=d,h=Es(h=a),f=Es(f),h.localeCompare(f,void 0,{numeric:!0})),c||">=")}))(o,i)}(e,n=Array.isArray(n)?n:[n],this.swup)){let r=`${e} ${n.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${r}`)}}),!0}on(e,n,r={}){var i;n=!(i=n).name.startsWith("bound ")||i.hasOwnProperty("prototype")?n.bind(this):n;let s=this.swup.hooks.on(e,n,r);return this.handlersToUnregister.push(s),s}once(e,n,r={}){return this.on(e,n,Pe({},r,{once:!0}))}before(e,n,r={}){return this.on(e,n,Pe({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,Pe({},r,{replace:!0}))}off(e,n){return this.swup.hooks.off(e,n)}};(function(){if(!(typeof window>"u"||typeof document>"u"||typeof HTMLElement>"u")){var t=!1;try{var e=document.createElement("div");e.addEventListener("focus",function(s){s.preventDefault(),s.stopPropagation()},!0),e.focus(Object.defineProperty({},"preventScroll",{get:function(){if(navigator&&typeof navigator.userAgent<"u"&&navigator.userAgent&&navigator.userAgent.match(/Edge\/1[7-8]/))return t=!1;t=!0}}))}catch{}if(HTMLElement.prototype.nativeFocus===void 0&&!t){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var n=function(s){for(var o=s.parentNode,a=[],l=document.scrollingElement||document.documentElement;o&&o!==l;)(o.offsetHeight<o.scrollHeight||o.offsetWidth<o.scrollWidth)&&a.push([o,o.scrollTop,o.scrollLeft]),o=o.parentNode;return o=l,a.push([o,o.scrollTop,o.scrollLeft]),a},r=function(s){for(var o=0;o<s.length;o++)s[o][0].scrollTop=s[o][1],s[o][0].scrollLeft=s[o][2];s=[]},i=function(s){if(s&&s.preventScroll){var o=n(this);if(typeof setTimeout=="function"){var a=this;setTimeout(function(){a.nativeFocus(),r(o)},0)}else this.nativeFocus(),r(o)}else this.nativeFocus()};HTMLElement.prototype.focus=i}}})();function $n(){return $n=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},$n.apply(this,arguments)}function xs(t,e){return Object.keys(e).reduce((n,r)=>n.replace(`{${r}}`,e[r]||""),t||"")}var Un=class{constructor(){var e;this.id="swup-announcer",this.style="position:absolute;top:0;left:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;word-wrap:normal;width:1px;height:1px;",this.region=void 0,this.region=(e=this.getRegion())!=null?e:this.createRegion()}getRegion(){return document.getElementById(this.id)}createRegion(){let e=function(n){let r=document.createElement("template");return r.innerHTML=n,r.content.children[0]}(`<p aria-live="assertive" aria-atomic="true" id="${this.id}" style="${this.style}"></p>`);return document.body.appendChild(e),e}announce(e,n=0){return new Promise(r=>{setTimeout(()=>{this.region.textContent===e&&(e=`${e}.`),this.region.textContent="",this.region.textContent=e,r()},n)})}};function ks(t){let e;if(e=typeof t=="string"?document.querySelector(t):t,!(e instanceof HTMLElement))return;let n=e.getAttribute("tabindex");e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}),n!==null&&e.setAttribute("tabindex",n)}var Lt=class extends ve{constructor(e={}){super(),this.name="SwupA11yPlugin",this.requires={swup:">=4"},this.defaults={headingSelector:"h1",respectReducedMotion:!0,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.announcer=void 0,this.announcementDelay=100,this.rootSelector="body",this.handleAnchorScroll=(n,{hash:r})=>{let i=this.swup.getAnchorElement(r);i instanceof HTMLElement&&ks(i)},this.options=$n({},this.defaults,e),this.announcer=new Un}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("visit:end",this.focusContent),this.on("visit:end",this.announceContent),this.on("scroll:anchor",this.handleAnchorScroll),this.before("visit:start",this.disableAnimations),this.before("link:self",this.disableAnimations),this.before("link:anchor",this.disableAnimations),this.swup.announce=this.announce.bind(this)}unmount(){this.swup.announce=void 0}async announce(e){await this.announcer.announce(e)}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(e){e.a11y={announce:void 0,focus:this.rootSelector}}announceContent(e){this.swup.hooks.callSync("content:announce",e,void 0,n=>{n.a11y.announce===void 0&&(n.a11y.announce=this.getPageAnnouncement()),n.a11y.announce&&this.announcer.announce(n.a11y.announce,this.announcementDelay)})}focusContent(e){this.swup.hooks.callSync("content:focus",e,void 0,n=>{n.a11y.focus&&(this.options.autofocus&&function(){let r=function(){let i=document.querySelector("body [autofocus]");if(i&&!i.closest('[inert], [aria-disabled], [aria-hidden="true"]'))return i}();return!!r&&(r!==document.activeElement&&r.focus(),!0)}()===!0||ks(n.a11y.focus))})}getPageAnnouncement(){let{headingSelector:e,announcements:n}=this.options;return function({headingSelector:r="h1",announcements:i={}}){var s,o;let a=document.documentElement.lang||"*",{href:l,url:u,pathname:c}=O.fromUrl(window.location.href),d=(s=(o=i[a])!=null?o:i["*"])!=null?s:i;if(typeof d!="object")return;let h=document.querySelector(r);h||console.warn(`SwupA11yPlugin: No main heading (${r}) found on new page`);let f=h?.getAttribute("aria-label")||h?.textContent||document.title||xs(d.url,{href:l,url:u,path:c});return xs(d.visit,{title:f,href:l,url:u,path:c})}({headingSelector:e,announcements:n})}disableAnimations(e){this.options.respectReducedMotion&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(e.animation.animate=!1,e.scroll.animate=!1)}};function jn(){return jn=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},jn.apply(this,arguments)}var Wn=class{constructor({className:e,styleAttr:n,animationDuration:r,minValue:i,initialValue:s,trickleValue:o}={}){this.value=0,this.visible=!1,this.hiding=!1,this.className="progress-bar",this.styleAttr="data-progressbar-styles data-swup-theme",this.animationDuration=300,this.minValue=.1,this.initialValue=.25,this.trickleValue=.03,this.trickleInterval=void 0,this.styleElement=void 0,this.progressElement=void 0,this.trickle=()=>{let a=Math.random()*this.trickleValue;this.setValue(this.value+a)},e!==void 0&&(this.className=String(e)),n!==void 0&&(this.styleAttr=String(n)),r!==void 0&&(this.animationDuration=Number(r)),i!==void 0&&(this.minValue=Number(i)),s!==void 0&&(this.initialValue=Number(s)),o!==void 0&&(this.trickleValue=Number(o)),this.styleElement=this.createStyleElement(),this.progressElement=this.createProgressElement()}get defaultStyles(){return` +`},useData:!0});var Pu=".display-settings",Ou="#settings-modal-content",Nn="#modal-settings-tab",Hn="#modal-keyboard-shortcuts-tab",gs="#settings-content",vs="#keyboard-shortcuts-content",Au=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];window.addEventListener("exdoc:loaded",Iu);function Iu(){M(Pu).forEach(t=>{t.addEventListener("click",Mn)})}function ms(){p(Hn).classList.remove("active"),p(Nn).classList.add("active"),p(gs).classList.remove("hidden"),p(vs).classList.add("hidden")}function Cu(){p(Hn).classList.add("active"),p(Nn).classList.remove("active"),p(vs).classList.remove("hidden"),p(gs).classList.add("hidden")}function Mn(){Et({title:Au.map(({id:s,title:o})=>`<button id="${s}">${o}</button>`).join(""),body:ps({shortcuts:Rn})});let t=p(Ou),e=t.querySelector('[name="theme"]'),n=t.querySelector('[name="tooltips"]'),r=t.querySelector('[name="direct_livebook_url"]'),i=t.querySelector('[name="livebook_url"]');N.getAndSubscribe(s=>{e.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),e.addEventListener("change",s=>{N.update({theme:s.target.value})}),n.addEventListener("change",s=>{N.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;N.update({livebookUrl:o})}),i.addEventListener("input",s=>{N.update({livebookUrl:s.target.value})}),p(Nn).addEventListener("click",s=>{ms()}),p(Hn).addEventListener("click",s=>{Cu()}),ms()}var Dn=new WeakMap;function Bn(t,e,n,r){if(!t&&!Dn.has(e))return!1;let i=Dn.get(e)??new WeakMap;Dn.set(e,i);let s=i.get(n)??new Set;i.set(n,s);let o=s.has(r);return t?s.add(r):s.delete(r),o&&t}function Ru(t,e){let n=t.target;if(n instanceof Text&&(n=n.parentElement),n instanceof Element&&t.currentTarget instanceof Element){let r=n.closest(e);if(r&&t.currentTarget.contains(r))return r}}function Mu(t,e,n,r={}){let{signal:i,base:s=document}=r;if(i?.aborted)return;let{once:o,...a}=r,l=s instanceof Document?s.documentElement:s,u=Boolean(typeof r=="object"?r.capture:r),c=f=>{let m=Ru(f,String(t));if(m){let g=Object.assign(f,{delegateTarget:m});n.call(l,g),o&&(l.removeEventListener(e,c,a),Bn(!1,l,n,d))}},d=JSON.stringify({selector:t,type:e,capture:u});Bn(!0,l,n,d)||l.addEventListener(e,c,a),i?.addEventListener("abort",()=>{Bn(!1,l,n,d)})}var xt=Mu;function P(){return P=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},P.apply(null,arguments)}var Es=(t,e)=>String(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",Pe=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),Nu=(t,e={})=>{let n=P({url:t=t||Pe({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(n,"",t)},_e=(t=null,e={})=>{t=t||Pe({hash:!0});let n=P({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(n,"",t)},Hu=(t,e,n,r)=>{let i=new AbortController;return r=P({},r,{signal:i.signal}),xt(t,e,n,r),{destroy:()=>i.abort()}},O=class extends URL{constructor(e,n=document.baseURI){super(e.toString(),n),Object.setPrototypeOf(this,O.prototype)}get url(){return this.pathname+this.search}static fromElement(e){let n=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new O(n)}static fromUrl(e){return new O(e)}};var ge=class extends Error{constructor(e,n){super(e),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=n.url,this.status=n.status,this.aborted=n.aborted||!1,this.timedOut=n.timedOut||!1}};async function Du(t,e={}){var n;t=O.fromUrl(t).url;let{visit:r=this.visit}=e,i=P({},this.options.requestHeaders,e.headers),s=(n=e.timeout)!=null?n:this.options.timeout,o=new AbortController,{signal:a}=o;e=P({},e,{headers:i,signal:a});let l,u=!1,c=null;s&&s>0&&(c=setTimeout(()=>{u=!0,o.abort("timeout")},s));try{l=await this.hooks.call("fetch:request",r,{url:t,options:e},(v,{url:w,options:x})=>fetch(w,x)),c&&clearTimeout(c)}catch(v){throw u?(this.hooks.call("fetch:timeout",r,{url:t}),new ge(`Request timed out: ${t}`,{url:t,timedOut:u})):v?.name==="AbortError"||a.aborted?new ge(`Request aborted: ${t}`,{url:t,aborted:!0}):v}let{status:d,url:h}=l,f=await l.text();if(d===500)throw this.hooks.call("fetch:error",r,{status:d,response:l,url:h}),new ge(`Server error: ${h}`,{status:d,url:h});if(!f)throw new ge(`Empty response: ${h}`,{status:d,url:h});let{url:m}=O.fromUrl(h),g={url:m,html:f};return!r.cache.write||e.method&&e.method!=="GET"||t!==m||this.cache.set(g.url,g),g}var Fn=class{constructor(e){this.swup=void 0,this.pages=new Map,this.swup=e}get size(){return this.pages.size}get all(){let e=new Map;return this.pages.forEach((n,r)=>{e.set(r,P({},n))}),e}has(e){return this.pages.has(this.resolve(e))}get(e){let n=this.pages.get(this.resolve(e));return n&&P({},n)}set(e,n){n=P({},n,{url:e=this.resolve(e)}),this.pages.set(e,n),this.swup.hooks.callSync("cache:set",void 0,{page:n})}update(e,n){e=this.resolve(e);let r=P({},this.get(e),n,{url:e});this.pages.set(e,r)}delete(e){this.pages.delete(this.resolve(e))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(e){this.pages.forEach((n,r)=>{e(r,n)&&this.delete(r)})}resolve(e){let{url:n}=O.fromUrl(e);return this.swup.resolveUrl(n)}},Vn=(t,e=document)=>e.querySelector(t),Un=(t,e=document)=>Array.from(e.querySelectorAll(t)),xs=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function ks(t){return!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function Bu(t,e=[]){return new Promise((n,r)=>{let i=t(...e);ks(i)?i.then(n,r):n(i)})}function ys(t,e){let n=t?.closest(`[${e}]`);return n!=null&&n.hasAttribute(e)?n?.getAttribute(e)||!0:void 0}var $n=class{constructor(e){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=e}get selectors(){let{scope:e}=this.swup.visit.animation;return e==="containers"?this.swup.visit.containers:e==="html"?["html"]:Array.isArray(e)?e:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?Un(this.selector):[]}add(...e){this.targets.forEach(n=>n.classList.add(...e))}remove(...e){this.targets.forEach(n=>n.classList.remove(...e))}clear(){this.targets.forEach(e=>{let n=e.className.split(" ").filter(r=>this.isSwupClass(r));e.classList.remove(...n)})}isSwupClass(e){return this.swupClasses.some(n=>e.startsWith(n))}},Lt=class{constructor(e,n){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0,this.meta=void 0;let{to:r,from:i,hash:s,el:o,event:a}=n;this.id=Math.random(),this.state=1,this.from={url:i??e.location.url,hash:e.location.hash},this.to={url:r,hash:s},this.containers=e.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:e.options.native,scope:e.options.animationScope,selector:e.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:e.options.cache,write:e.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0},this.meta={}}advance(e){this.state<e&&(this.state=e)}abort(){this.state=8}get done(){return this.state>=7}};function Qu(t){return new Lt(this,t)}var qn=class{constructor(e){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=e,this.init()}init(){this.hooks.forEach(e=>this.create(e))}create(e){this.registry.has(e)||this.registry.set(e,new Map)}exists(e){return this.registry.has(e)}get(e){let n=this.registry.get(e);if(n)return n;console.error(`Unknown hook '${e}'`)}clear(){this.registry.forEach(e=>e.clear())}on(e,n,r={}){let i=this.get(e);if(!i)return console.warn(`Hook '${e}' not found.`),()=>{};let s=P({},r,{id:i.size+1,hook:e,handler:n});return i.set(n,s),()=>this.off(e,n)}before(e,n,r={}){return this.on(e,n,P({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,P({},r,{replace:!0}))}once(e,n,r={}){return this.on(e,n,P({},r,{once:!0}))}off(e,n){let r=this.get(e);r&&n?r.delete(n)||console.warn(`Handler for hook '${e}' not found.`):r&&r.clear()}async call(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);await this.run(l,s,o);let[d]=await this.run(u,s,o,!0);return await this.run(c,s,o),this.dispatchDomEvent(e,s,o),d}callSync(e,n,r,i){let[s,o,a]=this.parseCallArgs(e,n,r,i),{before:l,handler:u,after:c}=this.getHandlers(e,a);this.runSync(l,s,o);let[d]=this.runSync(u,s,o,!0);return this.runSync(c,s,o),this.dispatchDomEvent(e,s,o),d}parseCallArgs(e,n,r,i){return n instanceof Lt||typeof n!="object"&&typeof r!="function"?[n,r,i]:[void 0,n,r]}async run(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=await Bu(a,[n,r,l]);s.push(c)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}runSync(e,n=this.swup.visit,r,i=!1){let s=[];for(let{hook:o,handler:a,defaultHandler:l,once:u}of e)if(n==null||!n.done){u&&this.off(o,a);try{let c=a(n,r,l);s.push(c),ks(c)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(c){if(i)throw c;console.error(`Error in hook '${o}':`,c)}}return s}getHandlers(e,n){let r=this.get(e);if(!r)return{found:!1,before:[],handler:[],after:[],replaced:!1};let i=Array.from(r.values()),s=this.sortRegistrations,o=i.filter(({before:d,replace:h})=>d&&!h).sort(s),a=i.filter(({replace:d})=>d).filter(d=>!0).sort(s),l=i.filter(({before:d,replace:h})=>!d&&!h).sort(s),u=a.length>0,c=[];if(n&&(c=[{id:0,hook:e,handler:n}],u)){let d=a.length-1,{handler:h,once:f}=a[d],m=g=>{let v=a[g-1];return v?(w,x)=>v.handler(w,x,m(g-1)):n};c=[{id:0,hook:e,once:f,handler:h,defaultHandler:m(d)}]}return{found:!0,before:o,handler:c,after:l,replaced:u}}sortRegistrations(e,n){var r,i;return((r=e.priority)!=null?r:0)-((i=n.priority)!=null?i:0)||e.id-n.id||0}dispatchDomEvent(e,n,r){if(n!=null&&n.done)return;let i={hook:e,args:r,visit:n||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:i,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${e}`,{detail:i,bubbles:!0}))}parseName(e){let[n,...r]=e.split(".");return[n,r.reduce((i,s)=>P({},i,{[s]:!0}),{})]}},Fu=t=>{if(t&&t.charAt(0)==="#"&&(t=t.substring(1)),!t)return null;let e=decodeURIComponent(t),n=document.getElementById(t)||document.getElementById(e)||Vn(`a[name='${CSS.escape(t)}']`)||Vn(`a[name='${CSS.escape(e)}']`);return n||t!=="top"||(n=document.body),n},kt="transition",Qn="animation";async function Vu({selector:t,elements:e}){if(t===!1&&!e)return;let n=[];if(e)n=Array.from(e);else if(t&&(n=Un(t,document.body),!n.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);let r=n.map(i=>function(s){let{type:o,timeout:a,propCount:l}=function(u){let c=window.getComputedStyle(u),d=St(c,`${kt}Delay`),h=St(c,`${kt}Duration`),f=ws(d,h),m=St(c,`${Qn}Delay`),g=St(c,`${Qn}Duration`),v=ws(m,g),w=Math.max(f,v),x=w>0?f>v?kt:Qn:null;return{type:x,timeout:w,propCount:x?x===kt?h.length:g.length:0}}(s);return!(!o||!a)&&new Promise(u=>{let c=`${o}end`,d=performance.now(),h=0,f=()=>{s.removeEventListener(c,m),u()},m=g=>{g.target===s&&((performance.now()-d)/1e3<g.elapsedTime||++h>=l&&f())};setTimeout(()=>{h<l&&f()},a+1),s.addEventListener(c,m)})}(i));r.filter(Boolean).length>0?await Promise.all(r):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function St(t,e){return(t[e]||"").split(", ")}function ws(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,r)=>bs(n)+bs(t[r])))}function bs(t){return 1e3*parseFloat(t)}function $u(t,e={},n={}){if(typeof t!="string")throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:n.el,event:n.event}))return void window.location.assign(t);let{url:r,hash:i}=O.fromUrl(t),s=this.createVisit(P({},n,{to:r,hash:i}));this.performNavigation(s,e)}async function qu(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;let{el:n}=t.trigger;e.referrer=e.referrer||this.location.url,e.animate===!1&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();let r=e.history||ys(n,"data-swup-history");typeof r=="string"&&["push","replace"].includes(r)&&(t.history.action=r);let i=e.animation||ys(n,"data-swup-animation");var s,o;typeof i=="string"&&(t.animation.name=i),t.meta=e.meta||{},typeof e.cache=="object"?(t.cache.read=(s=e.cache.read)!=null?s:t.cache.read,t.cache.write=(o=e.cache.write)!=null?o:t.cache.write):e.cache!==void 0&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;let a=this.hooks.call("page:load",t,{options:e},async(u,c)=>{let d;return u.cache.read&&(d=this.cache.get(u.to.url)),c.page=d||await this.fetchPage(u.to.url,c.options),c.cache=!!d,c.page});a.then(({html:u})=>{t.advance(5),t.to.html=u,t.to.document=new DOMParser().parseFromString(u,"text/html")});let l=t.to.url+t.to.hash;if(t.history.popstate||(t.history.action==="replace"||t.to.url===this.location.url?_e(l):(this.currentHistoryIndex++,Nu(l,{index:this.currentHistoryIndex}))),this.location=O.fromUrl(l),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${Es(t.animation.name)}`),t.animation.wait&&await a,t.done||(await this.hooks.call("visit:transition",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await a);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await a)).finished:await this.renderPage(t,await a),await this.animatePageIn(t)}),t.done))return;await this.hooks.call("visit:end",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(a){if(!a||a!=null&&a.aborted)return void(t.state=8);t.state=9,console.error(a),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}var Uu=async function(t){await this.hooks.call("animation:out:start",t,void 0,()=>{this.classes.add("is-changing","is-animating","is-leaving")}),await this.hooks.call("animation:out:await",t,{skip:!1},(e,{skip:n})=>{if(!n)return this.awaitAnimations({selector:e.animation.selector})}),await this.hooks.call("animation:out:end",t,void 0)},ju=function(t){var e;let n=t.to.document;if(!n)return!1;let r=((e=n.querySelector("title"))==null?void 0:e.innerText)||"";document.title=r;let i=Un('[data-swup-persist]:not([data-swup-persist=""])'),s=t.containers.map(o=>{let a=document.querySelector(o),l=n.querySelector(o);return a&&l?(a.replaceWith(l.cloneNode(!0)),!0):(a||console.warn(`[swup] Container missing in current document: ${o}`),l||console.warn(`[swup] Container missing in incoming document: ${o}`),!1)}).filter(Boolean);return i.forEach(o=>{let a=o.getAttribute("data-swup-persist"),l=Vn(`[data-swup-persist="${a}"]`);l&&l!==o&&l.replaceWith(o)}),s.length===t.containers.length},Wu=function(t){let e={behavior:"auto"},{target:n,reset:r}=t.scroll,i=n??t.to.hash,s=!1;return i&&(s=this.hooks.callSync("scroll:anchor",t,{hash:i,options:e},(o,{hash:a,options:l})=>{let u=this.getAnchorElement(a);return u&&u.scrollIntoView(l),!!u})),r&&!s&&(s=this.hooks.callSync("scroll:top",t,{options:e},(o,{options:a})=>(window.scrollTo(P({top:0,left:0},a)),!0))),s},zu=async function(t){if(t.done)return;let e=this.hooks.call("animation:in:await",t,{skip:!1},(n,{skip:r})=>{if(!r)return this.awaitAnimations({selector:n.animation.selector})});await xs(),await this.hooks.call("animation:in:start",t,void 0,()=>{this.classes.remove("is-animating")}),await e,await this.hooks.call("animation:in:end",t,void 0)},Gu=async function(t,e){if(t.done)return;t.advance(6);let{url:n}=e;this.isSameResolvedUrl(Pe(),n)||(_e(n),this.location=O.fromUrl(n),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},(r,{})=>{if(this.classes.remove("is-leaving"),r.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(r))throw new Error("[swup] Container mismatch, aborting");r.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),r.animation.name&&this.classes.add(`to-${Es(r.animation.name)}`))}),await this.hooks.call("content:scroll",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},Ku=function(t){var e;if(e=t,Boolean(e?.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function Yu(t){let e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(n=>n!==e),this.plugins;console.error("No such plugin",e)}function Ju(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function Xu(t){if(typeof this.options.resolveUrl!="function")return console.warn("[swup] options.resolveUrl expects a callback function."),t;let e=this.options.resolveUrl(t);return e&&typeof e=="string"?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function Zu(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}var ec={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],hooks:{},ignoreVisit:(t,{el:e}={})=>!(e==null||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return((e=t.state)==null?void 0:e.source)!=="swup"},timeout:0},Tt=class{get currentPageUrl(){return this.location.url}constructor(e={}){var n,r;this.version="4.8.1",this.options=void 0,this.defaults=ec,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=O.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=Ku,this.unuse=Yu,this.findPlugin=Ju,this.log=()=>{},this.navigate=$u,this.performNavigation=qu,this.createVisit=Qu,this.delegateEvent=Hu,this.fetchPage=Du,this.awaitAnimations=Vu,this.renderPage=Gu,this.replaceContent=ju,this.animatePageIn=zu,this.animatePageOut=Uu,this.scrollToContent=Wu,this.getAnchorElement=Fu,this.getCurrentUrl=Pe,this.resolveUrl=Xu,this.isSameResolvedUrl=Zu,this.options=P({},this.defaults,e),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new Fn(this),this.classes=new $n(this),this.hooks=new qn(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=(n=(r=window.history.state)==null?void 0:r.index)!=null?n:1,this.enable()}async enable(){var e;let{linkSelector:n}=this.options;this.clickDelegate=this.delegateEvent(n,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(r=>this.use(r));for(let[r,i]of Object.entries(this.options.hooks)){let[s,o]=this.hooks.parseName(r);this.hooks.on(s,i,o)}((e=window.history.state)==null?void 0:e.source)!=="swup"&&_e(null,{index:this.currentHistoryIndex}),await xs(),await this.hooks.call("enable",void 0,void 0,()=>{let r=document.documentElement;r.classList.add("swup-enabled"),r.classList.toggle("swup-native",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(e=>this.unuse(e)),await this.hooks.call("disable",void 0,void 0,()=>{let e=document.documentElement;e.classList.remove("swup-enabled"),e.classList.remove("swup-native")}),this.hooks.clear()}shouldIgnoreVisit(e,{el:n,event:r}={}){let{origin:i,url:s,hash:o}=O.fromUrl(e);return i!==window.location.origin||!(!n||!this.triggerWillOpenNewWindow(n))||!!this.options.ignoreVisit(s+o,{el:n,event:r})}handleLinkClick(e){let n=e.delegateTarget,{href:r,url:i,hash:s}=O.fromElement(n);if(this.shouldIgnoreVisit(r,{el:n,event:e}))return;if(this.navigating&&i===this.visit.to.url)return void e.preventDefault();let o=this.createVisit({to:i,hash:s,el:n,event:e});e.metaKey||e.ctrlKey||e.shiftKey||e.altKey?this.hooks.callSync("link:newtab",o,{href:r}):e.button===0&&this.hooks.callSync("link:click",o,{el:n,event:e},()=>{var a;let l=(a=o.from.url)!=null?a:"";e.preventDefault(),i&&i!==l?this.isSameResolvedUrl(i,l)||this.performNavigation(o):s?this.hooks.callSync("link:anchor",o,{hash:s},()=>{_e(i+s),this.scrollToContent(o)}):this.hooks.callSync("link:self",o,void 0,()=>{this.options.linkToSelf==="navigate"?this.performNavigation(o):(_e(i),this.scrollToContent(o))})})}handlePopState(e){var n,r,i,s;let o=(n=(r=e.state)==null?void 0:r.url)!=null?n:window.location.href;if(this.options.skipPopStateHandling(e)||this.isSameResolvedUrl(Pe(),this.location.url))return;let{url:a,hash:l}=O.fromUrl(o),u=this.createVisit({to:a,hash:l,event:e});u.history.popstate=!0;let c=(i=(s=e.state)==null?void 0:s.index)!=null?i:0;c&&c!==this.currentHistoryIndex&&(u.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),u.animation.animate=!1,u.scroll.reset=!1,u.scroll.target=!1,this.options.animateHistoryBrowsing&&(u.animation.animate=!0,u.scroll.reset=!0),this.hooks.callSync("history:popstate",u,{event:e},()=>{this.performNavigation(u)})}triggerWillOpenNewWindow(e){return!!e.matches('[download], [target="_blank"]')}};function Oe(){return Oe=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Oe.apply(this,arguments)}var Ss=t=>String(t).split(".").map(e=>String(parseInt(e||"0",10))).concat(["0","0"]).slice(0,3).join("."),ve=class{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach(e=>e()),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return typeof this.requires!="object"||Object.entries(this.requires).forEach(([e,n])=>{if(!function(r,i,s){let o=function(a,l){var u;if(a==="swup")return(u=l.version)!=null?u:"";{var c;let d=l.findPlugin(a);return(c=d?.version)!=null?c:""}}(r,s);return!!o&&((a,l)=>l.every(u=>{let[,c,d]=u.match(/^([\D]+)?(.*)$/)||[];var h,f;return((m,g)=>{let v={"":w=>w===0,">":w=>w>0,">=":w=>w>=0,"<":w=>w<0,"<=":w=>w<=0};return(v[g]||v[""])(m)})((f=d,h=Ss(h=a),f=Ss(f),h.localeCompare(f,void 0,{numeric:!0})),c||">=")}))(o,i)}(e,n=Array.isArray(n)?n:[n],this.swup)){let r=`${e} ${n.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${r}`)}}),!0}on(e,n,r={}){var i;n=!(i=n).name.startsWith("bound ")||i.hasOwnProperty("prototype")?n.bind(this):n;let s=this.swup.hooks.on(e,n,r);return this.handlersToUnregister.push(s),s}once(e,n,r={}){return this.on(e,n,Oe({},r,{once:!0}))}before(e,n,r={}){return this.on(e,n,Oe({},r,{before:!0}))}replace(e,n,r={}){return this.on(e,n,Oe({},r,{replace:!0}))}off(e,n){return this.swup.hooks.off(e,n)}};(function(){if(!(typeof window>"u"||typeof document>"u"||typeof HTMLElement>"u")){var t=!1;try{var e=document.createElement("div");e.addEventListener("focus",function(s){s.preventDefault(),s.stopPropagation()},!0),e.focus(Object.defineProperty({},"preventScroll",{get:function(){if(navigator&&typeof navigator.userAgent<"u"&&navigator.userAgent&&navigator.userAgent.match(/Edge\/1[7-8]/))return t=!1;t=!0}}))}catch{}if(HTMLElement.prototype.nativeFocus===void 0&&!t){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var n=function(s){for(var o=s.parentNode,a=[],l=document.scrollingElement||document.documentElement;o&&o!==l;)(o.offsetHeight<o.scrollHeight||o.offsetWidth<o.scrollWidth)&&a.push([o,o.scrollTop,o.scrollLeft]),o=o.parentNode;return o=l,a.push([o,o.scrollTop,o.scrollLeft]),a},r=function(s){for(var o=0;o<s.length;o++)s[o][0].scrollTop=s[o][1],s[o][0].scrollLeft=s[o][2];s=[]},i=function(s){if(s&&s.preventScroll){var o=n(this);if(typeof setTimeout=="function"){var a=this;setTimeout(function(){a.nativeFocus(),r(o)},0)}else this.nativeFocus(),r(o)}else this.nativeFocus()};HTMLElement.prototype.focus=i}}})();function jn(){return jn=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},jn.apply(this,arguments)}function Ls(t,e){return Object.keys(e).reduce((n,r)=>n.replace(`{${r}}`,e[r]||""),t||"")}var Wn=class{constructor(){var e;this.id="swup-announcer",this.style="position:absolute;top:0;left:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;word-wrap:normal;width:1px;height:1px;",this.region=void 0,this.region=(e=this.getRegion())!=null?e:this.createRegion()}getRegion(){return document.getElementById(this.id)}createRegion(){let e=function(n){let r=document.createElement("template");return r.innerHTML=n,r.content.children[0]}(`<p aria-live="assertive" aria-atomic="true" id="${this.id}" style="${this.style}"></p>`);return document.body.appendChild(e),e}announce(e,n=0){return new Promise(r=>{setTimeout(()=>{this.region.textContent===e&&(e=`${e}.`),this.region.textContent="",this.region.textContent=e,r()},n)})}};function Ts(t){let e;if(e=typeof t=="string"?document.querySelector(t):t,!(e instanceof HTMLElement))return;let n=e.getAttribute("tabindex");e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}),n!==null&&e.setAttribute("tabindex",n)}var _t=class extends ve{constructor(e={}){super(),this.name="SwupA11yPlugin",this.requires={swup:">=4"},this.defaults={headingSelector:"h1",respectReducedMotion:!0,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.announcer=void 0,this.announcementDelay=100,this.rootSelector="body",this.handleAnchorScroll=(n,{hash:r})=>{let i=this.swup.getAnchorElement(r);i instanceof HTMLElement&&Ts(i)},this.options=jn({},this.defaults,e),this.announcer=new Wn}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("visit:end",this.focusContent),this.on("visit:end",this.announceContent),this.on("scroll:anchor",this.handleAnchorScroll),this.before("visit:start",this.disableAnimations),this.before("link:self",this.disableAnimations),this.before("link:anchor",this.disableAnimations),this.swup.announce=this.announce.bind(this)}unmount(){this.swup.announce=void 0}async announce(e){await this.announcer.announce(e)}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(e){e.a11y={announce:void 0,focus:this.rootSelector}}announceContent(e){this.swup.hooks.callSync("content:announce",e,void 0,n=>{n.a11y.announce===void 0&&(n.a11y.announce=this.getPageAnnouncement()),n.a11y.announce&&this.announcer.announce(n.a11y.announce,this.announcementDelay)})}focusContent(e){this.swup.hooks.callSync("content:focus",e,void 0,n=>{n.a11y.focus&&(this.options.autofocus&&function(){let r=function(){let i=document.querySelector("body [autofocus]");if(i&&!i.closest('[inert], [aria-disabled], [aria-hidden="true"]'))return i}();return!!r&&(r!==document.activeElement&&r.focus(),!0)}()===!0||Ts(n.a11y.focus))})}getPageAnnouncement(){let{headingSelector:e,announcements:n}=this.options;return function({headingSelector:r="h1",announcements:i={}}){var s,o;let a=document.documentElement.lang||"*",{href:l,url:u,pathname:c}=O.fromUrl(window.location.href),d=(s=(o=i[a])!=null?o:i["*"])!=null?s:i;if(typeof d!="object")return;let h=document.querySelector(r);h||console.warn(`SwupA11yPlugin: No main heading (${r}) found on new page`);let f=h?.getAttribute("aria-label")||h?.textContent||document.title||Ls(d.url,{href:l,url:u,path:c});return Ls(d.visit,{title:f,href:l,url:u,path:c})}({headingSelector:e,announcements:n})}disableAnimations(e){this.options.respectReducedMotion&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(e.animation.animate=!1,e.scroll.animate=!1)}};function zn(){return zn=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},zn.apply(this,arguments)}var Gn=class{constructor({className:e,styleAttr:n,animationDuration:r,minValue:i,initialValue:s,trickleValue:o}={}){this.value=0,this.visible=!1,this.hiding=!1,this.className="progress-bar",this.styleAttr="data-progressbar-styles data-swup-theme",this.animationDuration=300,this.minValue=.1,this.initialValue=.25,this.trickleValue=.03,this.trickleInterval=void 0,this.styleElement=void 0,this.progressElement=void 0,this.trickle=()=>{let a=Math.random()*this.trickleValue;this.setValue(this.value+a)},e!==void 0&&(this.className=String(e)),n!==void 0&&(this.styleAttr=String(n)),r!==void 0&&(this.animationDuration=Number(r)),i!==void 0&&(this.minValue=Number(i)),s!==void 0&&(this.initialValue=Number(s)),o!==void 0&&(this.trickleValue=Number(o)),this.styleElement=this.createStyleElement(),this.progressElement=this.createProgressElement()}get defaultStyles(){return` .${this.className} { position: fixed; display: block; @@ -165,7 +165,7 @@ See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-contr transform: translate3d(0, 0, 0) scaleX(var(--progress, 0)); transform-origin: 0; } - `}show(){this.visible||(this.visible=!0,this.installStyleElement(),this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=Math.min(1,Math.max(this.minValue,e)),this.refresh()}installStyleElement(){document.head.prepend(this.styleElement)}installProgressElement(){this.progressElement.style.setProperty("--progress",String(0)),this.progressElement.style.opacity="1",document.body.prepend(this.progressElement),this.progressElement.scrollTop=0,this.setValue(Math.random()*this.initialValue)}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,1.5*this.animationDuration)}uninstallProgressElement(){this.progressElement.remove()}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,this.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}refresh(){requestAnimationFrame(()=>{this.progressElement.style.setProperty("--progress",String(this.value))})}createStyleElement(){let e=document.createElement("style");return this.styleAttr.split(" ").forEach(n=>e.setAttribute(n,"")),e.textContent=this.defaultStyles,e}createProgressElement(){let e=document.createElement("div");return e.className=this.className,e.setAttribute("aria-hidden","true"),e}},_t=class extends ve{constructor(e={}){super(),this.name="SwupProgressPlugin",this.defaults={className:"swup-progress-bar",delay:300,transition:300,minValue:.1,initialValue:.25,finishAnimation:!0},this.options=void 0,this.progressBar=void 0,this.showProgressBarTimeout=void 0,this.hideProgressBarTimeout=void 0,this.options=jn({},this.defaults,e);let{className:n,minValue:r,initialValue:i,transition:s}=this.options;this.progressBar=new Wn({className:n,minValue:r,initialValue:i,animationDuration:s})}mount(){this.on("visit:start",this.startShowingProgress),this.on("page:view",this.stopShowingProgress)}startShowingProgress(){this.progressBar.setValue(0),this.showProgressBarAfterDelay()}stopShowingProgress(){this.progressBar.setValue(1),this.options.finishAnimation?this.finishAnimationAndHideProgressBar():this.hideProgressBar()}showProgressBar(){this.cancelHideProgressBarTimeout(),this.progressBar.show()}showProgressBarAfterDelay(){this.cancelShowProgressBarTimeout(),this.cancelHideProgressBarTimeout(),this.showProgressBarTimeout=window.setTimeout(this.showProgressBar.bind(this),this.options.delay)}hideProgressBar(){this.cancelShowProgressBarTimeout(),this.progressBar.hide()}finishAnimationAndHideProgressBar(){this.cancelShowProgressBarTimeout(),this.hideProgressBarTimeout=window.setTimeout(this.hideProgressBar.bind(this),this.options.transition)}cancelShowProgressBarTimeout(){window.clearTimeout(this.showProgressBarTimeout),delete this.showProgressBarTimeout}cancelHideProgressBarTimeout(){window.clearTimeout(this.hideProgressBarTimeout),delete this.hideProgressBarTimeout}};var Ss=()=>{window.dispatchEvent(new Event("exdoc:loaded"))};window.addEventListener("DOMContentLoaded",Ss);!A&&window.location.protocol!=="file:"&&new St({animationSelector:!1,containers:["#main"],ignoreVisit:t=>{let e=t.split("#")[0];return e===window.location.pathname||e===window.location.pathname+".html"},linkSelector:'a[href]:not([href^="/"]):not([href^="http"])',hooks:{"page:view":Ss},plugins:[new Lt,new _t({delay:500})]});})(); + `}show(){this.visible||(this.visible=!0,this.installStyleElement(),this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=Math.min(1,Math.max(this.minValue,e)),this.refresh()}installStyleElement(){document.head.prepend(this.styleElement)}installProgressElement(){this.progressElement.style.setProperty("--progress",String(0)),this.progressElement.style.opacity="1",document.body.prepend(this.progressElement),this.progressElement.scrollTop=0,this.setValue(Math.random()*this.initialValue)}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,1.5*this.animationDuration)}uninstallProgressElement(){this.progressElement.remove()}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,this.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}refresh(){requestAnimationFrame(()=>{this.progressElement.style.setProperty("--progress",String(this.value))})}createStyleElement(){let e=document.createElement("style");return this.styleAttr.split(" ").forEach(n=>e.setAttribute(n,"")),e.textContent=this.defaultStyles,e}createProgressElement(){let e=document.createElement("div");return e.className=this.className,e.setAttribute("aria-hidden","true"),e}},Pt=class extends ve{constructor(e={}){super(),this.name="SwupProgressPlugin",this.defaults={className:"swup-progress-bar",delay:300,transition:300,minValue:.1,initialValue:.25,finishAnimation:!0},this.options=void 0,this.progressBar=void 0,this.showProgressBarTimeout=void 0,this.hideProgressBarTimeout=void 0,this.options=zn({},this.defaults,e);let{className:n,minValue:r,initialValue:i,transition:s}=this.options;this.progressBar=new Gn({className:n,minValue:r,initialValue:i,animationDuration:s})}mount(){this.on("visit:start",this.startShowingProgress),this.on("page:view",this.stopShowingProgress)}startShowingProgress(){this.progressBar.setValue(0),this.showProgressBarAfterDelay()}stopShowingProgress(){this.progressBar.setValue(1),this.options.finishAnimation?this.finishAnimationAndHideProgressBar():this.hideProgressBar()}showProgressBar(){this.cancelHideProgressBarTimeout(),this.progressBar.show()}showProgressBarAfterDelay(){this.cancelShowProgressBarTimeout(),this.cancelHideProgressBarTimeout(),this.showProgressBarTimeout=window.setTimeout(this.showProgressBar.bind(this),this.options.delay)}hideProgressBar(){this.cancelShowProgressBarTimeout(),this.progressBar.hide()}finishAnimationAndHideProgressBar(){this.cancelShowProgressBarTimeout(),this.hideProgressBarTimeout=window.setTimeout(this.hideProgressBar.bind(this),this.options.transition)}cancelShowProgressBarTimeout(){window.clearTimeout(this.showProgressBarTimeout),delete this.showProgressBarTimeout}cancelHideProgressBarTimeout(){window.clearTimeout(this.hideProgressBarTimeout),delete this.hideProgressBarTimeout}};var _s=()=>{window.dispatchEvent(new Event("exdoc:loaded"))};window.addEventListener("DOMContentLoaded",_s);!I&&window.location.protocol!=="file:"&&new Tt({animationSelector:!1,containers:["#main"],ignoreVisit:t=>{let e=t.split("#")[0];return e===window.location.pathname||e===window.location.pathname+".html"},linkSelector:'a[href]:not([href^="/"]):not([href^="http"])',hooks:{"page:view":_s},plugins:[new _t,new Pt({delay:500})]});})(); /*! Bundled license information: lunr/lunr.js: diff --git a/formatters/html/dist/html-elixir-6X3L5KMG.css b/formatters/html/dist/html-elixir-6X3L5KMG.css deleted file mode 100644 index 732927900..000000000 --- a/formatters/html/dist/html-elixir-6X3L5KMG.css +++ /dev/null @@ -1,6 +0,0 @@ -:root{--main: hsl(250, 68%, 69%);--mainDark: hsl(250, 68%, 59%);--mainDarkest: hsl(250, 68%, 49%);--mainLight: hsl(250, 68%, 74%);--mainLightest: hsl(250, 68%, 79%);--searchBarFocusColor: #8E7CE6;--searchBarBorderColor: rgba(142, 124, 230, .25);--link-color: var(--mainDark);--link-visited-color: var(--mainDarkest)}body.dark{--link-color: var(--mainLightest);--link-visited-color: var(--mainLight)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--content-width: 949px;--content-gutter: 60px;--borderRadius-lg: 14px;--borderRadius-base: 8px;--borderRadius-sm: 3px;--navTabBorderWidth: 2px;--sansFontFamily: "Lato", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--monoFontFamily: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98%);--gray50: hsl(207, 43%, 96%);--gray100: hsl(212, 33%, 91%);--gray200: hsl(210, 29%, 88%);--gray300: hsl(210, 26%, 84%);--gray400: hsl(210, 21%, 64%);--gray450: hsl(210, 21%, 49%);--gray500: hsl(210, 21%, 34%);--gray600: hsl(210, 27%, 26%);--gray700: hsl(212, 35%, 17%);--gray750: hsl(214, 46%, 14%);--gray800: hsl(216, 52%, 11%);--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8%);--gray900: hsl(218, 73%, 4%);--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97%);--coldGrayLight: hsl(240, 5%, 88%);--coldGray-lightened-10: hsl(240, 5%, 56%);--coldGray: hsl(240, 5%, 46%);--coldGray-opacity-10: hsla(240, 5%, 46%, 10%);--coldGrayDark: hsl(240, 5%, 28%);--coldGrayDim: hsl(240, 5%, 18%);--yellowLight: hsl(43, 100%, 95%);--yellowDark: hsl(44, 100%, 15%);--yellow: hsl(60, 100%, 43%);--green-lightened-10: hsl(90, 100%, 45%);--green: hsl(90, 100%, 35%);--white: hsl(0, 0%, 100%);--white-opacity-50: hsla(0, 0%, 100%, 50%);--white-opacity-10: hsla(0, 0%, 100%, 10%);--white-opacity-0: hsla(0, 0%, 100%, 0%);--black: hsl(0, 0%, 0%);--black-opacity-10: hsla(0, 0%, 0%, 10%);--black-opacity-50: hsla(0, 0%, 0%, 50%);--orangeDark: hsl(30, 90%, 40%);--orangeLight: hsl(30, 80%, 50%);--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--transition-duration: .15s;--transition-timing: cubic-bezier(.4, 0, .2, 1);--transition-all: all var(--transition-duration) var(--transition-timing);--transition-colors: color var(--transition-duration) var(--transition-timing), background-color var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing), text-decoration-color var(--transition-duration) var(--transition-timing), fill var(--transition-duration) var(--transition-timing), stroke var(--transition-duration) var(--transition-timing);--transition-opacity: opacity var(--transition-duration) var(--transition-timing)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}option{background-color:var(--sidebarBackground)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray800);--textHeaders: var(--gray900);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--coldGrayFaint);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--tableHeadBorder: var(--gray100);--tableBodyBorder: var(--gray50);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admCodeColor: var(--black);--admInlineCodeColor: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tabShadow: var(--gray25);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnTitle: var(--mainDark);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--progressBarColor: var(--gray400);--sidebarAccentMain: var(--black);--sidebarBackground: var(--gray50);--sidebarHeader: var(--gray100);--sidebarMuted: var(--gray800);--sidebarHover: var(--black);--sidebarStaleVersion: var(--orangeDark);--sidebarSubheadings: var(--gray500);--sidebarItem: var(--black);--sidebarInactiveItemBorder: var(--gray500);--sidebarInactiveItemMarker: var(--gray200);--sidebarLanguageAccentBar: var(--mainDark);--sidebarActiveItem: var(--mainDarkest);--searchBarBorder: var(--gray200);--searchAccentMain: var(--gray600);--searchLanguageAccentBar: var(--main);--searchSearch: var(--white);--autocompleteBorder: rgba(3, 9, 19, .1);--autocompletePreview: var(--gray25);--autocompleteSelected: var(--gray25);--autocompleteHover: var(--gray50);--autocompleteBackground: var(--white);--suggestionBorder: var(--gray200);--autocompleteResults: var(--gray600);--autocompleteResultsBold: var(--gray800);--autocompleteLabelBack: var(--gray100);--autocompleteLabelFont: var(--gray600)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--gray700);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGray-opacity-10);--blockquoteBorder: var(--coldGrayDim);--tableHeadBorder: var(--gray600);--tableBodyBorder: var(--gray700);--warningBackground: hsla( 33, 30%, 60%, 10%);--warningHeadingBackground: hsla( 33, 66%, 35%, 80%);--warningHeading: var(--white);--errorBackground: hsla( 7, 30%, 60%, 10%);--errorHeadingBackground: hsla( 6, 70%, 40%, 80%);--errorHeading: var(--white);--infoBackground: hsla(206, 30%, 60%, 10%);--infoHeadingBackground: hsla(213, 55%, 35%, 80%);--infoHeading: var(--white);--neutralBackground: hsl(210, 30%, 60%, 10%);--neutralHeadingBackground: var(--gray600);--neutralHeading: var(--white);--tipBackground: hsla(142, 30%, 60%, 10%);--tipHeadingBackground: hsla(134, 45%, 30%, 80%);--tipHeading: var(--white);--fnSpecAttr: var(--gray400);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray750);--codeBorder: var(--gray600);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admCodeColor: var(--gray100);--admInlineCodeColor: var(--gray100);--admInlineCodeBackground: var(--gray750);--admInlineCodeBorder: var(--gray600);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tabShadow: var(--black);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnTitle: var(--mainLightest);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray300);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--progressBarColor: var(--gray300);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarStaleVersion: var(--orangeLight);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemBorder: var(--gray400);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--mainLight);--sidebarActiveItem: var(--mainLightest);--searchBarBorder: var(--gray500);--searchAccentMain: var(--gray300);--searchSearch: var(--gray900);--autocompleteBorder: rgba(28,42,60,.75);--autocompletePreview: var(--gray750);--autocompleteSelected: var(--gray750);--autocompleteHover: var(--gray700);--autocompleteBackground: var(--gray800);--suggestionBorder: var(--gray600);--autocompleteResults: var(--gray200);--autocompleteResultsBold: var(--gray100);--autocompleteLabelBack: var(--gray600);--autocompleteLabelFont: rgba(255, 255, 255, .8)}:root:has(body.dark){color-scheme:dark}*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{--sidebarWidth: 300px;--sidebarMinWidth: 300px;--sidebarTransitionDuration: .3s;background-color:var(--background);color:var(--textBody);font-size:var(--text-md);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.body-wrapper{display:flex;height:100%}.sidebar{display:none;flex-direction:column;width:var(--sidebarWidth);min-width:var(--sidebarMinWidth);max-width:50vw;height:100%;position:fixed;top:0;left:calc(-1 * var(--sidebarWidth));z-index:100;resize:horizontal}.sidebar-button{padding:26px 12px 18px 19px;position:fixed;z-index:200;top:0;left:0;will-change:transform;transform:translate(0)}.content{left:0;width:100%;height:100%;position:absolute}.content .content-inner{container:content / inline-size;max-width:var(--content-width);min-height:100%;margin:0 auto;padding:0 var(--content-gutter) 10px}.content-inner:focus{outline:none}.sidebar-transition .sidebar,.sidebar-transition .sidebar-button,.sidebar-transition .content{transition:all var(--sidebarTransitionDuration) ease-in-out allow-discrete}.sidebar-open .sidebar,.sidebar-transition .sidebar{display:flex}.sidebar-open .sidebar{left:0}.sidebar-open .sidebar-button{transform:translate(calc(var(--sidebarWidth) - 100%))}.sidebar-open .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth)}@media screen and (max-width: 768px){.sidebar-open .content{left:0;width:100%}.sidebar{max-width:90vw}body:not(.sidebar-open) .sidebar-button{position:absolute}}.swup-progress-bar{height:2px;background-color:var(--progressBarColor)}.sidebar{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;& .sidebar-tabpanel{scrollbar-width:thin}}.apple-os .sidebar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:var(--transition-colors)}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{background-color:var(--sidebarHeader);width:100%}.sidebar .sidebar-projectInfo{display:flex;justify-content:start;align-items:center;gap:8px;margin:12px 34px 12px 14px}.sidebar .sidebar-projectInfo>div{flex:1}.sidebar .sidebar-projectImage{align-self:flex-end}.sidebar .sidebar-projectImage img{display:block;max-width:48px;max-height:48px}.sidebar .sidebar-projectName{font-weight:700;font-size:var(--text-xl);line-height:24px;color:var(--sidebarAccentMain);margin:0;padding:0;word-wrap:break-word;display:block;width:calc(100% - 12px)}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted);width:calc(100% - 12px)}.sidebar .sidebar-projectVersion form{display:flex}.sidebar .sidebar-projectVersion select{cursor:pointer;position:relative;margin:0;padding:0 0 0 10px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersion option{color:initial}.sidebar .sidebar-projectVersionsCaret{position:absolute;left:0;top:2px;z-index:1;font-size:8px;color:var(--sidebarMuted)}.sidebar .sidebar-projectVersion select::-ms-expand{display:none}.sidebar .sidebar-staleVersion{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sidebarStaleVersion)}.sidebar .sidebar-staleVersion>a{color:var(--sidebarStaleVersion);font-weight:400}.sidebar .sidebar-staleIcon{font-size:var(--text-lg);position:relative;top:3px;line-height:0}.sidebar .sidebar-list-nav{display:flex;margin:0;padding:0;overflow:auto;scrollbar-width:thin}.sidebar .sidebar-list-nav :is(li,li button){text-transform:uppercase;letter-spacing:.02em;font-size:var(--text-sm);color:var(--sidebarSubheadings);white-space:nowrap}.sidebar .sidebar-list-nav li{display:inline-block;padding:0}.sidebar .sidebar-list-nav button{background:none;border:0;border-radius:0;-webkit-appearance:none;text-align:inherit;color:inherit;font-weight:inherit;cursor:pointer;display:inline-block;line-height:27px;padding:4px 14px;transition:var(--transition-all)}.sidebar .sidebar-list-nav button{border-bottom:var(--navTabBorderWidth) solid transparent}.sidebar .sidebar-list-nav button:not([aria-selected]):hover{border-bottom:var(--navTabBorderWidth) solid var(--sidebarInactiveItemBorder);color:var(--sidebarAccentMain);transition:var(--transition-all)}.sidebar .sidebar-list-nav button[aria-selected]{border-bottom:var(--navTabBorderWidth) solid var(--sidebarLanguageAccentBar);color:var(--sidebarAccentMain)}.sidebar .sidebar-tabpanel{flex:1 1 .01%;overflow-y:auto;overscroll-behavior:contain;position:relative;-webkit-overflow-scrolling:touch;padding-top:12px;scroll-padding-top:40px}.sidebar .full-list{margin:0;padding:0 0 20px;position:relative}.sidebar .full-list :is(li,a){display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar .full-list li{padding:0;line-height:27px}.sidebar .full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar .full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--sidebarSubheadings);margin-top:10px;padding-left:15px}.sidebar .full-list a{margin-right:30px;padding:3px 0 3px 12px;border-left:var(--navTabBorderWidth) solid transparent;color:var(--sidebarItem)}.sidebar .full-list a[aria-selected]{color:var(--sidebarActiveItem)}.sidebar .full-list button{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;width:20px;text-align:center;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:block;right:10px;transform:translateY(-100%)}.sidebar .full-list a[aria-selected]+button{color:var(--sidebarActiveItem)}.sidebar .full-list button:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:var(--icon-arrow-down-s)}.sidebar .full-list button[aria-expanded=true]:after{content:var(--icon-arrow-up-s)}.sidebar .full-list ul{display:none;margin:10px 0 10px 10px;padding:0}.sidebar .full-list button[aria-expanded=true]+ul{display:block}.sidebar .full-list>li>a{height:27px;line-height:var(--sidebarLineHeight)}.sidebar .full-list>li>a:hover{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li>a[aria-selected]{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li:last-child{margin-bottom:30px}.sidebar .full-list>li.group:first-child{margin-top:0}.sidebar .full-list>li>ul>li:not(:has(li a[aria-selected=true]))>a[aria-selected=true]:before,.sidebar .full-list>li>ul>li>a:hover:before{content:"\2022";position:absolute;margin-left:-15px;color:var(--sidebarActiveItem)}.sidebar .full-list ul li{line-height:var(--sidebarFontSize);padding:0 8px}.sidebar .full-list ul a{padding-left:15px;height:24px}.sidebar .full-list ul button{font-size:var(--sidebarFontSize)}.sidebar .full-list ul button:after{content:var(--icon-add)}.sidebar .full-list ul button[aria-expanded=true]:after{content:var(--icon-subtract)}.sidebar .full-list ul ul{margin:9px 0 9px 10px}.sidebar .full-list ul ul li{height:20px;color:var(--sidebarAccentMain)}.sidebar .full-list ul ul a{border-left:1px solid var(--sidebarInactiveItemMarker);padding:0 10px;height:20px}.sidebar .full-list ul ul a:hover{border-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list ul ul a[aria-selected]{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;font-size:var(--sidebarFontSize);color:var(--sidebarAccentMain)}.sidebar-button:hover{color:var(--sidebarHover)}body:not(.sidebar-open) .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar .full-list{overflow:visible}}.top-search{background-color:var(--background);top:0;z-index:99;position:relative;width:100%;padding:10px 0}.search-settings{display:flex;column-gap:12px;align-items:center;width:100%;position:relative}.search-bar{border:1px solid var(--searchBarBorder);border-radius:var(--borderRadius-base);height:48px;position:relative;width:100%}.top-search .search-bar .search-input{background-color:var(--searchSearch);border:1px solid transparent;border-radius:var(--borderRadius-base);color:var(--searchAccentMain);position:relative;height:46px;padding:8px 35px 8px 43px;width:100%;transition:var(--transition-all)}.top-search .search-bar .search-input::placeholder{color:var(--searchAccentMain);opacity:.5}.top-search .search-bar .search-input:focus{border:1px solid var(--searchBarFocusColor);border-radius:calc(var(--borderRadius-base) - 1px);position:relative;box-shadow:0 4px 20px 0 var(--searchBarBorderColor) inset}.top-search .search-bar .search-label{position:relative}.top-search .search-bar .search-button{font-size:var(--text-sm);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;left:11px;opacity:.5;padding:5px 1px 5px 5px;position:absolute;top:60%;transform:translateY(-60%);z-index:99;transition:var(--transition-all)}.top-search .search-bar.selected .search-button,.top-search .search-bar .search-button:hover,.top-search .search-bar .search-button:focus{color:var(--top-searchLanguageAccentBar);opacity:1}.top-search .search-bar .search-close-button{font-size:var(--text-md);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;right:11px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:calc(50% - 13px);transition:var(--transition-all);z-index:99}.top-search .search-bar .search-close-button:hover{opacity:.7}.top-search .search-settings button.icon-settings{display:flex;align-items:center;justify-content:flex-end}.top-search .search-settings .icon-settings{font-size:var(--text-xl);float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0}.top-search .search-settings .icon-settings:hover{color:var(--iconActionHover)}.top-search .search-settings .icon-settings:visited{color:var(--iconAction)}@media screen and (max-width: 768px){.top-search{padding-left:calc(var(--content-gutter) + 36px);padding-right:var(--content-gutter);margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));width:calc(2 * var(--content-gutter) + 100%)}.search-settings{width:100%;box-sizing:border-box}}body.search-focused .search-bar .search-close-button{transform:scaleY(1);transition:var(--transition-all)}@media screen and (hover: hover){body.search-focused .top-search{position:sticky!important}body.search-focused .sidebar-button{position:fixed!important}}@media screen and (hover: none){body.scroll-sticky .top-search{position:sticky!important}body.scroll-sticky .sidebar-button{position:fixed!important}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.content-inner{font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner .heading-with-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.content-inner .heading-with-actions>*:not(h1){flex-shrink:0}.content-inner .heading-with-actions h1{flex-grow:1;justify-self:flex-start;max-width:100%;margin:0;overflow-wrap:break-word}.content-inner .heading-with-actions .icon-action{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-weight:400}.content-inner .heading-with-actions.top-heading .icon-action{font-size:1.2rem}@container content (width > 600px){.content-inner .heading-with-actions.top-heading{flex-wrap:nowrap;align-items:flex-start;& h1{padding-right:32px}& .icon-action{padding-top:1.7rem}}}.content-inner .top-heading{padding-top:1rem}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:.5em 0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:400}.content-inner h2{font-size:1.6em;padding-top:1em;margin-bottom:.5em}.content-inner h3{font-size:1.375em;margin:1em 0 .5em}.content-inner li+li{margin-top:.25em}.content-inner :is(a,.a-main){color:var(--link-color);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--link-visited-color)}.content-inner .icon-action{color:var(--iconAction);text-decoration:none;border:none;transition:var(--transition-colors);background-color:transparent;cursor:pointer}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);font-size:var(--text-xs);font-weight:400}.content-inner blockquote,.content-inner section.admonition{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:var(--borderRadius-base)}.content-inner blockquote p:last-child,.content-inner section.admonition p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0;border-collapse:collapse;display:block;overflow:auto}.content-inner th{text-align:left;font-family:var(--sansFontFamily);font-weight:700;padding-bottom:.5em;white-space:nowrap}.content-inner thead tr{border-bottom:1px solid var(--tableHeadBorder)}.content-inner tbody tr{border-bottom:1px solid var(--tableBodyBorder)}.content-inner tbody tr:last-child{border-bottom:none}.content-inner tr{vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding:.25em .25em .25em 1em;line-height:2em;vertical-align:top}.content-inner .section-heading{--icon-size: 16px;--icon-spacing: 5px;display:grid;grid-template:1fr / 1fr}@media screen and (max-width: 768px){.content-inner .section-heading{--icon-spacing: 2px}}.content-inner .section-heading>:is(.hover-link,.text){grid-row:1;grid-column:1}.content-inner .section-heading .hover-link{text-decoration:none}.content-inner .section-heading i{font-size:var(--icon-size);color:var(--mainLight);margin-top:.1em;margin-left:calc(-1 * (var(--icon-size) + var(--icon-spacing)));padding-right:var(--icon-spacing);opacity:0}.content-inner :is(blockquote,section.admonition) .section-heading i{display:none}.content-inner .section-heading:is(:hover,:focus,:target) i{opacity:1}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner strong>code{font-weight:700}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400;font-size:var(--text-sm)}@media screen and (max-width: 768px){.content-inner :is(ol,ul){padding-left:calc(1.5 * var(--content-gutter))}}.content-inner section.admonition{border-radius:var(--borderRadius-base);border-left:0}.content-inner section.admonition.warning{background-color:var(--warningBackground)}.content-inner section.admonition.error{background-color:var(--errorBackground)}.content-inner section.admonition.info{background-color:var(--infoBackground)}.content-inner section.admonition.neutral{background-color:var(--neutralBackground)}.content-inner section.admonition.tip{background-color:var(--tipBackground)}.content-inner section.admonition>.admonition-title{color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner section.admonition>.admonition-title:before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner section.admonition>.admonition-title.warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title.tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title code{margin:0 .5ch}.content-inner section.admonition code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCodeColor)}.content-inner section.admonition pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder);color:var(--admCodeColor)}.content-inner section.admonition>.admonition-title :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@media screen and (max-width: 768px){.content-inner section.admonition{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0}.content-inner section.admonition>.admonition-title{margin:0 calc(-1 * var(--content-gutter))}}.content-inner .summary h2 a{text-decoration:none;border:none;color:var(--textHeaders)!important}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}@font-face{font-family:Consolas;src:local("Consolas");size-adjust:110%}.content-inner.content-inner :is(a:has(code,img),pre a){color:var(--link-color);text-shadow:none;text-decoration:none;background-image:none}.content-inner.content-inner :is(a:has(code,img),pre a):is(:visited,:active,:focus,:hover){color:var(--link-visited-color)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:var(--borderRadius-sm);padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner code.inline{border-radius:var(--borderRadius-sm);word-wrap:break-word}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:1em;scrollbar-width:thin}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:var(--text-xs);font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre:has(code),.content-inner section>pre:has(code){margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%,to{background-color:var(--textDetailBackground)}50%{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:1em 0;padding:.5em .85em .5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--textDetailAccent);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700;line-height:2em}.content-inner .detail-header:hover a.detail-link,.content-inner .detail-header a.detail-link:focus{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:var(--transition-opacity);position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:var(--text-xs);font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:1em;background-color:var(--fnDeprecated);border-radius:var(--borderRadius-sm);margin:var(--baseLineHeight) 0}.content-inner .footer{margin:4em auto 1em;text-align:center;font-size:var(--text-sm)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em;gap:12px}.bottom-actions-item{flex:1 1 0%}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:var(--borderRadius-sm);border:1px solid var(--bottomActionsBtnBorder);padding:12px 16px;min-width:150px;transition:var(--transition-all)}.content-inner .bottom-actions .bottom-actions-button:hover{border-color:var(--mainLight)}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--textHeaders);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button .title{color:var(--bottomActionsBtnTitle)}.content-inner .bottom-actions .bottom-actions-button[rel=prev]{text-align:start}.content-inner .bottom-actions .bottom-actions-button[rel=next]{text-align:end}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}}.page-cheatmd .content-inner{--horizontal-space: 1.5em;--vertical-space: 1em}@media (max-width: 600px){.page-cheatmd .content-inner{--horizontal-space: 1em;--vertical-space: .75em}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd .content-inner h1{margin-bottom:var(--vertical-space)}.page-cheatmd .content-inner h2{margin:var(--vertical-space) 0;column-span:all;color:var(--gray700);font-weight:500}.dark .page-cheatmd .content-inner h2{color:var(--gray200)}.page-cheatmd .content-inner h3{margin:0 0 1em;font-weight:400}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3 .text{overflow:hidden}.page-cheatmd .content-inner h3 .text:after{content:"";margin-left:calc(var(--horizontal-space) / 2);vertical-align:baseline;display:inline-block;width:100%;height:1px;margin-right:-100%;margin-bottom:5px;background-color:var(--codeBorder)}.page-cheatmd .content-inner h4{display:block;margin:0;padding:.25em var(--horizontal-space);font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.dark .page-cheatmd .content-inner h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .content-inner .h2 p{margin:0;display:block;background:var(--gray50);padding:var(--vertical-space) var(--horizontal-space)}.dark .page-cheatmd .content-inner .h2 p{background:var(--gray700)}.page-cheatmd .content-inner .h2 p>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner pre code{padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd .content-inner .h2 pre{margin:0}.page-cheatmd .content-inner .h2 pre+pre{margin-top:-1px}.page-cheatmd .content-inner pre.wrap{white-space:break-spaces}@media screen and (max-width: 768px){.page-cheatmd .content-inner pre code{border-left-width:1px!important;border-right-width:1px!important}}.page-cheatmd .content-inner .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .content-inner .h2 th{padding:var(--vertical-space) var(--horizontal-space);line-height:inherit;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td{padding:var(--vertical-space) var(--horizontal-space);border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner .h2 thead{background-color:var(--gray50)}.dark .page-cheatmd .content-inner .h2 thead{background-color:var(--gray700)}.page-cheatmd .content-inner .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .content-inner .h2 :is(ul,ol){margin:0;padding:0}.page-cheatmd .content-inner .h2 li{list-style-position:inside;padding:.5em var(--horizontal-space);line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder);margin-top:0}.page-cheatmd .content-inner .h2 :is(ul,ol)+pre code{border-top:0}.page-cheatmd .content-inner .h2 li>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner section.width-50{display:block;width:50%;margin:0}.page-cheatmd .content-inner section.width-50>section>table{width:100%}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:40px}.page-cheatmd .content-inner section.col-2{column-count:2;height:auto}.page-cheatmd .content-inner section.col-2-left{display:grid;grid-template-columns:calc(100% / 3) auto}.page-cheatmd .content-inner section.col-2-left>h2{grid-column-end:span 2}.page-cheatmd .content-inner section.col-3{column-count:3;height:auto}.page-cheatmd .content-inner section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-4>ul>li{flex:0 0 25%}.page-cheatmd .content-inner section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 calc(100% / 6)}@media screen and (max-width: 1400px){.page-cheatmd .content-inner section.col-3{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 25%}}@media screen and (max-width: 1000px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 calc(100% / 3)}}@media screen and (max-width: 600px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 50%}.page-cheatmd .content-inner section.width-50{width:100%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;position:absolute;top:50%;left:calc(50% - 32px)}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;color:var(--textHeaders);transition:var(--transition-colors)}#search .result-id a:is(:visited,:active){color:var(--textHeaders)}#search .result-id a:is(:hover,:focus){color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:var(--borderRadius-sm);box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:var(--transition-colors)}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:var(--transition-opacity)}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:var(--borderRadius-sm);font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center;font-size:var(--text-sm)}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;position:absolute;width:calc(100% - 32px);top:55px}.autocomplete .triangle{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--autocompleteBackground);position:absolute;top:8px;left:26px;transform:translate(-50%);z-index:100;background-color:transparent}.autocomplete-preview{width:100%;margin:0;height:100%;line-height:20px;background-color:var(--background);font-family:var(--sansFontFamily);border:4px solid var(--autocompleteBorder);padding:12px 16px}.autocomplete-preview div,.autocomplete-preview span{display:none}.autocomplete-preview.loading div{float:left;display:block;border:5px solid var(--autocompleteBorder);border-radius:50%;border-top:5px solid var(--textDetailAccent);width:20px;height:20px;animation:spinner 4s linear infinite}.autocomplete-preview.loading span{color:var(--autocompleteResults);display:inline;margin-left:6px}.autocomplete-preview.loading span:after{color:var(--autocompleteResults);content:"Loading"}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.autocomplete-preview.loading iframe{height:0}.autocomplete-preview iframe{width:100%;height:100%;border:0}.autocomplete-results{list-style:none;margin:0;padding:15px 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--autocompleteResults);font-family:var(--sansFontFamily);font-weight:300;font-size:.9rem}.autocomplete-results .query{margin-right:auto}.autocomplete-results .bold{color:var(--autocompleteResultsBold);font-weight:400}.autocomplete.shown{display:block}.autocomplete-container{position:absolute;top:15px;width:100%;z-index:200}.autocomplete-suggestions{background-color:var(--autocompleteBackground);border-radius:var(--borderRadius-base);box-shadow:0 15px 99px 0 var(--autocompleteBorder);overflow-y:auto;max-height:450px;white-space:normal;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin}.autocomplete-suggestions.previewing:has(.selected){max-height:80vh}.autocomplete-suggestions.previewing:has(.selected) .autocomplete-suggestion:not(.selected){display:none}.autocomplete-suggestions.previewing:not(:has(.selected)) .autocomplete-preview{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview{display:none}.autocomplete-suggestion{color:var(--textHeaders)!important;display:block;padding:12px 20px;text-decoration:none!important;transition:var(--transition-colors);border-top:1px solid var(--suggestionBorder);font-size:.9rem}.autocomplete-suggestion.selected{background-color:var(--autocompleteSelected);box-shadow:inset 2px 0 var(--main)}.autocomplete-suggestion:hover{background-color:var(--autocompleteHover)}.autocomplete-suggestion:not(.selected) .autocomplete-preview-indicator{display:none}.autocomplete-preview-indicator{float:right}.autocomplete-preview-indicator button{color:var(--iconAction);display:flex;align-items:center;text-decoration:none;border:1px solid var(--suggestionBorder);border-radius:var(--borderRadius-base);transition:var(--transition-colors);background-color:var(--autocompletePreview);cursor:pointer;padding:4px 8px;font-size:var(--text-sm)}.autocomplete-preview-indicator button:hover{color:var(--iconActionHover);background-color:var(--autocompleteHover)}.autocomplete-preview-indicator button i{margin-right:4px}.autocomplete-suggestions.previewing .autocomplete-preview-indicator-closed{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview-indicator-open{display:none}.autocomplete-suggestion:hover:not(.selected) .autocomplete-preview-indicator-closed{display:block}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{background-color:var(--autocompleteLabelBack);opacity:.6;color:var(--autocompleteLabelFont);padding:4px 8px;border-radius:4px;margin-left:5px;text-transform:uppercase;font-family:var(--sansFontFamily);font-size:.7rem}.autocomplete-suggestion .header{margin-right:5px}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media screen and (hover: none){.autocomplete-preview-indicator,.autocomplete-results .press-return{display:none!important}}.tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}.tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}.tooltip .tooltip-body{border:1px solid var(--codeBorder);border-radius:var(--borderRadius-sm);overflow:auto}.tooltip .tooltip-body .signature{min-width:320px;width:100%;line-height:1em}.tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}.tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}.tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}.tooltip .tooltip-body .version-info{float:right;font-family:var(--monoFontFamily);font-weight:400;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:7px;right:8px;padding:8px;background-color:transparent;backdrop-filter:blur(8px);border-radius:var(--borderRadius-sm);border:1px solid var(--codeBorder);cursor:pointer;transition:var(--transition-all);font-size:var(--text-sm);line-height:24px;color:currentColor;& svg[aria-live=polite]{display:none}}.copy-button svg{opacity:.5;transition:var(--transition-all)}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{opacity:1;color:var(--success);& svg[aria-live=polite]{display:block}}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:var(--text-sm);background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:var(--borderRadius-base);transition:var(--transition-all)}#settings-modal-content .input:focus{border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray400)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:var(--text-md)}#settings-modal-content .switch-button-container>div>p{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-sm);line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#toast{visibility:hidden;opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:var(--borderRadius-base);border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out;cursor:default}#toast.show{visibility:visible;opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.body-wrapper{display:block}.sidebar,.sidebar-button,.top-search{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{break-inside:avoid}#toast{display:none}.content-inner{padding:0}.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner section.admonition{border:2px solid var(--gray400)}.content-inner section.admonition>.admonition-title{color:var(--textHeaders);border-bottom:2px solid var(--gray400)}.content-inner pre code.makeup{border-color:var(--gray400);white-space:break-spaces;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray400)}}@media print{.page-cheatmd .content-inner *{background-color:transparent!important;border-color:var(--gray400)!important}.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.7em}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:30px}.page-cheatmd .content-inner section.col-2{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:grid}.page-cheatmd .content-inner section.col-3{column-count:3}.page-cheatmd .content-inner h1{margin-top:0;margin-bottom:.5em}.page-cheatmd .content-inner h2.section-heading{font-weight:700;margin-top:1em;column-span:all}.page-cheatmd .content-inner section.h2{break-inside:avoid}.page-cheatmd .content-inner h3{font-weight:700;color:var(--mainDark)}.page-cheatmd .content-inner h3:after{height:2px;background-color:var(--gray400)}.page-cheatmd .content-inner section.h3{min-width:300px;break-inside:avoid}.page-cheatmd .content-inner h4{padding:.5em 0;border:none;font-weight:700;color:#000}.page-cheatmd .content-inner .h2 p{padding-left:0;padding-right:0;border:none!important}.page-cheatmd .content-inner code{line-height:1.5em}.page-cheatmd .content-inner .h2 table{font-variant-numeric:tabular-nums;break-inside:avoid}.page-cheatmd .content-inner .h2 :is(th,td){vertical-align:top;padding-left:0;padding-right:0}.page-cheatmd .content-inner .h2 thead{border-style:solid none;border-width:1px}.page-cheatmd .content-inner .h2 tr{border-bottom:none}.page-cheatmd .content-inner .h2 th{font-weight:700}.page-cheatmd .content-inner .h2 li{padding-left:0;padding-right:0;vertical-align:middle;border-bottom:none}.page-cheatmd .content-inner pre:hover button.copy-button,.page-cheatmd .content-inner div.tooltip{display:none}.page-cheatmd .content-inner footer p:not(.built-using){display:none}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0;border:var(--borderWidth) solid var(--tabBorder);padding:0 var(--tabsetPadding);border-radius:var(--borderRadius-lg)}.tabset-tablist{display:flex;overflow:auto;scrollbar-width:thin;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--tabBorderTop)}.tabset-tab{padding:1.1rem var(--tabsetPadding);font-family:var(--sansFontFamily);color:var(--textColor);margin-right:calc(-1 * var(--borderWidth));background-color:transparent;border:0;box-shadow:none;cursor:pointer;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent;transition:var(--transition-all)}:hover.tabset-tab{border-bottom-color:var(--tabBorderTop);color:var(--textHeaders)}.tabset-tab[aria-selected=true]{border-bottom-color:var(--mainLight);color:var(--textHeaders)}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--mainLight);border-color:var(--mainLight);color:var(--white)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre,.tabset-panel blockquote,.tabset-panel section.admonition{margin-left:calc(-1 * var(--tabsetPadding))!important;margin-right:calc(-1 * var(--tabsetPadding))!important}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}@media screen and (max-width: 768px){.tabset-panel>:is(:first-child){&:is(table){margin:.5em 0}}}@media screen and (min-width: 769px){.tabset-panel>:is(:first-child){&:is(blockquote,.admonition){margin-top:1.5em}&:is(p:has(img)){margin-top:1.25em}&:is(table){margin-top:.75em}}.tabset-panel>:is(:last-child){&:is(blockquote,.admonition){margin-bottom:1.5em}&:is(p:not(:has(img)),ul,ol){margin-bottom:1.25em}&:is(table){margin-bottom:.75em}}}body.preview{--sidebarWidth: 0px;overflow:hidden}body.preview .content{height:auto}body.preview .content-inner{padding:0}body.preview .sidebar,body.preview #sidebar-menu,body.preview .hover-link,body.preview .detail-link{display:none}body.preview :is(h1,h2,h3):first-of-type{margin-top:0}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} -/*! Bundled license information: - -modern-normalize/modern-normalize.css: - (*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize *) -*/ diff --git a/formatters/html/dist/html-elixir-MC2QMTHN.css b/formatters/html/dist/html-elixir-MC2QMTHN.css new file mode 100644 index 000000000..2707012d8 --- /dev/null +++ b/formatters/html/dist/html-elixir-MC2QMTHN.css @@ -0,0 +1,6 @@ +:root{--main: hsl(250, 68%, 69%);--mainDark: hsl(250, 68%, 59%);--mainDarkest: hsl(250, 68%, 49%);--mainLight: hsl(250, 68%, 74%);--mainLightest: hsl(250, 68%, 79%);--searchBarFocusColor: #8E7CE6;--searchBarBorderColor: rgba(142, 124, 230, .25);--link-color: var(--mainDark);--link-visited-color: var(--mainDarkest)}body.dark{--link-color: var(--mainLightest);--link-visited-color: var(--mainLight)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--content-width: 949px;--content-gutter: 60px;--borderRadius-lg: 14px;--borderRadius-base: 8px;--borderRadius-sm: 3px;--navTabBorderWidth: 2px;--sansFontFamily: "Lato", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--monoFontFamily: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98%);--gray50: hsl(207, 43%, 96%);--gray100: hsl(212, 33%, 91%);--gray200: hsl(210, 29%, 88%);--gray300: hsl(210, 26%, 84%);--gray400: hsl(210, 21%, 64%);--gray450: hsl(210, 21%, 49%);--gray500: hsl(210, 21%, 34%);--gray600: hsl(210, 27%, 26%);--gray700: hsl(212, 35%, 17%);--gray750: hsl(214, 46%, 14%);--gray800: hsl(216, 52%, 11%);--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8%);--gray900: hsl(218, 73%, 4%);--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97%);--coldGrayLight: hsl(240, 5%, 88%);--coldGray-lightened-10: hsl(240, 5%, 56%);--coldGray: hsl(240, 5%, 46%);--coldGray-opacity-10: hsla(240, 5%, 46%, 10%);--coldGrayDark: hsl(240, 5%, 28%);--coldGrayDim: hsl(240, 5%, 18%);--yellowLight: hsl(43, 100%, 95%);--yellowDark: hsl(44, 100%, 15%);--yellow: hsl(60, 100%, 43%);--green-lightened-10: hsl(90, 100%, 45%);--green: hsl(90, 100%, 35%);--white: hsl(0, 0%, 100%);--white-opacity-50: hsla(0, 0%, 100%, 50%);--white-opacity-10: hsla(0, 0%, 100%, 10%);--white-opacity-0: hsla(0, 0%, 100%, 0%);--black: hsl(0, 0%, 0%);--black-opacity-10: hsla(0, 0%, 0%, 10%);--black-opacity-50: hsla(0, 0%, 0%, 50%);--orangeDark: hsl(30, 90%, 40%);--orangeLight: hsl(30, 80%, 50%);--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--transition-duration: .15s;--transition-timing: cubic-bezier(.4, 0, .2, 1);--transition-all: all var(--transition-duration) var(--transition-timing);--transition-colors: color var(--transition-duration) var(--transition-timing), background-color var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing), text-decoration-color var(--transition-duration) var(--transition-timing), fill var(--transition-duration) var(--transition-timing), stroke var(--transition-duration) var(--transition-timing);--transition-opacity: opacity var(--transition-duration) var(--transition-timing)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}option{background-color:var(--sidebarBackground)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray800);--textHeaders: var(--gray900);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--coldGrayFaint);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--tableHeadBorder: var(--gray100);--tableBodyBorder: var(--gray50);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admCodeColor: var(--black);--admInlineCodeColor: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tabShadow: var(--gray25);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnTitle: var(--mainDark);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--progressBarColor: var(--gray400);--sidebarAccentMain: var(--black);--sidebarBackground: var(--gray50);--sidebarHeader: var(--gray100);--sidebarMuted: var(--gray800);--sidebarHover: var(--black);--sidebarStaleVersion: var(--orangeDark);--sidebarSubheadings: var(--gray500);--sidebarItem: var(--black);--sidebarInactiveItemBorder: var(--gray500);--sidebarInactiveItemMarker: var(--gray200);--sidebarLanguageAccentBar: var(--mainDark);--sidebarActiveItem: var(--mainDarkest);--searchBarBorder: var(--gray200);--searchAccentMain: var(--gray600);--searchLanguageAccentBar: var(--main);--searchSearch: var(--white);--autocompleteBorder: rgba(3, 9, 19, .1);--autocompletePreview: var(--gray25);--autocompleteSelected: var(--gray25);--autocompleteHover: var(--gray50);--autocompleteBackground: var(--white);--suggestionBorder: var(--gray200);--autocompleteResults: var(--gray600);--autocompleteResultsBold: var(--gray800);--autocompleteLabelBack: var(--gray100);--autocompleteLabelFont: var(--gray600)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--gray700);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGray-opacity-10);--blockquoteBorder: var(--coldGrayDim);--tableHeadBorder: var(--gray600);--tableBodyBorder: var(--gray700);--warningBackground: hsla( 33, 30%, 60%, 10%);--warningHeadingBackground: hsla( 33, 66%, 35%, 80%);--warningHeading: var(--white);--errorBackground: hsla( 7, 30%, 60%, 10%);--errorHeadingBackground: hsla( 6, 70%, 40%, 80%);--errorHeading: var(--white);--infoBackground: hsla(206, 30%, 60%, 10%);--infoHeadingBackground: hsla(213, 55%, 35%, 80%);--infoHeading: var(--white);--neutralBackground: hsl(210, 30%, 60%, 10%);--neutralHeadingBackground: var(--gray600);--neutralHeading: var(--white);--tipBackground: hsla(142, 30%, 60%, 10%);--tipHeadingBackground: hsla(134, 45%, 30%, 80%);--tipHeading: var(--white);--fnSpecAttr: var(--gray400);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray750);--codeBorder: var(--gray600);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admCodeColor: var(--gray100);--admInlineCodeColor: var(--gray100);--admInlineCodeBackground: var(--gray750);--admInlineCodeBorder: var(--gray600);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tabShadow: var(--black);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnTitle: var(--mainLightest);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray300);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--progressBarColor: var(--gray300);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarStaleVersion: var(--orangeLight);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemBorder: var(--gray400);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--mainLight);--sidebarActiveItem: var(--mainLightest);--searchBarBorder: var(--gray500);--searchAccentMain: var(--gray300);--searchSearch: var(--gray900);--autocompleteBorder: rgba(28,42,60,.75);--autocompletePreview: var(--gray750);--autocompleteSelected: var(--gray750);--autocompleteHover: var(--gray700);--autocompleteBackground: var(--gray800);--suggestionBorder: var(--gray600);--autocompleteResults: var(--gray200);--autocompleteResultsBold: var(--gray100);--autocompleteLabelBack: var(--gray600);--autocompleteLabelFont: rgba(255, 255, 255, .8)}:root:has(body.dark){color-scheme:dark}*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{--sidebarWidth: 300px;--sidebarMinWidth: 300px;--sidebarTransitionDuration: .3s;background-color:var(--background);color:var(--textBody);font-size:var(--text-md);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.body-wrapper{display:flex;height:100%}.sidebar{display:none;flex-direction:column;width:var(--sidebarWidth);min-width:var(--sidebarMinWidth);max-width:50vw;height:100%;position:fixed;top:0;left:calc(-1 * var(--sidebarWidth));z-index:100;resize:horizontal}.sidebar-button{padding:26px 12px 18px 19px;position:fixed;z-index:200;top:0;left:0;will-change:transform;transform:translate(0)}.content{left:0;width:100%;height:100%;position:absolute}.content .content-inner{container:content / inline-size;max-width:var(--content-width);min-height:100%;margin:0 auto;padding:0 var(--content-gutter) 10px}.content-inner:focus{outline:none}.sidebar-transition .sidebar,.sidebar-transition .sidebar-button,.sidebar-transition .content{transition:all var(--sidebarTransitionDuration) ease-in-out allow-discrete}.sidebar-open .sidebar,.sidebar-transition .sidebar{display:flex}.sidebar-open .sidebar{left:0}.sidebar-open .sidebar-button{transform:translate(calc(var(--sidebarWidth) - 100%))}.sidebar-open .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth)}@media screen and (max-width: 768px){.sidebar-open .content{left:0;width:100%}.sidebar{max-width:90vw}body:not(.sidebar-open) .sidebar-button{position:absolute}}.swup-progress-bar{height:2px;background-color:var(--progressBarColor)}.sidebar{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;& .sidebar-tabpanel{scrollbar-width:thin}}.apple-os .sidebar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:var(--transition-colors)}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{background-color:var(--sidebarHeader);width:100%}.sidebar .sidebar-projectInfo{display:flex;justify-content:start;align-items:center;gap:8px;margin:12px 34px 12px 14px}.sidebar .sidebar-projectInfo>div{flex:1}.sidebar .sidebar-projectImage{align-self:flex-end}.sidebar .sidebar-projectImage img{display:block;max-width:48px;max-height:48px}.sidebar .sidebar-projectName{font-weight:700;font-size:var(--text-xl);line-height:24px;color:var(--sidebarAccentMain);margin:0;padding:0;word-wrap:break-word;display:block;width:calc(100% - 12px)}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted);width:calc(100% - 12px)}.sidebar .sidebar-projectVersion form{display:flex}.sidebar .sidebar-projectVersion select{cursor:pointer;position:relative;margin:0;padding:0 0 0 10px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersion option{color:initial}.sidebar .sidebar-projectVersionsCaret{position:absolute;left:0;top:2px;z-index:1;font-size:8px;color:var(--sidebarMuted)}.sidebar .sidebar-projectVersion select::-ms-expand{display:none}.sidebar .sidebar-staleVersion{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sidebarStaleVersion)}.sidebar .sidebar-staleVersion>a{color:var(--sidebarStaleVersion);font-weight:400}.sidebar .sidebar-staleIcon{font-size:var(--text-lg);position:relative;top:3px;line-height:0}.sidebar .sidebar-list-nav{display:flex;margin:0;padding:0;overflow:auto;scrollbar-width:thin}.sidebar .sidebar-list-nav :is(li,li button){text-transform:uppercase;letter-spacing:.02em;font-size:var(--text-sm);color:var(--sidebarSubheadings);white-space:nowrap}.sidebar .sidebar-list-nav li{display:inline-block;padding:0}.sidebar .sidebar-list-nav button{background:none;border:0;border-radius:0;-webkit-appearance:none;text-align:inherit;color:inherit;font-weight:inherit;cursor:pointer;display:inline-block;line-height:27px;padding:4px 14px;transition:var(--transition-all)}.sidebar .sidebar-list-nav button{border-bottom:var(--navTabBorderWidth) solid transparent}.sidebar .sidebar-list-nav button:not([aria-selected]):hover{border-bottom:var(--navTabBorderWidth) solid var(--sidebarInactiveItemBorder);color:var(--sidebarAccentMain);transition:var(--transition-all)}.sidebar .sidebar-list-nav button[aria-selected]{border-bottom:var(--navTabBorderWidth) solid var(--sidebarLanguageAccentBar);color:var(--sidebarAccentMain)}.sidebar .sidebar-tabpanel{flex:1 1 .01%;overflow-y:auto;overscroll-behavior:contain;position:relative;-webkit-overflow-scrolling:touch;padding-top:12px;scroll-padding-top:40px}.sidebar .full-list{margin:0;padding:0 0 20px;position:relative}.sidebar .full-list :is(li,a){display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar .full-list li{padding:0;line-height:27px}.sidebar .full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar .full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--sidebarSubheadings);margin-top:10px;padding-left:15px}.sidebar .full-list a{margin-right:30px;padding:3px 0 3px 12px;border-left:var(--navTabBorderWidth) solid transparent;color:var(--sidebarItem)}.sidebar .full-list a[aria-selected]{color:var(--sidebarActiveItem)}.sidebar .full-list button{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;width:20px;text-align:center;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:block;right:10px;transform:translateY(-100%)}.sidebar .full-list a[aria-selected]+button{color:var(--sidebarActiveItem)}.sidebar .full-list button:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:var(--icon-arrow-down-s)}.sidebar .full-list button[aria-expanded=true]:after{content:var(--icon-arrow-up-s)}.sidebar .full-list ul{display:none;margin:10px 0 10px 10px;padding:0}.sidebar .full-list button[aria-expanded=true]+ul{display:block}.sidebar .full-list>li>a{height:27px;line-height:var(--sidebarLineHeight)}.sidebar .full-list>li>a:hover{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li>a[aria-selected]{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li:last-child{margin-bottom:30px}.sidebar .full-list>li.group:first-child{margin-top:0}.sidebar .full-list>li>ul>li:not(:has(li a[aria-selected=true]))>a[aria-selected=true]:before,.sidebar .full-list>li>ul>li>a:hover:before{content:"\2022";position:absolute;margin-left:-15px;color:var(--sidebarActiveItem)}.sidebar .full-list ul li{line-height:var(--sidebarFontSize);padding:0 8px}.sidebar .full-list ul a{padding-left:15px;height:24px}.sidebar .full-list ul button{font-size:var(--sidebarFontSize)}.sidebar .full-list ul button:after{content:var(--icon-add)}.sidebar .full-list ul button[aria-expanded=true]:after{content:var(--icon-subtract)}.sidebar .full-list ul ul{margin:9px 0 9px 10px}.sidebar .full-list ul ul li{height:20px;color:var(--sidebarAccentMain)}.sidebar .full-list ul ul a{border-left:1px solid var(--sidebarInactiveItemMarker);padding:0 10px;height:20px}.sidebar .full-list ul ul a:hover{border-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list ul ul a[aria-selected]{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;font-size:var(--sidebarFontSize);color:var(--sidebarAccentMain)}.sidebar-button:hover{color:var(--sidebarHover)}body:not(.sidebar-open) .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar .full-list{overflow:visible}}.top-search{background-color:var(--background);top:0;z-index:99;position:relative;width:100%;padding:10px 0}.search-settings{display:flex;column-gap:12px;align-items:center;width:100%;position:relative}.search-bar{border:1px solid var(--searchBarBorder);border-radius:var(--borderRadius-base);height:48px;position:relative;width:100%}.top-search .search-bar .search-input{background-color:var(--searchSearch);border:1px solid transparent;border-radius:var(--borderRadius-base);color:var(--searchAccentMain);position:relative;height:46px;padding:8px 135px 8px 43px;width:100%;transition:var(--transition-all)}.top-search .search-bar .search-input::placeholder{color:var(--searchAccentMain);opacity:.5}.top-search .search-bar .search-input:focus{border:1px solid var(--searchBarFocusColor);border-radius:calc(var(--borderRadius-base) - 1px);position:relative;box-shadow:0 4px 20px 0 var(--searchBarBorderColor) inset}.top-search .search-bar .search-label{position:relative}.top-search .search-bar .search-button{font-size:var(--text-sm);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;left:11px;opacity:.5;padding:5px 1px 5px 5px;position:absolute;top:60%;transform:translateY(-60%);z-index:99;transition:var(--transition-all)}.top-search .search-bar.selected .search-button,.top-search .search-bar .search-button:hover,.top-search .search-bar .search-button:focus{color:var(--top-searchLanguageAccentBar);opacity:1}.top-search .search-bar .search-close-button{font-size:var(--text-md);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;right:100px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:calc(50% - 13px);transition:var(--transition-all);z-index:99}.top-search .search-bar .search-close-button:hover{opacity:.7}.top-search .search-bar .search-type{background-color:transparent;border-top:1px solid transparent;border-bottom:1px solid transparent;border-right:1px solid transparent;border-left:1px solid var(--searchBarBorder);border-top-right-radius:var(--borderRadius-base);border-bottom-right-radius:var(--borderRadius-base);color:var(--searchAccentMain);position:absolute;top:calc(50% - 23px);right:0;height:46px;padding:8px 8px 8px 16px;transition:var(--transition-all);z-index:99}.top-search .search-bar .search-type:focus{border:1px solid var(--searchBarFocusColor);border-top-right-radius:calc(var(--borderRadius-base) - 1px);border-bottom-right-radius:calc(var(--borderRadius-base) - 1px);box-shadow:0 4px 20px 0 var(--searchBarBorderColor) inset}.top-search .search-settings button.icon-settings{display:flex;align-items:center;justify-content:flex-end}.top-search .search-settings .icon-settings{font-size:var(--text-xl);float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0}.top-search .search-settings .icon-settings:hover{color:var(--iconActionHover)}.top-search .search-settings .icon-settings:visited{color:var(--iconAction)}@media screen and (max-width: 768px){.top-search{padding-left:calc(var(--content-gutter) + 36px);padding-right:var(--content-gutter);margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));width:calc(2 * var(--content-gutter) + 100%)}.search-settings{width:100%;box-sizing:border-box}}body.search-focused .search-bar .search-close-button{transform:scaleY(1);transition:var(--transition-all)}@media screen and (hover: hover){body.search-focused .top-search{position:sticky!important}body.search-focused .sidebar-button{position:fixed!important}}@media screen and (hover: none){body.scroll-sticky .top-search{position:sticky!important}body.scroll-sticky .sidebar-button{position:fixed!important}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.content-inner{font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner .heading-with-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.content-inner .heading-with-actions>*:not(h1){flex-shrink:0}.content-inner .heading-with-actions h1{flex-grow:1;justify-self:flex-start;max-width:100%;margin:0;overflow-wrap:break-word}.content-inner .heading-with-actions .icon-action{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-weight:400}.content-inner .heading-with-actions.top-heading .icon-action{font-size:1.2rem}@container content (width > 600px){.content-inner .heading-with-actions.top-heading{flex-wrap:nowrap;align-items:flex-start;& h1{padding-right:32px}& .icon-action{padding-top:1.7rem}}}.content-inner .top-heading{padding-top:1rem}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:.5em 0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:400}.content-inner h2{font-size:1.6em;padding-top:1em;margin-bottom:.5em}.content-inner h3{font-size:1.375em;margin:1em 0 .5em}.content-inner li+li{margin-top:.25em}.content-inner :is(a,.a-main){color:var(--link-color);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--link-visited-color)}.content-inner .icon-action{color:var(--iconAction);text-decoration:none;border:none;transition:var(--transition-colors);background-color:transparent;cursor:pointer}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);font-size:var(--text-xs);font-weight:400}.content-inner blockquote,.content-inner section.admonition{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:var(--borderRadius-base)}.content-inner blockquote p:last-child,.content-inner section.admonition p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0;border-collapse:collapse;display:block;overflow:auto}.content-inner th{text-align:left;font-family:var(--sansFontFamily);font-weight:700;padding-bottom:.5em;white-space:nowrap}.content-inner thead tr{border-bottom:1px solid var(--tableHeadBorder)}.content-inner tbody tr{border-bottom:1px solid var(--tableBodyBorder)}.content-inner tbody tr:last-child{border-bottom:none}.content-inner tr{vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding:.25em .25em .25em 1em;line-height:2em;vertical-align:top}.content-inner .section-heading{--icon-size: 16px;--icon-spacing: 5px;display:grid;grid-template:1fr / 1fr}@media screen and (max-width: 768px){.content-inner .section-heading{--icon-spacing: 2px}}.content-inner .section-heading>:is(.hover-link,.text){grid-row:1;grid-column:1}.content-inner .section-heading .hover-link{text-decoration:none}.content-inner .section-heading i{font-size:var(--icon-size);color:var(--mainLight);margin-top:.1em;margin-left:calc(-1 * (var(--icon-size) + var(--icon-spacing)));padding-right:var(--icon-spacing);opacity:0}.content-inner :is(blockquote,section.admonition) .section-heading i{display:none}.content-inner .section-heading:is(:hover,:focus,:target) i{opacity:1}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner strong>code{font-weight:700}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400;font-size:var(--text-sm)}@media screen and (max-width: 768px){.content-inner :is(ol,ul){padding-left:calc(1.5 * var(--content-gutter))}}.content-inner section.admonition{border-radius:var(--borderRadius-base);border-left:0}.content-inner section.admonition.warning{background-color:var(--warningBackground)}.content-inner section.admonition.error{background-color:var(--errorBackground)}.content-inner section.admonition.info{background-color:var(--infoBackground)}.content-inner section.admonition.neutral{background-color:var(--neutralBackground)}.content-inner section.admonition.tip{background-color:var(--tipBackground)}.content-inner section.admonition>.admonition-title{color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner section.admonition>.admonition-title:before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner section.admonition>.admonition-title.warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title.tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title code{margin:0 .5ch}.content-inner section.admonition code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCodeColor)}.content-inner section.admonition pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder);color:var(--admCodeColor)}.content-inner section.admonition>.admonition-title :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@media screen and (max-width: 768px){.content-inner section.admonition{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0}.content-inner section.admonition>.admonition-title{margin:0 calc(-1 * var(--content-gutter))}}.content-inner .summary h2 a{text-decoration:none;border:none;color:var(--textHeaders)!important}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}@font-face{font-family:Consolas;src:local("Consolas");size-adjust:110%}.content-inner.content-inner :is(a:has(code,img),pre a){color:var(--link-color);text-shadow:none;text-decoration:none;background-image:none}.content-inner.content-inner :is(a:has(code,img),pre a):is(:visited,:active,:focus,:hover){color:var(--link-visited-color)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:var(--borderRadius-sm);padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner code.inline{border-radius:var(--borderRadius-sm);word-wrap:break-word}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:1em;scrollbar-width:thin}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:var(--text-xs);font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre:has(code),.content-inner section>pre:has(code){margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%,to{background-color:var(--textDetailBackground)}50%{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:1em 0;padding:.5em .85em .5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--textDetailAccent);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700;line-height:2em}.content-inner .detail-header:hover a.detail-link,.content-inner .detail-header a.detail-link:focus{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:var(--transition-opacity);position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:var(--text-xs);font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:1em;background-color:var(--fnDeprecated);border-radius:var(--borderRadius-sm);margin:var(--baseLineHeight) 0}.content-inner .footer{margin:4em auto 1em;text-align:center;font-size:var(--text-sm)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em;gap:12px}.bottom-actions-item{flex:1 1 0%}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:var(--borderRadius-sm);border:1px solid var(--bottomActionsBtnBorder);padding:12px 16px;min-width:150px;transition:var(--transition-all)}.content-inner .bottom-actions .bottom-actions-button:hover{border-color:var(--mainLight)}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--textHeaders);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button .title{color:var(--bottomActionsBtnTitle)}.content-inner .bottom-actions .bottom-actions-button[rel=prev]{text-align:start}.content-inner .bottom-actions .bottom-actions-button[rel=next]{text-align:end}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}}.page-cheatmd .content-inner{--horizontal-space: 1.5em;--vertical-space: 1em}@media (max-width: 600px){.page-cheatmd .content-inner{--horizontal-space: 1em;--vertical-space: .75em}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd .content-inner h1{margin-bottom:var(--vertical-space)}.page-cheatmd .content-inner h2{margin:var(--vertical-space) 0;column-span:all;color:var(--gray700);font-weight:500}.dark .page-cheatmd .content-inner h2{color:var(--gray200)}.page-cheatmd .content-inner h3{margin:0 0 1em;font-weight:400}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3 .text{overflow:hidden}.page-cheatmd .content-inner h3 .text:after{content:"";margin-left:calc(var(--horizontal-space) / 2);vertical-align:baseline;display:inline-block;width:100%;height:1px;margin-right:-100%;margin-bottom:5px;background-color:var(--codeBorder)}.page-cheatmd .content-inner h4{display:block;margin:0;padding:.25em var(--horizontal-space);font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.dark .page-cheatmd .content-inner h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .content-inner .h2 p{margin:0;display:block;background:var(--gray50);padding:var(--vertical-space) var(--horizontal-space)}.dark .page-cheatmd .content-inner .h2 p{background:var(--gray700)}.page-cheatmd .content-inner .h2 p>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner pre code{padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd .content-inner .h2 pre{margin:0}.page-cheatmd .content-inner .h2 pre+pre{margin-top:-1px}.page-cheatmd .content-inner pre.wrap{white-space:break-spaces}@media screen and (max-width: 768px){.page-cheatmd .content-inner pre code{border-left-width:1px!important;border-right-width:1px!important}}.page-cheatmd .content-inner .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .content-inner .h2 th{padding:var(--vertical-space) var(--horizontal-space);line-height:inherit;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td{padding:var(--vertical-space) var(--horizontal-space);border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner .h2 thead{background-color:var(--gray50)}.dark .page-cheatmd .content-inner .h2 thead{background-color:var(--gray700)}.page-cheatmd .content-inner .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .content-inner .h2 :is(ul,ol){margin:0;padding:0}.page-cheatmd .content-inner .h2 li{list-style-position:inside;padding:.5em var(--horizontal-space);line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder);margin-top:0}.page-cheatmd .content-inner .h2 :is(ul,ol)+pre code{border-top:0}.page-cheatmd .content-inner .h2 li>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner section.width-50{display:block;width:50%;margin:0}.page-cheatmd .content-inner section.width-50>section>table{width:100%}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:40px}.page-cheatmd .content-inner section.col-2{column-count:2;height:auto}.page-cheatmd .content-inner section.col-2-left{display:grid;grid-template-columns:calc(100% / 3) auto}.page-cheatmd .content-inner section.col-2-left>h2{grid-column-end:span 2}.page-cheatmd .content-inner section.col-3{column-count:3;height:auto}.page-cheatmd .content-inner section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-4>ul>li{flex:0 0 25%}.page-cheatmd .content-inner section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 calc(100% / 6)}@media screen and (max-width: 1400px){.page-cheatmd .content-inner section.col-3{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 25%}}@media screen and (max-width: 1000px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 calc(100% / 3)}}@media screen and (max-width: 600px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 50%}.page-cheatmd .content-inner section.width-50{width:100%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;position:absolute;top:50%;left:calc(50% - 32px)}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;color:var(--textHeaders);transition:var(--transition-colors)}#search .result-id a:is(:visited,:active){color:var(--textHeaders)}#search .result-id a:is(:hover,:focus){color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:var(--borderRadius-sm);box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:var(--transition-colors)}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:var(--transition-opacity)}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:var(--borderRadius-sm);font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center;font-size:var(--text-sm)}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;position:absolute;width:calc(100% - 32px);top:55px}.autocomplete .triangle{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--autocompleteBackground);position:absolute;top:8px;left:26px;transform:translate(-50%);z-index:100;background-color:transparent}.autocomplete-preview{width:100%;margin:0;height:100%;line-height:20px;background-color:var(--background);font-family:var(--sansFontFamily);border:4px solid var(--autocompleteBorder);padding:12px 16px}.autocomplete-preview div,.autocomplete-preview span{display:none}.autocomplete-preview.loading div{float:left;display:block;border:5px solid var(--autocompleteBorder);border-radius:50%;border-top:5px solid var(--textDetailAccent);width:20px;height:20px;animation:spinner 4s linear infinite}.autocomplete-preview.loading span{color:var(--autocompleteResults);display:inline;margin-left:6px}.autocomplete-preview.loading span:after{color:var(--autocompleteResults);content:"Loading"}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.autocomplete-preview.loading iframe{height:0}.autocomplete-preview iframe{width:100%;height:100%;border:0}.autocomplete-results{list-style:none;margin:0;padding:15px 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--autocompleteResults);font-family:var(--sansFontFamily);font-weight:300;font-size:.9rem}.autocomplete-results .query{margin-right:auto}.autocomplete-results .bold{color:var(--autocompleteResultsBold);font-weight:400}.autocomplete.shown{display:block}.autocomplete-container{position:absolute;top:15px;width:100%;z-index:200}.autocomplete-suggestions{background-color:var(--autocompleteBackground);border-radius:var(--borderRadius-base);box-shadow:0 15px 99px 0 var(--autocompleteBorder);overflow-y:auto;max-height:450px;white-space:normal;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin}.autocomplete-suggestions.previewing:has(.selected){max-height:80vh}.autocomplete-suggestions.previewing:has(.selected) .autocomplete-suggestion:not(.selected){display:none}.autocomplete-suggestions.previewing:not(:has(.selected)) .autocomplete-preview{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview{display:none}.autocomplete-suggestion{color:var(--textHeaders)!important;display:block;padding:12px 20px;text-decoration:none!important;transition:var(--transition-colors);border-top:1px solid var(--suggestionBorder);font-size:.9rem}.autocomplete-suggestion.selected{background-color:var(--autocompleteSelected);box-shadow:inset 2px 0 var(--main)}.autocomplete-suggestion:hover{background-color:var(--autocompleteHover)}.autocomplete-suggestion:not(.selected) .autocomplete-preview-indicator{display:none}.autocomplete-preview-indicator{float:right}.autocomplete-preview-indicator button{color:var(--iconAction);display:flex;align-items:center;text-decoration:none;border:1px solid var(--suggestionBorder);border-radius:var(--borderRadius-base);transition:var(--transition-colors);background-color:var(--autocompletePreview);cursor:pointer;padding:4px 8px;font-size:var(--text-sm)}.autocomplete-preview-indicator button:hover{color:var(--iconActionHover);background-color:var(--autocompleteHover)}.autocomplete-preview-indicator button i{margin-right:4px}.autocomplete-suggestions.previewing .autocomplete-preview-indicator-closed{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview-indicator-open{display:none}.autocomplete-suggestion:hover:not(.selected) .autocomplete-preview-indicator-closed{display:block}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{background-color:var(--autocompleteLabelBack);opacity:.6;color:var(--autocompleteLabelFont);padding:4px 8px;border-radius:4px;margin-left:5px;text-transform:uppercase;font-family:var(--sansFontFamily);font-size:.7rem}.autocomplete-suggestion .header{margin-right:5px}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media screen and (hover: none){.autocomplete-preview-indicator,.autocomplete-results .press-return{display:none!important}}.tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}.tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}.tooltip .tooltip-body{border:1px solid var(--codeBorder);border-radius:var(--borderRadius-sm);overflow:auto}.tooltip .tooltip-body .signature{min-width:320px;width:100%;line-height:1em}.tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}.tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}.tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}.tooltip .tooltip-body .version-info{float:right;font-family:var(--monoFontFamily);font-weight:400;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:7px;right:8px;padding:8px;background-color:transparent;backdrop-filter:blur(8px);border-radius:var(--borderRadius-sm);border:1px solid var(--codeBorder);cursor:pointer;transition:var(--transition-all);font-size:var(--text-sm);line-height:24px;color:currentColor;& svg[aria-live=polite]{display:none}}.copy-button svg{opacity:.5;transition:var(--transition-all)}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{opacity:1;color:var(--success);& svg[aria-live=polite]{display:block}}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:var(--text-sm);background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:var(--borderRadius-base);transition:var(--transition-all)}#settings-modal-content .input:focus{border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray400)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:var(--text-md)}#settings-modal-content .switch-button-container>div>p{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-sm);line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#toast{visibility:hidden;opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:var(--borderRadius-base);border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out;cursor:default}#toast.show{visibility:visible;opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.body-wrapper{display:block}.sidebar,.sidebar-button,.top-search{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{break-inside:avoid}#toast{display:none}.content-inner{padding:0}.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner section.admonition{border:2px solid var(--gray400)}.content-inner section.admonition>.admonition-title{color:var(--textHeaders);border-bottom:2px solid var(--gray400)}.content-inner pre code.makeup{border-color:var(--gray400);white-space:break-spaces;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray400)}}@media print{.page-cheatmd .content-inner *{background-color:transparent!important;border-color:var(--gray400)!important}.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.7em}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:30px}.page-cheatmd .content-inner section.col-2{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:grid}.page-cheatmd .content-inner section.col-3{column-count:3}.page-cheatmd .content-inner h1{margin-top:0;margin-bottom:.5em}.page-cheatmd .content-inner h2.section-heading{font-weight:700;margin-top:1em;column-span:all}.page-cheatmd .content-inner section.h2{break-inside:avoid}.page-cheatmd .content-inner h3{font-weight:700;color:var(--mainDark)}.page-cheatmd .content-inner h3:after{height:2px;background-color:var(--gray400)}.page-cheatmd .content-inner section.h3{min-width:300px;break-inside:avoid}.page-cheatmd .content-inner h4{padding:.5em 0;border:none;font-weight:700;color:#000}.page-cheatmd .content-inner .h2 p{padding-left:0;padding-right:0;border:none!important}.page-cheatmd .content-inner code{line-height:1.5em}.page-cheatmd .content-inner .h2 table{font-variant-numeric:tabular-nums;break-inside:avoid}.page-cheatmd .content-inner .h2 :is(th,td){vertical-align:top;padding-left:0;padding-right:0}.page-cheatmd .content-inner .h2 thead{border-style:solid none;border-width:1px}.page-cheatmd .content-inner .h2 tr{border-bottom:none}.page-cheatmd .content-inner .h2 th{font-weight:700}.page-cheatmd .content-inner .h2 li{padding-left:0;padding-right:0;vertical-align:middle;border-bottom:none}.page-cheatmd .content-inner pre:hover button.copy-button,.page-cheatmd .content-inner div.tooltip{display:none}.page-cheatmd .content-inner footer p:not(.built-using){display:none}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0;border:var(--borderWidth) solid var(--tabBorder);padding:0 var(--tabsetPadding);border-radius:var(--borderRadius-lg)}.tabset-tablist{display:flex;overflow:auto;scrollbar-width:thin;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--tabBorderTop)}.tabset-tab{padding:1.1rem var(--tabsetPadding);font-family:var(--sansFontFamily);color:var(--textColor);margin-right:calc(-1 * var(--borderWidth));background-color:transparent;border:0;box-shadow:none;cursor:pointer;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent;transition:var(--transition-all)}:hover.tabset-tab{border-bottom-color:var(--tabBorderTop);color:var(--textHeaders)}.tabset-tab[aria-selected=true]{border-bottom-color:var(--mainLight);color:var(--textHeaders)}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--mainLight);border-color:var(--mainLight);color:var(--white)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre,.tabset-panel blockquote,.tabset-panel section.admonition{margin-left:calc(-1 * var(--tabsetPadding))!important;margin-right:calc(-1 * var(--tabsetPadding))!important}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}@media screen and (max-width: 768px){.tabset-panel>:is(:first-child){&:is(table){margin:.5em 0}}}@media screen and (min-width: 769px){.tabset-panel>:is(:first-child){&:is(blockquote,.admonition){margin-top:1.5em}&:is(p:has(img)){margin-top:1.25em}&:is(table){margin-top:.75em}}.tabset-panel>:is(:last-child){&:is(blockquote,.admonition){margin-bottom:1.5em}&:is(p:not(:has(img)),ul,ol){margin-bottom:1.25em}&:is(table){margin-bottom:.75em}}}body.preview{--sidebarWidth: 0px;overflow:hidden}body.preview .content{height:auto}body.preview .content-inner{padding:0}body.preview .sidebar,body.preview #sidebar-menu,body.preview .hover-link,body.preview .detail-link{display:none}body.preview :is(h1,h2,h3):first-of-type{margin-top:0}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} +/*! Bundled license information: + +modern-normalize/modern-normalize.css: + (*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize *) +*/ diff --git a/formatters/html/dist/html-erlang-FDBURIED.css b/formatters/html/dist/html-erlang-FDBURIED.css deleted file mode 100644 index 4b4296a12..000000000 --- a/formatters/html/dist/html-erlang-FDBURIED.css +++ /dev/null @@ -1,6 +0,0 @@ -:root{--main: hsl(0, 100%, 44%);--mainDark: hsl(0, 100%, 34%);--mainDarkest: hsl(0, 100%, 24%);--mainLight: hsl(0, 100%, 64%);--mainLightest: hsl(0, 100%, 74%);--searchBarFocusColor: hsl(0, 100%, 50%);--searchBarBorderColor: rgb(255, 71, 71, .1);--link-color: hsl(212, 96%, 45%);--link-visited-color: hsl(212, 96%, 40%)}body.dark{--link-color: hsl(212, 56%, 72%);--link-visited-color: hsl(212, 56%, 67%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--content-width: 949px;--content-gutter: 60px;--borderRadius-lg: 14px;--borderRadius-base: 8px;--borderRadius-sm: 3px;--navTabBorderWidth: 2px;--sansFontFamily: "Lato", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--monoFontFamily: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98%);--gray50: hsl(207, 43%, 96%);--gray100: hsl(212, 33%, 91%);--gray200: hsl(210, 29%, 88%);--gray300: hsl(210, 26%, 84%);--gray400: hsl(210, 21%, 64%);--gray450: hsl(210, 21%, 49%);--gray500: hsl(210, 21%, 34%);--gray600: hsl(210, 27%, 26%);--gray700: hsl(212, 35%, 17%);--gray750: hsl(214, 46%, 14%);--gray800: hsl(216, 52%, 11%);--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8%);--gray900: hsl(218, 73%, 4%);--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97%);--coldGrayLight: hsl(240, 5%, 88%);--coldGray-lightened-10: hsl(240, 5%, 56%);--coldGray: hsl(240, 5%, 46%);--coldGray-opacity-10: hsla(240, 5%, 46%, 10%);--coldGrayDark: hsl(240, 5%, 28%);--coldGrayDim: hsl(240, 5%, 18%);--yellowLight: hsl(43, 100%, 95%);--yellowDark: hsl(44, 100%, 15%);--yellow: hsl(60, 100%, 43%);--green-lightened-10: hsl(90, 100%, 45%);--green: hsl(90, 100%, 35%);--white: hsl(0, 0%, 100%);--white-opacity-50: hsla(0, 0%, 100%, 50%);--white-opacity-10: hsla(0, 0%, 100%, 10%);--white-opacity-0: hsla(0, 0%, 100%, 0%);--black: hsl(0, 0%, 0%);--black-opacity-10: hsla(0, 0%, 0%, 10%);--black-opacity-50: hsla(0, 0%, 0%, 50%);--orangeDark: hsl(30, 90%, 40%);--orangeLight: hsl(30, 80%, 50%);--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--transition-duration: .15s;--transition-timing: cubic-bezier(.4, 0, .2, 1);--transition-all: all var(--transition-duration) var(--transition-timing);--transition-colors: color var(--transition-duration) var(--transition-timing), background-color var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing), text-decoration-color var(--transition-duration) var(--transition-timing), fill var(--transition-duration) var(--transition-timing), stroke var(--transition-duration) var(--transition-timing);--transition-opacity: opacity var(--transition-duration) var(--transition-timing)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}option{background-color:var(--sidebarBackground)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray800);--textHeaders: var(--gray900);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--coldGrayFaint);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--tableHeadBorder: var(--gray100);--tableBodyBorder: var(--gray50);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admCodeColor: var(--black);--admInlineCodeColor: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tabShadow: var(--gray25);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnTitle: var(--mainDark);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--progressBarColor: var(--gray400);--sidebarAccentMain: var(--black);--sidebarBackground: var(--gray50);--sidebarHeader: var(--gray100);--sidebarMuted: var(--gray800);--sidebarHover: var(--black);--sidebarStaleVersion: var(--orangeDark);--sidebarSubheadings: var(--gray500);--sidebarItem: var(--black);--sidebarInactiveItemBorder: var(--gray500);--sidebarInactiveItemMarker: var(--gray200);--sidebarLanguageAccentBar: var(--mainDark);--sidebarActiveItem: var(--mainDarkest);--searchBarBorder: var(--gray200);--searchAccentMain: var(--gray600);--searchLanguageAccentBar: var(--main);--searchSearch: var(--white);--autocompleteBorder: rgba(3, 9, 19, .1);--autocompletePreview: var(--gray25);--autocompleteSelected: var(--gray25);--autocompleteHover: var(--gray50);--autocompleteBackground: var(--white);--suggestionBorder: var(--gray200);--autocompleteResults: var(--gray600);--autocompleteResultsBold: var(--gray800);--autocompleteLabelBack: var(--gray100);--autocompleteLabelFont: var(--gray600)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--gray700);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGray-opacity-10);--blockquoteBorder: var(--coldGrayDim);--tableHeadBorder: var(--gray600);--tableBodyBorder: var(--gray700);--warningBackground: hsla( 33, 30%, 60%, 10%);--warningHeadingBackground: hsla( 33, 66%, 35%, 80%);--warningHeading: var(--white);--errorBackground: hsla( 7, 30%, 60%, 10%);--errorHeadingBackground: hsla( 6, 70%, 40%, 80%);--errorHeading: var(--white);--infoBackground: hsla(206, 30%, 60%, 10%);--infoHeadingBackground: hsla(213, 55%, 35%, 80%);--infoHeading: var(--white);--neutralBackground: hsl(210, 30%, 60%, 10%);--neutralHeadingBackground: var(--gray600);--neutralHeading: var(--white);--tipBackground: hsla(142, 30%, 60%, 10%);--tipHeadingBackground: hsla(134, 45%, 30%, 80%);--tipHeading: var(--white);--fnSpecAttr: var(--gray400);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray750);--codeBorder: var(--gray600);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admCodeColor: var(--gray100);--admInlineCodeColor: var(--gray100);--admInlineCodeBackground: var(--gray750);--admInlineCodeBorder: var(--gray600);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tabShadow: var(--black);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnTitle: var(--mainLightest);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray300);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--progressBarColor: var(--gray300);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarStaleVersion: var(--orangeLight);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemBorder: var(--gray400);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--mainLight);--sidebarActiveItem: var(--mainLightest);--searchBarBorder: var(--gray500);--searchAccentMain: var(--gray300);--searchSearch: var(--gray900);--autocompleteBorder: rgba(28,42,60,.75);--autocompletePreview: var(--gray750);--autocompleteSelected: var(--gray750);--autocompleteHover: var(--gray700);--autocompleteBackground: var(--gray800);--suggestionBorder: var(--gray600);--autocompleteResults: var(--gray200);--autocompleteResultsBold: var(--gray100);--autocompleteLabelBack: var(--gray600);--autocompleteLabelFont: rgba(255, 255, 255, .8)}:root:has(body.dark){color-scheme:dark}*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{--sidebarWidth: 300px;--sidebarMinWidth: 300px;--sidebarTransitionDuration: .3s;background-color:var(--background);color:var(--textBody);font-size:var(--text-md);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.body-wrapper{display:flex;height:100%}.sidebar{display:none;flex-direction:column;width:var(--sidebarWidth);min-width:var(--sidebarMinWidth);max-width:50vw;height:100%;position:fixed;top:0;left:calc(-1 * var(--sidebarWidth));z-index:100;resize:horizontal}.sidebar-button{padding:26px 12px 18px 19px;position:fixed;z-index:200;top:0;left:0;will-change:transform;transform:translate(0)}.content{left:0;width:100%;height:100%;position:absolute}.content .content-inner{container:content / inline-size;max-width:var(--content-width);min-height:100%;margin:0 auto;padding:0 var(--content-gutter) 10px}.content-inner:focus{outline:none}.sidebar-transition .sidebar,.sidebar-transition .sidebar-button,.sidebar-transition .content{transition:all var(--sidebarTransitionDuration) ease-in-out allow-discrete}.sidebar-open .sidebar,.sidebar-transition .sidebar{display:flex}.sidebar-open .sidebar{left:0}.sidebar-open .sidebar-button{transform:translate(calc(var(--sidebarWidth) - 100%))}.sidebar-open .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth)}@media screen and (max-width: 768px){.sidebar-open .content{left:0;width:100%}.sidebar{max-width:90vw}body:not(.sidebar-open) .sidebar-button{position:absolute}}.swup-progress-bar{height:2px;background-color:var(--progressBarColor)}.sidebar{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;& .sidebar-tabpanel{scrollbar-width:thin}}.apple-os .sidebar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:var(--transition-colors)}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{background-color:var(--sidebarHeader);width:100%}.sidebar .sidebar-projectInfo{display:flex;justify-content:start;align-items:center;gap:8px;margin:12px 34px 12px 14px}.sidebar .sidebar-projectInfo>div{flex:1}.sidebar .sidebar-projectImage{align-self:flex-end}.sidebar .sidebar-projectImage img{display:block;max-width:48px;max-height:48px}.sidebar .sidebar-projectName{font-weight:700;font-size:var(--text-xl);line-height:24px;color:var(--sidebarAccentMain);margin:0;padding:0;word-wrap:break-word;display:block;width:calc(100% - 12px)}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted);width:calc(100% - 12px)}.sidebar .sidebar-projectVersion form{display:flex}.sidebar .sidebar-projectVersion select{cursor:pointer;position:relative;margin:0;padding:0 0 0 10px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersion option{color:initial}.sidebar .sidebar-projectVersionsCaret{position:absolute;left:0;top:2px;z-index:1;font-size:8px;color:var(--sidebarMuted)}.sidebar .sidebar-projectVersion select::-ms-expand{display:none}.sidebar .sidebar-staleVersion{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sidebarStaleVersion)}.sidebar .sidebar-staleVersion>a{color:var(--sidebarStaleVersion);font-weight:400}.sidebar .sidebar-staleIcon{font-size:var(--text-lg);position:relative;top:3px;line-height:0}.sidebar .sidebar-list-nav{display:flex;margin:0;padding:0;overflow:auto;scrollbar-width:thin}.sidebar .sidebar-list-nav :is(li,li button){text-transform:uppercase;letter-spacing:.02em;font-size:var(--text-sm);color:var(--sidebarSubheadings);white-space:nowrap}.sidebar .sidebar-list-nav li{display:inline-block;padding:0}.sidebar .sidebar-list-nav button{background:none;border:0;border-radius:0;-webkit-appearance:none;text-align:inherit;color:inherit;font-weight:inherit;cursor:pointer;display:inline-block;line-height:27px;padding:4px 14px;transition:var(--transition-all)}.sidebar .sidebar-list-nav button{border-bottom:var(--navTabBorderWidth) solid transparent}.sidebar .sidebar-list-nav button:not([aria-selected]):hover{border-bottom:var(--navTabBorderWidth) solid var(--sidebarInactiveItemBorder);color:var(--sidebarAccentMain);transition:var(--transition-all)}.sidebar .sidebar-list-nav button[aria-selected]{border-bottom:var(--navTabBorderWidth) solid var(--sidebarLanguageAccentBar);color:var(--sidebarAccentMain)}.sidebar .sidebar-tabpanel{flex:1 1 .01%;overflow-y:auto;overscroll-behavior:contain;position:relative;-webkit-overflow-scrolling:touch;padding-top:12px;scroll-padding-top:40px}.sidebar .full-list{margin:0;padding:0 0 20px;position:relative}.sidebar .full-list :is(li,a){display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar .full-list li{padding:0;line-height:27px}.sidebar .full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar .full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--sidebarSubheadings);margin-top:10px;padding-left:15px}.sidebar .full-list a{margin-right:30px;padding:3px 0 3px 12px;border-left:var(--navTabBorderWidth) solid transparent;color:var(--sidebarItem)}.sidebar .full-list a[aria-selected]{color:var(--sidebarActiveItem)}.sidebar .full-list button{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;width:20px;text-align:center;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:block;right:10px;transform:translateY(-100%)}.sidebar .full-list a[aria-selected]+button{color:var(--sidebarActiveItem)}.sidebar .full-list button:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:var(--icon-arrow-down-s)}.sidebar .full-list button[aria-expanded=true]:after{content:var(--icon-arrow-up-s)}.sidebar .full-list ul{display:none;margin:10px 0 10px 10px;padding:0}.sidebar .full-list button[aria-expanded=true]+ul{display:block}.sidebar .full-list>li>a{height:27px;line-height:var(--sidebarLineHeight)}.sidebar .full-list>li>a:hover{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li>a[aria-selected]{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li:last-child{margin-bottom:30px}.sidebar .full-list>li.group:first-child{margin-top:0}.sidebar .full-list>li>ul>li:not(:has(li a[aria-selected=true]))>a[aria-selected=true]:before,.sidebar .full-list>li>ul>li>a:hover:before{content:"\2022";position:absolute;margin-left:-15px;color:var(--sidebarActiveItem)}.sidebar .full-list ul li{line-height:var(--sidebarFontSize);padding:0 8px}.sidebar .full-list ul a{padding-left:15px;height:24px}.sidebar .full-list ul button{font-size:var(--sidebarFontSize)}.sidebar .full-list ul button:after{content:var(--icon-add)}.sidebar .full-list ul button[aria-expanded=true]:after{content:var(--icon-subtract)}.sidebar .full-list ul ul{margin:9px 0 9px 10px}.sidebar .full-list ul ul li{height:20px;color:var(--sidebarAccentMain)}.sidebar .full-list ul ul a{border-left:1px solid var(--sidebarInactiveItemMarker);padding:0 10px;height:20px}.sidebar .full-list ul ul a:hover{border-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list ul ul a[aria-selected]{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;font-size:var(--sidebarFontSize);color:var(--sidebarAccentMain)}.sidebar-button:hover{color:var(--sidebarHover)}body:not(.sidebar-open) .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar .full-list{overflow:visible}}.top-search{background-color:var(--background);top:0;z-index:99;position:relative;width:100%;padding:10px 0}.search-settings{display:flex;column-gap:12px;align-items:center;width:100%;position:relative}.search-bar{border:1px solid var(--searchBarBorder);border-radius:var(--borderRadius-base);height:48px;position:relative;width:100%}.top-search .search-bar .search-input{background-color:var(--searchSearch);border:1px solid transparent;border-radius:var(--borderRadius-base);color:var(--searchAccentMain);position:relative;height:46px;padding:8px 35px 8px 43px;width:100%;transition:var(--transition-all)}.top-search .search-bar .search-input::placeholder{color:var(--searchAccentMain);opacity:.5}.top-search .search-bar .search-input:focus{border:1px solid var(--searchBarFocusColor);border-radius:calc(var(--borderRadius-base) - 1px);position:relative;box-shadow:0 4px 20px 0 var(--searchBarBorderColor) inset}.top-search .search-bar .search-label{position:relative}.top-search .search-bar .search-button{font-size:var(--text-sm);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;left:11px;opacity:.5;padding:5px 1px 5px 5px;position:absolute;top:60%;transform:translateY(-60%);z-index:99;transition:var(--transition-all)}.top-search .search-bar.selected .search-button,.top-search .search-bar .search-button:hover,.top-search .search-bar .search-button:focus{color:var(--top-searchLanguageAccentBar);opacity:1}.top-search .search-bar .search-close-button{font-size:var(--text-md);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;right:11px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:calc(50% - 13px);transition:var(--transition-all);z-index:99}.top-search .search-bar .search-close-button:hover{opacity:.7}.top-search .search-settings button.icon-settings{display:flex;align-items:center;justify-content:flex-end}.top-search .search-settings .icon-settings{font-size:var(--text-xl);float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0}.top-search .search-settings .icon-settings:hover{color:var(--iconActionHover)}.top-search .search-settings .icon-settings:visited{color:var(--iconAction)}@media screen and (max-width: 768px){.top-search{padding-left:calc(var(--content-gutter) + 36px);padding-right:var(--content-gutter);margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));width:calc(2 * var(--content-gutter) + 100%)}.search-settings{width:100%;box-sizing:border-box}}body.search-focused .search-bar .search-close-button{transform:scaleY(1);transition:var(--transition-all)}@media screen and (hover: hover){body.search-focused .top-search{position:sticky!important}body.search-focused .sidebar-button{position:fixed!important}}@media screen and (hover: none){body.scroll-sticky .top-search{position:sticky!important}body.scroll-sticky .sidebar-button{position:fixed!important}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.content-inner{font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner .heading-with-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.content-inner .heading-with-actions>*:not(h1){flex-shrink:0}.content-inner .heading-with-actions h1{flex-grow:1;justify-self:flex-start;max-width:100%;margin:0;overflow-wrap:break-word}.content-inner .heading-with-actions .icon-action{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-weight:400}.content-inner .heading-with-actions.top-heading .icon-action{font-size:1.2rem}@container content (width > 600px){.content-inner .heading-with-actions.top-heading{flex-wrap:nowrap;align-items:flex-start;& h1{padding-right:32px}& .icon-action{padding-top:1.7rem}}}.content-inner .top-heading{padding-top:1rem}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:.5em 0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:400}.content-inner h2{font-size:1.6em;padding-top:1em;margin-bottom:.5em}.content-inner h3{font-size:1.375em;margin:1em 0 .5em}.content-inner li+li{margin-top:.25em}.content-inner :is(a,.a-main){color:var(--link-color);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--link-visited-color)}.content-inner .icon-action{color:var(--iconAction);text-decoration:none;border:none;transition:var(--transition-colors);background-color:transparent;cursor:pointer}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);font-size:var(--text-xs);font-weight:400}.content-inner blockquote,.content-inner section.admonition{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:var(--borderRadius-base)}.content-inner blockquote p:last-child,.content-inner section.admonition p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0;border-collapse:collapse;display:block;overflow:auto}.content-inner th{text-align:left;font-family:var(--sansFontFamily);font-weight:700;padding-bottom:.5em;white-space:nowrap}.content-inner thead tr{border-bottom:1px solid var(--tableHeadBorder)}.content-inner tbody tr{border-bottom:1px solid var(--tableBodyBorder)}.content-inner tbody tr:last-child{border-bottom:none}.content-inner tr{vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding:.25em .25em .25em 1em;line-height:2em;vertical-align:top}.content-inner .section-heading{--icon-size: 16px;--icon-spacing: 5px;display:grid;grid-template:1fr / 1fr}@media screen and (max-width: 768px){.content-inner .section-heading{--icon-spacing: 2px}}.content-inner .section-heading>:is(.hover-link,.text){grid-row:1;grid-column:1}.content-inner .section-heading .hover-link{text-decoration:none}.content-inner .section-heading i{font-size:var(--icon-size);color:var(--mainLight);margin-top:.1em;margin-left:calc(-1 * (var(--icon-size) + var(--icon-spacing)));padding-right:var(--icon-spacing);opacity:0}.content-inner :is(blockquote,section.admonition) .section-heading i{display:none}.content-inner .section-heading:is(:hover,:focus,:target) i{opacity:1}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner strong>code{font-weight:700}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400;font-size:var(--text-sm)}@media screen and (max-width: 768px){.content-inner :is(ol,ul){padding-left:calc(1.5 * var(--content-gutter))}}.content-inner section.admonition{border-radius:var(--borderRadius-base);border-left:0}.content-inner section.admonition.warning{background-color:var(--warningBackground)}.content-inner section.admonition.error{background-color:var(--errorBackground)}.content-inner section.admonition.info{background-color:var(--infoBackground)}.content-inner section.admonition.neutral{background-color:var(--neutralBackground)}.content-inner section.admonition.tip{background-color:var(--tipBackground)}.content-inner section.admonition>.admonition-title{color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner section.admonition>.admonition-title:before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner section.admonition>.admonition-title.warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title.tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title code{margin:0 .5ch}.content-inner section.admonition code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCodeColor)}.content-inner section.admonition pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder);color:var(--admCodeColor)}.content-inner section.admonition>.admonition-title :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@media screen and (max-width: 768px){.content-inner section.admonition{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0}.content-inner section.admonition>.admonition-title{margin:0 calc(-1 * var(--content-gutter))}}.content-inner .summary h2 a{text-decoration:none;border:none;color:var(--textHeaders)!important}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}@font-face{font-family:Consolas;src:local("Consolas");size-adjust:110%}.content-inner.content-inner :is(a:has(code,img),pre a){color:var(--link-color);text-shadow:none;text-decoration:none;background-image:none}.content-inner.content-inner :is(a:has(code,img),pre a):is(:visited,:active,:focus,:hover){color:var(--link-visited-color)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:var(--borderRadius-sm);padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner code.inline{border-radius:var(--borderRadius-sm);word-wrap:break-word}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:1em;scrollbar-width:thin}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:var(--text-xs);font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre:has(code),.content-inner section>pre:has(code){margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%,to{background-color:var(--textDetailBackground)}50%{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:1em 0;padding:.5em .85em .5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--textDetailAccent);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700;line-height:2em}.content-inner .detail-header:hover a.detail-link,.content-inner .detail-header a.detail-link:focus{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:var(--transition-opacity);position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:var(--text-xs);font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:1em;background-color:var(--fnDeprecated);border-radius:var(--borderRadius-sm);margin:var(--baseLineHeight) 0}.content-inner .footer{margin:4em auto 1em;text-align:center;font-size:var(--text-sm)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em;gap:12px}.bottom-actions-item{flex:1 1 0%}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:var(--borderRadius-sm);border:1px solid var(--bottomActionsBtnBorder);padding:12px 16px;min-width:150px;transition:var(--transition-all)}.content-inner .bottom-actions .bottom-actions-button:hover{border-color:var(--mainLight)}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--textHeaders);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button .title{color:var(--bottomActionsBtnTitle)}.content-inner .bottom-actions .bottom-actions-button[rel=prev]{text-align:start}.content-inner .bottom-actions .bottom-actions-button[rel=next]{text-align:end}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}}.page-cheatmd .content-inner{--horizontal-space: 1.5em;--vertical-space: 1em}@media (max-width: 600px){.page-cheatmd .content-inner{--horizontal-space: 1em;--vertical-space: .75em}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd .content-inner h1{margin-bottom:var(--vertical-space)}.page-cheatmd .content-inner h2{margin:var(--vertical-space) 0;column-span:all;color:var(--gray700);font-weight:500}.dark .page-cheatmd .content-inner h2{color:var(--gray200)}.page-cheatmd .content-inner h3{margin:0 0 1em;font-weight:400}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3 .text{overflow:hidden}.page-cheatmd .content-inner h3 .text:after{content:"";margin-left:calc(var(--horizontal-space) / 2);vertical-align:baseline;display:inline-block;width:100%;height:1px;margin-right:-100%;margin-bottom:5px;background-color:var(--codeBorder)}.page-cheatmd .content-inner h4{display:block;margin:0;padding:.25em var(--horizontal-space);font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.dark .page-cheatmd .content-inner h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .content-inner .h2 p{margin:0;display:block;background:var(--gray50);padding:var(--vertical-space) var(--horizontal-space)}.dark .page-cheatmd .content-inner .h2 p{background:var(--gray700)}.page-cheatmd .content-inner .h2 p>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner pre code{padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd .content-inner .h2 pre{margin:0}.page-cheatmd .content-inner .h2 pre+pre{margin-top:-1px}.page-cheatmd .content-inner pre.wrap{white-space:break-spaces}@media screen and (max-width: 768px){.page-cheatmd .content-inner pre code{border-left-width:1px!important;border-right-width:1px!important}}.page-cheatmd .content-inner .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .content-inner .h2 th{padding:var(--vertical-space) var(--horizontal-space);line-height:inherit;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td{padding:var(--vertical-space) var(--horizontal-space);border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner .h2 thead{background-color:var(--gray50)}.dark .page-cheatmd .content-inner .h2 thead{background-color:var(--gray700)}.page-cheatmd .content-inner .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .content-inner .h2 :is(ul,ol){margin:0;padding:0}.page-cheatmd .content-inner .h2 li{list-style-position:inside;padding:.5em var(--horizontal-space);line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder);margin-top:0}.page-cheatmd .content-inner .h2 :is(ul,ol)+pre code{border-top:0}.page-cheatmd .content-inner .h2 li>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner section.width-50{display:block;width:50%;margin:0}.page-cheatmd .content-inner section.width-50>section>table{width:100%}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:40px}.page-cheatmd .content-inner section.col-2{column-count:2;height:auto}.page-cheatmd .content-inner section.col-2-left{display:grid;grid-template-columns:calc(100% / 3) auto}.page-cheatmd .content-inner section.col-2-left>h2{grid-column-end:span 2}.page-cheatmd .content-inner section.col-3{column-count:3;height:auto}.page-cheatmd .content-inner section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-4>ul>li{flex:0 0 25%}.page-cheatmd .content-inner section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 calc(100% / 6)}@media screen and (max-width: 1400px){.page-cheatmd .content-inner section.col-3{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 25%}}@media screen and (max-width: 1000px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 calc(100% / 3)}}@media screen and (max-width: 600px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 50%}.page-cheatmd .content-inner section.width-50{width:100%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;position:absolute;top:50%;left:calc(50% - 32px)}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;color:var(--textHeaders);transition:var(--transition-colors)}#search .result-id a:is(:visited,:active){color:var(--textHeaders)}#search .result-id a:is(:hover,:focus){color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:var(--borderRadius-sm);box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:var(--transition-colors)}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:var(--transition-opacity)}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:var(--borderRadius-sm);font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center;font-size:var(--text-sm)}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;position:absolute;width:calc(100% - 32px);top:55px}.autocomplete .triangle{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--autocompleteBackground);position:absolute;top:8px;left:26px;transform:translate(-50%);z-index:100;background-color:transparent}.autocomplete-preview{width:100%;margin:0;height:100%;line-height:20px;background-color:var(--background);font-family:var(--sansFontFamily);border:4px solid var(--autocompleteBorder);padding:12px 16px}.autocomplete-preview div,.autocomplete-preview span{display:none}.autocomplete-preview.loading div{float:left;display:block;border:5px solid var(--autocompleteBorder);border-radius:50%;border-top:5px solid var(--textDetailAccent);width:20px;height:20px;animation:spinner 4s linear infinite}.autocomplete-preview.loading span{color:var(--autocompleteResults);display:inline;margin-left:6px}.autocomplete-preview.loading span:after{color:var(--autocompleteResults);content:"Loading"}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.autocomplete-preview.loading iframe{height:0}.autocomplete-preview iframe{width:100%;height:100%;border:0}.autocomplete-results{list-style:none;margin:0;padding:15px 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--autocompleteResults);font-family:var(--sansFontFamily);font-weight:300;font-size:.9rem}.autocomplete-results .query{margin-right:auto}.autocomplete-results .bold{color:var(--autocompleteResultsBold);font-weight:400}.autocomplete.shown{display:block}.autocomplete-container{position:absolute;top:15px;width:100%;z-index:200}.autocomplete-suggestions{background-color:var(--autocompleteBackground);border-radius:var(--borderRadius-base);box-shadow:0 15px 99px 0 var(--autocompleteBorder);overflow-y:auto;max-height:450px;white-space:normal;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin}.autocomplete-suggestions.previewing:has(.selected){max-height:80vh}.autocomplete-suggestions.previewing:has(.selected) .autocomplete-suggestion:not(.selected){display:none}.autocomplete-suggestions.previewing:not(:has(.selected)) .autocomplete-preview{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview{display:none}.autocomplete-suggestion{color:var(--textHeaders)!important;display:block;padding:12px 20px;text-decoration:none!important;transition:var(--transition-colors);border-top:1px solid var(--suggestionBorder);font-size:.9rem}.autocomplete-suggestion.selected{background-color:var(--autocompleteSelected);box-shadow:inset 2px 0 var(--main)}.autocomplete-suggestion:hover{background-color:var(--autocompleteHover)}.autocomplete-suggestion:not(.selected) .autocomplete-preview-indicator{display:none}.autocomplete-preview-indicator{float:right}.autocomplete-preview-indicator button{color:var(--iconAction);display:flex;align-items:center;text-decoration:none;border:1px solid var(--suggestionBorder);border-radius:var(--borderRadius-base);transition:var(--transition-colors);background-color:var(--autocompletePreview);cursor:pointer;padding:4px 8px;font-size:var(--text-sm)}.autocomplete-preview-indicator button:hover{color:var(--iconActionHover);background-color:var(--autocompleteHover)}.autocomplete-preview-indicator button i{margin-right:4px}.autocomplete-suggestions.previewing .autocomplete-preview-indicator-closed{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview-indicator-open{display:none}.autocomplete-suggestion:hover:not(.selected) .autocomplete-preview-indicator-closed{display:block}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{background-color:var(--autocompleteLabelBack);opacity:.6;color:var(--autocompleteLabelFont);padding:4px 8px;border-radius:4px;margin-left:5px;text-transform:uppercase;font-family:var(--sansFontFamily);font-size:.7rem}.autocomplete-suggestion .header{margin-right:5px}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media screen and (hover: none){.autocomplete-preview-indicator,.autocomplete-results .press-return{display:none!important}}.tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}.tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}.tooltip .tooltip-body{border:1px solid var(--codeBorder);border-radius:var(--borderRadius-sm);overflow:auto}.tooltip .tooltip-body .signature{min-width:320px;width:100%;line-height:1em}.tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}.tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}.tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}.tooltip .tooltip-body .version-info{float:right;font-family:var(--monoFontFamily);font-weight:400;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:7px;right:8px;padding:8px;background-color:transparent;backdrop-filter:blur(8px);border-radius:var(--borderRadius-sm);border:1px solid var(--codeBorder);cursor:pointer;transition:var(--transition-all);font-size:var(--text-sm);line-height:24px;color:currentColor;& svg[aria-live=polite]{display:none}}.copy-button svg{opacity:.5;transition:var(--transition-all)}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{opacity:1;color:var(--success);& svg[aria-live=polite]{display:block}}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:var(--text-sm);background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:var(--borderRadius-base);transition:var(--transition-all)}#settings-modal-content .input:focus{border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray400)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:var(--text-md)}#settings-modal-content .switch-button-container>div>p{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-sm);line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#toast{visibility:hidden;opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:var(--borderRadius-base);border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out;cursor:default}#toast.show{visibility:visible;opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.body-wrapper{display:block}.sidebar,.sidebar-button,.top-search{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{break-inside:avoid}#toast{display:none}.content-inner{padding:0}.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner section.admonition{border:2px solid var(--gray400)}.content-inner section.admonition>.admonition-title{color:var(--textHeaders);border-bottom:2px solid var(--gray400)}.content-inner pre code.makeup{border-color:var(--gray400);white-space:break-spaces;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray400)}}@media print{.page-cheatmd .content-inner *{background-color:transparent!important;border-color:var(--gray400)!important}.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.7em}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:30px}.page-cheatmd .content-inner section.col-2{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:grid}.page-cheatmd .content-inner section.col-3{column-count:3}.page-cheatmd .content-inner h1{margin-top:0;margin-bottom:.5em}.page-cheatmd .content-inner h2.section-heading{font-weight:700;margin-top:1em;column-span:all}.page-cheatmd .content-inner section.h2{break-inside:avoid}.page-cheatmd .content-inner h3{font-weight:700;color:var(--mainDark)}.page-cheatmd .content-inner h3:after{height:2px;background-color:var(--gray400)}.page-cheatmd .content-inner section.h3{min-width:300px;break-inside:avoid}.page-cheatmd .content-inner h4{padding:.5em 0;border:none;font-weight:700;color:#000}.page-cheatmd .content-inner .h2 p{padding-left:0;padding-right:0;border:none!important}.page-cheatmd .content-inner code{line-height:1.5em}.page-cheatmd .content-inner .h2 table{font-variant-numeric:tabular-nums;break-inside:avoid}.page-cheatmd .content-inner .h2 :is(th,td){vertical-align:top;padding-left:0;padding-right:0}.page-cheatmd .content-inner .h2 thead{border-style:solid none;border-width:1px}.page-cheatmd .content-inner .h2 tr{border-bottom:none}.page-cheatmd .content-inner .h2 th{font-weight:700}.page-cheatmd .content-inner .h2 li{padding-left:0;padding-right:0;vertical-align:middle;border-bottom:none}.page-cheatmd .content-inner pre:hover button.copy-button,.page-cheatmd .content-inner div.tooltip{display:none}.page-cheatmd .content-inner footer p:not(.built-using){display:none}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0;border:var(--borderWidth) solid var(--tabBorder);padding:0 var(--tabsetPadding);border-radius:var(--borderRadius-lg)}.tabset-tablist{display:flex;overflow:auto;scrollbar-width:thin;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--tabBorderTop)}.tabset-tab{padding:1.1rem var(--tabsetPadding);font-family:var(--sansFontFamily);color:var(--textColor);margin-right:calc(-1 * var(--borderWidth));background-color:transparent;border:0;box-shadow:none;cursor:pointer;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent;transition:var(--transition-all)}:hover.tabset-tab{border-bottom-color:var(--tabBorderTop);color:var(--textHeaders)}.tabset-tab[aria-selected=true]{border-bottom-color:var(--mainLight);color:var(--textHeaders)}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--mainLight);border-color:var(--mainLight);color:var(--white)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre,.tabset-panel blockquote,.tabset-panel section.admonition{margin-left:calc(-1 * var(--tabsetPadding))!important;margin-right:calc(-1 * var(--tabsetPadding))!important}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}@media screen and (max-width: 768px){.tabset-panel>:is(:first-child){&:is(table){margin:.5em 0}}}@media screen and (min-width: 769px){.tabset-panel>:is(:first-child){&:is(blockquote,.admonition){margin-top:1.5em}&:is(p:has(img)){margin-top:1.25em}&:is(table){margin-top:.75em}}.tabset-panel>:is(:last-child){&:is(blockquote,.admonition){margin-bottom:1.5em}&:is(p:not(:has(img)),ul,ol){margin-bottom:1.25em}&:is(table){margin-bottom:.75em}}}body.preview{--sidebarWidth: 0px;overflow:hidden}body.preview .content{height:auto}body.preview .content-inner{padding:0}body.preview .sidebar,body.preview #sidebar-menu,body.preview .hover-link,body.preview .detail-link{display:none}body.preview :is(h1,h2,h3):first-of-type{margin-top:0}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} -/*! Bundled license information: - -modern-normalize/modern-normalize.css: - (*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize *) -*/ diff --git a/formatters/html/dist/html-erlang-PUDIA7BT.css b/formatters/html/dist/html-erlang-PUDIA7BT.css new file mode 100644 index 000000000..8b4a35482 --- /dev/null +++ b/formatters/html/dist/html-erlang-PUDIA7BT.css @@ -0,0 +1,6 @@ +:root{--main: hsl(0, 100%, 44%);--mainDark: hsl(0, 100%, 34%);--mainDarkest: hsl(0, 100%, 24%);--mainLight: hsl(0, 100%, 64%);--mainLightest: hsl(0, 100%, 74%);--searchBarFocusColor: hsl(0, 100%, 50%);--searchBarBorderColor: rgb(255, 71, 71, .1);--link-color: hsl(212, 96%, 45%);--link-visited-color: hsl(212, 96%, 40%)}body.dark{--link-color: hsl(212, 56%, 72%);--link-visited-color: hsl(212, 56%, 67%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--content-width: 949px;--content-gutter: 60px;--borderRadius-lg: 14px;--borderRadius-base: 8px;--borderRadius-sm: 3px;--navTabBorderWidth: 2px;--sansFontFamily: "Lato", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--monoFontFamily: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98%);--gray50: hsl(207, 43%, 96%);--gray100: hsl(212, 33%, 91%);--gray200: hsl(210, 29%, 88%);--gray300: hsl(210, 26%, 84%);--gray400: hsl(210, 21%, 64%);--gray450: hsl(210, 21%, 49%);--gray500: hsl(210, 21%, 34%);--gray600: hsl(210, 27%, 26%);--gray700: hsl(212, 35%, 17%);--gray750: hsl(214, 46%, 14%);--gray800: hsl(216, 52%, 11%);--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8%);--gray900: hsl(218, 73%, 4%);--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97%);--coldGrayLight: hsl(240, 5%, 88%);--coldGray-lightened-10: hsl(240, 5%, 56%);--coldGray: hsl(240, 5%, 46%);--coldGray-opacity-10: hsla(240, 5%, 46%, 10%);--coldGrayDark: hsl(240, 5%, 28%);--coldGrayDim: hsl(240, 5%, 18%);--yellowLight: hsl(43, 100%, 95%);--yellowDark: hsl(44, 100%, 15%);--yellow: hsl(60, 100%, 43%);--green-lightened-10: hsl(90, 100%, 45%);--green: hsl(90, 100%, 35%);--white: hsl(0, 0%, 100%);--white-opacity-50: hsla(0, 0%, 100%, 50%);--white-opacity-10: hsla(0, 0%, 100%, 10%);--white-opacity-0: hsla(0, 0%, 100%, 0%);--black: hsl(0, 0%, 0%);--black-opacity-10: hsla(0, 0%, 0%, 10%);--black-opacity-50: hsla(0, 0%, 0%, 50%);--orangeDark: hsl(30, 90%, 40%);--orangeLight: hsl(30, 80%, 50%);--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--transition-duration: .15s;--transition-timing: cubic-bezier(.4, 0, .2, 1);--transition-all: all var(--transition-duration) var(--transition-timing);--transition-colors: color var(--transition-duration) var(--transition-timing), background-color var(--transition-duration) var(--transition-timing), border-color var(--transition-duration) var(--transition-timing), text-decoration-color var(--transition-duration) var(--transition-timing), fill var(--transition-duration) var(--transition-timing), stroke var(--transition-duration) var(--transition-timing);--transition-opacity: opacity var(--transition-duration) var(--transition-timing)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}option{background-color:var(--sidebarBackground)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray800);--textHeaders: var(--gray900);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--coldGrayFaint);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--tableHeadBorder: var(--gray100);--tableBodyBorder: var(--gray50);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admCodeColor: var(--black);--admInlineCodeColor: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tabShadow: var(--gray25);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnTitle: var(--mainDark);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--progressBarColor: var(--gray400);--sidebarAccentMain: var(--black);--sidebarBackground: var(--gray50);--sidebarHeader: var(--gray100);--sidebarMuted: var(--gray800);--sidebarHover: var(--black);--sidebarStaleVersion: var(--orangeDark);--sidebarSubheadings: var(--gray500);--sidebarItem: var(--black);--sidebarInactiveItemBorder: var(--gray500);--sidebarInactiveItemMarker: var(--gray200);--sidebarLanguageAccentBar: var(--mainDark);--sidebarActiveItem: var(--mainDarkest);--searchBarBorder: var(--gray200);--searchAccentMain: var(--gray600);--searchLanguageAccentBar: var(--main);--searchSearch: var(--white);--autocompleteBorder: rgba(3, 9, 19, .1);--autocompletePreview: var(--gray25);--autocompleteSelected: var(--gray25);--autocompleteHover: var(--gray50);--autocompleteBackground: var(--white);--suggestionBorder: var(--gray200);--autocompleteResults: var(--gray600);--autocompleteResultsBold: var(--gray800);--autocompleteLabelBack: var(--gray100);--autocompleteLabelFont: var(--gray600)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailAccent: var(--mainLight);--textDetailBackground: var(--gray700);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGray-opacity-10);--blockquoteBorder: var(--coldGrayDim);--tableHeadBorder: var(--gray600);--tableBodyBorder: var(--gray700);--warningBackground: hsla( 33, 30%, 60%, 10%);--warningHeadingBackground: hsla( 33, 66%, 35%, 80%);--warningHeading: var(--white);--errorBackground: hsla( 7, 30%, 60%, 10%);--errorHeadingBackground: hsla( 6, 70%, 40%, 80%);--errorHeading: var(--white);--infoBackground: hsla(206, 30%, 60%, 10%);--infoHeadingBackground: hsla(213, 55%, 35%, 80%);--infoHeading: var(--white);--neutralBackground: hsl(210, 30%, 60%, 10%);--neutralHeadingBackground: var(--gray600);--neutralHeading: var(--white);--tipBackground: hsla(142, 30%, 60%, 10%);--tipHeadingBackground: hsla(134, 45%, 30%, 80%);--tipHeading: var(--white);--fnSpecAttr: var(--gray400);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray750);--codeBorder: var(--gray600);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admCodeColor: var(--gray100);--admInlineCodeColor: var(--gray100);--admInlineCodeBackground: var(--gray750);--admInlineCodeBorder: var(--gray600);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tabShadow: var(--black);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnTitle: var(--mainLightest);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray300);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--progressBarColor: var(--gray300);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarStaleVersion: var(--orangeLight);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemBorder: var(--gray400);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--mainLight);--sidebarActiveItem: var(--mainLightest);--searchBarBorder: var(--gray500);--searchAccentMain: var(--gray300);--searchSearch: var(--gray900);--autocompleteBorder: rgba(28,42,60,.75);--autocompletePreview: var(--gray750);--autocompleteSelected: var(--gray750);--autocompleteHover: var(--gray700);--autocompleteBackground: var(--gray800);--suggestionBorder: var(--gray600);--autocompleteResults: var(--gray200);--autocompleteResultsBold: var(--gray100);--autocompleteLabelBack: var(--gray600);--autocompleteLabelFont: rgba(255, 255, 255, .8)}:root:has(body.dark){color-scheme:dark}*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{--sidebarWidth: 300px;--sidebarMinWidth: 300px;--sidebarTransitionDuration: .3s;background-color:var(--background);color:var(--textBody);font-size:var(--text-md);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.body-wrapper{display:flex;height:100%}.sidebar{display:none;flex-direction:column;width:var(--sidebarWidth);min-width:var(--sidebarMinWidth);max-width:50vw;height:100%;position:fixed;top:0;left:calc(-1 * var(--sidebarWidth));z-index:100;resize:horizontal}.sidebar-button{padding:26px 12px 18px 19px;position:fixed;z-index:200;top:0;left:0;will-change:transform;transform:translate(0)}.content{left:0;width:100%;height:100%;position:absolute}.content .content-inner{container:content / inline-size;max-width:var(--content-width);min-height:100%;margin:0 auto;padding:0 var(--content-gutter) 10px}.content-inner:focus{outline:none}.sidebar-transition .sidebar,.sidebar-transition .sidebar-button,.sidebar-transition .content{transition:all var(--sidebarTransitionDuration) ease-in-out allow-discrete}.sidebar-open .sidebar,.sidebar-transition .sidebar{display:flex}.sidebar-open .sidebar{left:0}.sidebar-open .sidebar-button{transform:translate(calc(var(--sidebarWidth) - 100%))}.sidebar-open .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth)}@media screen and (max-width: 768px){.sidebar-open .content{left:0;width:100%}.sidebar{max-width:90vw}body:not(.sidebar-open) .sidebar-button{position:absolute}}.swup-progress-bar{height:2px;background-color:var(--progressBarColor)}.sidebar{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;& .sidebar-tabpanel{scrollbar-width:thin}}.apple-os .sidebar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:var(--transition-colors)}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{background-color:var(--sidebarHeader);width:100%}.sidebar .sidebar-projectInfo{display:flex;justify-content:start;align-items:center;gap:8px;margin:12px 34px 12px 14px}.sidebar .sidebar-projectInfo>div{flex:1}.sidebar .sidebar-projectImage{align-self:flex-end}.sidebar .sidebar-projectImage img{display:block;max-width:48px;max-height:48px}.sidebar .sidebar-projectName{font-weight:700;font-size:var(--text-xl);line-height:24px;color:var(--sidebarAccentMain);margin:0;padding:0;word-wrap:break-word;display:block;width:calc(100% - 12px)}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted);width:calc(100% - 12px)}.sidebar .sidebar-projectVersion form{display:flex}.sidebar .sidebar-projectVersion select{cursor:pointer;position:relative;margin:0;padding:0 0 0 10px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersion option{color:initial}.sidebar .sidebar-projectVersionsCaret{position:absolute;left:0;top:2px;z-index:1;font-size:8px;color:var(--sidebarMuted)}.sidebar .sidebar-projectVersion select::-ms-expand{display:none}.sidebar .sidebar-staleVersion{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sidebarStaleVersion)}.sidebar .sidebar-staleVersion>a{color:var(--sidebarStaleVersion);font-weight:400}.sidebar .sidebar-staleIcon{font-size:var(--text-lg);position:relative;top:3px;line-height:0}.sidebar .sidebar-list-nav{display:flex;margin:0;padding:0;overflow:auto;scrollbar-width:thin}.sidebar .sidebar-list-nav :is(li,li button){text-transform:uppercase;letter-spacing:.02em;font-size:var(--text-sm);color:var(--sidebarSubheadings);white-space:nowrap}.sidebar .sidebar-list-nav li{display:inline-block;padding:0}.sidebar .sidebar-list-nav button{background:none;border:0;border-radius:0;-webkit-appearance:none;text-align:inherit;color:inherit;font-weight:inherit;cursor:pointer;display:inline-block;line-height:27px;padding:4px 14px;transition:var(--transition-all)}.sidebar .sidebar-list-nav button{border-bottom:var(--navTabBorderWidth) solid transparent}.sidebar .sidebar-list-nav button:not([aria-selected]):hover{border-bottom:var(--navTabBorderWidth) solid var(--sidebarInactiveItemBorder);color:var(--sidebarAccentMain);transition:var(--transition-all)}.sidebar .sidebar-list-nav button[aria-selected]{border-bottom:var(--navTabBorderWidth) solid var(--sidebarLanguageAccentBar);color:var(--sidebarAccentMain)}.sidebar .sidebar-tabpanel{flex:1 1 .01%;overflow-y:auto;overscroll-behavior:contain;position:relative;-webkit-overflow-scrolling:touch;padding-top:12px;scroll-padding-top:40px}.sidebar .full-list{margin:0;padding:0 0 20px;position:relative}.sidebar .full-list :is(li,a){display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar .full-list li{padding:0;line-height:27px}.sidebar .full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar .full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--sidebarSubheadings);margin-top:10px;padding-left:15px}.sidebar .full-list a{margin-right:30px;padding:3px 0 3px 12px;border-left:var(--navTabBorderWidth) solid transparent;color:var(--sidebarItem)}.sidebar .full-list a[aria-selected]{color:var(--sidebarActiveItem)}.sidebar .full-list button{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;width:20px;text-align:center;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:block;right:10px;transform:translateY(-100%)}.sidebar .full-list a[aria-selected]+button{color:var(--sidebarActiveItem)}.sidebar .full-list button:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:var(--icon-arrow-down-s)}.sidebar .full-list button[aria-expanded=true]:after{content:var(--icon-arrow-up-s)}.sidebar .full-list ul{display:none;margin:10px 0 10px 10px;padding:0}.sidebar .full-list button[aria-expanded=true]+ul{display:block}.sidebar .full-list>li>a{height:27px;line-height:var(--sidebarLineHeight)}.sidebar .full-list>li>a:hover{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li>a[aria-selected]{border-left-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list>li:last-child{margin-bottom:30px}.sidebar .full-list>li.group:first-child{margin-top:0}.sidebar .full-list>li>ul>li:not(:has(li a[aria-selected=true]))>a[aria-selected=true]:before,.sidebar .full-list>li>ul>li>a:hover:before{content:"\2022";position:absolute;margin-left:-15px;color:var(--sidebarActiveItem)}.sidebar .full-list ul li{line-height:var(--sidebarFontSize);padding:0 8px}.sidebar .full-list ul a{padding-left:15px;height:24px}.sidebar .full-list ul button{font-size:var(--sidebarFontSize)}.sidebar .full-list ul button:after{content:var(--icon-add)}.sidebar .full-list ul button[aria-expanded=true]:after{content:var(--icon-subtract)}.sidebar .full-list ul ul{margin:9px 0 9px 10px}.sidebar .full-list ul ul li{height:20px;color:var(--sidebarAccentMain)}.sidebar .full-list ul ul a{border-left:1px solid var(--sidebarInactiveItemMarker);padding:0 10px;height:20px}.sidebar .full-list ul ul a:hover{border-color:var(--sidebarLanguageAccentBar)}.sidebar .full-list ul ul a[aria-selected]{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;font-size:var(--sidebarFontSize);color:var(--sidebarAccentMain)}.sidebar-button:hover{color:var(--sidebarHover)}body:not(.sidebar-open) .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar .full-list{overflow:visible}}.top-search{background-color:var(--background);top:0;z-index:99;position:relative;width:100%;padding:10px 0}.search-settings{display:flex;column-gap:12px;align-items:center;width:100%;position:relative}.search-bar{border:1px solid var(--searchBarBorder);border-radius:var(--borderRadius-base);height:48px;position:relative;width:100%}.top-search .search-bar .search-input{background-color:var(--searchSearch);border:1px solid transparent;border-radius:var(--borderRadius-base);color:var(--searchAccentMain);position:relative;height:46px;padding:8px 135px 8px 43px;width:100%;transition:var(--transition-all)}.top-search .search-bar .search-input::placeholder{color:var(--searchAccentMain);opacity:.5}.top-search .search-bar .search-input:focus{border:1px solid var(--searchBarFocusColor);border-radius:calc(var(--borderRadius-base) - 1px);position:relative;box-shadow:0 4px 20px 0 var(--searchBarBorderColor) inset}.top-search .search-bar .search-label{position:relative}.top-search .search-bar .search-button{font-size:var(--text-sm);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;left:11px;opacity:.5;padding:5px 1px 5px 5px;position:absolute;top:60%;transform:translateY(-60%);z-index:99;transition:var(--transition-all)}.top-search .search-bar.selected .search-button,.top-search .search-bar .search-button:hover,.top-search .search-bar .search-button:focus{color:var(--top-searchLanguageAccentBar);opacity:1}.top-search .search-bar .search-close-button{font-size:var(--text-md);color:var(--searchAccentMain);background-color:transparent;border:none;cursor:pointer;right:100px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:calc(50% - 13px);transition:var(--transition-all);z-index:99}.top-search .search-bar .search-close-button:hover{opacity:.7}.top-search .search-bar .search-type{background-color:transparent;border-top:1px solid transparent;border-bottom:1px solid transparent;border-right:1px solid transparent;border-left:1px solid var(--searchBarBorder);border-top-right-radius:var(--borderRadius-base);border-bottom-right-radius:var(--borderRadius-base);color:var(--searchAccentMain);position:absolute;top:calc(50% - 23px);right:0;height:46px;padding:8px 8px 8px 16px;transition:var(--transition-all);z-index:99}.top-search .search-bar .search-type:focus{border:1px solid var(--searchBarFocusColor);border-top-right-radius:calc(var(--borderRadius-base) - 1px);border-bottom-right-radius:calc(var(--borderRadius-base) - 1px);box-shadow:0 4px 20px 0 var(--searchBarBorderColor) inset}.top-search .search-settings button.icon-settings{display:flex;align-items:center;justify-content:flex-end}.top-search .search-settings .icon-settings{font-size:var(--text-xl);float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0}.top-search .search-settings .icon-settings:hover{color:var(--iconActionHover)}.top-search .search-settings .icon-settings:visited{color:var(--iconAction)}@media screen and (max-width: 768px){.top-search{padding-left:calc(var(--content-gutter) + 36px);padding-right:var(--content-gutter);margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));width:calc(2 * var(--content-gutter) + 100%)}.search-settings{width:100%;box-sizing:border-box}}body.search-focused .search-bar .search-close-button{transform:scaleY(1);transition:var(--transition-all)}@media screen and (hover: hover){body.search-focused .top-search{position:sticky!important}body.search-focused .sidebar-button{position:fixed!important}}@media screen and (hover: none){body.scroll-sticky .top-search{position:sticky!important}body.scroll-sticky .sidebar-button{position:fixed!important}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.content-inner{font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner .heading-with-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.content-inner .heading-with-actions>*:not(h1){flex-shrink:0}.content-inner .heading-with-actions h1{flex-grow:1;justify-self:flex-start;max-width:100%;margin:0;overflow-wrap:break-word}.content-inner .heading-with-actions .icon-action{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-weight:400}.content-inner .heading-with-actions.top-heading .icon-action{font-size:1.2rem}@container content (width > 600px){.content-inner .heading-with-actions.top-heading{flex-wrap:nowrap;align-items:flex-start;& h1{padding-right:32px}& .icon-action{padding-top:1.7rem}}}.content-inner .top-heading{padding-top:1rem}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:.5em 0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:400}.content-inner h2{font-size:1.6em;padding-top:1em;margin-bottom:.5em}.content-inner h3{font-size:1.375em;margin:1em 0 .5em}.content-inner li+li{margin-top:.25em}.content-inner :is(a,.a-main){color:var(--link-color);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--link-visited-color)}.content-inner .icon-action{color:var(--iconAction);text-decoration:none;border:none;transition:var(--transition-colors);background-color:transparent;cursor:pointer}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);font-size:var(--text-xs);font-weight:400}.content-inner blockquote,.content-inner section.admonition{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:var(--borderRadius-base)}.content-inner blockquote p:last-child,.content-inner section.admonition p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0;border-collapse:collapse;display:block;overflow:auto}.content-inner th{text-align:left;font-family:var(--sansFontFamily);font-weight:700;padding-bottom:.5em;white-space:nowrap}.content-inner thead tr{border-bottom:1px solid var(--tableHeadBorder)}.content-inner tbody tr{border-bottom:1px solid var(--tableBodyBorder)}.content-inner tbody tr:last-child{border-bottom:none}.content-inner tr{vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding:.25em .25em .25em 1em;line-height:2em;vertical-align:top}.content-inner .section-heading{--icon-size: 16px;--icon-spacing: 5px;display:grid;grid-template:1fr / 1fr}@media screen and (max-width: 768px){.content-inner .section-heading{--icon-spacing: 2px}}.content-inner .section-heading>:is(.hover-link,.text){grid-row:1;grid-column:1}.content-inner .section-heading .hover-link{text-decoration:none}.content-inner .section-heading i{font-size:var(--icon-size);color:var(--mainLight);margin-top:.1em;margin-left:calc(-1 * (var(--icon-size) + var(--icon-spacing)));padding-right:var(--icon-spacing);opacity:0}.content-inner :is(blockquote,section.admonition) .section-heading i{display:none}.content-inner .section-heading:is(:hover,:focus,:target) i{opacity:1}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner strong>code{font-weight:700}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400;font-size:var(--text-sm)}@media screen and (max-width: 768px){.content-inner :is(ol,ul){padding-left:calc(1.5 * var(--content-gutter))}}.content-inner section.admonition{border-radius:var(--borderRadius-base);border-left:0}.content-inner section.admonition.warning{background-color:var(--warningBackground)}.content-inner section.admonition.error{background-color:var(--errorBackground)}.content-inner section.admonition.info{background-color:var(--infoBackground)}.content-inner section.admonition.neutral{background-color:var(--neutralBackground)}.content-inner section.admonition.tip{background-color:var(--tipBackground)}.content-inner section.admonition>.admonition-title{color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner section.admonition>.admonition-title:before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner section.admonition>.admonition-title.warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner section.admonition>.admonition-title.error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner section.admonition>.admonition-title.info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner section.admonition>.admonition-title.neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner section.admonition>.admonition-title.tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title.tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner section.admonition>.admonition-title code{margin:0 .5ch}.content-inner section.admonition code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCodeColor)}.content-inner section.admonition pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder);color:var(--admCodeColor)}.content-inner section.admonition>.admonition-title :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@media screen and (max-width: 768px){.content-inner section.admonition{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0}.content-inner section.admonition>.admonition-title{margin:0 calc(-1 * var(--content-gutter))}}.content-inner .summary h2 a{text-decoration:none;border:none;color:var(--textHeaders)!important}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}@font-face{font-family:Consolas;src:local("Consolas");size-adjust:110%}.content-inner.content-inner :is(a:has(code,img),pre a){color:var(--link-color);text-shadow:none;text-decoration:none;background-image:none}.content-inner.content-inner :is(a:has(code,img),pre a):is(:visited,:active,:focus,:hover){color:var(--link-visited-color)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:var(--borderRadius-sm);padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner code.inline{border-radius:var(--borderRadius-sm);word-wrap:break-word}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:1em;scrollbar-width:thin}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:var(--text-xs);font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre:has(code),.content-inner section>pre:has(code){margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%,to{background-color:var(--textDetailBackground)}50%{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:1em 0;padding:.5em .85em .5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--textDetailAccent);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .signature{font-family:var(--monoFontFamily);font-size:13px;font-weight:700;line-height:2em}.content-inner .detail-header:hover a.detail-link,.content-inner .detail-header a.detail-link:focus{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:var(--transition-opacity);position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:var(--text-xs);font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:1em;background-color:var(--fnDeprecated);border-radius:var(--borderRadius-sm);margin:var(--baseLineHeight) 0}.content-inner .footer{margin:4em auto 1em;text-align:center;font-size:var(--text-sm)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em;gap:12px}.bottom-actions-item{flex:1 1 0%}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:var(--borderRadius-sm);border:1px solid var(--bottomActionsBtnBorder);padding:12px 16px;min-width:150px;transition:var(--transition-all)}.content-inner .bottom-actions .bottom-actions-button:hover{border-color:var(--mainLight)}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--textHeaders);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button .title{color:var(--bottomActionsBtnTitle)}.content-inner .bottom-actions .bottom-actions-button[rel=prev]{text-align:start}.content-inner .bottom-actions .bottom-actions-button[rel=next]{text-align:end}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}}.page-cheatmd .content-inner{--horizontal-space: 1.5em;--vertical-space: 1em}@media (max-width: 600px){.page-cheatmd .content-inner{--horizontal-space: 1em;--vertical-space: .75em}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd .content-inner h1{margin-bottom:var(--vertical-space)}.page-cheatmd .content-inner h2{margin:var(--vertical-space) 0;column-span:all;color:var(--gray700);font-weight:500}.dark .page-cheatmd .content-inner h2{color:var(--gray200)}.page-cheatmd .content-inner h3{margin:0 0 1em;font-weight:400}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3 .text{overflow:hidden}.page-cheatmd .content-inner h3 .text:after{content:"";margin-left:calc(var(--horizontal-space) / 2);vertical-align:baseline;display:inline-block;width:100%;height:1px;margin-right:-100%;margin-bottom:5px;background-color:var(--codeBorder)}.page-cheatmd .content-inner h4{display:block;margin:0;padding:.25em var(--horizontal-space);font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.dark .page-cheatmd .content-inner h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .content-inner .h2 p{margin:0;display:block;background:var(--gray50);padding:var(--vertical-space) var(--horizontal-space)}.dark .page-cheatmd .content-inner .h2 p{background:var(--gray700)}.page-cheatmd .content-inner .h2 p>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner pre code{padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd .content-inner .h2 pre{margin:0}.page-cheatmd .content-inner .h2 pre+pre{margin-top:-1px}.page-cheatmd .content-inner pre.wrap{white-space:break-spaces}@media screen and (max-width: 768px){.page-cheatmd .content-inner pre code{border-left-width:1px!important;border-right-width:1px!important}}.page-cheatmd .content-inner .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .content-inner .h2 th{padding:var(--vertical-space) var(--horizontal-space);line-height:inherit;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td{padding:var(--vertical-space) var(--horizontal-space);border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner .h2 thead{background-color:var(--gray50)}.dark .page-cheatmd .content-inner .h2 thead{background-color:var(--gray700)}.page-cheatmd .content-inner .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .content-inner .h2 :is(ul,ol){margin:0;padding:0}.page-cheatmd .content-inner .h2 li{list-style-position:inside;padding:.5em var(--horizontal-space);line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder);margin-top:0}.page-cheatmd .content-inner .h2 :is(ul,ol)+pre code{border-top:0}.page-cheatmd .content-inner .h2 li>code{color:#eb5757;border-radius:var(--borderRadius-sm);padding:.2em .4em}.page-cheatmd .content-inner section.width-50{display:block;width:50%;margin:0}.page-cheatmd .content-inner section.width-50>section>table{width:100%}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:40px}.page-cheatmd .content-inner section.col-2{column-count:2;height:auto}.page-cheatmd .content-inner section.col-2-left{display:grid;grid-template-columns:calc(100% / 3) auto}.page-cheatmd .content-inner section.col-2-left>h2{grid-column-end:span 2}.page-cheatmd .content-inner section.col-3{column-count:3;height:auto}.page-cheatmd .content-inner section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-4>ul>li{flex:0 0 25%}.page-cheatmd .content-inner section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 calc(100% / 6)}@media screen and (max-width: 1400px){.page-cheatmd .content-inner section.col-3{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 25%}}@media screen and (max-width: 1000px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 calc(100% / 3)}}@media screen and (max-width: 600px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 50%}.page-cheatmd .content-inner section.width-50{width:100%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;position:absolute;top:50%;left:calc(50% - 32px)}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;color:var(--textHeaders);transition:var(--transition-colors)}#search .result-id a:is(:visited,:active){color:var(--textHeaders)}#search .result-id a:is(:hover,:focus){color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:var(--borderRadius-sm);box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:var(--transition-colors)}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:var(--transition-opacity)}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:var(--borderRadius-sm);font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center;font-size:var(--text-sm)}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;position:absolute;width:calc(100% - 32px);top:55px}.autocomplete .triangle{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--autocompleteBackground);position:absolute;top:8px;left:26px;transform:translate(-50%);z-index:100;background-color:transparent}.autocomplete-preview{width:100%;margin:0;height:100%;line-height:20px;background-color:var(--background);font-family:var(--sansFontFamily);border:4px solid var(--autocompleteBorder);padding:12px 16px}.autocomplete-preview div,.autocomplete-preview span{display:none}.autocomplete-preview.loading div{float:left;display:block;border:5px solid var(--autocompleteBorder);border-radius:50%;border-top:5px solid var(--textDetailAccent);width:20px;height:20px;animation:spinner 4s linear infinite}.autocomplete-preview.loading span{color:var(--autocompleteResults);display:inline;margin-left:6px}.autocomplete-preview.loading span:after{color:var(--autocompleteResults);content:"Loading"}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.autocomplete-preview.loading iframe{height:0}.autocomplete-preview iframe{width:100%;height:100%;border:0}.autocomplete-results{list-style:none;margin:0;padding:15px 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--autocompleteResults);font-family:var(--sansFontFamily);font-weight:300;font-size:.9rem}.autocomplete-results .query{margin-right:auto}.autocomplete-results .bold{color:var(--autocompleteResultsBold);font-weight:400}.autocomplete.shown{display:block}.autocomplete-container{position:absolute;top:15px;width:100%;z-index:200}.autocomplete-suggestions{background-color:var(--autocompleteBackground);border-radius:var(--borderRadius-base);box-shadow:0 15px 99px 0 var(--autocompleteBorder);overflow-y:auto;max-height:450px;white-space:normal;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin}.autocomplete-suggestions.previewing:has(.selected){max-height:80vh}.autocomplete-suggestions.previewing:has(.selected) .autocomplete-suggestion:not(.selected){display:none}.autocomplete-suggestions.previewing:not(:has(.selected)) .autocomplete-preview{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview{display:none}.autocomplete-suggestion{color:var(--textHeaders)!important;display:block;padding:12px 20px;text-decoration:none!important;transition:var(--transition-colors);border-top:1px solid var(--suggestionBorder);font-size:.9rem}.autocomplete-suggestion.selected{background-color:var(--autocompleteSelected);box-shadow:inset 2px 0 var(--main)}.autocomplete-suggestion:hover{background-color:var(--autocompleteHover)}.autocomplete-suggestion:not(.selected) .autocomplete-preview-indicator{display:none}.autocomplete-preview-indicator{float:right}.autocomplete-preview-indicator button{color:var(--iconAction);display:flex;align-items:center;text-decoration:none;border:1px solid var(--suggestionBorder);border-radius:var(--borderRadius-base);transition:var(--transition-colors);background-color:var(--autocompletePreview);cursor:pointer;padding:4px 8px;font-size:var(--text-sm)}.autocomplete-preview-indicator button:hover{color:var(--iconActionHover);background-color:var(--autocompleteHover)}.autocomplete-preview-indicator button i{margin-right:4px}.autocomplete-suggestions.previewing .autocomplete-preview-indicator-closed{display:none}.autocomplete-suggestions:not(.previewing) .autocomplete-preview-indicator-open{display:none}.autocomplete-suggestion:hover:not(.selected) .autocomplete-preview-indicator-closed{display:block}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{background-color:var(--autocompleteLabelBack);opacity:.6;color:var(--autocompleteLabelFont);padding:4px 8px;border-radius:4px;margin-left:5px;text-transform:uppercase;font-family:var(--sansFontFamily);font-size:.7rem}.autocomplete-suggestion .header{margin-right:5px}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media screen and (hover: none){.autocomplete-preview-indicator,.autocomplete-results .press-return{display:none!important}}.tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}.tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}.tooltip .tooltip-body{border:1px solid var(--codeBorder);border-radius:var(--borderRadius-sm);overflow:auto}.tooltip .tooltip-body .signature{min-width:320px;width:100%;line-height:1em}.tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}.tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}.tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}.tooltip .tooltip-body .version-info{float:right;font-family:var(--monoFontFamily);font-weight:400;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:7px;right:8px;padding:8px;background-color:transparent;backdrop-filter:blur(8px);border-radius:var(--borderRadius-sm);border:1px solid var(--codeBorder);cursor:pointer;transition:var(--transition-all);font-size:var(--text-sm);line-height:24px;color:currentColor;& svg[aria-live=polite]{display:none}}.copy-button svg{opacity:.5;transition:var(--transition-all)}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{opacity:1;color:var(--success);& svg[aria-live=polite]{display:block}}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:var(--text-sm);background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:var(--borderRadius-base);transition:var(--transition-all)}#settings-modal-content .input:focus{border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray400)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:var(--text-md)}#settings-modal-content .switch-button-container>div>p{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-sm);line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:var(--transition-all)}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#toast{visibility:hidden;opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:var(--borderRadius-base);border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out;cursor:default}#toast.show{visibility:visible;opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.body-wrapper{display:block}.sidebar,.sidebar-button,.top-search{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{break-inside:avoid}#toast{display:none}.content-inner{padding:0}.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner section.admonition{border:2px solid var(--gray400)}.content-inner section.admonition>.admonition-title{color:var(--textHeaders);border-bottom:2px solid var(--gray400)}.content-inner pre code.makeup{border-color:var(--gray400);white-space:break-spaces;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray400)}}@media print{.page-cheatmd .content-inner *{background-color:transparent!important;border-color:var(--gray400)!important}.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.7em}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:30px}.page-cheatmd .content-inner section.col-2{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:grid}.page-cheatmd .content-inner section.col-3{column-count:3}.page-cheatmd .content-inner h1{margin-top:0;margin-bottom:.5em}.page-cheatmd .content-inner h2.section-heading{font-weight:700;margin-top:1em;column-span:all}.page-cheatmd .content-inner section.h2{break-inside:avoid}.page-cheatmd .content-inner h3{font-weight:700;color:var(--mainDark)}.page-cheatmd .content-inner h3:after{height:2px;background-color:var(--gray400)}.page-cheatmd .content-inner section.h3{min-width:300px;break-inside:avoid}.page-cheatmd .content-inner h4{padding:.5em 0;border:none;font-weight:700;color:#000}.page-cheatmd .content-inner .h2 p{padding-left:0;padding-right:0;border:none!important}.page-cheatmd .content-inner code{line-height:1.5em}.page-cheatmd .content-inner .h2 table{font-variant-numeric:tabular-nums;break-inside:avoid}.page-cheatmd .content-inner .h2 :is(th,td){vertical-align:top;padding-left:0;padding-right:0}.page-cheatmd .content-inner .h2 thead{border-style:solid none;border-width:1px}.page-cheatmd .content-inner .h2 tr{border-bottom:none}.page-cheatmd .content-inner .h2 th{font-weight:700}.page-cheatmd .content-inner .h2 li{padding-left:0;padding-right:0;vertical-align:middle;border-bottom:none}.page-cheatmd .content-inner pre:hover button.copy-button,.page-cheatmd .content-inner div.tooltip{display:none}.page-cheatmd .content-inner footer p:not(.built-using){display:none}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0;border:var(--borderWidth) solid var(--tabBorder);padding:0 var(--tabsetPadding);border-radius:var(--borderRadius-lg)}.tabset-tablist{display:flex;overflow:auto;scrollbar-width:thin;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--tabBorderTop)}.tabset-tab{padding:1.1rem var(--tabsetPadding);font-family:var(--sansFontFamily);color:var(--textColor);margin-right:calc(-1 * var(--borderWidth));background-color:transparent;border:0;box-shadow:none;cursor:pointer;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent;transition:var(--transition-all)}:hover.tabset-tab{border-bottom-color:var(--tabBorderTop);color:var(--textHeaders)}.tabset-tab[aria-selected=true]{border-bottom-color:var(--mainLight);color:var(--textHeaders)}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--mainLight);border-color:var(--mainLight);color:var(--white)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre,.tabset-panel blockquote,.tabset-panel section.admonition{margin-left:calc(-1 * var(--tabsetPadding))!important;margin-right:calc(-1 * var(--tabsetPadding))!important}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}@media screen and (max-width: 768px){.tabset-panel>:is(:first-child){&:is(table){margin:.5em 0}}}@media screen and (min-width: 769px){.tabset-panel>:is(:first-child){&:is(blockquote,.admonition){margin-top:1.5em}&:is(p:has(img)){margin-top:1.25em}&:is(table){margin-top:.75em}}.tabset-panel>:is(:last-child){&:is(blockquote,.admonition){margin-bottom:1.5em}&:is(p:not(:has(img)),ul,ol){margin-bottom:1.25em}&:is(table){margin-bottom:.75em}}}body.preview{--sidebarWidth: 0px;overflow:hidden}body.preview .content{height:auto}body.preview .content-inner{padding:0}body.preview .sidebar,body.preview #sidebar-menu,body.preview .hover-link,body.preview .detail-link{display:none}body.preview :is(h1,h2,h3):first-of-type{margin-top:0}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} +/*! Bundled license information: + +modern-normalize/modern-normalize.css: + (*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize *) +*/ diff --git a/lib/ex_doc/formatter/html/templates/sidebar_template.eex b/lib/ex_doc/formatter/html/templates/sidebar_template.eex index 999e0574b..9c66481cf 100644 --- a/lib/ex_doc/formatter/html/templates/sidebar_template.eex +++ b/lib/ex_doc/formatter/html/templates/sidebar_template.eex @@ -43,6 +43,11 @@ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true"> <i class="ri-close-line ri-lg" title="Cancel search"></i> </button> + <select name="type" class="search-type online-only" disabled> + <option value="local">Local</option> + <option value="related" disabled>Related</option> + <option value="latest" disabled>Latest</option> + </select> </form> <div class="autocomplete"> </div> From b22465b98fd8cc5d35c90eecdd2fa94a38c2c059 Mon Sep 17 00:00:00 2001 From: James Harton <james@harton.nz> Date: Tue, 25 Feb 2025 11:14:30 +1300 Subject: [PATCH 5/5] improvement: Publish `related_packages` as part of the `searchNodes` var. --- lib/ex_doc/config.ex | 2 + lib/ex_doc/formatter/html.ex | 2 +- lib/ex_doc/formatter/html/search_data.ex | 49 +++++++++++++++---- .../html/templates/head_template.eex | 2 +- 4 files changed, 43 insertions(+), 12 deletions(-) diff --git a/lib/ex_doc/config.ex b/lib/ex_doc/config.ex index de4ba82da..2fb04f851 100644 --- a/lib/ex_doc/config.ex +++ b/lib/ex_doc/config.ex @@ -44,6 +44,7 @@ defmodule ExDoc.Config do proglang: :elixir, project: nil, redirects: %{}, + related_packages: [], retriever: ExDoc.Retriever, skip_undefined_reference_warnings_on: &__MODULE__.skip_undefined_reference_warnings_on/1, @@ -87,6 +88,7 @@ defmodule ExDoc.Config do package: :atom | nil, project: nil | String.t(), redirects: %{optional(String.t()) => String.t()} | [{String.t(), String.t()}], + related_packages: [:atom | %{name: :atom, version: Version.t()}], retriever: atom(), skip_undefined_reference_warnings_on: (String.t() -> boolean), skip_code_autolink_to: (String.t() -> boolean), diff --git a/lib/ex_doc/formatter/html.ex b/lib/ex_doc/formatter/html.ex index 201cd7b0e..ea6e6d1ad 100644 --- a/lib/ex_doc/formatter/html.ex +++ b/lib/ex_doc/formatter/html.ex @@ -193,7 +193,7 @@ defmodule ExDoc.Formatter.HTML do end defp generate_search_data(linked, extras, config) do - content = SearchData.create(linked, extras, config.proglang) + content = SearchData.create(linked, extras, config) path = "dist/search_data-#{digest(content)}.js" File.write!(Path.join(config.output, path), content) [path] diff --git a/lib/ex_doc/formatter/html/search_data.ex b/lib/ex_doc/formatter/html/search_data.ex index c72515814..29c0eee07 100644 --- a/lib/ex_doc/formatter/html/search_data.ex +++ b/lib/ex_doc/formatter/html/search_data.ex @@ -2,22 +2,51 @@ defmodule ExDoc.Formatter.HTML.SearchData do @moduledoc false alias ExDoc.Utils - def create(nodes, extras, proglang) do + def create(nodes, extras, config) do items = Enum.flat_map(nodes, &module/1) ++ Enum.flat_map(extras, &extra/1) - data = %{ - items: items, - content_type: "text/markdown", - proglang: proglang, - producer: %{ - name: "ex_doc", - version: to_string(Application.spec(:ex_doc)[:vsn]) + search_data = + %{ + items: items, + content_type: "text/markdown", + proglang: config.proglang, + producer: %{ + name: "ex_doc", + version: to_string(Application.spec(:ex_doc)[:vsn]) + } } - } - ["searchData=" | ExDoc.Utils.to_json(data)] + search_nodes = + [ + %{name: config.package, version: config.version} + ] + |> maybe_append_related_packages(config.related_packages) + + [ + "searchData=", + ExDoc.Utils.to_json(search_data), + "\nsearchNodes=", + ExDoc.Utils.to_json(search_nodes) + ] + end + + defp maybe_append_related_packages(search_nodes, related_packages) + when length(related_packages) > 0 do + related_packages = + related_packages + |> Enum.map(fn + %{name: name, version: version} -> + %{name: name, version: to_string(version)} + + name when is_atom(name) -> + %{name: name, version: "*"} + end) + + Enum.concat(search_nodes, related_packages) end + defp maybe_append_related_packages(search_nodes, _related_packages), do: search_nodes + defp extra(map) do if custom_search_data = map[:search_data] do extra_search_data(map, custom_search_data) diff --git a/lib/ex_doc/formatter/html/templates/head_template.eex b/lib/ex_doc/formatter/html/templates/head_template.eex index 790fec72a..63a82a89d 100644 --- a/lib/ex_doc/formatter/html/templates/head_template.eex +++ b/lib/ex_doc/formatter/html/templates/head_template.eex @@ -21,7 +21,7 @@ <link rel="canonical" href="<%= config.canonical %>" /> <% end %> <script defer src="<%= Assets.rev config.output, "dist/sidebar_items-*.js" %>"></script> - <script defer src="docs_config.js"></script> + <script defer src="<%= Assets.rev config.output, "dist/search_data-*.js" %>"></script> <script defer src="dist/<%= Assets.js_filename() %>"></script> <%= before_closing_head_tag(config, :html) %> </head>