From b33c4df23f007a8a7eb6721c049b80f6d8a20815 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Fri, 22 Mar 2024 03:10:24 +0000 Subject: [PATCH] build based on 7bd4676 --- dev/404.html | 12 +++---- dev/API.html | 20 ++++++------ dev/architecture.pptx | Bin 47840 -> 0 bytes dev/assets/API.md.CfF3NmNB.lean.js | 1 - ...{API.md.CfF3NmNB.js => API.md.DTVXxwSH.js} | 4 +-- dev/assets/API.md.DTVXxwSH.lean.js | 1 + dev/assets/app.DGNdeVFL.js | 7 ---- dev/assets/app.DvvBbGJ8.js | 7 ++++ .../chunks/@localSearchIndexroot.D4YodZar.js | 1 + .../chunks/@localSearchIndexroot.D7cbWRs2.js | 1 - ...4VtkPM.js => VPLocalSearchBox.-AZ4MAmB.js} | 14 ++++---- dev/assets/chunks/framework.BResyDFY.js | 17 ---------- dev/assets/chunks/framework.CUwTDK2x.js | 17 ++++++++++ dev/assets/chunks/theme.5Q-JEVsf.js | 7 ---- dev/assets/chunks/theme.Ddw-j1ke.js | 7 ++++ .../decision-tree.Dqh78YdA.png} | Bin dev/assets/design.md.0tBnC0I_.js | 30 ++++++++++++++++++ dev/assets/design.md.0tBnC0I_.lean.js | 1 + dev/assets/design.md.CXyLal5T.js | 30 ------------------ dev/assets/design.md.CXyLal5T.lean.js | 1 - ...ex.md.CTJC3X05.js => index.md.6G8I0lEX.js} | 2 +- ...3X05.lean.js => index.md.6G8I0lEX.lean.js} | 2 +- ...s.md.BfCHGEUK.js => models.md.CuUA2Mbx.js} | 4 +-- ...EUK.lean.js => models.md.CuUA2Mbx.lean.js} | 2 +- .../neurotree.vCO5vhkM.png} | Bin ...BP9XKzHk.js => quick-start.md.BAS8qdd6.js} | 6 ++-- dev/assets/quick-start.md.BAS8qdd6.lean.js | 1 + dev/assets/quick-start.md.BP9XKzHk.lean.js | 1 - ...{style.te4yWCQZ.css => style.X8RF7YHI.css} | 2 +- ...orials-classification-iris.md.B2d12MNu.js} | 4 +-- ...s-classification-iris.md.B2d12MNu.lean.js} | 2 +- ...tutorials-logistic-titanic.md.C6NYXUQN.js} | 4 +-- ...ials-logistic-titanic.md.C6NYXUQN.lean.js} | 2 +- ...ials-regression-boston.md.CrsWgv-f.lean.js | 1 - ...utorials-regression-boston.md.nTriyBwB.js} | 6 ++-- ...ials-regression-boston.md.nTriyBwB.lean.js | 1 + dev/design.html | 20 ++++++------ dev/hashmap.json | 2 +- dev/index.html | 18 +++++------ dev/{evo-chevron.png => logo.png} | Bin dev/models.html | 20 ++++++------ dev/quick-start.html | 22 ++++++------- dev/tutorials-classification-iris.html | 22 ++++++------- dev/tutorials-logistic-titanic.html | 22 ++++++------- dev/tutorials-regression-boston.html | 22 ++++++------- 45 files changed, 183 insertions(+), 183 deletions(-) delete mode 100644 dev/architecture.pptx delete mode 100644 dev/assets/API.md.CfF3NmNB.lean.js rename dev/assets/{API.md.CfF3NmNB.js => API.md.DTVXxwSH.js} (94%) create mode 100644 dev/assets/API.md.DTVXxwSH.lean.js delete mode 100644 dev/assets/app.DGNdeVFL.js create mode 100644 dev/assets/app.DvvBbGJ8.js create mode 100644 dev/assets/chunks/@localSearchIndexroot.D4YodZar.js delete mode 100644 dev/assets/chunks/@localSearchIndexroot.D7cbWRs2.js rename dev/assets/chunks/{VPLocalSearchBox.B14VtkPM.js => VPLocalSearchBox.-AZ4MAmB.js} (89%) delete mode 100644 dev/assets/chunks/framework.BResyDFY.js create mode 100644 dev/assets/chunks/framework.CUwTDK2x.js delete mode 100644 dev/assets/chunks/theme.5Q-JEVsf.js create mode 100644 dev/assets/chunks/theme.Ddw-j1ke.js rename dev/{decision-tree.png => assets/decision-tree.Dqh78YdA.png} (100%) create mode 100644 dev/assets/design.md.0tBnC0I_.js create mode 100644 dev/assets/design.md.0tBnC0I_.lean.js delete mode 100644 dev/assets/design.md.CXyLal5T.js delete mode 100644 dev/assets/design.md.CXyLal5T.lean.js rename dev/assets/{index.md.CTJC3X05.js => index.md.6G8I0lEX.js} (91%) rename dev/assets/{index.md.CTJC3X05.lean.js => index.md.6G8I0lEX.lean.js} (91%) rename dev/assets/{models.md.BfCHGEUK.js => models.md.CuUA2Mbx.js} (97%) rename dev/assets/{models.md.BfCHGEUK.lean.js => models.md.CuUA2Mbx.lean.js} (66%) rename dev/{neurotree.png => assets/neurotree.vCO5vhkM.png} (100%) rename dev/assets/{quick-start.md.BP9XKzHk.js => quick-start.md.BAS8qdd6.js} (89%) create mode 100644 dev/assets/quick-start.md.BAS8qdd6.lean.js delete mode 100644 dev/assets/quick-start.md.BP9XKzHk.lean.js rename dev/assets/{style.te4yWCQZ.css => style.X8RF7YHI.css} (62%) rename dev/assets/{tutorials-classification-iris.md.D9s1vaUF.js => tutorials-classification-iris.md.B2d12MNu.js} (94%) rename dev/assets/{tutorials-classification-iris.md.D9s1vaUF.lean.js => tutorials-classification-iris.md.B2d12MNu.lean.js} (73%) rename dev/assets/{tutorials-logistic-titanic.md.CGZ87Zr8.js => tutorials-logistic-titanic.md.C6NYXUQN.js} (95%) rename dev/assets/{tutorials-logistic-titanic.md.CGZ87Zr8.lean.js => tutorials-logistic-titanic.md.C6NYXUQN.lean.js} (73%) delete mode 100644 dev/assets/tutorials-regression-boston.md.CrsWgv-f.lean.js rename dev/assets/{tutorials-regression-boston.md.CrsWgv-f.js => tutorials-regression-boston.md.nTriyBwB.js} (94%) create mode 100644 dev/assets/tutorials-regression-boston.md.nTriyBwB.lean.js rename dev/{evo-chevron.png => logo.png} (100%) diff --git a/dev/404.html b/dev/404.html index 091e3be..f4dfeb6 100644 --- a/dev/404.html +++ b/dev/404.html @@ -5,18 +5,18 @@ 404 | NeuroTreeModels - - + + - + - + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ \ No newline at end of file diff --git a/dev/API.html b/dev/API.html index f7059a8..8fd5eaa 100644 --- a/dev/API.html +++ b/dev/API.html @@ -5,20 +5,20 @@ API | NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

API

Training

# NeuroTreeModels.fitFunction.
julia
function fit(
+    
Skip to content

API

Training

# NeuroTreeModels.fitFunction.
julia
function fit(
     config::NeuroTreeRegressor,
     dtrain;
     feature_names,
@@ -31,8 +31,8 @@
     early_stopping_rounds=9999,
     verbosity=1,
     return_logger=false
-)

Training function of NeuroTreeModels' internal API.

Arguments

  • config::NeuroTreeRegressor

  • dtrain: Must be a AbstractDataFrame

Keyword arguments

  • feature_names: Required kwarg, a Vector{Symbol} or Vector{String} of the feature names.

  • target_name Required kwarg, a Symbol or String indicating the name of the target variable.

  • weight_name=nothing

  • offset_name=nothing

  • deval=nothing Data for tracking evaluation metric and perform early stopping.

  • metric=nothing: evaluation metric tracked on deval. Can be one of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • print_every_n=9999

  • early_stopping_rounds=9999

  • verbosity=1

  • return_logger=false

source


Inference

# NeuroTreeModels.inferFunction.

infer(m::NeuroTreeModel, data)

Return the inference of a NeuroTreeModel over data, where data is AbstractDataFrame.

source


- +)

Training function of NeuroTreeModels' internal API.

Arguments

  • config::NeuroTreeRegressor

  • dtrain: Must be a AbstractDataFrame

Keyword arguments

  • feature_names: Required kwarg, a Vector{Symbol} or Vector{String} of the feature names.

  • target_name Required kwarg, a Symbol or String indicating the name of the target variable.

  • weight_name=nothing

  • offset_name=nothing

  • deval=nothing Data for tracking evaluation metric and perform early stopping.

  • metric=nothing: evaluation metric tracked on deval. Can be one of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • print_every_n=9999

  • early_stopping_rounds=9999

  • verbosity=1

  • return_logger=false

source


Inference

# NeuroTreeModels.inferFunction.

infer(m::NeuroTreeModel, data)

Return the inference of a NeuroTreeModel over data, where data is AbstractDataFrame.

source


+ \ No newline at end of file diff --git a/dev/architecture.pptx b/dev/architecture.pptx deleted file mode 100644 index 78ac164c8adf92014475c89556c494e7827613f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47840 zcmagFW3VVo&@H%a+qP}nwr$(CZQHhO+cwYH_L+0<_u|c)nHw=bsw1kivno0&t8(S4 zOa*CR5EK9~00;m8073v}4+O_NAOL_wSO5T&zi%8IT<9H~Or1^bTnt?-?d|A1Y;A7R zckQwnFv8}^Z}Af3$)(=N6(v?{jI&lG6_@n_pyh(CY)rTiV=D~m@St`*75Zm_e z=i$dT9=C->Yk3iyPH05$WejRNhf*8uXUqKs*GhO34qfYY$c)fH>!wy zQQ?(zVKhz=iRNLC2p)+8HXt+e0!2mVjPAV0e|mO9BEj|Y-ulvw18?@Hl>>8jBo$8z zz`*EIhJR%gQ9vT^G6G_%i?o^L8q}28A>`CRH4SoCD)!l~ynk zz6H{bX8T#D>0#B}2DOB$H2kP>r&XVo=2ayiOv<|CuoFGK0wA+@owU$2B`Ga0R!91j z4{aGwl)=q*_ckzT(z@0desKD5?o*j5m(u=@Ie-p45Sus+O_;_TFCIJ0@o2H=!IMQ8 z>pDn`4_tcq?ahZ9k{BPh^Z@C_SBKxd2vJeI1Ox>hfJD!@8Xv%til(pv{Ln+f7@a@w>8qH<1)lMcw@NJe2OtnotJ$RY@x}$0KShVs}G?Z0Iu`}FjS^PQQ&-D1$ zhT10la$FTzZyI7Ok^LpH}ueeZMN?W zGEYi3dG~ov->vxOmC;l$ttO@FVpwVC-3 zoM7|S(_=M2lF1g!q#@`V3hZ61oQylsf(LuY>t7o(_2jZkJBI$kI3O(WApe06iP?1` zRvmJomPPO9DaxiRi?@J(f(GkNkJ6+($CCrUzSKGGF&Gm~EU{5U#XO0M!g+JqbGqHF zniN07cZ?A>$5N&aOBB6L&^k;3Q;Uh@AJyX-9Qjt}iQO^WVu0K#mm$Y@!UyP^SuV4x z=KPbOHcjX30tB=c;dV*R^8>v7>&gO4W0}ICwh^0qjl&H%n#db#gwb&vVy`X;kng%W zXS5*O8yy5zN;_ZuQr0>JHGqsk4a1HFrQt}69>z~yxThmRy}aCRYLM+He&`k%UrGH) zLI>Q?9Noi&d%`g^NB{-#hJ$W%kQH-HcG}-$bqOIjakC*sx*&;lMxoLQ^)mUP1n*(H zVd^gA45ki%e+9|IPmxt$rua>zjhI;=WvILJO8^&sIK0f?yv;crJ-I63Jw1hT12dD- zzJ#8X!M*2bmFJ#EsUD?0Doy{PJ805#{U{%W{XiixLTOCux?LI-&5w=p;c4t3b+9Q1 zTNg38FkA~A8|{01YlOoiOscI%BsCM%aB--y+T0Po_vr8~jLLM82IyG2* zo=qa(pi!Tniox_cR+aTEio@<{2F@j|V~;j;&pu;M#!Rg?+^w|?xroyb61;IgkpfZg zZ>?m<3$OkGnIxmVRh&$ZKi0F3kTo51y?!v>DH5QHPHopO*jg#4E-s0Q$F6}O@JUBl zZpfi7Y{t%svqU)(GU`G~sGex&qQ523XYEy^CmxfiBhNS5?u6N=u9ny41o|c6xW!jG z&I?SgdL~qw5T%5HTK9k|5=3_gnuQXd0I|Z|LK4rB{>UqzgD6CtOQW5ySBHH!DJk3_ z;6zxpNb^x@DA`HT@DH<*p$(x4YB$Y~?j4n0-dS{wtCB{!=Kp$ZW>QK1vBJ;9O3|&*USIqJYkku^hbvjHl&WY_bMr0*vkr8{{`_=Lmsi{$J?y; zZY@6km0p@nJ^2>N$8hX?)yXa1X|7Qzt^i=Xp~8s2fp#7nnL2O77&(L2VqDbQ6+-1;Ck;{%ey9LyQXylwo$qa@5BSf+BT#tO@3VAr4oMtNZU~XR^-i8+5jSytNJKcBn?bi#NUl7JIJ;idk?T3S z<)U}a%GgcTAh#IehViH-+Nx@=l3&^#kShz)`B2pFUiZl+b zBa6stQUxA#QN29@hLKU0Gu7Y8NEeA*kfBtLc{{4qKa|%A7m_QQ#6d5E4wh4@;jsLV5YB#cC-Zo15TceRLXRB($lA=xmBQay%OD6m>b(zo9YmwnSbi8%2Mp^ z=G5}5m2xMZs#={M!dQ=_Gs@NO=3MlpSM-rtZc1)2{b`DbggJ;Sh{hVa`cYoFS@8LC1qp>{F?(YQ1?Ij-b@WZ2x-TynuCA zB{f=~mPTBmW5L6!KLM4lbIYPRG><|o*aQ;jlFLken)PPYkP;;xCVrnE^rW|?z-ine z>k{Ek`dlfWONBf+a842J3Eh3fx&FWj+~Xl{)u;jJB02**gmP^W!(nL=8TkbMWG74( z;&7b?51g>}$5+!MKbN_O0NA-_T1KZA7+b_DNU2;32Tsc*L- zAIyd59PS8Sy%NCl9)A9}+@6peCA#46xbX@9=m+DS^xfxewYx)g4rqQqxp>nl!&CPe z%$}uy<#i}TF3#TV*{h^1%9*}OoU10C)Q-OWE{1;xoulOQhKF)Nko&#aTuqj@p^*>N zVh* zs#mJs++BBFXZGCIExmr}MRxZjwY$CMmg;t=v^SUD=3`M)H`N)2Fu#7OC@c2#mhklY zv}xj@V~(%pp$a=@qeq5&{o$p~Vrx>%Iihv!td{v$+Me~Y_FB_TneM}Q`^)CBhrjx+ zzj0RfaqeTAf3Lq;u+iZs3skks$u4tt9NU=9Uvu{}`JH^!zI^%V%Ft5%d-0jpqa%;= zod2c&k&o8@BFIK!CQqrkJOAZm_HHI`=dm*AU98l%K5XpP4P1WLGvA! zq|NTy^p&hy-MFJ%@faxNg2U`1?I+NXMg+!K02vVw!w6C+MM9u6jw$XPNO%?BjNd{&!y1ALVO;tt#tFuq>Y8XcRJkz zA?7pe<~E#t!+fucYrSne*vmHFOw7A4N}BZfoU7rR)1fP*zOybbsvfGU?JFilz7^gB zJRBCzvW_dfVz0-|^!HVqoIxA4tFBjQnW~#Q_l0RLuJDQ*yRV@C;v2p?5v_f7tc)Ly zR=QppZ%#Ve#lqmb`#ElSy=DW2&3P&Q$=VCuV`*2rYVX9S85|Kt4UUx+3u1vh%*pDJ zuGR9ZHL~Y3Ci1t&%U)*Ak@(WNrihy+3rxeKF(NbK$_PdPXcz$@1xOMn%OQtLj6y_X z2yUXN24xt-D~(W)L>Z4Y9Yfc^h3gPRK8~0Ry4Z=1VMyWt6m>yDlwgq}49hTNL7i5t zrwFU4cnBgn60y|3pZ@_Qc5=dK)Wuk24o!qg77@z{R(J#n84&<5ym+yOT$Z?ksLsG~ zHU&WqiSfiRj3X6#Dq(19@2?XDBn*oGMuL9vjB7OxSWm>Q@(!~yMfGuUW#G99)Aw5G33t@hN-5I<*)={6 zQ#Xg^w~yt7AJ_$y*qUzwc5tyuahmRI9(x;nxXFa;_`{!61f$ zS%DPDFhnq<7?QAFULb+_AeZ zT2ZD{?X6MqER#x=A&*E{pyd<-jyZr4S<+=E|gldd^iSHi0k<13Y3|D~MqTmm*1W z&=^A)&jBgyg_POkPqo}jZ9oGeWc9Y?UT=_^JrClAbmQgL4e^2s?e>j0@EF9q9uLF- zWl3ZJ6BC8VP^b+yo?$=`1A`i;K;-y959OwHeg~EIC;G7}Ajg1^pShlh1Y|Em{Tu3? zXnCD>`I-3o+|;Wsz9BXeg4vEOwoowOIssUM1&GQBQp)3Gq*|Ux*)hd4mAHNR4xf;Z zT7%Gl{-V`D-$Tf6v+)O<wB}JlR^o{8Z!`L5oAFF5`oO_Je@(PGR~wT z@{)C(psSiQ-6P{H>%-VCyX)7V@vsAm?%%nfNeNDr;fH72Y`E)NSbz9wsc+#eAD4Ua zFYB7<+PBDAdkeyA3A{Sh4th8 zRR7Pz@`D9yJ{SU*HZJLSadVRnUhH`Fq-K|d8vTQ5)?jmTj|K_p7meKbGSNFsBi)&C zR3i?3k|vwgF#0QGetymjnPrCj9J-|%TO!IO4<+Gwb@QfEYn-iT{zjT;SCGZk!g|va zk`$XKf4Vt4%*{ZJFZ|O##ejn|XczyjI+MrF8D{B;!NuVlI7CZcwy{r69QD5dg zNWZQ=**H4+C{fqYCeZY8;)*Z&)qTg)G`+OJ62}}HU2=1Kt}nT{BDnoySD<6+NVQTc zCii9zBi$VLOOUNEmpm|^m9x{;DxLGIo($ahp9teC5fo>XVceq)#}gtu1)0paiYQ*w zhj}WNMDb*zTI-K{>`?^I;#9O|$;A4HXw`S=Ec&3UGY=Jk*mc!h9RWP-dTaXBN2>h!vfnm*_5LX3`CmN{ zbbs9fYnevf_GebRr`q@I!@%MpR{~|5#f2uoaipuC0VQq6QD8S zY;m(m7TcVNL64*-ZjmemQH@W&z*ct0HbmF4U6JMYx~r!XP-+uoOh29na*-V8d|M!T zGYx$gQHH&;-4{FRiptDGMUTt-lQilbvd*APl+)c~)tb0qlI)z5zwZ1)T`>i z$9U5ZFk#ZWrQ4`-Z5hzcxn$@@GLR>9#5b-LH~|Y(S#wbhEQdsNQB@O{$~zMnG#9vq zs;2FU&UlL1a=T<=Pq%nTZ3SLJC(HJjYU@*LN0rT2TXME{_&%kM8&K&s?Upd}qwz1x z=Xq;KmQh^$?8dd9U6>ShObV|l0W?T?)riEWEds(Kgm(mH6WoHtuqjcZ9b({4wG9eJ z0f&HtLV`CcS-HEik=(axAh3NbKXPjP<;}}YSTkIh@m$l-*dOaGy6I;8ex-?R;;mCB z$nSk{hfZeo_+eAmp!8BSJjEMS7lq!(!qGI0UU52QNz8PUgNK3B zUdK+>+jY*Bmq!3A_dji*R7CKCSG&5q;6$$Ry1HX_OsTA7Yy1^b#JI5pvICi-D^(DP zH?T^GX;{?a46fcGRRl7MwAd9`MWL0MouO9Ki-DEE%J;J?a@&5-j0F0@2e|=nWGKJj zP#W@z1Qd}VK_@veAxVgCtGJ^f76m|N8-70tPz3a$naIIYU??=;qbv*;7Z{@kJiB5J zd?bWuP@^zmSb4%#PE(XXC>xOm^97!J)Ke5-jcKt$VHAsCF&7vJ4EiYyz{Ll}O**Wt zZ~j_v9MzaeP-PR^dcc6B6)q_urExLHQoF$goweZ@Pf=`aj^qAE$+$289}g7wvA(7q zxgkxOv_b?i4wgtv>m=7OB1Cb-p#&BFl~ceVMY?Jma$|TNRVUrqb8}pY0A6 zvF$0y+-g|T^&ESQd%%Qq@WeHFrs)DMf+BAy#5hiPV_}4+HNsg6v1p2LAC@XcEllI@ zJ;J4%2P-p7um~80OI(pW1HT~`0g+b}q7m^htb#Bj!jifM5tcTnO9T(2++R|6&e3zK z5iF0$z#?D~PjEz^S(_O;X7}20Z&z;Uq(036AAK}QR_~k*qKW=+K6$1Ji=K$T`s%{H z?mCUviZ-?|LJPs0AW8{b@i}cuRDS!K^Rc@ov#`EU<$rmrw$D|Cm}6h92^rH0G+mx0 zTHvz^b>p47>gYQ5#cE_h!0F~@X&|j1S6pYSV-#*>fN4IDrEOcbT4}p3=fwK%4b_E_ zxyx2_?8sc*I914)JyK+You-poRMMC|Ygayd!jtR*WAFBKf-}L*W=B1=Ka?SjZ;|y| zI-HvUpHwKfEB+MS;vBqfhbzlj!+em9mQMbTqTTEW-~&L#<*accQ?m4 z=+q9tkbU@D7rE!4Z1r&R3v73PF(LT+Dpq9}&+}m97b8Jd@-}fHEnupLNeO$>;4@)j zsPx9P^77h*3SbSQSnJv9Fc-PKnl5=g3Vm7~CuO*D`x@K(Y%}jgeTs$OJ15c%!u@g1 zL%F<=daXyBTgppEki>RJF6t(KTd>>Tmk0=2$Df2BB-MfIZzE-!-oXZabxqucrWb7u z)Ifm6_-M|f4vDGzV>Jq z>t1x!SGRyPlVh4oSV!N`f%6hwavW}q{T80H;fsr_Tmq5U7Cmaif83FTLE59r z;0p|5myZ5tVnapeIbuXZlgdS^^b0iP9$q$ghw4BI~K~?QCtanxiI2f$CcaVLebVF6$;&MaXUH4&N3vb0ZkPxt6Gx^2P;qyQ4Z#8p810P;nH*vF`_OUUby!2QLbF9oj^6#A6JJiAX@B6FC&;aLYM9 zB{*xv7a!m0g6=2B<$I|MJ{xY~{#{{z^xq-eGbBtv;}c;RBhsvbBrG{2jBY}_fkD-} zpiTrU z_+{xH=Pes&%%A;L2s%M&X&2msDu?!6D5pc3D|OZR+F z*6O;32JIiNq^Ct<%2Z8<)~w$@CLqVt6&Zb+gFf1Yv0M6jQ{Mj1dpv%1G?%_tovWh$ zNc5)bvI_d6XRc29b%&p_n&shLtyFg$w!3BhnKZV)TW{SXXIR4gx}(}m*vm`G%c)f= zsig*)f6a2yC3mAG9=qMiv#Z*wvHdD#uPR%uF1zk^FJZ4MvozhKsdr6vJe%xx^U;~P zwyxT}t@~$t_Uqbo+MGUfeZ=}4ZS%W>amAW08vE|#SM-_sv89h=chmLD#o5^|o!Q*G z`|W)Xt+YKh{Uvm=t)W@vg(22ngGc2;vf(h3RwY^Vm>_70hIQHE4 zXBGOLPpwXUnk-@P?RzX2HR+;lk6qPLUNpep*PQhG-4*ULu8KNgr%rXZ?~=K>QZ~re zP4@D1d1%m06zV)Z zIr=#b$^fu3f*Ax7MnF6Sn#l1wTySHlM>Iz87V8+4Vhr^pLz6_9R3!&X(v$UOJQ>N; z|0+SRSEIiu)Jt$)g^mGH(*O)rfgp+%D!_~ba5ZB+16)PnE!J}&Vk|OQivCB-LxFzc zU!9FYy#?k~=u`1T7!L5hGsIt!fdE4M01QT0lDGz_N#{HI0-%J(xq1fwFe;+YLwdej zCcq;hk&+C0wFWM=e?dG}eP8N&7+oA6&Iec2K{(3bTnbTyAyza3P+cid3}$-?3?ZQ3 zK?ZO*5d)2nSQLT;VyGMCQS>VevZxG-qaTW3zwaiK$;rA>6i3Nlf~8wU?i)>-;1_PG z!z9aq0(AS+LLi*)1u*lhFLT5zkx{{d`OPCQhl!f4d6%dGf_>|7$uH*W>B#gCxnM5717;L@Qyev%!)%^g}8!Z>CRUKxba{2|lvFViv}(AAC=7`SaK zE8$C7QZ=4PHIGu6bP0iY)J+<0AApz>D9|N+=A`RzseG2-6~+%*SsZ{zqzdQ$(elk# z@(Z&zv=8d8J{Rm3?O8n z5*c{2!^ANP3S?MP=MYF7SwseM(>ccjO5-oAgPMRudjQlGm4N6euHJ?647$7y`wL^A zzZrPf#W%)4LNLqA2w5N;Zk+)l#RNcUgb?9zJf5QmRCuE6oKD=fZiz>{0jWW30DA#% zh~+2Baj*9QnsUX*{EOo@w{l@Kpn*mk(*Pk5VgX=N0sKzf{1Ay#t^_`^GSHk+i^4OU zL(2{8sQAmX)NyM!l3LJ@pPrhH^ zKlmSK-P6&UFNGB9%cEZ&A^HW1YBS`~$(LU@9#60BfGZT*wd0S;zik-l~O;O=fROa@D2TPZvp;Kf>>)PqR<2n?66snNa4mcQLK7ep~ zz^jZ9p^7JQ5RuAHy0g)PlQO!h*586Lcr@0pD?@H-)XK5Tk5N;H1-EZd_J(K%Yo)~d zTh+oaGTzlm3pdk?3&oWm-w%kygvuiL6_t`A9qDN1q` zT7**MS*_o(ura~ao#lM})8xxZvu^e8?Tp}SoSc#G;8*Ls-tg&of&VHGoEc8FaBD-xrpxf`4LN-zfT_) zy7p--dGZ96j=w7(ALZ3_260QENp^811zLtu{#ey^Q#Mf7bX~ONk~*!Q7uI&&Y|P!< z&RK<(-b_7{zRY=aQ+2?m>a6QWSKw8cW}lA!*63t;%Dpa+7+>mjruGb#P~3U)qv%S< zWLFI#lXmTXNz7`v=`;Nq#{AsbI+AJu_3`s2hvjce$T<<(A9tJFm5j~F79DjNe;fRC z*1Glmz7O-T<GySfQYAUM=_1jL%F(_~M2-Ir?>MiBQBoJ>p zV^=i~xE<>3IT(YQA~VXU7GiHC>ZyzaDOe-ch}FO-R8E1$BV40VFDkXMQx0({A-Pnr zaiiOza}b0|wJ+T@folo%Gg6hpuc zBu)uKhS}PMtzW*8sOlQXyb-GeYT#6AHvpqjZV{;$l^Tx2AtxdM;)1|yLjlcMKy$t2 z6V#Irx>mqgUg@In7GAMx@?UYBW}&cr1WdF<>JQz>%e( z=`;ehC1YeaIyEO|LAg+~;Qwd{j9wv}*SLghROUsYy76V{Ddv*Q8s8#85)4Wxc&^YI zcP10{HHFFkDUq_q(tv5fWvCz(by3&+TcF!%!7I`z5O(i+VH&4%u4j(V> z^ZX7T-2T{YIk>G}kA-Zsi^BY+f$c%0!UFFAU}Q^&OBN#8i~g%=;{js*3@}+}!AqnU zOiv1A@WwOXm7XJ*M(DL(A9kpgT@3oL@56|K4yT*q!WD97VbBe;S5vIm+;LN zeR01ELEU6pXf)-iMuIu0;gY}`B-pYs;ZEIRJHp*H6t7!`rU| zLc-|-wE)Ln!il!qd~=Y4$n821{hh<^sIPCNfXJ~9B)AF)6bL48AUI^0gXM7rU5ptw z%Nk{|glGZTf>F)id?$uAaN}=;*yjq?%{8Hk;+5jzbhOv!Z`q3kY(yY}7}}FSj|M`E zf-J~eT(_a)+-mUZRpAGY64*P-U@x2+FPwuRkUNL6zw@cimrlh_pi1d}^DvYot^3PiV$@@L5VK&I zgF;DBU|!6vM%nrBl_&(yj~A$cSF3?v$Yrak*j1?N?^+@vjc5oGn2Q9htO2N@2{vee zPixlf+)CC`90N@czWOUv2dh&11z4>f%13`*$!DXPp%9`u)IgQQpA|f%0sN*JPvNBO z-0IY_9ioCnc4`0tZ{^ZxMFOu-!-Z?@sE2Fa5|d7FfYCz&oq6zpR%1+nC|BjCvFV%c zn9{1fl8wVqSAs2+3f97{)0*t7T0L?4DMO@5muqK@E{HYj)l5IW+63B}fPJ+3?$$dw@A9~Pux$hjvd;UuP1=kMCE7MCPvOw5E=j!d(r?-h zbzFV2-Y#tA+967A_IzQCHHmO1Z07M^KSCmm7OIw7Pp%zb&dkp@xt5=fsCMP74I3gm zpq30clQPE{x)z*yGuH4!#IH&_&0t-y_fD@An zh+;_h{zv(yBi1bVD@kRwUDWCN^6JnEL)Fhcb76IUQJM zZTAON_trBOA~eWg)d(V`kZno!z~w(PDd!VU;H(MzNYvTuJ8^YPz%f6_fjIyw%KF082gFCBbO0@=j$Ag9Rt^z&8`$YVC)nEocjY_e7aSjE&;7kH zr2gvK6?g{YiIU3xDi*xT6iFvs(CCn+ndf}_3a39*^iAJZwwu4*2KDE2-oF`Q-^>^^ z#}^dGeKh^54=iI#plGrd!(v`#<)B5HKFZ8{P~?k2QCVAPd;yM!SVisI7yGdQ0h@bw}xoip1FR9;y(4+XetUSn&9m z13F9cOJDV+JSuD$L%L7>VOp>SOp&89%S*qz;nr)5Fv|zlGsd_Zsteu#*LeWM5kdJ- zkjX^Ju0>MwSD#2Qb=gbz>N5dWu*D8aEV+mlzZOfK5q!0&w00c1B-_VTXL;sx=Qtd~ zBSr-(XTlC~#IT=2lt=jq9ea_XmPIN~pk4NAflkAdu+?e_PNGB+HxIzn%8hFEzO`MQ zu6B$mKVOxR2Hy_tt3BaevE&w=?pgHf{ZT{SuLtSIIV4|iuJ}7jr!Asio&p3R#{n`u zpeLNif(Vn}bhbcr5a~sm3{%;4ga?H>i6nr zS1jP_p^dgG&=e@*x(2YVMH``vMq>u3QD>SWG)U+$mC-!KafRHFp0Nw!*5ko%K#z_e z?bMkuw+^{oG3dtnh8W1PoU_QKRM*u$+X(vWFX9f}*L-jP{ZJ0C3OqWsCVE*VJw1}e zb*Y;4bi=s+=RYrqCq9!SEB;ChfB^sy|5w)3KeYu4PWBGY|AZ|y%ez+F3@88xpM!gY z7kZ6;Hk@pY(YV|U8wDwMfGnDFBR0|!QrnC#cgslavg}}`Pf}m%2P3qo#MIpzQz zsY z;OFk=5f!hN`qezW(Kelo#U#?sFbEkayT_W)nqdZEsFHlMp0CA0>2(Uy{#_n;(wEBW*107>iM9m{xC{p^!A( zWvRWv^2}u#Q-D%TUX1hR_(X1Oy~6!KF{$ywe^e*it*hIP;JOV*MtN({SB61WL)daT zB$Uj|NIMd!?Qh-rhWFEi&B?Me`2(5N2P#EZ_=e=EC!f#z^QolL|DVgcjeLI}_E$pn ze=Mt;rK$V>Ue*|;LAxOam|poUev!_2w2_Sp3XA0yT@IO`TRhS-6RTtjIEA;5PD?}4 zZNu`hm&Zr%I`il*s!co|D{Ch{oRXZtL^Vt0lP}|Muh$7oFvApz+Q1xqz;`1*Z)WFB zz2U=MW+H}+$Q*lN2hF5{9U)Q&16+(M+nRcjf(7)*ha-Uz)y$YBmn0P-?7ipDKTq4U zV$vRsPU?Y>w2|RTAV~4rx4&l2eumF@2o^`~s3o15%&`pKH??-O{JqfpL^ZSoNv(7* zkt-lbk_>n&NNs?Ik#8M%a`&9c+y?n7>v6+!%6Tq@*VjZ(TzE1^l$?0$2aPIGze1c; ztK?v?4%c30tydAojnp@jMJT0`IAT0)g5G6JG?+g+qy|8HG{w{VZ{$lnacd4m7D&d0^V z)Yg>#-{=1%Flx?5W3!|5qkr(jIJ*h)Zy0lDo3Lv(WvAe@w(%5eFf%3fU?T&O zay~0jl$53m+4H6>2>`?PKE*?lv|QpZlE>a+Zf2cXBLnHuZzP?)=J|QuUtZRp4V8K` zy2df0hmhj7d(|CrabPwwN)E+&Upr`6b;c!7U=mLu?Kq-qbfnYy{cM7|=!tQR!A+1K z@mzHzrZhjEHen1hAf0c(kpHq7@`xdE@zlWkoBi))tW~E<73&lual{1~C3qV<84}ar zT%pp1u092h(uYL3G7#|qT#AK_gvFhwwi>Sy5#V%=u^0#a7_&J^*hj7#PDFSpI9_`Z zuifWS*n?KoB)~?_zLHIYlkgw1XNhZQ`gl@C_12%(nc z#OTUq9oRl{CSbW-)V+VRUJb@q-rpB`|8X@xV6CwA)b?xGFkzDcTq^qqZSTI-+gG_C ztaNq^txxmvrME0_y&xjVq${-UE!L|+>lTa2&}AIT{&TNEQ+tS6g%e%3(uXM8h*r!U z6CX%`8(lJq!-;VinFUBEfP(XAWRuhoB#>Pg5}84#QZ+1<%cq)OzP&|!(KE(r>2g8B z29}a94#SZt8TXaS!qqteeLj!Z|Ly60ct4-t>*?#Te!8>$)J*~D>{RdjX_lYg=kn`& zJH8&z-+DZn=jW7OzxV5S{*MwptkyoS=lj!S^nL%&_4zoOM|yEF&sV~T2FLpENay6y z27zgiw}}4S5yKD(y`t<8AX14*jRjy#%!_Mikwnn-;WAu%X9;w+gVT52;9r6x=Sdm? z>qQ#?cZ_1*G1}`cva_k}Lp+eT$&a3R?#PA4+dG3{>EMr;BfO23Fhn*BJLLyXC`TaD z;=IPnF|9KYM^6ZiStkiNn2RZpw+R?uO$~@3{@87s-M3E|t(Eu3 z#>kM~z>3*YGO)~gV$P99)W#^wJWlA76JiergW_R>p&;_%8BFF3V?rAycE3UeU$IIs zySHC2h}aT!k}6?4qcNt5KW(r?DDpHplS!tG>mw*bD4bq0TapaU;1qp-0ZT#c`eqvp z@7C{cw-dl_0*mlwI&Y^9%CX9$C+hSBZ@MI8Rfh}e?Tvb9gi&d6qW7WODUjgWZSg0?7rzTua@yc?*_U#@eD zQkphTQ4ZOzu>l?%KU}7>`Lf8rFy@e%r_O4cKKj?#M7=y}@;a-{=d3d0*XB)1VfZ4p zbloj#9SwEoLl!;>&{6E6cD*4syp9WFtl-kN^jT$zF6hXa9|*;{Y#++_37WVd6k^IK zuQG=iRdS)s#XwTzKQ*Yf)AgVI#=|ZzUcI_2|u@obxlujVVv&K>{t-M8_kYs*&GEuHm|YBY`h+ zjC>w3_bv+(_K>Y=I>3nNWIM}v*m*El(~(%0roHHKon)&hVveYlNAYfwH{|LqOWqDQ z>*B0x=HHo7tiXBME5ExAZA&s61T2!9_44)m5bhnPn&uw6W@)82^LndVN8LrL=TBfl zahj}|!ru+F5;Yg6OatMxTr1ps5yNr2Y`|=_3fNdh?P`Dh%*NdXowy%vNnnCsURw5MS3c&3ie+dD-zw?Y9nX<)={9@+CM~?VYMLeZMBHyI-#k?$^3>zls;2 zXo8~t?Q%!>)hv%b-Tvz3a}Dd)L)AJTtD$4o1xIIX_zl*tMeP@SkI*plEoQq>*X|vw z)V+tB*5g;NY6TvvSGf<7^=-)iOZ)Z^c%5_2pk5okXRJWgN+r19gq14FuUgm2t5s{= z+D#j{{?owHTI2o7-BfS(`l$auz23%mY<$gMN!#Cs{I~s6-Rfd!WMiuA;%Q_0F9wB~ zk%S9kzz{g>jdZv8@ud}3BtaP>pmx6kq)H*Y6tE~pI^H#Xe@LRA<(Dc-*SIlZ0seCU zh}6ZpTLKOi?;UI`u;#eyXxU=W00r&YwqMHQDDUZ9jiP?NP-c{#%cDbudwTd@u=F^_0y47c?t$FTMT~@7JO5c5_xnGLM>ZUTs5aO#| zDsmft-ql@WuU1W*te9j=tyu+Fnq*St`tj3k`3_mz1FgL^sW-g28ctX-t!`Egr7FGN zu-sLHCwSE`&!e5*sa%$V?_p-nG1WX-+Pm6z&rK;)xA(u_GWFitM73`#&s9DFGt{}9 z8^b6YUx6l8{Jv;(aqY=#7st?nhYDXVb7}F-(zCe9&ew? zlf|BSVPn;V9o&@xm%oGwWq59M%z3hkvRFoSesxYdNEn3#jl2Vd5{4Se03#S2iEm7Y zkap`RrwB2Ffong=A~7*d2W5I`_s zKmvGY1RM&-6K5dIX{v4n;5w^p)tnjg86P1h`gkdsHp3tX>V&r!>}z(j z;4l|O@eH_Srb7hbZ~p?*5zI%9zUs7o>I14J`Wd|JqTI11!3Ad*w`;$i(q!4Wn2~_JSI9v`m;hq7?ctY3 zdm#^uHb9)lcQ|b0{j9m+2H1m$+gn5LlrNan@C`7Bkr($3u($FKo&mN1Vz-9y*-Y23 za6{|?ai@DfrsZ;W2QEyH6spUdG)uB|+01K#31(KOJ3|m+DuIaxcpi*T1HuIOBMdOU zVnK|9x64=_^}5voE?V{EOn9TWy6kP@D|p&QX68we|ANR~W)F07C%|DO+|MLVbU-t1)1pxqvg#Z6PLI2HWpHbhA+h#-XrC;zzSTPr4 zzcM1;6F{$`XqcqCngw?t^{N#^`kTmp0|I^0zBNCY?jj+1-P`I2NZ&wzBszRJlfx|h zaNDh`jIB-f5!DX8>}i}0W(}>Ub~`)t<&j!E!Qv&kowU|t3hg}a^|-q^&)<7{=Bt~x z%)2iE?9%d`LpRf!vb)ptVKj@i)qjXDub@d^s{Wp(Dt^sf5VijIC=@YK!blpEA3=K&egX;|Q zO_%0+$-)vCSv|ET6L67HX-{gQ1oY!hilNNw|6=SNgJfy9ZQ<5x+qP}nwr$(CZDX}< zt+s7jt8H6fzx$kfz7uhG#J&}gQJMMVkE)8uQDcrV=FH0{wKZvJ$Y6h5%&1;>;Y%X@SnZ(`h;T(!EY8`;#5MppK42Wm2zE>^YX(7RaWa&F_b!XvO)OI3=myUL$i*3Q z*wQWa@;!qZ5=|=g?N0+tgnL~;^L?$8TD2=rYt>@%h=93;XVs~x_SZdRI}YW@o9N)p zJmv*FX6Z~Lq;#5t`%qhy#4Fx@+e(H#t!U7d2xN#uR2Ci~*^6BOqc1m30&$Jq<26%T z^3Q=cpqzP^VrV%rc5Hu=@gC$A)Vdbj{@}egn27EHKKA4;h@wIshXYW^2m~-)d(IUu zi9UH{=;6|oXkAoHyB4=0I{nZIR>pF4iyH^+jP^!|(6mUdlRnm}y=V6;(vIV_O7ou? z_76#n<0Jqu0s`{U5A1|=kWrU?fIVu^d6LFn($@(lTaqFEHa<3G{u9#WoVuqx)HD4+ zPYpE^CSL2zb20z-T9lhn2`9u5@`n7uRe>Wyt~)dE0S8=SiA2QacPU`lIFj(S#`JTh ztHG3E2t>9Uad3v|{CQ(o0fbneoyU&dsvNGEC z3|%RuMHjmRSs;wl5`{oS7mNXn_6Qr8x2{XIS5HoOJG3E}ZX4;Ss9O z0_TeaUabmR=v+Q0vzAK{B57bT*k#Jyv~fRktJ_>xG%cA#(VgFlJWCXYumxZUhwl%; zyzf6b$^ToZITPlg<@;fEx<7rU1piH0|24DX->|xWr70)X|2HNL|5aHe+~!|t=_S=z z90Maq>_RQjqFCRufyeJz@|Eo_A|_eeHcsNSajmB#6`6vbnZ%9_^?kc&FVD$|7g}nT zLgT&F7HbkwQ@vc8_xYp*-gE&?X*JPxt5$DkGqlgk`F~JB=(moaQXeKxL3TxR~ggWrBo;y%EmwmfK{K+E8Nqj)5&SVy6>R3`m4z?^hX_AHEL>t%Q#BLGwi`|Ti>Cn{MHiWxsA)* z^;o6YaxWcT0~;+U6T!x$*?GqVBhow*A^sEtUssqvIT64Z{2uvLBbwgJu8Dw)s;JK6 zwK@Cs*P0oJO@*MVP^+q3WKG5>gOhYAQX)kT=wSynIOCNPC^#fJxP?DICI|?z?wLR+ z;%NA{FQor4cieK+(82Y=OLlmE&q-u!(1I(c0%@($_7kEJZDQu#jF}N;>_bsc=Zy#M4 zG0Q=kMbwTDxqFeSP{Bw z9EYqrH}m$wdKO*CIGm7iivt>s0&gDk?s6Lg3{6fX()SY=JkRI~p#zV~Uwy}?%j3d_ z_J|sa^T6FDNqmqTamvurSqD_EE24QZHEV95y+xTe$A-s*vvuRPw^KG&)LaHhq=#Fb zUfgNo?VZ;TmRG3kN6Nv08Paj{;#^Q4<=Ez7afyHx1;33B?h^ko-3a@kp0f70fVKb; z5o;3m1b+N~K=(n?uy+M7grw?|ZZOBf`mOk7-A@s8WB){~?+^TQum(scxao_Hi>C|h z*nf_<_XxrJ`iF=7pQ8ylcbL_MnGK=8Ecj%deF(aupCcaI(4!q4s6o0=7aIq5*M^g5 zQ>+XF)wD-F&XmSi%8A+$S~-xuMLCgiJbA_xAPVSA{#^h-qY@zCA_TFF=|g}W-?GKZ zHHV9&wJS~|jEM(PG*MkXKFzgtaH&LAK7dWzhJu9A6d>46;NVc+@EK)b^wFIl0(k~s zzTNVvoM9D~!m2tp#qMn?tRbys#a^0b=E~Ypom))uIYe*<00_M|z2q@_?{34+M_S7+ zp%Wv~L~+Ru$sysSo4^K$p#UDlz>|d(H|Q`)&&a_j9nO)iPgzlXECEfU*LdbM0=V`aY^Xo$$z>H;r;?Yq<$ieHmu-F1whFjXj|MxY>YFMQtv798yrOo+U z23PDS%La3rN}qS7)P(S23=xb;co)LRg5*$gBHMUGzNm3$2&0&11K-I zyEWwyNjps z0P9@Q{UPfIH)n52;T@dFze0A+K#0ZnoClYRhTp50S$#g=S9{hjUC$0g&cu?EV#6qx_V!bD1CKn+R$L;l~u+N?V)&H7I(66_@WA!W-$l zD8wC?9jw3O)VDE4KAK;FnX6)EH5Rx07B@x{45(Put>7?q|CG3Y=FcvV%^*PAEr_*x z^Wc6@+G!$qV(Eb6a1lZ{9jAVh;1S3@`I`lro?B5A{&#%vtVezDC%_<03O4@pGiMrn zJA?~dQ&gP5)te684cm_Gl!`;7Vs5%)>7Y^ADWGH0rHZ z0k3a|c{@K<@H0e36h?_0jnd+j^`I;=pw>QqU`w3fG$MJ%{iG4Ok-YRidHRTLMg4+- zCmL7XA1qf+hiMZs%6l3}E+TK%wkv+`Gp6A(z6ZnM7K_foQNedOBbuF~t+`?UA_g2~ z>r_sdNr4AR;dfpiZ?2c00{8!>nosczQgA<>peo*f20NC2#f&x1{}B*B`Sh>x-Fq~m z)D#4g1leGL=SkJ)!Q_cKmrFK?*CbStPpoX>7RWFpBfo>v}TpcooJyga&$5O1xu3>$@PHnnY zj!q4{RcJV+43aN(JNYu)bh_AbTE?_d9o|bSOv-boDoVn+9-BGxN@TqA>!Q3Pt+QmJ z*r~_{UQE+&m#kAs7^@OR2qtR4ER1p8D8F2DmoCFquLD)t8dT^_A56u!RH_>;X)6{c z7NX8hF5)6gIN79Juw-GCzs4kTHBGe3umn^V9g><=EOMJ3Er^P3QzrDX-iml_C;j0j z_J_w6Vd$Z=rNh94*zTLPGlw6BZ|>_cu63p}1@)FJ)zjXQRGO$hIhLLeOw33=r;J_L zGVp9pvnC5^x=Qy!7MdkoRDJAQ7X*wrOEuD@r0C)z_UkT(!%<~g_+E)Y?ktGG;VXWH zUn1>_4gLZ$z$Fj^0dJh~WH$DaAd=DXl@jw6aIGv6No7{inrdg0P=P)`=O`J67?YR9 zIV4LXN;9wqMpXb6_lKzSi3M;{Fjh*V2Mn4S04huWX^1!EJm4bcMJ=d?t2~%lrle9K z*IDVdUEz5%JhS4#<0xJ+KUv{pj#;9#qhT1S8E7lVF-0b9*RVEM63^gKMlckn7+|wn z6I$`wD%LAj^L)u@$E+Fh^4Q36R%>I{v-~vZH&>3hSC0yy?i)$+UB1E}Z9I^xtfbB` z&3WXtps*~4|0;fevA9R}ov!v%m40fZQF^wIljPM(|Z-nrR@Ka*}ph<}tln5Rn>TKU5X z`|1JY0K5bKa-5HfHp!#-;JYdeyWD(z0=vRM6@e{Gw77v$C9*mTRR2~0N6J*0(kxT& zaz`>Qd>g{dD077z7+(_*@eF^h5cb-N4hfD6&*I`=un^36-vok?GssFRUX;lZ?$E9YCRW&+uvLx*U<1ZnR zjt7e5!G+YeCtkfz!r<_ae;^6&;Gce>LGzW8pJ&eOd$Wo=(xt^E8w=Z5a|A?1;dW*dj}9{HgA8O4mSoH zv~EGUDbGReTChk+JG%|pU*|Q(m-hm8&xHqY+5;feMq@zp6yWzwUYN)Fs1?~H--h$* zY(0Qm+lS^H&31Epr;W{54N%*8JnPW)S^1uDtAF=K^T|h?!dLi`bjLRaRCH?p8Q!84 zDdPd|G5X77&*{BJMuU~?s?g*W_PUvLqIUay$&1I`j%$A#c3;-k+WJY6jWxo&mk`=p zl)_$c2eexsguVopgwh_K@#|xo>eBPL`Dp?2skZrgbN8tFJ+{L>wbZ929UjjJ5^w|? zs9#&mq*7JKLwW}m!5Lk3Emoi$(^Z2&#Pw&^;amX|$)JvQA2-e4CwElW4*M~U3x`L{aqX591gEAIWNee-AKw0hzZ6r6Mzxs&$?$ylIv=-$B z8!G>(smEzQYN`*A3q#s%-i*VNjMZ-JbqDmXO)y?!L6QRE1*B*ofs}Mm-e(|ei>t-> z&7;`%HY~TZGeK6Dl#HIRe4be|3@f>P`3+b0^R4y8K~~*b4#$FfwUtf}ycIDip~Qan zvfj-K7KZnlN?Ok6+wYs8?|)03`!ov$^Y@{KWLON@&Ry1f8!bvPvo{qror)1N@Et$R0?9A4^If9hWVX#>*)0 zqAi}#1;#YYyLhfYs>R$}sqpy^g@}IqLP+F&im$G5rkUAzJKdFJf+dy6HG$`wVG-y@o>@FPB8pcXaML9WXZ4+X%{W=WElOQmXIV zt{9G%hdTB=1Tqo3f0)edT$W{^MRltjy81xaFihh!yqv;vfBrF|Vs>#$gpQntIn(dd zvCV>V5iV7l9eW&Q5&4dx9nuL}#L*=kQHf;Dlau00gF)GbvA`w-B__u44y$Ofx%HdM zA(vpbRP&H^m?Vr;(c>f5gi8coSxD1CB$5g94Dg0Lq!CB}cf*6YA%a}8O)g9+0rYdl zvO?Gnxkz}C7#_@YZY}KBVZ#|aV>`Drqm47`ced0PjoEygk~%2mC}&qB)NrRr@eG=x z3^m|93*(xb=(;@A(ILajLOALgMDSRN+TNI}EB_`Ha*3s;xNb)XNFAU{tt>kTRnM8vS)!;`8 zmcS-Lyv3fQKIAn^Ch>T>dn0Fg*r1D#C~E~p$Cl;BoiLl5K+Q~@N@YxyKQls}11CZq zB#@L|GU}8?#ppBOFU)F#N$t(A!5pis>`FZLvZ448aQ%&JX6~#hHMh-*?jwmBEJ%Ye z<7Wc0U4lw?SFFlAZ2=azMc#Ak1+EV>p~Mp^wQ8t?*2!Bb`tcQw_a0EI@@UpiXkv z^}GGv-&?PDzC1#&48vZJSk<%oh}_I!Zn2X1qMJR*-tL1?B#gd4 z%XQ9T=*1SekdofLv-tjfM>sF&u0Y@qEIj>83i?m5!1jM&VS^psM^FD-V3wB&Q9>t% zGlW7a>Q{q|d@Ek>KQ?u1vH6NE!tb8ucaG0Q97V%eH?L+Na1#SuQ>4O z*klf!JAZ*OA*^%2;uXQKpTYJ_7%*u|AiZDNljO9|w>ib0Pw`C}95r*H4|v7<8p(9C z+nQ9WnFly&xA!he@bO$Ci5(^B<8kx@tOV#ig+Ef|q*&_HoK!p=qUpG_*Ee2@x(9eN1ium+UHt%@py&W?pdPBPwn za3tY++m%J;vc8*b6*cX2(0*5_Z!&kf38sb?}uYW*IqcC~o$ zvVMyF11vfy5pZUvA_0n^!L^0Rq_8lBWup+L6kb04d#0heJYyUlAre7EqJ)_vv-?1# zQ<%r(5UK>4U=o=@n?ca~9TH5Il3Zn1ZNNwGtv!D4Uzd4k>9nTxX-${y^`@8fsiMSE z=!Wd%0N~M+DhMHE;0EcY)EXwtE9)5cH|kuw-np)!UyboXdRa4Q7c+MpH=tL_h>7sD zr5#WP^P@h^nJ+QJa8^X$2Lp$F;UKWUiA?*LP4uO+@9;5OzO^~uQ2(w<%zJHvZu~JM z+T6)Dcq)0gGe@10?`Sd;RlIw?xV8_t@=B0Lx)ZX?llrj3OA3Q07Sx={f|`zDmeU!R@kUIWXx z1Iw z*_j-Sswx)^K+hRV6=ZBtHhGr4m98-|GI$SSNc zIkMEu+dmG9QHTJKMEQeQsGD!gbQw;`&QZ zv3zN21VGqYGM<)dD=3ck$Uk7km2>!EbS2=O3&nDvK2 zHeQS$J(S_bXa_hv9$p@^L)JfH#QTHjQ0t(QYxH*9<#*H`xz3CU2*<{JaXdjW8I8_g zMrp7?hWSs}t~20*kqwb<&_T+o_Vl767{A}@COUF$<$GR z5<~w+dX27Uf4k)ZIkZ9g)Sp^#{1HB5=DjXb0oP!$y3VM)KraMO#2?%+YgLN3+O}m- zU1-r%QO*>i*zQmSPYCh)P3!iKbk-^Pb#K~_3lcGa7;*jjdFp*1C4NjE`w zyqqQC(zRg!rj3QGWDKSYqL0kD`d6<29`5GXzS(ptv z51@d}#4!@#oC!YMOVSNY_}7!cAUznqCZ|M=rrN}H1amTN#_#*?@Saa@m-bD+J1SFS zWv(m-|AriL3jidZxB=cG!&eX|o_$_gsLef?U3J}ppsg0iD5CHfxkjcmT7ZpOeK=!{S(emNwGhmD6IErb(QlyCdXNuF{YF+YMf&EFj< zT24Fdf_@O6?EeArIsOarwQM)okw5YDpYYAQHKO1W6laTOo#=lMKgk)ef_Oym5%UM} zQGc~pXB;|{I7vwOGE1D7$R^+=CDO%R9dd9IKYk3gQ^u%lKZ+>jWxiyXV0z@RYAERC zW!lvk9;A!XC2>lPmrTn|Wp%RYWq*Ec+&>l3HQpbTXh;InpM4Q?u%IcnkTq)L(cV#> z=CRo54*1=dR3bv8Z9P(-CqDb@q%aw3c&n0#*u?I42o1B{dn6ngB+*uOrUHwnr9}jP zyo<~|A!&MnYi=C!^q$PUQ;cPyR@g*6SlVE6R%!LYSmz2Ho|~LV`HA% zDit9Z49lgY@NR{^W@ozHsiK^l(yeX_L+4zE3nI>957wT&*2nq(ApXW-e0g@IU}{@F zspPT4_5?+tiCT6h-hTRvD>4(Z5FEpV*=SsPl%ZfwcsM(LvY%oh1D`~Pw$r^Ds|EDE zR;Q}SI*Sie+RS_j<}b!mX!4<-fo~?S3=e z0S>sE+auT1uhn0Kg?DnSH^ao5Iy=f~w2vEs#Yy_5YA*%S^WJmG7{mg( zW!^>?>gY&dufEX;#p(EQtGEsQ{`Vg~2>!yO?2zdcO13*)+KJ=@>{Qm^Hhcey%EW!dF*&DQ6O6gu5pW+|8&bk2 z!rl7YmR=upt9$?|7ZB}k9TiqC4{MMAyBVrXUXi_-~RxG{ksLEaESKE9>^uPuquV)@Jxkt@cMI8N_yl#&QVkQ#Z0rYCQtaI_IDqgp{ z_{!{qG3qa*q3ofpJ+QX-sAviKT=c85ZcdGn{Jv*oO%?P9oR0#GvcrH3&AjAiVusy0*;K=qq(smlg z-!oT$j>e`twL{Ah^q5s$W;a?X|hbv80$urLA{E%e436liFeOp5yjI-p4nDSl1Tz* ztOCnCUi-Yyf9vdwdW~$^{n*&OKdXfQAw-U2|R%-D!NHw_GEIbuS&ENWuVz(=>E>TJ4jK(Pc39c{f+fE!0Yj zu-cQ#mJasD^)%F=wUu&brTc>0-_>s9!q2mV<2+qhF(aj}qqI*|4gEr_xR?4a1xt3v z?E1~{)Hu2~0p}Z=t%+1B_Y^c)l2@_1E!NoM_JD=E_QvDKyZFaXPn|Tv^9dU&P8N)R zitZ0Qwnuu}h}3%Q>qpwzx2|K66}9} zsWiOHm4+o6;h}ZB4gT$7UrtZx?7DG_x=vggwo=Z?GU*Ag9 zoV{J#RvVph-;0$qk+s%Fanx$S>h$R*OFBN2=tO@{1jFt$LN-~);00w#xcyKNLd+T^HRqEpOG34rq92E;PT4M^LUkF7my&>{ zk?(+2eGY&ueK_)@f{FI^nk}aI7CXN0rH%cN+VQ1@e3UR!>(wBKr4u=;ySx|Wx(%}U zrjeb1z|f&rKD0i{e$RvaUNH4I08N2iD`FD&!k}?*a5+{8`KV#2IDFqQb20hECovJh z1Q05pkD+RO_`aThFxxo^Noml%0_7X#6*?$QJ~P4KNH{_$0t|p#K_TuQy8{zk7@$F3 z8kN*9?22|25uf^$zs{9*gl@>7lJ&!?#WA~EDzTMFGmqf?xP&j7HoF7+=TmwQst;W? zsB9==dFKl7NGs3k0g(W-uoMLLxGx++>`#02;zUPc7e7&K)gOT&Pm7koIqK|dM&br$ ziHCNnPw=s#oXVhUtL6F{{)$hje~TNoksPdsD3J&i8J!jOC+A5p41Js-7FkM${Z)@| z3g>7${YR{ZnO(fo|A2u1S10p;fA%o%IC+#KCSsj^@9T*#CG39>HgZ znTI=;5$&f_>k^6NH;SphK^B1g`NyK8dc{KEhL~m4vlF$g%z7WXUG;D1FQGrh2*SEq z`3hEZ4jcF1+(){>ei0cSWxGY&NqH3~qzuE^5bfOTIhzU3XJRQ^hJw;eTAV#1$N0S7 z^S=Ju$7`Irx!4r{z}0W~{|C7G?^c$LAIABAM8ZZ?y7pf#kmoJx_%?yf9oH4YBZ4kk zk*=4hfNxqIc?)!F1SCTdNu;px)OUu8i}vp9$CKd?8*UpF%&gkZB1&>HAH$3=x@I!E zi)l*t`-B3y7S4?SYGvVNaqDE-$@zMl*mx?Ux^Hw|sVWBKJ-Z^#$)uv#NE$1eQ0qkzcj@S9 z8k(4!x&RTFP`#;|HCAXrjw{sce9d;D}g+N=xRMwRkY~97$#AQmdu3%5wBUeXsOcI>F;_&HmF2P5h4kWm5IZ}s4?y)nK}N8KHt(M2ng}IyjVTH3u0Z~_ zYf0BRO{bXf<*}f_jy2nYc?Paf=&PReP(!LBPdm=MUs*B<2PssK9CF}6gdv1=KVtS4uX5@1Nsq>;Nd#XjF8bs9IEIHkt%xc*XS97fsWd`q$cgy zwrxCc-^`1*PRH~lzOjCi?3@Q%3M0T`R?+xlbcPW(h2I5N`x^QpARVxeHN!+2u-M}T ze?Flmq5{T_3WO?T8k`{oBx!vKS`pD zfHw!ZqY^}k+~gbB`fIa=CrlYq<<~PoA->&3YDvyXU0u6S;yV|f;l2)Xi@3~4H8Uyl z&_!iq;Vmzf0{364N&dOq@csMB5DESu~dJe-y$+Jb0ly{m6Ee zK?UOq^mleO1f5LYf)JZ1ZYp`301-MChhTUmr9>%t+5c)4=zjm5ujljS>zYX!Z7bSs znBlCQ&72I}J1kfiKn?j%X&t!a5p@8RwBgT$M_@bDd3B4@p^KUyjQgjmMx$N-86Ih4 z4Rg0vbS5oiy+gF>IszwHo4}(f@}Yf+x31VJw{ahXDp4#apO0&qLhrTE6|w&QGSh$h z@1up)wK8_rKLFQN|NrZ#M&<^#W+qM&wx)JYbpPw%zuNJ0Hf*)H5<{=S(%tC2^&}HS z8pQJ(vABV}W@Fk`y>R($s3I6{0bAVK!Gb)VDaISBsV|9B4Jle0Y^`w$P-^6yZ@vo?m90@O@f8w;b>+Vnr;ULQX`tbLV_*sjg4>5k%Q zzu8~uJ5o(Q9GH5(9v?1m`HrrSzU7@*oNPmd@4B>g^n5wFy1bt4%<_(U#(Q{QSMxsY z>S;`o7~z*dhmAsul0)W!N{|C9mOgiGvr=4fB!aeaza1PrJ)G}GrY`O7qRiOv-cqFNm~=Bk^awRd{#J&&EfIGkrtT0~lI`rWuK zVfty?BG&lvGMCYLP}IC~FOsa;lu)+hWPb&_ubT5G>yOcVVcbv5(O0DnK zO>|0^cm!y1E}h(>F0LTXWyfSb2_4RHh{#Z}%Z5+m_eqz0wW4r&$$Wm5OqCoYbnw0{0I2bb*(f4v`WWbV#T-@6GuR- z<~KdqZsar(SqNuLRjZK=Xq85#qTpAX5F1;~N!**;lPF-wUSzvB{ zJjl6qQCNp2^KaF;ga^wA5~A}@wtuJZL`{^;7l*@4V8i<0U*S&s4q#&Km~l!LzoEPk{1VFUl3166kj+zb-C!B(~= zI;)ls1GG#Lx&37@K}@ht&pAuO_(Hg7)R3_y;E~P)YQ=@@y$NkP4(XgoZ!52KLco7 zh963oTF_<`h&GyF{?}rNyODG=3c=Zle->MO5K;(^f&~hsMI*%d+Nq(bI|tZXK}KN? zh!dM|jiD#%xDcRXij)8`?uj-gGAwlT9KS=#8W{#!H713fq(>Q#<#MuO@@RHaC~2I? zIR_{;gL@vk;~KGOTryhHB6|^bXV7X!I;4+&BIuZI)-mIUpO58n0-!Z3OEE3q zr0^FYikV>zU@hWgl$es!8k0end(Y0)gq!RpA0}Fy*OO7-NC-S!H!}yBI4g#w#GW;) z3a1-#*S2C3P)vNdD zRZ|p$*fQ7-b}?S&xJHf535X_w-GWQgz$QzB1!M{&l2!vo*W0+yvm&174KnrqV<`Ya zZV9X?@heRXW9C&^)G2X)_(r-+$r>3U#v=R%LF<3VFY5+S_LVKuYkZMjCHd)KFKVW3 z&e-jYczJ~Uy0g{b%hO=_YeFt+&cI480xJ7TEVR%@3O()M<$P0VbGmq~9=F;P<74ho zptz(^$%8W}G`$@pg2B}sJ4c{~qe?xKR!7H%$_xX5nLYYR+YR1fc!!p; zD!1uwkRrDKVW!vr_udMNPFIEOlQWCVZH{gp!&#xZrNN|$f|^pu*5AJwLY|87Wmh_X zezaty`9>%L`aP8Q;b{A)B%JU7U1X=eF}{<#nRt8i)!f=Uy9GDj?w1Z6kF;V+MK$WE ze(>tTh@cIw_U$hnM@DX6F7&wB9$25U$EL`Vdh$-p$Uw}Y1!Nh_KX2&HdGL#Ins(<1 z_T_)#X!Y(~rH7(Wez7q4)Z5qNAhm9ViVHADD@j&+|8##`33e6|eX5+e7hZE(T{pow z=XRsth%i^?8lz(|qaN7`7d4XhmhlLmX6b9w{yZr_gbYvkX=_^oE+-tNC!su&*feHV zT;z5gNH@(qnR#v96+MgQN!F9S(x4gfz7QA$1+u9M(zvqtQA6oUqj=3a(eHU)f{&nu z7w>$J9?j5-mjjHU12lmW$S_%a-ddHH3}@WH_?lK@qZ|h50%AX>+3PKNF6rc}$!k#U zG_fb^kN)$dkK4$5zaE&*kypFi4$K#E`%E{+2i0G<4DtIwlG?!odXh)^0O7qe(GM6? zKlC7n&5=p4C)kx=*DD4vmZ{v+3q5y0v~mFCO;r%f4>7}fz%T2J%~zZm1r+nb%5OSk z3vrZINtSSWrVlC^D$?OYk}uXR0*O-Lla>XRFkB65O_5p9vUIIg!vi~w%}AA3rpUf=Z8Aw(tTu-^8t&03~J52yvg z8+Q;cHFCs^oGVZjjQs5_Xf6?wS~Yh7Yqm2O2f&NG&vUq7l~csC>0ddBQX>&mQ$o&| zv1WVbC%RkN8>Yxj3_-C@Sw=Y8M_hRr#@1WbZmU3>BBU9(MRk$a%6}T?|GA(_{)tfM zw~koM2lOPTRrny*`(;s?`~|+sXOlCJ2k14DBB?h3UFE8D0P)_@Nx#%+>DsE_wr^QX zbp5GHjpK3MYI!>9)srGMV)FW#0*3ki)dqAwHy^vI|o@3_xLjy(=2s<;am?90e2RB0ro1(z;3V zM^n`4eeJ8mOpYH`NTaN2T$oY69p9$5Z**28K^O}(a(NA3ua7{mHEQ7G&9S$j=CP1_ z^VdVOpt7#=RtODnU>gf}FI+b^Z?xO|=OW2;A;Gd@0`{~aM3IPn_3HYmu{uq* z7)m-l{7B+wofM;;%iD6iKlhtYV*9fWsAp!26eP>t52Mv2Rr2J$6z&tlREQjizf(es7O77#)j=fg z5J$U`Rv7}ffgXNFysBe+=8;$;LvaYhP3j65tI`hkTZ{6&{`>^KjA|uCSpnh%;1~M% z^-zdHgOgrVg$11CZcb_^;tRpI-LrH1+)J|IaG%5>MZ!_U;Q7k*`4Q#P>Lk96h{ZZu z#WHa2KEDQg6g1B?BH%uYQcBhbCAedRZI6S>5RosGk)puiPFT5q{nhUuPoiY>OL;Rx z$p{mK&pI9HlKeK+!#`FgAfm80&JMpiBH6Ul1oblhKK@Z=g_P|o{XtR20%B!_oQES2 z<&b4=V7G={cJyROkeOI~4LvJ_XMQpIwZPv_zJw8ssG+va%iT^ZNK7aO{8jc(4H_!5 zq`FjKh}HS-Sgp0Wug^CK2OUlE4W(wgSwF~a5Tx8dM&!Z#O!$1RE6pcC37`!qRYQl0 zFkrBWT?gaG6ShYg&t&8MJXQ(DW>Il9d_VLWJvGa_U_ZDx+$~1<%q!R#+mkXH^nmp0 z=)R&8Wub(t@~NfGhhg4eqkXqbuu+}A7kirN--h|s%`~itAG|76UY4A6lEYu%I18HR zouaTSFG3nIx`;I5W+3)#vX2vn)1z9H>MTlvAcmmzdv#|1EQ`-+=UhW+S=NTcSr^Ke z%VDBTVrwPdEyl0x)`&on!b5zXIa~qR%#|0&fK{E`J~}KauVh)e-x0PNt#pUut65u- zaeU-VfVenBA4g}^4Ki6eIu+M( zk1M)}q@hjW8AbxgfmN;F99yVDRR#`Ngbdh(p9288>(tKc^WRCXV?OCMsciZPV1H4b zoi0w0rR-GzI|`G^l)Vw^ETR1#b-BeH&Ep-T`!9 z;TbIFOI3x%^o_fc+{qgn!VKmdTMpAGrH?ITAMR|_W#JKKM>ihm5F z==cfC0eWQN=a8?UKVBM%IHmOw*qLGZvnFqVf~iOWBp4Dhnv&mLmbk&QGHC-Q)03O8 ze+QsXetXYOJL+TnDynkMY2kvk+d!QG2qCv712sbllS9#;m5Cb9gmaEbN?|TbG=wvGinKRQ?Q*SMcemp znrSzVmx?s^3Rauk84Ia8jjIOFTM8yjRO+Wp-(XI9^V0#&2*a|EewlL6uBP%VL8PT& zOi|%aWp9>l9bCs{{q#`%Pm2}g&;CCz0)VZ@^;jub0DynCAL$#w*v{x*V={lHF1pwl z+8S6`(^}e_n0>E)?*hO}ib{wA0RDgNoq0HvU;DtHvF}TEiR_i^N--rB%D!aJPWGKB z`xaTVMWpQeQiv4BI;65o$WBBuwv5939`t>ursd~-uj}{E+wU3AT-TU6pX=QBbIy65 z`#$H~Hv|G0f-e9y1Y7{Hv9Najzyk;T!zIAQ#lgWP!pFxWAR!_lAtoXwCM7#SK}tqR zModgWOF>CRO+!ONLQY2y&JG-)rlH<}K(N6wIJktkxP;WC#H7^!_JOJcC<%Z&5C9v( z24GP_uqh#^CIA!|f(zDmr^4S32o_jJJbVH|B4Y3dPbdH^2sSnr4)#v1!C!lU-vc<5 zxCdATCGn_KjPThUsfGNa(+JqlKdz@y?Lu$}8$0u&BhZUzJf-3ku59U2oG7k@V)@m^AT zMrKxaPHtX)X<7M`ipr-|&l(z=n&B<2FWS0$di&n=za1DHpO~DQem^t&VQy)8Wp(ZI zI&$O7j$Au({&VaJh9MUvC>ItE4mJ+{j$9BdH}J%!#KC11#5*9Vf^XzV#U|uOKz%+s z?QuOJyRa&P#@MNgh?YZSoO5YMv|Y*eCz$_#B-y_NL(4S?kYGc=i-%1KNB~=E>7hq} z|AP~IS|VJcd_8Ove~DeU)8(y5Woem<*5JhO0K!D$G;7QCGX)VS;MS|9na!^jFeEWI z3Si3i^hWAUYOQA&|B%e^%oyh2wFv-x?u0ZXPZo z5ys3|+Y1%W*B)qe($SuI;(GBQy=ly;)XRB1MN!X=q=({Bt4IO+IcZ`iIw+;a`AO!I zdY7Px51%`nmf+{E5oO*H9u0j{%s(l!8Dl{2^OkQC1xO_U%lt^&MRK3c=Xoe#v=s%w zqcA?#iWP;d*`DCl5l)A9m+L~`JdM58GKzi1xn0bg8nR};d2&4%Hmlc*0v4xyCiQa= z!4qpya8j=AZ8&_Qo|l_K=$%kZQ?5<8m-R};C)1}-Z?K1)4^GFv@3_j+R-3mKz9~+d zmo`tAK&PpIL#II5)8wnurpGQmCGYw1xqy&^s3=n>ez&=X$6~B}gdP3`ml+EFrxI|l zgh+zp$8^0o513U|MVIjP$Hz!6w>)@Gm;S}PSS(ianZr>FY!+q2>nD9Z`a_rb?&Vep zyIGtsoAl*SC2AFHc||5}xS|fL z4-~-RDlxz9vvs$o)|co=`tQ$~O_e3$h7o)ZmnD|lE?$sN7wGA(z(U`)(H#t3G|l?%dQuSsZ}nwogKqZ1bwwrHpL$!g-$bU z;&s~^*7g=Hd@7+*s*J9v=?!`HIBJoiI(qf}lM^N6ACk<9=WTD2%8p$u6>+#&FUhBQ z?LGT(fV2)yuJgt1j+){~*H%mHR+hx{rqXZ;QfHL7Wapv|do`;E6nW8{5>UE`a&yXB1GL z(7;PO*9})5`P2piR!yOjU&gpPR!?Kte6JK_Zn5X$ooCb7d&k0 z_t4RxJv+;qG-V)^IOth8n`lx7Hm4+e-t1+TAg>M-fa8k-ViqRJztRq&0NK=H8x1*< zGlUvyb|cc|j@@}Gk}b|_EX^#G(4%9wQ^T6{xx2~BX;}4x@KfY@V ziYM!qJ~x9i=Gb#OEAU0y?KH-ATZ2~D$K6>f^)e>wJsMltXQ|6qEDI)C$gO&SLPT+n z_0-t1FqrSvoE{%?`*R@-sXa>eLn!l z#CAfqZdFD9!rIa9Q;CHXPo>Ryt7wvO79f{7AhD6}#x!Nezc`_Qgs4xa^iO6!gspSi zzchf4$gIlo`&QFsSXPR~568!yT)Jq--Dfx5D8ra{%~_l&9TMYk-tR%*3!jE=q^|jP zMvFcKrnE8Rmai?10@erbo4hUdnzN6BEnA`hN)+(%axZMvUv?8x!q5AXH6lDYzOX}% zGUQ9naic@zv-nC|S!cm*JrtINlMhKOE7fE;8zi@~Y}f~buvr9|;N{<@OX@sWNIuXpLg~to54zu2vS0TQ#wp^kW6DpftH-gmZA|6P zqc1!oO~C6)oNHSwHC^shD&;_t8ZUYHY)@?!6L-S@K&FtEb#6x3_l&!=$ebp>x|kaGwsi*_td%+pj8I zVz_k=X7rH2`{e`v-pvc+3vRl7c29_@j5u_X&#Nf6Mm@EOP;?4_IU8J3(e8aEsBS!d zy5gQnqiVqWaM!aQTRAY}Q6ld?MtD#zGEDc4OP)&zM`e&pMF>y9BV*m0qR{IlV2=ns z=LrteX^qXW_2qsP5Z*sRt(p_n)a4(@)h&7a%+Xp)nO`Y}3CR#1&E zwpNW0OL~13DS>(IWH!aH$D_8$n0djz3=VeJY7yzre4YqCTv@v3r5e2afcvY!cAGcT zR{W}$nqVSGE#K6{C^mxAM8_NR%xli98rAERg8 zAV3W+GWbf)xo-P~)h@8YpNb!jV-y)N95kiXn3T!UH3u^ov{dIZNf?LDd`K33&F!I$ zFD{^Ap`OYSsse;s@?B9+t?Yw(Ui5Rl;;3Vdi!0_U6}!C6XHIG~Sl2y^7fxk}ZLfOw zQTDlmGmQR^%?{q_m42Y?{q&8r>P%F21F4xoIo5sn61|*5oSKXyH%W4RNTh5#o>|!m zSN<`Q3#13)%1+%r;Cby3y`??hYAmrTk(a!`$MnB%MkG`4if@oM0HOPvdZ{U&^e0jr>jHQ}0`de9q!Q5t`f*QYl=E13fk; zWWZ3n+KHJ)Nrm0v9PBY!5B1s$w#t;5u{RqNZZttJ)e`0bM|Si z(JFnZ=6vQ%<9K2hUg_8T?qgJtL*sJsr{`^%Th(kXXnYoZ8n4bJFvywCGWOUf{JkS| zJD&sj3PLa45jP-v>ak<`F({1T@HBm?xt`BUneb1PUyZP9zl5Lk<&BFo{H!kju*s(C zzNLC|1Eh3D-XbxL7fLsXEn7)g0jRKS$Q}uPWt(WjO8kbhWP2aHKBvw=P|4W3zp03on!nK zf?}g=cwI70Ib@=|51gPY4sgU!@wnqH_@`_4J$n0xmvls^bZSnosYgKb6)4+qwGMf#GNO5Zsca-&&m*~(jwr(5yi?b=`j)k`Juuz8RDLf@2vN)rjtNMix zEiUq1xba9Z?EI2;eI3(c=Bt~BgR6+5JwLdxo}O}&uL;i`eZ*arKY#F^w@~Umf#x?y zF6lbsrk}a^g+*7)Sfurc>!tFLJbCU4GrBJ0x!W{}sVs7*S*X-m1Mbu5q-cf&r+6$` zv@pb%=&v#6p%g4O+|oK-HF~@{#bqAMRA=9|&!N|bU#y~z`k*H2;-$zsD176>`_&Ai z@Q2b)%fiXvqW53uilhqpNC(uFJs9z5$62=%3w}>uJ2{EW>|BgoK=C7QKgngjufw5 z%ILhTb@D-3l{jT*5?AatuNP19s$AvNI&Xz(>H`rO7K#c(0hxz74C6VQ3WXA2BPS7b z_9-)}bw#xHCyscq`RlmR-e(oXeH-}ku19oGdw6FLNh~YFqZsWlqe^J*WAX{7OCb?~ z>-ZUZ^D=ibrUF7_tQtHH**JuFMAFKWoAF=2?*91w1>+NVkK80>UJSjqpYBzqj}WU& z>s*7>;g&I&sqhcgNqg7e^Tf|TL{`kPCq{^{so9fuNmwVU!EX+vPvrw2D>@H|i&w`A z9?FZkO+In6GdK=*1z}oAQ;t{8=^fD7ZqK#_`T&1!!j|a0 zB1DOu^=Y1-Z(+v#UQee6?OZNj>QX#6zlCf{EYM-flzSZ_cE1-+)*Y-g^hiZxu~hP| zv%Y{w3S|1Y@adzF&zTLID)0N>Y3jf zP#O{m2d?W@gdf#aEme>oxD{izamMoOyJm(tj~VmVM_Tk4P_{?74~8CP7w0i zniXACWYYb{)EZ2bbicI7xLYI6hEA>GYy9JZ6bsRph)e<>5OX4M6#z)=8 zLK#|9=2FjFoK>30eT*^l-8#9PeW|qXoVcrdB?`QU{@l3sC;e_{@7)IVH%h-7MEI|j zem98cf1&h!T`^15-}?Oz!|Fd_r1x%pyTj^tDMJ3y1X07z7@&tZ)Ud!+6c8ffN?Bho zwF-%x8pIpom`a}=O78LxnDpA(zFOv^km0UsOjmtNN8@m7vSG^NiFd^q0qXT2p6VSP#QBH=P!cVJaqo+jn%LmsO0`GdKu zw&%o!n_pO6;?@m#TFbs=5?t(ji>w~XwY(t{IMJmo#%?Yf)ZDA~=J2$ePsNp&2O#;j zy&s1^gCS;q?*IS37Je8D{#q^kFed!9TKHjX_-nPW8~O9E9~X8b*8TNb*bUJ2*K1)n z%F$o1h26*>|HWG1{oY#o{ZrHK?)m>$!w(kZf62X)-Dy<+BWO40gNwIzvIpv3u(xvo z9YqFLZaA1Z>+QN|6Nc=P&w*Yxp0z`rBhuFvGGAYYS6S%fsSaJVS_X9K5nLYKp9XJ_ z)|UCQGY-`ANxsLke7k|#&@wd4*6dKdDEBDRI{waOC>Le!74xe!gjKMwC&jpk_bddBJ;VUIh60Uo^;XQs!a3iWlJIXVtgUYTC zR;Yzi_&8)IvhPu&0w0@RE#fym7*6HB%diSeT=LAQrl)5; zplG$Bzr&DbwTJxJBFbzo=YosLT#ot9TbPT<7wEa{9*9s1>75UrzVdX~rb*$!1g@=$ z58Ce?tMk&Vy8habj_dZMzc-e(h|DdWS1Ru`dK+SbmsqI>pSSD0(;yJd*(|9WXlvLO zuVxPPziHY@P&i}nQ)F-~-E~Hn$Oztcct|<p|AqSo`XxfpO;T|jjMV96jEN8jvrJ+lc8w*>TKJy> z)>uGiUI7#np~UnvV%O5ZM8p8oJRx8h;p#|CL>l|gh~39@Oax}`d9*UF3hW_%$V87> z95cr`y11~=Uhy9?o?{lr%(jg#J}bOe95eSeCIK^ZDVi`M_Komk9#c#JW_D0C;JNr7 z;5*y@=UkzfILuUeXx!GhKjVJcNHDWpp>fetf5!c?!CPIgjPHrYvFZOAxBDE7iNg#Y zhsIHx{u#IXK#7UNjAVqyy|Mf=ZZED8CJ!^z2$~mU_rLIdIbdS$>PPdeocDO&ZR`Je zk3VMhFjwBAaWsK@ILvkUdxYPwI7br|W;HOE4WJ>TvEM=dSww(Y9CKnD zUEDMNyW-!bxiL#)PHLh{*CzZh#fe!EbA}IHa4vCAd4HJi!-QeZOQB(YN#8Y;eauo} zk})SG(B!e?@5sNIpxHld4r(ebmpS<_V(d- zwBMU*|C-y~KY1i|Kjh!*^Y?Y0O4|?l_qzQ(c`kiFZP^(GJ7?>-lr$e#mGi z-2Ta%S^FWQ9b5Y+W996JjCL07pG=UuA2Qkj^C$9-8v}iiAPI

Training

# NeuroTreeModels.fitFunction.
julia
function fit(
+import{_ as i,c as s,o as e,a7 as a}from"./chunks/framework.CUwTDK2x.js";const E=JSON.parse('{"title":"API","description":"","frontmatter":{},"headers":[],"relativePath":"API.md","filePath":"API.md","lastUpdated":null}'),n={name:"API.md"},l=a(`

API

Training

# NeuroTreeModels.fitFunction.
julia
function fit(
     config::NeuroTreeRegressor,
     dtrain;
     feature_names,
@@ -11,4 +11,4 @@ import{_ as i,c as s,o as e,a7 as a}from"./chunks/framework.BResyDFY.js";const E
     early_stopping_rounds=9999,
     verbosity=1,
     return_logger=false
-)

Training function of NeuroTreeModels' internal API.

Arguments

  • config::NeuroTreeRegressor

  • dtrain: Must be a AbstractDataFrame

Keyword arguments

  • feature_names: Required kwarg, a Vector{Symbol} or Vector{String} of the feature names.

  • target_name Required kwarg, a Symbol or String indicating the name of the target variable.

  • weight_name=nothing

  • offset_name=nothing

  • deval=nothing Data for tracking evaluation metric and perform early stopping.

  • metric=nothing: evaluation metric tracked on deval. Can be one of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • print_every_n=9999

  • early_stopping_rounds=9999

  • verbosity=1

  • return_logger=false

source


Inference

# NeuroTreeModels.inferFunction.

infer(m::NeuroTreeModel, data)

Return the inference of a NeuroTreeModel over data, where data is AbstractDataFrame.

source


`,7),t=[l];function r(o,p,d,h,k,c){return e(),s("div",null,t)}const u=i(n,[["render",r]]);export{E as __pageData,u as default}; +)

Training function of NeuroTreeModels' internal API.

Arguments

  • config::NeuroTreeRegressor

  • dtrain: Must be a AbstractDataFrame

Keyword arguments

  • feature_names: Required kwarg, a Vector{Symbol} or Vector{String} of the feature names.

  • target_name Required kwarg, a Symbol or String indicating the name of the target variable.

  • weight_name=nothing

  • offset_name=nothing

  • deval=nothing Data for tracking evaluation metric and perform early stopping.

  • metric=nothing: evaluation metric tracked on deval. Can be one of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • print_every_n=9999

  • early_stopping_rounds=9999

  • verbosity=1

  • return_logger=false

source


Inference

# NeuroTreeModels.inferFunction.

infer(m::NeuroTreeModel, data)

Return the inference of a NeuroTreeModel over data, where data is AbstractDataFrame.

source


`,7),t=[l];function r(o,p,d,h,c,k){return e(),s("div",null,t)}const u=i(n,[["render",r]]);export{E as __pageData,u as default}; diff --git a/dev/assets/API.md.DTVXxwSH.lean.js b/dev/assets/API.md.DTVXxwSH.lean.js new file mode 100644 index 0000000..82ab133 --- /dev/null +++ b/dev/assets/API.md.DTVXxwSH.lean.js @@ -0,0 +1 @@ +import{_ as i,c as s,o as e,a7 as a}from"./chunks/framework.CUwTDK2x.js";const E=JSON.parse('{"title":"API","description":"","frontmatter":{},"headers":[],"relativePath":"API.md","filePath":"API.md","lastUpdated":null}'),n={name:"API.md"},l=a("",7),t=[l];function r(o,p,d,h,c,k){return e(),s("div",null,t)}const u=i(n,[["render",r]]);export{E as __pageData,u as default}; diff --git a/dev/assets/app.DGNdeVFL.js b/dev/assets/app.DGNdeVFL.js deleted file mode 100644 index 9b2bcf9..0000000 --- a/dev/assets/app.DGNdeVFL.js +++ /dev/null @@ -1,7 +0,0 @@ -import{j as o,aa as p,ab as u,ac as l,ad as c,ae as f,af as d,ag as m,ah as h,ai as A,aj as g,Y as v,d as P,u as w,l as y,z as C,ak as R,al as _,am as b,a6 as E}from"./chunks/framework.BResyDFY.js";import{R as j}from"./chunks/theme.5Q-JEVsf.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(j),D=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=w();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&R(),_(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function T(){const e=O(),a=L();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function L(){return h(D)}function O(){let e=o,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{T as createApp}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/dev/assets/app.DvvBbGJ8.js b/dev/assets/app.DvvBbGJ8.js new file mode 100644 index 0000000..5005c32 --- /dev/null +++ b/dev/assets/app.DvvBbGJ8.js @@ -0,0 +1,7 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +import{j as o,a8 as p,a9 as u,aa as l,ab as c,ac as f,ad as d,ae as m,af as h,ag as g,ah as A,Y as P,d as _,u as v,l as R,z as w,ai as y,aj as C,ak as E,a6 as b}from"./chunks/framework.CUwTDK2x.js";import{R as T}from"./chunks/theme.Ddw-j1ke.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(T),S=_({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return R(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&y(),C(),E(),s.setup&&s.setup(),()=>b(s.Layout)}});async function j(){globalThis.__VITEPRESS__=!0;const e=L(),a=D();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return h(S)}function L(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=P(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/dev/assets/chunks/@localSearchIndexroot.D4YodZar.js b/dev/assets/chunks/@localSearchIndexroot.D4YodZar.js new file mode 100644 index 0000000..f9cf8cf --- /dev/null +++ b/dev/assets/chunks/@localSearchIndexroot.D4YodZar.js @@ -0,0 +1 @@ +const e='{"documentCount":44,"nextId":44,"documentIds":{"0":"/NeuroTreeModels.jl/dev/API#API","1":"/NeuroTreeModels.jl/dev/API#Training","2":"/NeuroTreeModels.jl/dev/API#Inference","3":"/NeuroTreeModels.jl/dev/design#NeuroTree-A-differentiable-tree-operator-for-tabular-data","4":"/NeuroTreeModels.jl/dev/design#Overview","5":"/NeuroTreeModels.jl/dev/design#Architecture","6":"/NeuroTreeModels.jl/dev/design#Node-weights","7":"/NeuroTreeModels.jl/dev/design#Leaf-weights","8":"/NeuroTreeModels.jl/dev/design#Tree-prediction","9":"/NeuroTreeModels.jl/dev/design#Composability","10":"/NeuroTreeModels.jl/dev/design#Benchmarks","11":"/NeuroTreeModels.jl/dev/design#Boston","12":"/NeuroTreeModels.jl/dev/design#Titanic","13":"/NeuroTreeModels.jl/dev/design#Year","14":"/NeuroTreeModels.jl/dev/design#MSRank","15":"/NeuroTreeModels.jl/dev/design#Yahoo","16":"/NeuroTreeModels.jl/dev/design#Higgs","17":"/NeuroTreeModels.jl/dev/design#Discussion","18":"/NeuroTreeModels.jl/dev/design#References","19":"/NeuroTreeModels.jl/dev/models#Models","20":"/NeuroTreeModels.jl/dev/models#NeuroTreeRegressor","21":"/NeuroTreeModels.jl/dev/models#NeuroTreeModel","22":"/NeuroTreeModels.jl/dev/quick-start#Getting-started-with-NeuroTreeModels.jl","23":"/NeuroTreeModels.jl/dev/quick-start#Installation","24":"/NeuroTreeModels.jl/dev/quick-start#Configuring-a-model","25":"/NeuroTreeModels.jl/dev/quick-start#Training","26":"/NeuroTreeModels.jl/dev/quick-start#Inference","27":"/NeuroTreeModels.jl/dev/quick-start#MLJ","28":"/NeuroTreeModels.jl/dev/quick-start#Benchmarks","29":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Classification-on-Iris-dataset","30":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Getting-started","31":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Preprocessing","32":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Training","33":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Diagnosis","34":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Logistic-Regression-on-Titanic-Dataset","35":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Getting-started","36":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Preprocessing","37":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Training","38":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Diagnosis","39":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Regression-on-Boston-Housing-Dataset","40":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Getting-started","41":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Preprocessing","42":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Training","43":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Diagnosis"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[1,1,68],"2":[1,1,19],"3":[8,1,1],"4":[1,8,108],"5":[1,8,149],"6":[2,9,85],"7":[2,9,168],"8":[2,9,1],"9":[1,8,8],"10":[1,8,117],"11":[1,11,31],"12":[1,11,27],"13":[1,11,31],"14":[1,11,27],"15":[1,11,28],"16":[1,11,26],"17":[1,8,116],"18":[1,8,49],"19":[1,1,1],"20":[1,1,293],"21":[1,1,26],"22":[5,1,1],"23":[1,5,4],"24":[3,5,24],"25":[1,5,51],"26":[1,5,5],"27":[1,5,24],"28":[1,5,13],"29":[4,1,30],"30":[2,4,22],"31":[1,4,48],"32":[1,4,56],"33":[1,4,50],"34":[5,1,41],"35":[2,5,24],"36":[1,5,130],"37":[1,5,55],"38":[1,5,43],"39":[5,1,34],"40":[2,5,23],"41":[1,5,52],"42":[1,5,55],"43":[1,5,46]},"averageFieldLength":[1.6818181818181819,5.40909090909091,50.25],"storedFields":{"0":{"title":"API","titles":[]},"1":{"title":"Training","titles":["API"]},"2":{"title":"Inference","titles":["API"]},"3":{"title":"NeuroTree - A differentiable tree operator for tabular data","titles":[]},"4":{"title":"Overview","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"5":{"title":"Architecture","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"6":{"title":"Node weights","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"7":{"title":"Leaf weights","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"8":{"title":"Tree prediction","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"9":{"title":"Composability","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"10":{"title":"Benchmarks","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"11":{"title":"Boston","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks","Tree prediction"]},"12":{"title":"Titanic","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks","Tree prediction"]},"13":{"title":"Year","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks","Tree prediction"]},"14":{"title":"MSRank","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks","Tree prediction"]},"15":{"title":"Yahoo","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks","Tree prediction"]},"16":{"title":"Higgs","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks","Tree prediction"]},"17":{"title":"Discussion","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"18":{"title":"References","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"19":{"title":"Models","titles":[]},"20":{"title":"NeuroTreeRegressor","titles":["Models"]},"21":{"title":"NeuroTreeModel","titles":["Models"]},"22":{"title":"Getting started with NeuroTreeModels.jl","titles":[]},"23":{"title":"Installation","titles":["Getting started with NeuroTreeModels.jl"]},"24":{"title":"Configuring a model","titles":["Getting started with NeuroTreeModels.jl"]},"25":{"title":"Training","titles":["Getting started with NeuroTreeModels.jl"]},"26":{"title":"Inference","titles":["Getting started with NeuroTreeModels.jl"]},"27":{"title":"MLJ","titles":["Getting started with NeuroTreeModels.jl"]},"28":{"title":"Benchmarks","titles":["Getting started with NeuroTreeModels.jl"]},"29":{"title":"Classification on Iris dataset","titles":[]},"30":{"title":"Getting started","titles":["Classification on Iris dataset"]},"31":{"title":"Preprocessing","titles":["Classification on Iris dataset"]},"32":{"title":"Training","titles":["Classification on Iris dataset"]},"33":{"title":"Diagnosis","titles":["Classification on Iris dataset"]},"34":{"title":"Logistic Regression on Titanic Dataset","titles":[]},"35":{"title":"Getting started","titles":["Logistic Regression on Titanic Dataset"]},"36":{"title":"Preprocessing","titles":["Logistic Regression on Titanic Dataset"]},"37":{"title":"Training","titles":["Logistic Regression on Titanic Dataset"]},"38":{"title":"Diagnosis","titles":["Logistic Regression on Titanic Dataset"]},"39":{"title":"Regression on Boston Housing Dataset","titles":[]},"40":{"title":"Getting started","titles":["Regression on Boston Housing Dataset"]},"41":{"title":"Preprocessing","titles":["Regression on Boston Housing Dataset"]},"42":{"title":"Training","titles":["Regression on Boston Housing Dataset"]},"43":{"title":"Diagnosis","titles":["Regression on Boston Housing Dataset"]}},"dirtCount":0,"index":[[">",{"2":{"36":1,"38":2,"41":2}}],["|>",{"2":{"20":1,"27":1}}],["xnew",{"2":{"20":2}}],["x",{"2":{"20":8,"25":1,"27":3,"36":3,"41":4}}],["xgboost",{"2":{"4":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1}}],["qwicen",{"2":{"18":1}}],["687",{"2":{"15":1}}],["635",{"2":{"13":1}}],["624",{"2":{"13":1}}],["626",{"2":{"13":1}}],["627",{"2":{"13":1}}],["6",{"2":{"13":1}}],["652",{"2":{"13":1}}],["615",{"2":{"12":1}}],["673",{"2":{"12":1}}],["561",{"2":{"15":1}}],["540",{"2":{"15":1}}],["547",{"2":{"15":1}}],["545",{"2":{"15":1}}],["558",{"2":{"14":1}}],["553",{"2":{"14":1}}],["554",{"2":{"14":2}}],["503",{"2":{"14":2}}],["504",{"2":{"14":1}}],["5",{"2":{"14":2,"20":2,"24":1,"25":1,"38":2}}],["578",{"2":{"14":1}}],["584",{"2":{"15":1}}],["58",{"2":{"12":1}}],["519",{"2":{"10":1}}],["515",{"2":{"10":1}}],["461",{"2":{"16":1}}],["464",{"2":{"16":2}}],["462",{"2":{"14":1,"16":1}}],["452",{"2":{"16":1}}],["417",{"2":{"15":1}}],["497",{"2":{"14":1}}],["407",{"2":{"12":1}}],["4",{"2":{"11":2,"13":1}}],["9833333333333333",{"2":{"33":1}}],["95",{"2":{"33":1}}],["946",{"2":{"11":1}}],["947",{"2":{"11":1}}],["926",{"2":{"11":1}}],["927",{"2":{"11":1}}],["935",{"2":{"11":1}}],["9",{"2":{"11":2}}],["90",{"2":{"10":1,"17":1}}],["7180",{"2":{"16":1}}],["775",{"2":{"16":1}}],["779",{"2":{"16":1}}],["776",{"2":{"16":2}}],["781",{"2":{"15":1,"16":1}}],["794",{"2":{"15":1}}],["796",{"2":{"15":1}}],["798",{"2":{"15":1}}],["797",{"2":{"15":1}}],["79",{"2":{"13":1}}],["76",{"2":{"13":1}}],["7",{"2":{"10":1,"11":1,"12":1}}],["709",{"2":{"10":1}}],["8985784079860025",{"2":{"43":1}}],["891",{"2":{"10":1}}],["8426966292134831",{"2":{"38":1}}],["8527349228611",{"2":{"38":1}}],["85",{"2":{"38":1}}],["80",{"2":{"13":4}}],["836",{"2":{"12":2}}],["821",{"2":{"12":1}}],["828",{"2":{"12":2}}],["865",{"2":{"11":1}}],["8",{"2":{"11":1,"13":1,"31":1,"36":1,"41":1}}],["877",{"2":{"10":1}}],["y",{"2":{"20":7,"25":2,"27":2}}],["yahoo",{"0":{"15":1},"2":{"17":2}}],["yahoorank",{"2":{"10":1}}],["year",{"0":{"13":1},"2":{"10":1,"17":1}}],["ȳ",{"2":{"7":3}}],["δnw",{"2":{"7":3}}],["δ",{"2":{"7":1}}],["+=",{"2":{"7":1}}],["+1",{"2":{"7":1}}],["+",{"2":{"7":3,"43":2}}],["zygote",{"2":{"7":1}}],["juliatrain",{"2":{"36":1}}],["julia>",{"2":{"33":1,"38":1,"43":1}}],["juliajulia>",{"2":{"33":1,"38":1,"43":1}}],["juliaconfig",{"2":{"32":1,"37":1,"42":1}}],["juliadf",{"2":{"31":1,"36":1,"41":1}}],["juliap",{"2":{"26":1,"33":1,"38":1,"43":1}}],["julianobs",{"2":{"25":1}}],["julianeurotreemodel",{"2":{"21":1}}],["julianeurotreeregressor",{"2":{"20":1}}],["julia",{"2":{"23":1}}],["juliausing",{"2":{"20":2,"24":1,"27":1,"30":1,"35":1,"40":1}}],["juliam",{"2":{"20":2}}],["juliafunction",{"2":{"1":1,"7":2}}],["j",{"2":{"7":6}}],["jl",{"0":{"22":1},"1":{"23":1,"24":1,"25":1,"26":1,"27":1,"28":1},"2":{"7":2,"10":1,"20":1,"27":1,"28":1}}],["=>",{"2":{"36":8,"41":4}}],["==",{"2":{"33":2,"38":2}}],["=",{"2":{"5":1,"7":13,"20":17,"24":5,"25":5,"26":1,"27":4,"31":9,"32":2,"33":2,"36":8,"37":2,"38":2,"41":8,"42":2,"43":2}}],["∑",{"2":{"5":1}}],["10",{"2":{"24":1}}],["15",{"2":{"14":1}}],["17",{"2":{"13":1}}],["1330",{"2":{"16":1}}],["1390",{"2":{"16":1}}],["13",{"2":{"11":1}}],["136",{"2":{"10":1,"17":1}}],["19",{"2":{"11":2}}],["192",{"2":{"10":1}}],["18",{"2":{"11":1,"13":1}}],["123",{"2":{"30":1,"35":1,"40":1}}],["12300",{"2":{"16":1}}],["120",{"2":{"15":1}}],["12",{"2":{"11":1,"14":1}}],["11",{"2":{"10":1,"13":1}}],["161",{"2":{"15":1}}],["16",{"2":{"10":1,"24":1}}],["1+leaf",{"2":{"7":2}}],["1",{"2":{"5":3,"7":8,"10":1,"13":1,"14":2,"20":6,"25":1,"31":2,"33":1,"36":2,"41":2}}],["0f",{"2":{"20":1}}],["0326",{"2":{"12":1}}],["0379",{"2":{"12":1}}],["0511",{"2":{"11":1}}],["0648",{"2":{"11":1}}],["000",{"2":{"10":2,"20":1,"25":1}}],["0",{"2":{"5":4,"7":1,"11":9,"12":14,"13":7,"14":11,"15":15,"16":15,"17":1,"20":3,"31":1,"33":2,"36":1,"38":4,"41":1,"43":1}}],["3287859731914597",{"2":{"43":1}}],["37",{"2":{"14":2}}],["375",{"2":{"12":1}}],["39",{"2":{"14":1}}],["390",{"2":{"12":1}}],["388",{"2":{"12":1}}],["382",{"2":{"12":1}}],["345",{"2":{"10":1}}],["3",{"2":{"5":1,"13":1,"20":1}}],["→",{"2":{"5":2}}],["2620",{"2":{"16":1}}],["244",{"2":{"15":1}}],["25",{"2":{"11":1}}],["206",{"2":{"11":1}}],["200",{"2":{"10":1}}],["280",{"2":{"13":1}}],["28",{"2":{"10":1}}],["2^n",{"2":{"20":2}}],["2^depth",{"2":{"7":1,"20":1}}],["2^",{"2":{"7":1}}],["2",{"2":{"5":1,"6":2,"7":3,"10":2,"13":3,"20":3,"32":1,"36":1,"37":1,"42":1,"43":1}}],["hidden",{"2":{"20":2}}],["higher",{"2":{"20":1}}],["highly",{"2":{"18":1}}],["highlighted",{"2":{"5":1}}],["higgs",{"0":{"16":1},"2":{"10":1,"17":1}}],["https",{"2":{"18":2}}],["having",{"2":{"20":1}}],["have",{"2":{"20":1,"34":1}}],["has",{"2":{"17":1,"20":1}}],["harder",{"2":{"17":1}}],["hardsigmoid",{"2":{"17":1}}],["hard",{"2":{"5":3,"6":1}}],["housing",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1},"2":{"10":1,"39":3}}],["how",{"2":{"5":1,"6":2}}],["hyper",{"2":{"10":1,"20":5}}],["here",{"2":{"5":1}}],["hence",{"2":{"5":1}}],["u",{"2":{"39":1}}],["usage",{"2":{"32":1,"37":1,"42":1}}],["use",{"2":{"7":1,"20":2,"29":1,"32":1,"34":1,"37":1,"39":1,"42":1}}],["used",{"2":{"7":1,"20":2,"34":1}}],["using",{"2":{"5":1,"20":3,"30":5,"32":1,"35":6,"37":1,"40":5,"42":1}}],["unneeded",{"2":{"36":1}}],["unordered",{"2":{"36":2}}],["unknown",{"2":{"17":1}}],["until",{"2":{"10":1}}],["underlying",{"2":{"6":1,"7":1}}],["unlike",{"2":{"4":1,"7":1}}],["lr=2e",{"2":{"32":1,"37":1,"42":1}}],["lr=1",{"2":{"20":1}}],["lt",{"2":{"20":2}}],["large",{"2":{"17":3}}],["layers",{"2":{"20":1}}],["layer",{"2":{"4":1}}],["libraries",{"2":{"28":1}}],["lightgbm",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1}}],["link",{"2":{"10":1}}],["like",{"2":{"4":1,"5":1,"7":1}}],["lw",{"2":{"7":2}}],["load",{"2":{"20":2,"27":1,"30":1,"35":1,"40":1}}],["lower",{"2":{"20":1}}],["loss",{"2":{"20":2,"24":1}}],["loss=",{"2":{"20":3,"32":1,"37":1,"42":1}}],["loops",{"2":{"7":1}}],["logistic",{"0":{"34":1},"1":{"35":1,"36":1,"37":1,"38":1},"2":{"10":2,"34":1}}],["log2",{"2":{"7":1}}],["logloss",{"2":{"1":1,"12":1,"16":1,"20":1,"37":2}}],["logger=false",{"2":{"1":2}}],["length",{"2":{"7":1,"29":2}}],["levelcode",{"2":{"31":1,"36":1}}],["level",{"2":{"7":1,"10":2}}],["levels",{"2":{"4":1,"20":1,"36":1}}],["left",{"2":{"6":1}}],["leads",{"2":{"7":1}}],["leaf",{"0":{"7":1},"2":{"5":10,"7":8,"20":1}}],["leaf3",{"2":{"5":1}}],["learning",{"2":{"4":1,"18":1,"20":2}}],["learn",{"2":{"4":1}}],["learned",{"2":{"4":4}}],["leaves",{"2":{"4":1,"20":1}}],["gt",{"2":{"20":3}}],["github",{"2":{"18":2}}],["gini",{"2":{"11":1,"13":1}}],["given",{"2":{"5":2,"6":1,"20":1}}],["gpuid=0",{"2":{"20":1}}],["gpu",{"2":{"7":1,"20":2}}],["goes",{"2":{"5":1}}],["generator",{"2":{"20":2}}],["generated",{"2":{"10":2}}],["general",{"2":{"4":2,"9":1}}],["getting",{"0":{"22":1,"30":1,"35":1,"40":1},"1":{"23":1,"24":1,"25":1,"26":1,"27":1,"28":1}}],["get",{"2":{"5":1,"33":1,"38":1,"43":1}}],["grid",{"2":{"10":1}}],["gray",{"2":{"5":1}}],["gradients",{"2":{"20":1}}],["gradient",{"2":{"5":1,"18":2}}],["green",{"2":{"5":1}}],["greediness",{"2":{"4":1}}],["gaussian",{"2":{"1":1,"20":2}}],["bind",{"2":{"20":1}}],["binary",{"2":{"4":1,"5":4,"6":1}}],["bool",{"2":{"36":3}}],["boosted",{"2":{"32":1,"37":1,"42":1}}],["boosting",{"2":{"4":2,"18":3}}],["bostonhousing",{"2":{"41":1}}],["boston",{"0":{"11":1,"39":1},"1":{"40":1,"41":1,"42":1,"43":1},"2":{"10":1,"17":1,"20":1,"27":1,"39":2}}],["both",{"2":{"7":1,"17":1,"20":1}}],["brevity",{"2":{"7":1}}],["break",{"2":{"6":1}}],["branch",{"2":{"7":1}}],["byrow",{"2":{"36":2}}],["by",{"2":{"5":1,"20":2,"33":1,"36":1,"38":1,"39":1,"43":1}}],["batchsize=2048",{"2":{"20":1}}],["batch",{"2":{"7":3,"20":1}}],["basic",{"2":{"5":2}}],["based",{"2":{"5":1,"20":1}}],["backward",{"2":{"7":3}}],["background",{"2":{"5":1}}],["back",{"2":{"5":1}}],["bagging",{"2":{"4":2}}],["blocks",{"2":{"4":1,"20":1}}],["buillt",{"2":{"20":1}}],["building",{"2":{"4":1,"25":1}}],["built",{"2":{"4":1}}],["but",{"2":{"4":1}}],["been",{"2":{"34":1}}],["before",{"2":{"31":1,"41":1}}],["begin",{"2":{"30":1,"35":1,"40":1}}],["benchmarking",{"2":{"28":1}}],["benchmarks",{"0":{"10":1,"28":1},"1":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1},"2":{"10":1}}],["best",{"2":{"10":1,"20":1}}],["below",{"2":{"6":1,"7":1,"10":1}}],["becomes",{"2":{"5":1}}],["be",{"2":{"1":2,"5":2,"6":1,"7":1,"17":2,"20":7,"33":1,"34":1,"36":2,"38":1}}],["iris",{"0":{"29":1},"1":{"30":1,"31":1,"32":1,"33":1},"2":{"29":2,"31":2,"34":1}}],["id",{"2":{"20":1}}],["identity",{"2":{"20":1}}],["imputed",{"2":{"36":1}}],["imported",{"2":{"20":1}}],["improves",{"2":{"20":1}}],["improvement",{"2":{"17":1}}],["improving",{"2":{"10":1}}],["implementing",{"2":{"20":1}}],["implement",{"2":{"7":1}}],["implementation",{"2":{"5":1,"7":1,"10":1}}],["implements",{"2":{"5":1}}],["i+1",{"2":{"7":1}}],["i>>1",{"2":{"7":4}}],["i",{"2":{"7":9}}],["if",{"2":{"6":1}}],["illustrate",{"2":{"5":1,"6":1}}],["illustrated",{"2":{"4":1}}],["ie",{"2":{"5":1}}],["its",{"2":{"17":1}}],["iteration",{"2":{"7":1}}],["it",{"2":{"4":1,"5":1,"6":1,"7":1,"20":1,"34":1,"39":1}}],["ismissing",{"2":{"36":2}}],["isolate",{"2":{"17":1}}],["isolation",{"2":{"4":1}}],["is",{"2":{"2":1,"4":4,"5":8,"6":3,"7":1,"10":7,"17":2,"20":4,"21":2,"24":1,"25":1,"28":1,"29":1,"34":1,"36":4,"39":1}}],["information",{"2":{"39":1}}],["info",{"2":{"36":1}}],["infer",{"2":{"2":2}}],["inference",{"0":{"2":1,"26":1},"2":{"2":1,"20":1}}],["incl",{"2":{"36":1}}],["included",{"2":{"29":1,"34":1,"39":1}}],["installation",{"0":{"23":1}}],["instance",{"2":{"20":3}}],["instruct",{"2":{"7":1}}],["init",{"2":{"20":1}}],["input",{"2":{"20":2,"36":2}}],["individual",{"2":{"34":1}}],["indicator",{"2":{"36":1}}],["indicating",{"2":{"1":1}}],["indices",{"2":{"31":3,"36":4,"41":4}}],["independent",{"2":{"20":1}}],["indexing",{"2":{"5":1}}],["index",{"2":{"5":2,"7":1}}],["inducing",{"2":{"17":1}}],["in",{"2":{"4":3,"5":6,"6":2,"7":2,"10":3,"17":3,"20":8,"29":1,"34":1,"36":2,"39":2}}],["int",{"2":{"7":1,"31":1,"36":1,"41":1}}],["into",{"2":{"5":2,"6":1,"31":1,"36":1}}],["introduce",{"2":{"5":1}}],["introduces",{"2":{"4":1}}],["integer",{"2":{"20":1}}],["integrate",{"2":{"7":1}}],["integration",{"2":{"4":2}}],["interface",{"2":{"20":3,"27":1}}],["internal",{"2":{"1":1,"20":3}}],["intended",{"2":{"7":1}}],["wd=0",{"2":{"20":1}}],["was",{"2":{"7":2}}],["way",{"2":{"5":1}}],["width",{"2":{"29":2}}],["will",{"2":{"29":1,"30":1,"31":1,"34":2,"35":1,"39":1,"40":1,"41":1}}],["wise",{"2":{"7":1}}],["without",{"2":{"5":1}}],["with",{"0":{"22":1},"1":{"23":1,"24":1,"25":1,"26":1,"27":1,"28":1},"2":{"4":1,"5":1,"7":1,"9":1,"10":4,"17":3,"18":1,"20":6,"24":1,"25":1,"36":2}}],["within",{"2":{"4":1,"5":1}}],["whose",{"2":{"20":2}}],["whether",{"2":{"20":1,"36":1}}],["when",{"2":{"20":2}}],["where",{"2":{"2":1,"4":1,"5":2,"6":2,"17":1,"20":1}}],["which",{"2":{"6":1,"7":1,"17":1,"20":1,"29":1,"31":1,"33":1,"34":1,"38":1,"39":1}}],["weakness",{"2":{"17":1}}],["we",{"2":{"5":2,"6":1,"29":1,"30":1,"31":3,"32":4,"33":2,"34":1,"35":1,"37":4,"38":2,"39":1,"40":1,"41":3,"42":4,"43":2}}],["weighted",{"2":{"5":1}}],["weights",{"0":{"6":1,"7":1},"2":{"5":5,"7":5,"20":1}}],["weight",{"2":{"1":2,"5":1,"20":2}}],["work",{"2":{"4":1}}],["census",{"2":{"39":1}}],["create",{"2":{"36":1}}],["criteria",{"2":{"17":1}}],["classifier",{"2":{"34":1}}],["classification",{"0":{"29":1},"1":{"30":1,"31":1,"32":1,"33":1},"2":{"10":3,"18":1,"20":1,"33":1,"34":1}}],["class",{"2":{"31":6}}],["classes",{"2":{"20":1}}],["cabin",{"2":{"36":1}}],["capturing",{"2":{"36":1}}],["called",{"2":{"20":1}}],["categoricalarrays",{"2":{"30":1,"35":1,"40":1}}],["categorical",{"2":{"18":1,"31":2,"36":5}}],["catboost",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1}}],["carry",{"2":{"17":1}}],["cannot",{"2":{"7":1}}],["can",{"2":{"1":1,"5":1,"6":1,"17":3,"20":3,"31":1,"33":2,"36":2,"38":2,"41":1,"43":2}}],["current",{"2":{"7":1}}],["custom",{"2":{"7":1}}],["cw",{"2":{"7":12}}],["cpu",{"2":{"7":1,"20":2,"32":1,"37":1,"42":1}}],["check",{"2":{"20":2}}],["challenge",{"2":{"17":1}}],["challenging",{"2":{"7":1}}],["characteristic",{"2":{"17":1}}],["chain",{"2":{"4":1,"9":1}}],["child",{"2":{"6":2}}],["coalesce",{"2":{"36":1}}],["could",{"2":{"34":1}}],["count",{"2":{"20":1}}],["column",{"2":{"20":1}}],["columns",{"2":{"20":1}}],["collected",{"2":{"39":1}}],["collectively",{"2":{"5":1}}],["collection",{"2":{"4":1,"5":1,"21":1}}],["collaboratively",{"2":{"4":1}}],["cost",{"2":{"20":1}}],["code",{"2":{"10":1}}],["com",{"2":{"18":2}}],["common",{"2":{"7":1,"10":1,"36":1}}],["comparison",{"2":{"10":1}}],["compatible",{"2":{"4":2,"36":1}}],["composing",{"2":{"21":1}}],["composition",{"2":{"4":3}}],["composability",{"0":{"9":1}}],["compliant",{"2":{"7":1}}],["complete",{"2":{"5":1,"20":1}}],["compute",{"2":{"7":1,"20":1}}],["computation",{"2":{"7":1}}],["computing",{"2":{"7":1}}],["concerning",{"2":{"39":1}}],["continuous",{"2":{"20":2}}],["contains",{"2":{"20":1}}],["constructor",{"2":{"24":1,"32":1,"37":1,"42":1}}],["construct",{"2":{"20":2}}],["constructing",{"2":{"20":1}}],["considering",{"2":{"17":1}}],["considered",{"2":{"10":1}}],["consists",{"2":{"7":1,"29":1}}],["convert",{"2":{"31":1,"36":2}}],["conv",{"2":{"7":1}}],["condition",{"2":{"6":3,"17":1}}],["conditions",{"2":{"5":3,"17":1}}],["configuring",{"0":{"24":1}}],["configuration",{"2":{"4":1,"10":1,"24":1,"32":1,"37":1,"42":1}}],["config",{"2":{"1":2,"20":4,"24":1,"25":2,"32":1,"37":1,"42":1}}],["petal",{"2":{"29":2}}],["per",{"2":{"20":1}}],["perspective",{"2":{"5":1}}],["performed",{"2":{"10":1,"28":1}}],["performance",{"2":{"10":1,"17":2,"20":1}}],["performing",{"2":{"7":1}}],["perform",{"2":{"1":1,"6":1}}],["p",{"2":{"20":2,"27":1,"33":3,"38":3,"43":3}}],["pkg=neurotreemodels",{"2":{"20":1}}],["pytorch",{"2":{"18":1}}],["pick",{"2":{"17":1}}],["place",{"2":{"7":1}}],["passengerid",{"2":{"36":1}}],["passengers",{"2":{"34":1}}],["passing",{"2":{"33":1,"38":1,"43":1}}],["pass",{"2":{"32":1,"37":1,"42":1}}],["packages",{"2":{"30":1,"35":1,"40":1}}],["package",{"2":{"29":1,"34":1,"39":1}}],["params",{"2":{"20":1}}],["parameter",{"2":{"10":1,"20":2}}],["parameters",{"2":{"10":1,"20":5}}],["parallelization",{"2":{"7":1}}],["parallelism",{"2":{"7":1}}],["particular",{"2":{"17":1}}],["parts",{"2":{"10":1}}],["part",{"2":{"7":1}}],["path",{"2":{"5":3}}],["potential",{"2":{"17":1}}],["position",{"2":{"7":2}}],["pooinnting",{"2":{"6":1}}],["pointing",{"2":{"6":1}}],["purpose",{"2":{"4":1}}],["processing",{"2":{"36":1}}],["prominent",{"2":{"28":1}}],["proportional",{"2":{"20":1}}],["problems",{"2":{"17":1}}],["problem",{"2":{"10":2,"33":1,"34":1}}],["probability",{"2":{"5":1,"6":1,"7":1}}],["product",{"2":{"5":1}}],["provide",{"2":{"5":2,"20":2}}],["provides",{"2":{"4":1}}],["pruned",{"2":{"5":1}}],["prepare",{"2":{"36":1}}],["preprocess",{"2":{"31":1,"41":1}}],["preprocessing",{"0":{"31":1,"36":1,"41":1}}],["predict",{"2":{"20":2,"27":1}}],["prediction",{"0":{"8":1},"1":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1},"2":{"4":1,"5":3,"20":1,"21":1}}],["predictions",{"2":{"4":3,"20":4,"33":1,"36":1,"38":1,"43":1}}],["present",{"2":{"17":2}}],["presented",{"2":{"10":1}}],["previous",{"2":{"4":1}}],["print",{"2":{"1":2,"32":1,"37":1,"42":1}}],["virginica",{"2":{"29":1}}],["view",{"2":{"5":2}}],["various",{"2":{"43":1}}],["variables",{"2":{"36":3}}],["variable",{"2":{"1":1,"20":1,"31":2,"36":1,"39":1,"41":1}}],["value",{"2":{"6":2,"17":3,"36":1,"39":1}}],["values",{"2":{"5":2,"20":2,"36":4}}],["versicolor",{"2":{"29":1}}],["very",{"2":{"17":1}}],["verbosity=1",{"2":{"1":2}}],["vector",{"2":{"1":2,"5":1}}],["our",{"2":{"31":1,"32":1,"33":2,"37":1,"38":2,"41":2,"42":1,"43":1}}],["outsize=3",{"2":{"32":1}}],["outsize=1",{"2":{"20":1}}],["outperform",{"2":{"17":1}}],["omitted",{"2":{"7":1}}],["object",{"2":{"20":1}}],["oblivious",{"2":{"18":1}}],["observations",{"2":{"10":5}}],["observation",{"2":{"6":1,"7":1}}],["obtained",{"2":{"5":1,"7":1,"10":1}}],["otherwise",{"2":{"6":1}}],["other",{"2":{"4":2,"7":1,"17":1}}],["optional",{"2":{"32":1,"37":1,"42":1}}],["optimizer",{"2":{"20":1}}],["optimiser",{"2":{"5":1}}],["optimal",{"2":{"4":1,"20":1}}],["operations",{"2":{"7":1,"20":1}}],["operators",{"2":{"4":1,"7":1}}],["operator",{"0":{"3":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"4":3,"5":1,"9":1}}],["override",{"2":{"20":2}}],["overview",{"0":{"4":1}}],["over",{"2":{"2":1,"4":1,"7":2,"33":1}}],["only",{"2":{"20":2}}],["onecold",{"2":{"33":2}}],["ones",{"2":{"5":1,"6":1,"7":1,"10":1}}],["one",{"2":{"1":1,"5":2,"17":1,"20":3}}],["on",{"0":{"29":1,"34":1,"39":1},"1":{"30":1,"31":1,"32":1,"33":1,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1},"2":{"1":1,"5":1,"6":1,"7":2,"10":4,"17":3,"18":1,"20":1,"34":1,"36":1}}],["orderedfactor",{"2":{"20":1}}],["order",{"2":{"5":1}}],["or",{"2":{"1":2,"5":1,"7":1,"17":1,"20":4,"21":1,"36":3}}],["of",{"2":{"1":4,"2":1,"4":7,"5":10,"6":3,"7":5,"10":3,"17":8,"20":22,"21":3,"25":1,"29":3,"31":1,"32":1,"33":1,"34":1,"37":1,"38":1,"39":1,"42":1}}],["offset+step÷2",{"2":{"7":1}}],["offset",{"2":{"1":2,"7":8}}],["skipmissing",{"2":{"36":1}}],["same",{"2":{"20":1}}],["sample",{"2":{"5":1}}],["scitype",{"2":{"20":4}}],["scitypes",{"2":{"20":2}}],["schema",{"2":{"20":1}}],["scaling",{"2":{"20":1}}],["scale=1",{"2":{"20":1}}],["scalable",{"2":{"18":1}}],["slower",{"2":{"20":1}}],["system",{"2":{"18":1}}],["symbol",{"2":{"1":2}}],["squeeze",{"2":{"18":1}}],["squared",{"2":{"10":4}}],["short",{"2":{"20":1}}],["shortcoming",{"2":{"4":1}}],["should",{"2":{"17":1,"33":1,"38":1}}],["specifies",{"2":{"31":1}}],["specific",{"2":{"17":1}}],["speed",{"2":{"20":1}}],["sparsity",{"2":{"17":2}}],["split=false",{"2":{"20":1}}],["split",{"2":{"6":1,"10":1,"20":2,"36":1,"41":1}}],["small",{"2":{"17":1}}],["separate",{"2":{"41":1}}],["sepal",{"2":{"29":2}}],["service",{"2":{"39":1}}],["sex",{"2":{"36":5}}],["see",{"2":{"25":1,"34":1}}],["seed",{"2":{"20":1,"30":1,"35":1,"40":1}}],["selected",{"2":{"6":2}}],["selection",{"2":{"6":3,"10":1,"17":1}}],["setdiff",{"2":{"31":2,"36":2,"41":2}}],["setosa",{"2":{"29":1}}],["set",{"2":{"6":3,"20":1,"36":1}}],["sequentially",{"2":{"4":1}}],["simple",{"2":{"33":1}}],["simultaneously",{"2":{"4":3}}],["significantly",{"2":{"20":1}}],["sigma",{"2":{"20":1}}],["situation",{"2":{"17":1}}],["size=1",{"2":{"20":1}}],["size=16",{"2":{"20":1}}],["size",{"2":{"7":4,"20":3}}],["single",{"2":{"5":1,"6":1}}],["since",{"2":{"5":1,"7":1}}],["survived",{"2":{"36":1}}],["survival",{"2":{"34":1}}],["supports",{"2":{"27":1,"36":1}}],["support",{"2":{"18":1,"25":1}}],["substituting",{"2":{"17":1}}],["sum",{"2":{"5":1,"21":1}}],["such",{"2":{"5":1,"6":1,"7":1,"17":2,"36":4,"43":1}}],["sophisticated",{"2":{"36":1}}],["some",{"2":{"36":1}}],["soft",{"2":{"5":2,"6":2,"17":2}}],["source",{"2":{"1":1,"2":1,"10":1,"20":1,"21":1}}],["s",{"2":{"4":1,"5":2,"6":3,"7":1,"17":1,"39":2}}],["std",{"2":{"40":1,"41":4,"43":2}}],["stump",{"2":{"17":1}}],["stem",{"2":{"17":1}}],["step+leaf",{"2":{"7":1}}],["step÷2+leaf",{"2":{"7":1}}],["step",{"2":{"7":2,"36":1}}],["steps",{"2":{"6":1}}],["stops",{"2":{"10":1}}],["stopping",{"2":{"1":3,"10":1,"25":1,"32":2,"37":2,"42":2}}],["statsbase",{"2":{"35":1}}],["status",{"2":{"34":1}}],["statistics",{"2":{"30":1,"35":1,"40":1}}],["state",{"2":{"10":1}}],["started",{"0":{"22":1,"30":1,"35":1,"40":1},"1":{"23":1,"24":1,"25":1,"26":1,"27":1,"28":1}}],["starting",{"2":{"7":1}}],["stacked",{"2":{"20":1}}],["stack",{"2":{"20":3}}],["stacktree",{"2":{"4":1,"9":1,"21":1}}],["standard",{"2":{"4":1}}],["string",{"2":{"1":2,"36":3}}],["k",{"2":{"7":4}}],["kwargs",{"2":{"20":2}}],["kwarg",{"2":{"1":2}}],["keyword",{"2":{"1":1,"20":2}}],["age",{"2":{"36":5}}],["against",{"2":{"10":3,"28":1}}],["augmented",{"2":{"18":1}}],["auto",{"2":{"7":1,"20":1,"25":1}}],["available",{"2":{"10":1}}],["averaged",{"2":{"4":1}}],["attention",{"2":{"18":1}}],["attempt",{"2":{"7":1}}],["at",{"2":{"7":1,"10":1,"28":1}}],["axes",{"2":{"7":1}}],["apply",{"2":{"43":1}}],["applied",{"2":{"20":3}}],["application",{"2":{"6":1}}],["applicable",{"2":{"5":1,"20":1}}],["approached",{"2":{"34":1}}],["approach",{"2":{"7":1,"36":3}}],["api",{"0":{"0":1},"1":{"1":1,"2":1},"2":{"1":1,"20":3,"36":1}}],["assessment",{"2":{"10":1}}],["associated",{"2":{"5":2}}],["as",{"2":{"5":2,"6":1,"7":3,"10":1,"17":1,"20":8,"34":1,"36":5,"43":1}}],["achieve",{"2":{"17":1}}],["act",{"2":{"20":1}}],["acta=",{"2":{"20":1}}],["activation",{"2":{"17":1,"20":1}}],["actual",{"2":{"7":1,"20":1}}],["acts",{"2":{"5":1,"7":1}}],["according",{"2":{"25":1,"36":1,"41":1}}],["account",{"2":{"4":1}}],["accuracy",{"2":{"12":1,"16":1,"33":1,"38":1}}],["accumulation",{"2":{"7":1}}],["accumulating",{"2":{"7":1}}],["across",{"2":{"4":1}}],["algos",{"2":{"10":1,"17":1}}],["algo",{"2":{"7":1,"10":1}}],["alternative",{"2":{"5":1}}],["although",{"2":{"4":1,"17":1,"34":1}}],["also",{"2":{"4":3,"34":1,"36":1}}],["allows",{"2":{"4":1}}],["all",{"2":{"4":4,"5":1,"6":1,"17":1,"21":1}}],["another",{"2":{"17":1,"36":1}}],["any",{"2":{"5":1,"20":2}}],["an",{"2":{"4":1,"5":2,"20":6,"25":1,"36":2}}],["and",{"2":{"1":1,"4":4,"5":2,"6":1,"7":6,"10":2,"17":3,"18":2,"20":4,"25":1,"29":2,"30":1,"33":1,"35":1,"36":3,"38":1,"40":1,"41":2,"43":1}}],["abs",{"2":{"43":2}}],["absolute",{"2":{"43":1}}],["abstractvector",{"2":{"20":1}}],["abstractrng",{"2":{"20":1}}],["abstractdataframe",{"2":{"1":1,"2":1}}],["above",{"2":{"5":2,"6":1,"20":1,"25":1}}],["ability",{"2":{"4":1}}],["around",{"2":{"38":1}}],["argument",{"2":{"20":1,"32":1,"37":1,"42":1}}],["arguments",{"2":{"1":2,"20":2}}],["art",{"2":{"10":1}}],["architecture",{"0":{"5":1},"1":{"6":1,"7":1,"8":1},"2":{"5":1}}],["area",{"2":{"39":1}}],["aren",{"2":{"4":1}}],["are",{"2":{"4":3,"5":1,"6":2,"7":3,"10":1,"17":1,"20":4,"32":1,"36":3,"37":1,"42":1}}],["additional",{"2":{"25":1}}],["add",{"2":{"23":1}}],["address",{"2":{"4":1}}],["adjoint",{"2":{"7":1}}],["ad",{"2":{"7":3}}],["adopt",{"2":{"5":1}}],["adam",{"2":{"5":1}}],["adapted",{"2":{"4":1}}],["a",{"0":{"3":1,"24":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"1":3,"2":1,"4":3,"5":13,"6":4,"7":3,"10":2,"17":10,"18":2,"20":12,"21":3,"24":1,"25":1,"31":1,"32":2,"34":2,"36":5,"37":2,"42":2}}],["r",{"2":{"20":1,"25":1}}],["rng=123",{"2":{"20":1}}],["run",{"2":{"10":1}}],["rule",{"2":{"7":1}}],["right",{"2":{"6":1}}],["rows=",{"2":{"20":1}}],["row",{"2":{"7":1}}],["round",{"2":{"36":1,"41":1}}],["rounds=2",{"2":{"32":1,"37":1,"42":1}}],["rounds=9999",{"2":{"1":2}}],["rounds",{"2":{"20":1}}],["routing",{"2":{"5":1}}],["role",{"2":{"5":1}}],["ratio",{"2":{"31":2,"36":2,"41":2}}],["rate",{"2":{"20":1}}],["rather",{"2":{"5":1,"7":1}}],["randperm",{"2":{"31":1,"36":1,"41":1}}],["rand",{"2":{"20":1,"25":1}}],["randn",{"2":{"20":1,"25":1}}],["random",{"2":{"4":1,"10":1,"20":3,"30":2,"35":2,"40":2}}],["range",{"2":{"20":1}}],["ranking",{"2":{"10":2,"17":1}}],["remove",{"2":{"36":1}}],["real",{"2":{"36":1}}],["ready",{"2":{"32":1,"37":1,"42":1}}],["represents",{"2":{"39":1}}],["represented",{"2":{"5":1,"6":1,"7":1}}],["replaced",{"2":{"36":1}}],["report",{"2":{"20":2}}],["recommended",{"2":{"20":1,"36":1}}],["requiring",{"2":{"20":1}}],["required",{"2":{"1":2,"30":1,"35":1,"40":1}}],["references",{"0":{"18":1}}],["referred",{"2":{"6":1}}],["regression",{"0":{"34":1,"39":1},"1":{"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1},"2":{"10":6,"17":1,"18":1,"34":1}}],["regular",{"2":{"5":1,"21":1}}],["relaxing",{"2":{"5":1}}],["relies",{"2":{"5":1}}],["result",{"2":{"20":1}}],["results",{"2":{"20":1}}],["resulted",{"2":{"17":1}}],["resulting",{"2":{"4":1,"5":1}}],["residual",{"2":{"4":2}}],["returning",{"2":{"20":1}}],["returned",{"2":{"20":1}}],["return",{"2":{"1":2,"2":1,"7":2,"20":1}}],["embarked",{"2":{"36":1}}],["eg",{"2":{"20":1}}],["eta",{"2":{"20":1}}],["epochs",{"2":{"20":1}}],["efficient",{"2":{"18":1}}],["effect",{"2":{"17":2}}],["error",{"2":{"10":4,"43":1}}],["enable",{"2":{"32":1,"37":1,"42":1}}],["encountered",{"2":{"20":1}}],["ensembles",{"2":{"18":1}}],["entropt",{"2":{"17":1}}],["end",{"2":{"7":6}}],["engines",{"2":{"7":1}}],["eltype",{"2":{"7":1}}],["elements",{"2":{"6":1}}],["element",{"2":{"5":1,"7":1,"20":2}}],["ecosystem",{"2":{"7":1}}],["either",{"2":{"5":1,"20":2,"21":1,"36":1}}],["excitation",{"2":{"18":1}}],["except",{"2":{"6":1}}],["experiments",{"2":{"17":1}}],["examples",{"2":{"20":1}}],["example",{"2":{"5":1}}],["ex",{"2":{"4":1,"5":1,"17":1}}],["extend",{"2":{"4":1}}],["extent",{"2":{"4":1}}],["each",{"2":{"4":2,"5":5,"7":3,"10":2,"20":3}}],["early",{"2":{"1":3,"10":1,"25":1,"32":2,"37":2,"42":2}}],["evotrees",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"36":1}}],["evaluate",{"2":{"33":1,"38":1}}],["evaluated",{"2":{"10":1}}],["evaluation",{"2":{"1":2,"10":1,"25":1,"43":1}}],["eval",{"2":{"10":3,"33":2,"36":1,"38":2,"41":1,"43":2}}],["every",{"2":{"1":2,"32":1,"37":1,"42":1}}],["missing",{"2":{"17":1,"36":4}}],["minimized",{"2":{"20":1}}],["min",{"2":{"10":4}}],["medv",{"2":{"41":5,"43":2}}],["median",{"2":{"35":1,"36":2,"39":1}}],["mean",{"2":{"30":1,"33":2,"35":1,"36":1,"38":2,"40":1,"41":4,"43":5}}],["meaning",{"2":{"17":1}}],["meaningful",{"2":{"17":1}}],["measurements",{"2":{"29":1}}],["mechanism",{"2":{"17":1}}],["methodology",{"2":{"10":1}}],["methods",{"2":{"5":1}}],["metric=",{"2":{"32":1,"37":1,"42":1}}],["metric=nothing",{"2":{"1":2}}],["metric",{"2":{"1":2,"10":3,"25":1,"43":1}}],["msrank",{"0":{"14":1},"2":{"10":1,"17":2}}],["mse",{"2":{"1":1,"11":1,"13":1,"14":1,"15":1,"20":2,"24":1,"42":2}}],["models",{"0":{"19":1},"1":{"20":1,"21":1},"2":{"20":2}}],["model",{"0":{"24":1},"2":{"10":3,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"20":9,"24":1,"25":1,"31":1,"32":4,"33":2,"34":2,"36":2,"37":4,"38":2,"41":1,"42":4,"43":1}}],["move",{"2":{"7":1}}],["more",{"2":{"7":1,"36":1}}],["made",{"2":{"21":1}}],["mach",{"2":{"20":7,"27":2}}],["machine",{"2":{"4":1,"20":3,"27":1}}],["manujosephv",{"2":{"18":1}}],["manually",{"2":{"7":1}}],["may",{"2":{"17":3}}],["materially",{"2":{"17":1}}],["matrix",{"2":{"7":1}}],["max",{"2":{"7":2,"20":1}}],["mask",{"2":{"5":3,"6":1}}],["mae",{"2":{"1":1,"20":1,"43":1}}],["mu",{"2":{"20":1}}],["multiheadattention",{"2":{"7":1}}],["multiplication",{"2":{"7":1}}],["multiple",{"2":{"4":1}}],["must",{"2":{"1":1,"20":2}}],["m",{"2":{"2":1,"20":4,"25":1,"26":1,"27":2,"32":1,"33":2,"37":1,"38":2,"42":1,"43":2}}],["mldatasets",{"2":{"29":1,"30":1,"31":1,"34":1,"35":1,"36":1,"39":1,"40":1,"41":1}}],["ml",{"2":{"28":1}}],["mlbenchmarks",{"2":{"10":1,"28":1}}],["mlp",{"2":{"9":1}}],["mljbase",{"2":{"20":2,"27":1}}],["mlj",{"0":{"27":1},"2":{"4":1,"20":5,"27":1}}],["mle",{"2":{"1":1,"20":3}}],["mlogloss",{"2":{"1":1,"20":1,"32":2}}],["mdash",{"2":{"1":1,"2":1,"20":1,"21":1}}],["df",{"2":{"31":10,"36":12,"41":6}}],["during",{"2":{"20":1}}],["diagnosis",{"0":{"33":1,"38":1,"43":1}}],["distinguishing",{"2":{"17":1}}],["discussion",{"0":{"17":1}}],["dimensions",{"2":{"7":1}}],["differentiate",{"2":{"7":1}}],["differentiation",{"2":{"7":1}}],["differentiable",{"0":{"3":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"4":1,"5":2,"6":1,"18":1}}],["different",{"2":{"4":1,"17":1,"29":1}}],["docs",{"2":{"25":1}}],["done",{"2":{"25":1}}],["do",{"2":{"20":2}}],["down",{"2":{"6":1}}],["dot",{"2":{"5":1}}],["dealing",{"2":{"36":1}}],["describes",{"2":{"34":1}}],["define",{"2":{"32":1,"37":1,"42":1}}],["defined",{"2":{"24":1}}],["defaults",{"2":{"20":2}}],["default",{"2":{"17":1,"20":2,"36":1}}],["device",{"2":{"20":1}}],["device=",{"2":{"20":1,"32":1,"37":1,"42":1}}],["deval",{"2":{"1":1,"31":1,"32":2,"33":2,"36":1,"37":2,"38":2,"41":2,"42":2,"43":2}}],["deval=nothing",{"2":{"1":2}}],["determination",{"2":{"20":1}}],["decay",{"2":{"20":1}}],["decisions",{"2":{"5":1,"6":1}}],["decision",{"2":{"5":8,"6":2,"17":1,"18":5}}],["deep",{"2":{"18":3}}],["dense",{"2":{"7":1}}],["derived",{"2":{"6":1,"39":1}}],["derives",{"2":{"6":1}}],["depth=4",{"2":{"32":1,"37":1}}],["depth=5",{"2":{"20":2,"27":1,"42":1}}],["depth=6",{"2":{"20":1}}],["depth",{"2":{"5":2,"7":5,"20":3,"24":1}}],["dataframes",{"2":{"20":1,"24":1,"30":1,"35":1,"40":1}}],["dataframe",{"2":{"20":2,"25":1,"31":1,"36":1,"41":1}}],["datasets",{"2":{"10":1,"17":2}}],["dataset",{"0":{"29":1,"34":1,"39":1},"1":{"30":1,"31":1,"32":1,"33":1,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1},"2":{"10":1,"17":2,"29":2,"30":1,"31":1,"34":1,"35":1,"39":1,"40":1,"41":1}}],["data",{"0":{"3":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"1":1,"2":3,"4":1,"10":3,"18":3,"20":2,"33":1,"36":2,"38":1,"41":1,"43":1}}],["dtrain",{"2":{"1":2,"20":6,"25":4,"26":1,"31":1,"32":1,"33":2,"36":1,"37":1,"38":2,"41":4,"42":1,"43":2}}],["tutorial",{"2":{"34":1}}],["tuned",{"2":{"4":2}}],["typical",{"2":{"20":1}}],["typically",{"2":{"20":2}}],["types",{"2":{"29":1}}],["type",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"20":3,"21":1,"31":1}}],["two",{"2":{"17":1}}],["ticket",{"2":{"36":1}}],["tier",{"2":{"17":1}}],["time",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1}}],["titanic",{"0":{"12":1,"34":1},"1":{"35":1,"36":1,"37":1,"38":1},"2":{"10":1,"34":2,"36":1}}],["testing",{"2":{"33":1,"38":1,"43":1}}],["test",{"2":{"10":3}}],["terminal",{"2":{"7":1,"20":1}}],["technically",{"2":{"7":1}}],["t",{"2":{"4":1}}],["top",{"2":{"17":1}}],["to",{"2":{"4":2,"5":8,"6":8,"7":6,"17":1,"20":15,"25":1,"30":1,"31":1,"32":3,"33":1,"35":1,"36":5,"37":3,"38":1,"40":1,"41":2,"42":3,"43":1}}],["though",{"2":{"7":1}}],["three",{"2":{"10":1,"29":1}}],["threshold",{"2":{"6":2}}],["through",{"2":{"4":1,"7":2,"25":1}}],["than",{"2":{"5":1,"7":1}}],["that",{"2":{"4":2,"5":3,"6":2,"7":2,"10":1,"17":1,"36":1}}],["this",{"2":{"4":2,"17":1,"29":1,"33":1}}],["them",{"2":{"36":1}}],["then",{"2":{"6":1,"32":1,"33":1,"36":1,"37":1,"38":1,"42":1,"43":1}}],["these",{"2":{"5":1,"6":1}}],["the",{"2":{"1":3,"2":1,"4":14,"5":19,"6":8,"7":15,"10":13,"17":13,"20":26,"21":2,"24":1,"25":3,"27":1,"29":3,"30":2,"31":3,"32":3,"33":1,"34":6,"35":2,"36":4,"37":3,"38":1,"39":5,"40":2,"41":2,"42":3,"43":1}}],["tables",{"2":{"36":1}}],["table",{"2":{"20":1}}],["tabular",{"0":{"3":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"4":1,"10":1,"18":4,"28":1}}],["taking",{"2":{"17":1}}],["takes",{"2":{"5":1}}],["take",{"2":{"5":1}}],["taken",{"2":{"5":1}}],["tanh",{"2":{"17":1,"20":2}}],["tasks",{"2":{"10":1,"20":1}}],["target",{"2":{"1":3,"20":6,"25":2,"31":2,"32":1,"33":2,"36":3,"37":1,"38":2,"39":1,"41":5,"42":1}}],["true",{"2":{"5":1,"6":2}}],["treat",{"2":{"36":1}}],["treated",{"2":{"36":1}}],["treatment",{"2":{"4":1}}],["trees",{"2":{"4":5,"5":3,"17":1,"18":3,"20":1,"21":1,"24":1}}],["tree",{"0":{"3":1,"8":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":1,"18":1},"2":{"4":5,"5":9,"6":1,"7":6,"18":3,"20":4,"21":1,"32":1,"37":1,"42":1}}],["trailed",{"2":{"17":1}}],["trained",{"2":{"10":2,"20":1}}],["train",{"2":{"10":2,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"20":1,"31":6,"32":2,"33":2,"36":5,"37":2,"38":2,"41":7,"42":2,"43":2}}],["trainable",{"2":{"5":1}}],["training",{"0":{"1":1,"25":1,"32":1,"37":1,"42":1},"2":{"1":1,"20":6,"25":1,"33":1,"38":1,"43":1}}],["transform",{"2":{"36":4,"41":2}}],["transformer",{"2":{"7":1}}],["translated",{"2":{"6":1}}],["traditional",{"2":{"4":1,"5":1,"6":1,"17":1}}],["tracked",{"2":{"1":1,"10":1}}],["tracking",{"2":{"1":1,"25":1}}],["factor",{"2":{"20":1}}],["false",{"2":{"5":1,"6":2}}],["f0",{"2":{"20":1}}],["functor",{"2":{"20":1}}],["function",{"2":{"1":2,"2":1,"7":3,"20":2}}],["full",{"2":{"7":1,"36":1}}],["flower",{"2":{"31":1}}],["flowers",{"2":{"29":1}}],["floor",{"2":{"7":1}}],["flux",{"2":{"4":1,"7":1}}],["followed",{"2":{"10":1}}],["following",{"2":{"5":1,"10":3,"20":1}}],["forward",{"2":{"7":2}}],["format",{"2":{"36":1}}],["form",{"2":{"5":2,"7":1}}],["forming",{"2":{"4":1}}],["forest",{"2":{"4":2,"18":1}}],["for",{"0":{"3":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"1":1,"4":3,"5":1,"6":2,"7":6,"10":4,"17":2,"18":3,"20":5,"25":1,"28":1,"29":1,"33":1,"36":2}}],["fetch",{"2":{"5":1}}],["features",{"2":{"10":5,"17":4,"18":1,"20":5,"25":1,"36":3,"41":1}}],["feature",{"2":{"1":3,"6":3,"17":4,"20":3,"25":2,"31":1,"32":1,"36":4,"37":1,"41":1,"42":1}}],["finally",{"2":{"33":1,"43":1}}],["fields",{"2":{"20":2}}],["figure",{"2":{"5":1,"6":1}}],["first",{"2":{"5":2,"6":1,"32":1,"36":2,"37":1,"42":1}}],["fitresult",{"2":{"20":1}}],["fitted",{"2":{"20":2}}],["fit",{"2":{"1":2,"20":5,"25":2,"27":1,"32":2,"37":2,"42":2}}],["friendly",{"2":{"7":1}}],["framework",{"2":{"4":1}}],["from",{"2":{"4":4,"6":1,"7":1,"17":2,"20":1,"36":1,"39":1,"41":1}}],["n=10",{"2":{"32":1,"37":1,"42":1}}],["n=9999",{"2":{"1":2}}],["nrow",{"2":{"31":3,"36":3,"41":3}}],["nrounds=400",{"2":{"32":1,"37":1,"42":1}}],["nrounds=10",{"2":{"20":3,"27":1}}],["nrounds",{"2":{"20":1,"24":1}}],["nfeats",{"2":{"20":2,"25":2}}],["ntrees=64",{"2":{"20":1}}],["n",{"2":{"20":1}}],["need",{"2":{"31":1,"41":1}}],["networks",{"2":{"18":1}}],["neural",{"2":{"18":5}}],["neurotreemoels",{"2":{"17":1}}],["neurotreemodel",{"0":{"21":1},"2":{"2":2,"20":1,"21":3}}],["neurotreemodels",{"0":{"22":1},"1":{"23":1,"24":1,"25":1,"26":1,"27":1,"28":1},"2":{"1":2,"2":1,"17":1,"20":4,"21":1,"23":1,"24":1,"25":2,"27":2,"30":1,"32":2,"33":2,"35":1,"37":2,"40":1,"42":2}}],["neurotrees",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1}}],["neurotree",{"0":{"3":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"4":3,"5":3,"6":2,"7":1,"9":1,"17":1,"20":1,"21":1}}],["neurotreeregressor",{"0":{"20":1},"2":{"1":2,"20":10,"24":2,"27":1,"32":2,"37":2,"42":2}}],["ncart",{"2":{"18":1}}],["num",{"2":{"24":1}}],["numeric",{"2":{"17":1}}],["number",{"2":{"5":1,"17":2,"20":7}}],["ndcg",{"2":{"14":1,"15":1}}],["nature",{"2":{"17":1}}],["naturally",{"2":{"7":1}}],["name=nothing",{"2":{"1":4}}],["name",{"2":{"1":3,"20":3,"25":2,"31":2,"32":1,"33":2,"36":3,"37":1,"38":2,"41":1,"42":1}}],["names",{"2":{"1":3,"20":5,"25":3,"31":2,"32":1,"36":3,"37":1,"41":2,"42":1}}],["nw",{"2":{"7":10}}],["nw3",{"2":{"6":1}}],["nw1",{"2":{"6":1}}],["nnlib",{"2":{"4":1}}],["now",{"2":{"32":1,"36":1,"37":1,"42":1}}],["nobs",{"2":{"20":3,"25":2}}],["no",{"2":{"17":1}}],["non",{"2":{"7":1}}],["notably",{"2":{"17":1,"25":1}}],["nothing",{"2":{"7":1}}],["not",{"2":{"7":1,"17":2,"36":1}}],["notoriously",{"2":{"7":1}}],["notion",{"2":{"4":2}}],["nodes",{"2":{"5":2,"20":2}}],["node3",{"2":{"5":1}}],["node1",{"2":{"5":1}}],["node",{"0":{"6":1},"2":{"4":1,"5":2,"6":1,"7":3,"10":1,"17":1,"18":1,"20":1}}],["nbsp",{"2":{"1":1,"2":1,"20":1,"21":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/@localSearchIndexroot.D7cbWRs2.js b/dev/assets/chunks/@localSearchIndexroot.D7cbWRs2.js deleted file mode 100644 index e24df62..0000000 --- a/dev/assets/chunks/@localSearchIndexroot.D7cbWRs2.js +++ /dev/null @@ -1 +0,0 @@ -const e=`{"documentCount":45,"nextId":45,"documentIds":{"0":"/NeuroTreeModels.jl/dev/API#API","1":"/NeuroTreeModels.jl/dev/API#Training","2":"/NeuroTreeModels.jl/dev/API#Inference","3":"/NeuroTreeModels.jl/dev/models#Models","4":"/NeuroTreeModels.jl/dev/models#NeuroTreeRegressor","5":"/NeuroTreeModels.jl/dev/models#NeuroTreeModel","6":"/NeuroTreeModels.jl/dev/design#NeuroTree-A-differentiable-tree-operator-for-tabular-data","7":"/NeuroTreeModels.jl/dev/design#Overview","8":"/NeuroTreeModels.jl/dev/design#Architecture","9":"/NeuroTreeModels.jl/dev/design#Node-weights","10":"/NeuroTreeModels.jl/dev/design#1.-Selection-of-the-feature-on-which-to-perform-the-condition","11":"/NeuroTreeModels.jl/dev/design#2.-Selection-of-the-condition's-threshold-value","12":"/NeuroTreeModels.jl/dev/design#Leaf-weights","13":"/NeuroTreeModels.jl/dev/design#Tree-prediction","14":"/NeuroTreeModels.jl/dev/design#Composability","15":"/NeuroTreeModels.jl/dev/design#Benchmarks","16":"/NeuroTreeModels.jl/dev/design#Boston","17":"/NeuroTreeModels.jl/dev/design#Titanic","18":"/NeuroTreeModels.jl/dev/design#Year","19":"/NeuroTreeModels.jl/dev/design#MSRank","20":"/NeuroTreeModels.jl/dev/design#Yahoo","21":"/NeuroTreeModels.jl/dev/design#Higgs","22":"/NeuroTreeModels.jl/dev/design#References","23":"/NeuroTreeModels.jl/dev/quick-start#Getting-started-with-NeuroTreeModels.jl","24":"/NeuroTreeModels.jl/dev/quick-start#Installation","25":"/NeuroTreeModels.jl/dev/quick-start#Configuring-a-model","26":"/NeuroTreeModels.jl/dev/quick-start#Training","27":"/NeuroTreeModels.jl/dev/quick-start#Inference","28":"/NeuroTreeModels.jl/dev/quick-start#MLJ","29":"/NeuroTreeModels.jl/dev/quick-start#Benchmarks","30":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Classification-on-Iris-dataset","31":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Getting-started","32":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Preprocessing","33":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Training","34":"/NeuroTreeModels.jl/dev/tutorials-classification-iris#Diagnosis","35":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Logistic-Regression-on-Titanic-Dataset","36":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Getting-started","37":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Preprocessing","38":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Training","39":"/NeuroTreeModels.jl/dev/tutorials-logistic-titanic#Diagnosis","40":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Regression-on-Boston-Housing-Dataset","41":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Getting-started","42":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Preprocessing","43":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Training","44":"/NeuroTreeModels.jl/dev/tutorials-regression-boston#Diagnosis"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[1,1,68],"2":[1,1,19],"3":[1,1,1],"4":[1,1,293],"5":[1,1,26],"6":[8,1,1],"7":[1,8,108],"8":[1,8,119],"9":[2,9,32],"10":[10,9,21],"11":[8,9,43],"12":[2,9,168],"13":[2,9,1],"14":[1,8,8],"15":[1,8,100],"16":[1,9,31],"17":[1,9,27],"18":[1,9,31],"19":[1,9,27],"20":[1,9,28],"21":[1,9,26],"22":[1,8,49],"23":[5,1,1],"24":[1,5,4],"25":[3,5,24],"26":[1,5,51],"27":[1,5,5],"28":[1,5,24],"29":[1,5,13],"30":[4,1,30],"31":[2,4,22],"32":[1,4,48],"33":[1,4,56],"34":[1,4,50],"35":[5,1,41],"36":[2,5,24],"37":[1,5,130],"38":[1,5,55],"39":[1,5,43],"40":[5,1,34],"41":[2,5,23],"42":[1,5,52],"43":[1,5,55],"44":[1,5,46]},"averageFieldLength":[2.022222222222222,5.244444444444446,45.755555555555574],"storedFields":{"0":{"title":"API","titles":[]},"1":{"title":"Training","titles":["API"]},"2":{"title":"Inference","titles":["API"]},"3":{"title":"Models","titles":[]},"4":{"title":"NeuroTreeRegressor","titles":["Models"]},"5":{"title":"NeuroTreeModel","titles":["Models"]},"6":{"title":"NeuroTree - A differentiable tree operator for tabular data","titles":[]},"7":{"title":"Overview","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"8":{"title":"Architecture","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"9":{"title":"Node weights","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"10":{"title":"1. Selection of the feature on which to perform the condition","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"11":{"title":"2. Selection of the condition's threshold value","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"12":{"title":"Leaf weights","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"13":{"title":"Tree prediction","titles":["NeuroTree - A differentiable tree operator for tabular data","Architecture"]},"14":{"title":"Composability","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"15":{"title":"Benchmarks","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"16":{"title":"Boston","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks"]},"17":{"title":"Titanic","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks"]},"18":{"title":"Year","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks"]},"19":{"title":"MSRank","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks"]},"20":{"title":"Yahoo","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks"]},"21":{"title":"Higgs","titles":["NeuroTree - A differentiable tree operator for tabular data","Benchmarks"]},"22":{"title":"References","titles":["NeuroTree - A differentiable tree operator for tabular data"]},"23":{"title":"Getting started with NeuroTreeModels.jl","titles":[]},"24":{"title":"Installation","titles":["Getting started with NeuroTreeModels.jl"]},"25":{"title":"Configuring a model","titles":["Getting started with NeuroTreeModels.jl"]},"26":{"title":"Training","titles":["Getting started with NeuroTreeModels.jl"]},"27":{"title":"Inference","titles":["Getting started with NeuroTreeModels.jl"]},"28":{"title":"MLJ","titles":["Getting started with NeuroTreeModels.jl"]},"29":{"title":"Benchmarks","titles":["Getting started with NeuroTreeModels.jl"]},"30":{"title":"Classification on Iris dataset","titles":[]},"31":{"title":"Getting started","titles":["Classification on Iris dataset"]},"32":{"title":"Preprocessing","titles":["Classification on Iris dataset"]},"33":{"title":"Training","titles":["Classification on Iris dataset"]},"34":{"title":"Diagnosis","titles":["Classification on Iris dataset"]},"35":{"title":"Logistic Regression on Titanic Dataset","titles":[]},"36":{"title":"Getting started","titles":["Logistic Regression on Titanic Dataset"]},"37":{"title":"Preprocessing","titles":["Logistic Regression on Titanic Dataset"]},"38":{"title":"Training","titles":["Logistic Regression on Titanic Dataset"]},"39":{"title":"Diagnosis","titles":["Logistic Regression on Titanic Dataset"]},"40":{"title":"Regression on Boston Housing Dataset","titles":[]},"41":{"title":"Getting started","titles":["Regression on Boston Housing Dataset"]},"42":{"title":"Preprocessing","titles":["Regression on Boston Housing Dataset"]},"43":{"title":"Training","titles":["Regression on Boston Housing Dataset"]},"44":{"title":"Diagnosis","titles":["Regression on Boston Housing Dataset"]}},"dirtCount":0,"index":[[">",{"2":{"37":1,"39":2,"42":2}}],["qwicen",{"2":{"22":1}}],["687",{"2":{"20":1}}],["635",{"2":{"18":1}}],["624",{"2":{"18":1}}],["626",{"2":{"18":1}}],["627",{"2":{"18":1}}],["6",{"2":{"18":1}}],["652",{"2":{"18":1}}],["615",{"2":{"17":1}}],["673",{"2":{"17":1}}],["461",{"2":{"21":1}}],["464",{"2":{"21":2}}],["462",{"2":{"19":1,"21":1}}],["452",{"2":{"21":1}}],["417",{"2":{"20":1}}],["497",{"2":{"19":1}}],["407",{"2":{"17":1}}],["4",{"2":{"16":2,"18":1}}],["7180",{"2":{"21":1}}],["775",{"2":{"21":1}}],["779",{"2":{"21":1}}],["776",{"2":{"21":2}}],["781",{"2":{"20":1,"21":1}}],["794",{"2":{"20":1}}],["796",{"2":{"20":1}}],["798",{"2":{"20":1}}],["797",{"2":{"20":1}}],["79",{"2":{"18":1}}],["76",{"2":{"18":1}}],["7",{"2":{"16":1,"17":1}}],["9833333333333333",{"2":{"34":1}}],["95",{"2":{"34":1}}],["946",{"2":{"16":1}}],["947",{"2":{"16":1}}],["926",{"2":{"16":1}}],["927",{"2":{"16":1}}],["935",{"2":{"16":1}}],["9",{"2":{"16":2}}],["8985784079860025",{"2":{"44":1}}],["8426966292134831",{"2":{"39":1}}],["8527349228611",{"2":{"39":1}}],["85",{"2":{"39":1}}],["80",{"2":{"18":4}}],["836",{"2":{"17":2}}],["821",{"2":{"17":1}}],["828",{"2":{"17":2}}],["865",{"2":{"16":1}}],["8",{"2":{"16":1,"18":1,"32":1,"37":1,"42":1}}],["δnw",{"2":{"12":3}}],["δ",{"2":{"12":1}}],["+=",{"2":{"12":1}}],["+1",{"2":{"12":1}}],["+",{"2":{"12":3,"44":2}}],["zygote",{"2":{"12":1}}],["∑",{"2":{"8":1}}],["→",{"2":{"8":2}}],["u",{"2":{"40":1}}],["unneeded",{"2":{"37":1}}],["unordered",{"2":{"37":2}}],["until",{"2":{"15":1}}],["underlying",{"2":{"12":1}}],["unlike",{"2":{"7":1,"12":1}}],["usage",{"2":{"33":1,"38":1,"43":1}}],["using",{"2":{"4":3,"11":1,"31":5,"33":1,"36":6,"38":1,"41":5,"43":1}}],["use",{"2":{"4":2,"12":1,"30":1,"33":1,"35":1,"38":1,"40":1,"43":1}}],["used",{"2":{"4":2,"12":1,"35":1}}],["|>",{"2":{"4":1,"28":1}}],["yahoo",{"0":{"20":1}}],["yahoorank",{"2":{"15":1}}],["year",{"0":{"18":1},"2":{"15":1}}],["ȳ",{"2":{"12":3}}],["y",{"2":{"4":7,"26":2,"28":2}}],["xgboost",{"2":{"7":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1}}],["xnew",{"2":{"4":2}}],["x",{"2":{"4":8,"26":1,"28":3,"37":3,"42":4}}],["561",{"2":{"20":1}}],["540",{"2":{"20":1}}],["547",{"2":{"20":1}}],["545",{"2":{"20":1}}],["558",{"2":{"19":1}}],["553",{"2":{"19":1}}],["554",{"2":{"19":2}}],["503",{"2":{"19":2}}],["504",{"2":{"19":1}}],["578",{"2":{"19":1}}],["584",{"2":{"20":1}}],["58",{"2":{"17":1}}],["5",{"2":{"4":2,"19":2,"25":1,"26":1,"39":2}}],["3287859731914597",{"2":{"44":1}}],["37",{"2":{"19":2}}],["375",{"2":{"17":1}}],["39",{"2":{"19":1}}],["390",{"2":{"17":1}}],["388",{"2":{"17":1}}],["382",{"2":{"17":1}}],["3",{"2":{"4":1,"8":1,"18":1}}],["10",{"2":{"25":1}}],["15",{"2":{"19":1}}],["11",{"2":{"18":1}}],["17",{"2":{"18":1}}],["1330",{"2":{"21":1}}],["1390",{"2":{"21":1}}],["13",{"2":{"16":1}}],["19",{"2":{"16":2}}],["18",{"2":{"16":1,"18":1}}],["123",{"2":{"31":1,"36":1,"41":1}}],["12300",{"2":{"21":1}}],["120",{"2":{"20":1}}],["12",{"2":{"16":1,"19":1}}],["161",{"2":{"20":1}}],["16",{"2":{"15":1,"25":1}}],["1+leaf",{"2":{"12":2}}],["1",{"0":{"10":1},"2":{"4":6,"8":3,"10":1,"12":8,"18":1,"19":2,"26":1,"32":2,"34":1,"37":2,"42":2}}],["=>",{"2":{"37":8,"42":4}}],["==",{"2":{"34":2,"39":2}}],["=",{"2":{"4":17,"8":1,"12":13,"25":5,"26":5,"27":1,"28":4,"32":9,"33":2,"34":2,"37":8,"38":2,"39":2,"42":8,"43":2,"44":2}}],["https",{"2":{"22":2}}],["housing",{"0":{"40":1},"1":{"41":1,"42":1,"43":1,"44":1},"2":{"15":1,"40":3}}],["how",{"2":{"8":1,"9":2}}],["hence",{"2":{"11":1}}],["here",{"2":{"8":1}}],["hard",{"2":{"8":2,"9":1,"10":1,"11":1}}],["having",{"2":{"4":1}}],["have",{"2":{"4":1,"35":1}}],["has",{"2":{"4":1}}],["higgs",{"0":{"21":1},"2":{"15":1}}],["highly",{"2":{"22":1}}],["highlighted",{"2":{"8":1}}],["higher",{"2":{"4":1}}],["hidden",{"2":{"4":2}}],["hyper",{"2":{"4":5,"15":1}}],["0326",{"2":{"17":1}}],["0379",{"2":{"17":1}}],["0511",{"2":{"16":1}}],["0648",{"2":{"16":1}}],["000",{"2":{"4":1,"26":1}}],["0",{"2":{"4":3,"8":4,"12":1,"16":9,"17":14,"18":7,"19":11,"20":15,"21":15,"32":1,"34":2,"37":1,"39":4,"42":1,"44":1}}],["0f",{"2":{"4":1}}],["github",{"2":{"22":2}}],["gini",{"2":{"16":1,"18":1}}],["given",{"2":{"4":1,"8":2}}],["goes",{"2":{"8":1}}],["getting",{"0":{"23":1,"31":1,"36":1,"41":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["get",{"2":{"8":1,"34":1,"39":1,"44":1}}],["generated",{"2":{"15":2}}],["generator",{"2":{"4":2}}],["general",{"2":{"7":2,"14":1}}],["grid",{"2":{"15":1}}],["gradient",{"2":{"11":1,"22":2}}],["gradients",{"2":{"4":1}}],["green",{"2":{"8":1}}],["greediness",{"2":{"7":1}}],["gpuid=0",{"2":{"4":1}}],["gpu",{"2":{"4":2,"12":1}}],["gt",{"2":{"4":3}}],["gaussian",{"2":{"1":1,"4":2}}],["2620",{"2":{"21":1}}],["244",{"2":{"20":1}}],["280",{"2":{"18":1}}],["25",{"2":{"16":1}}],["206",{"2":{"16":1}}],["2^",{"2":{"12":1}}],["2^depth",{"2":{"4":1,"12":1}}],["2^n",{"2":{"4":2}}],["2",{"0":{"11":1},"2":{"4":3,"8":1,"9":1,"12":3,"15":2,"18":3,"33":1,"37":1,"38":1,"43":1,"44":1}}],["lr=2e",{"2":{"33":1,"38":1,"43":1}}],["lr=1",{"2":{"4":1}}],["libraries",{"2":{"29":1}}],["lightgbm",{"2":{"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1}}],["link",{"2":{"15":1}}],["like",{"2":{"7":1,"11":1,"12":1}}],["lw",{"2":{"12":2}}],["layer",{"2":{"7":1}}],["layers",{"2":{"4":1}}],["lt",{"2":{"4":2}}],["length",{"2":{"12":1,"30":2}}],["levelcode",{"2":{"32":1,"37":1}}],["level",{"2":{"12":1,"15":2}}],["levels",{"2":{"4":1,"7":1,"37":1}}],["leads",{"2":{"12":1}}],["learn",{"2":{"7":1}}],["learned",{"2":{"7":4}}],["learning",{"2":{"4":2,"7":1,"22":1}}],["leaves",{"2":{"4":1,"7":1}}],["leaf3",{"2":{"8":1}}],["leaf",{"0":{"12":1},"2":{"4":1,"8":8,"12":8}}],["loops",{"2":{"12":1}}],["load",{"2":{"4":2,"28":1,"31":1,"36":1,"41":1}}],["lower",{"2":{"4":1}}],["loss",{"2":{"4":2,"25":1}}],["loss=",{"2":{"4":3,"33":1,"38":1,"43":1}}],["logistic",{"0":{"35":1},"1":{"36":1,"37":1,"38":1,"39":1},"2":{"15":2,"35":1}}],["log2",{"2":{"12":1}}],["logloss",{"2":{"1":1,"4":1,"17":1,"21":1,"38":2}}],["logger=false",{"2":{"1":2}}],["j",{"2":{"12":6}}],["juliatrain",{"2":{"37":1}}],["julia>",{"2":{"34":1,"39":1,"44":1}}],["juliajulia>",{"2":{"34":1,"39":1,"44":1}}],["juliaconfig",{"2":{"33":1,"38":1,"43":1}}],["juliadf",{"2":{"32":1,"37":1,"42":1}}],["juliap",{"2":{"27":1,"34":1,"39":1,"44":1}}],["julianobs",{"2":{"26":1}}],["julianeurotreemodel",{"2":{"5":1}}],["julianeurotreeregressor",{"2":{"4":1}}],["julia",{"2":{"24":1}}],["juliausing",{"2":{"4":2,"25":1,"28":1,"31":1,"36":1,"41":1}}],["juliam",{"2":{"4":2}}],["juliafunction",{"2":{"1":1,"12":2}}],["jl",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"4":1,"12":2,"15":1,"28":1,"29":1}}],["brevity",{"2":{"12":1}}],["break",{"2":{"9":1}}],["branch",{"2":{"12":1}}],["building",{"2":{"7":1,"26":1}}],["built",{"2":{"7":1}}],["buillt",{"2":{"4":1}}],["but",{"2":{"7":1}}],["binary",{"2":{"7":1,"8":3,"9":1,"11":1}}],["bind",{"2":{"4":1}}],["bool",{"2":{"37":3}}],["boosted",{"2":{"33":1,"38":1,"43":1}}],["boosting",{"2":{"7":2,"22":3}}],["bostonhousing",{"2":{"42":1}}],["boston",{"0":{"16":1,"40":1},"1":{"41":1,"42":1,"43":1,"44":1},"2":{"4":1,"15":1,"28":1,"40":2}}],["both",{"2":{"4":1,"12":1}}],["blocks",{"2":{"4":1,"7":1}}],["basic",{"2":{"8":2}}],["based",{"2":{"4":1,"11":1}}],["backward",{"2":{"12":3}}],["back",{"2":{"8":1}}],["bagging",{"2":{"7":2}}],["batch",{"2":{"4":1,"12":3}}],["batchsize=2048",{"2":{"4":1}}],["byrow",{"2":{"37":2}}],["by",{"2":{"4":2,"8":1,"34":1,"37":1,"39":1,"40":1,"44":1}}],["been",{"2":{"35":1}}],["before",{"2":{"32":1,"42":1}}],["begin",{"2":{"31":1,"36":1,"41":1}}],["benchmarking",{"2":{"29":1}}],["benchmarks",{"0":{"15":1,"29":1},"1":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1},"2":{"15":1}}],["below",{"2":{"12":1,"15":1}}],["best",{"2":{"4":1,"15":1}}],["be",{"2":{"1":2,"4":7,"11":1,"12":1,"34":1,"35":1,"37":2,"39":1}}],["iris",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1},"2":{"30":2,"32":2,"35":1}}],["i+1",{"2":{"12":1}}],["i>>1",{"2":{"12":4}}],["i",{"2":{"12":9}}],["ie",{"2":{"11":1}}],["illustrate",{"2":{"8":1}}],["illustrated",{"2":{"7":1}}],["id",{"2":{"4":1}}],["identity",{"2":{"4":1}}],["imputed",{"2":{"37":1}}],["improving",{"2":{"15":1}}],["improves",{"2":{"4":1}}],["implement",{"2":{"12":1}}],["implements",{"2":{"11":1}}],["implementation",{"2":{"8":1,"12":1,"15":1}}],["implementing",{"2":{"4":1}}],["imported",{"2":{"4":1}}],["iteration",{"2":{"12":1}}],["it",{"2":{"4":1,"7":1,"8":2,"12":1,"35":1,"40":1}}],["ismissing",{"2":{"37":2}}],["isolation",{"2":{"7":1}}],["is",{"2":{"2":1,"4":4,"5":2,"7":3,"8":9,"12":1,"15":7,"25":1,"26":1,"29":1,"30":1,"35":1,"37":4,"40":1}}],["information",{"2":{"40":1}}],["info",{"2":{"37":1}}],["infer",{"2":{"2":2}}],["inference",{"0":{"2":1,"27":1},"2":{"2":1,"4":1}}],["incl",{"2":{"37":1}}],["included",{"2":{"30":1,"35":1,"40":1}}],["installation",{"0":{"24":1}}],["instance",{"2":{"4":3}}],["instruct",{"2":{"12":1}}],["int",{"2":{"12":1,"32":1,"37":1,"42":1}}],["into",{"2":{"8":2,"10":1,"32":1,"37":1}}],["introduce",{"2":{"8":1}}],["introduces",{"2":{"7":1}}],["intended",{"2":{"12":1}}],["integrate",{"2":{"12":1}}],["integration",{"2":{"7":2}}],["integer",{"2":{"4":1}}],["interface",{"2":{"4":3,"28":1}}],["internal",{"2":{"1":1,"4":3}}],["individual",{"2":{"35":1}}],["indicator",{"2":{"37":1}}],["indicating",{"2":{"1":1}}],["indices",{"2":{"32":3,"37":4,"42":4}}],["indexing",{"2":{"8":1}}],["index",{"2":{"8":2,"12":1}}],["independent",{"2":{"4":1}}],["init",{"2":{"4":1}}],["input",{"2":{"4":2,"37":2}}],["in",{"2":{"4":8,"7":3,"8":5,"10":1,"11":2,"12":2,"15":3,"30":1,"35":1,"37":2,"40":2}}],["was",{"2":{"12":2}}],["way",{"2":{"8":1}}],["width",{"2":{"30":2}}],["wise",{"2":{"12":1}}],["will",{"2":{"8":1,"30":1,"31":1,"32":1,"35":2,"36":1,"40":1,"41":1,"42":1}}],["without",{"2":{"11":1}}],["within",{"2":{"7":1,"8":1}}],["with",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"4":6,"7":1,"12":1,"14":1,"15":4,"22":1,"25":1,"26":1,"37":2}}],["we",{"2":{"8":2,"9":1,"30":1,"31":1,"32":3,"33":4,"34":2,"35":1,"36":1,"38":4,"39":2,"40":1,"41":1,"42":3,"43":4,"44":2}}],["weighted",{"2":{"8":1}}],["weights",{"0":{"9":1,"12":1},"2":{"4":1,"8":4,"12":5}}],["weight",{"2":{"1":2,"4":2,"8":1}}],["work",{"2":{"7":1}}],["which",{"0":{"10":1},"2":{"4":1,"12":1,"30":1,"32":1,"34":1,"35":1,"39":1,"40":1}}],["whose",{"2":{"4":2}}],["whether",{"2":{"4":1,"37":1}}],["when",{"2":{"4":2}}],["where",{"2":{"2":1,"4":1,"7":1,"8":2}}],["wd=0",{"2":{"4":1}}],["census",{"2":{"40":1}}],["create",{"2":{"37":1}}],["current",{"2":{"12":1}}],["custom",{"2":{"12":1}}],["cw",{"2":{"12":12}}],["challenging",{"2":{"12":1}}],["chain",{"2":{"7":1,"14":1}}],["check",{"2":{"4":2}}],["cabin",{"2":{"37":1}}],["capturing",{"2":{"37":1}}],["categoricalarrays",{"2":{"31":1,"36":1,"41":1}}],["categorical",{"2":{"22":1,"32":2,"37":5}}],["catboost",{"2":{"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1}}],["called",{"2":{"4":1}}],["cannot",{"2":{"12":1}}],["can",{"2":{"1":1,"4":3,"32":1,"34":2,"37":2,"39":2,"42":1,"44":2}}],["cpu",{"2":{"4":2,"12":1,"33":1,"38":1,"43":1}}],["coalesce",{"2":{"37":1}}],["could",{"2":{"35":1}}],["count",{"2":{"4":1}}],["code",{"2":{"15":1}}],["com",{"2":{"22":2}}],["common",{"2":{"12":1,"15":1,"37":1}}],["comparison",{"2":{"15":1}}],["compatible",{"2":{"7":2,"37":1}}],["composability",{"0":{"14":1}}],["composition",{"2":{"7":3}}],["composing",{"2":{"5":1}}],["compliant",{"2":{"12":1}}],["complete",{"2":{"4":1,"11":1}}],["computation",{"2":{"12":1}}],["computing",{"2":{"12":1}}],["compute",{"2":{"4":1,"12":1}}],["collected",{"2":{"40":1}}],["collectively",{"2":{"8":1}}],["collection",{"2":{"5":1,"7":1,"11":1}}],["collaboratively",{"2":{"7":1}}],["column",{"2":{"4":1}}],["columns",{"2":{"4":1}}],["cost",{"2":{"4":1}}],["concerning",{"2":{"40":1}}],["convert",{"2":{"32":1,"37":2}}],["conv",{"2":{"12":1}}],["considered",{"2":{"15":1}}],["consists",{"2":{"12":1,"30":1}}],["constructor",{"2":{"25":1,"33":1,"38":1,"43":1}}],["construct",{"2":{"4":2}}],["constructing",{"2":{"4":1}}],["condition",{"0":{"10":1,"11":1},"2":{"8":1}}],["conditions",{"2":{"8":2,"9":1}}],["continuous",{"2":{"4":2}}],["contains",{"2":{"4":1}}],["configuring",{"0":{"25":1}}],["configuration",{"2":{"7":1,"15":1,"25":1,"33":1,"38":1,"43":1}}],["config",{"2":{"1":2,"4":4,"25":1,"26":2,"33":1,"38":1,"43":1}}],["classifier",{"2":{"35":1}}],["classification",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1},"2":{"4":1,"15":3,"22":1,"34":1,"35":1}}],["class",{"2":{"32":6}}],["classes",{"2":{"4":1}}],["petal",{"2":{"30":2}}],["perspective",{"2":{"8":1}}],["per",{"2":{"4":1}}],["performed",{"2":{"15":1,"29":1}}],["performing",{"2":{"12":1}}],["performs",{"2":{"9":1}}],["performance",{"2":{"4":1,"15":1}}],["perform",{"0":{"10":1},"2":{"1":1}}],["pytorch",{"2":{"22":1}}],["position",{"2":{"12":2}}],["place",{"2":{"12":1}}],["passengerid",{"2":{"37":1}}],["passengers",{"2":{"35":1}}],["passing",{"2":{"34":1,"39":1,"44":1}}],["pass",{"2":{"33":1,"38":1,"43":1}}],["packages",{"2":{"31":1,"36":1,"41":1}}],["package",{"2":{"30":1,"35":1,"40":1}}],["parallelization",{"2":{"12":1}}],["parallelism",{"2":{"12":1}}],["params",{"2":{"4":1}}],["parameter",{"2":{"4":2,"15":1}}],["parameters",{"2":{"4":5,"15":1}}],["parts",{"2":{"15":1}}],["part",{"2":{"12":1}}],["path",{"2":{"8":2,"11":1}}],["purpose",{"2":{"7":1}}],["p",{"2":{"4":2,"28":1,"34":3,"39":3,"44":3}}],["pkg=neurotreemodels",{"2":{"4":1}}],["pruned",{"2":{"11":1}}],["prepare",{"2":{"37":1}}],["preprocess",{"2":{"32":1,"42":1}}],["preprocessing",{"0":{"32":1,"37":1,"42":1}}],["presented",{"2":{"15":1}}],["previous",{"2":{"7":1}}],["predict",{"2":{"4":2,"28":1}}],["prediction",{"0":{"13":1},"2":{"4":1,"5":1,"7":1,"8":2}}],["predictions",{"2":{"4":4,"7":3,"34":1,"37":1,"39":1,"44":1}}],["processing",{"2":{"37":1}}],["prominent",{"2":{"29":1}}],["problem",{"2":{"15":2,"34":1,"35":1}}],["probability",{"2":{"8":1,"12":1}}],["provides",{"2":{"7":1}}],["provide",{"2":{"4":2,"8":2}}],["proportional",{"2":{"4":1}}],["print",{"2":{"1":2,"33":1,"38":1,"43":1}}],["virginica",{"2":{"30":1}}],["view",{"2":{"8":2}}],["various",{"2":{"44":1}}],["variables",{"2":{"37":3}}],["variable",{"2":{"1":1,"4":1,"32":2,"37":1,"40":1,"42":1}}],["value",{"0":{"11":1},"2":{"8":1,"37":1,"40":1}}],["values",{"2":{"4":2,"37":4}}],["versicolor",{"2":{"30":1}}],["verbosity=1",{"2":{"1":2}}],["vector",{"2":{"1":2,"8":1}}],["our",{"2":{"32":1,"33":1,"34":2,"38":1,"39":2,"42":2,"43":1,"44":1}}],["outsize=3",{"2":{"33":1}}],["outsize=1",{"2":{"4":1}}],["out",{"2":{"10":1}}],["omitted",{"2":{"12":1}}],["oblivious",{"2":{"22":1}}],["obtained",{"2":{"12":1,"15":1}}],["observation",{"2":{"12":1}}],["object",{"2":{"4":1}}],["other",{"2":{"7":2,"12":1}}],["optional",{"2":{"33":1,"38":1,"43":1}}],["optimal",{"2":{"4":1,"7":1}}],["optimizer",{"2":{"4":1}}],["operators",{"2":{"7":1,"12":1}}],["operator",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"7":3,"11":1,"14":1}}],["operations",{"2":{"4":1,"12":1}}],["overview",{"0":{"7":1}}],["override",{"2":{"4":2}}],["over",{"2":{"2":1,"7":1,"12":2,"34":1}}],["only",{"2":{"4":2}}],["onecold",{"2":{"34":2}}],["ones",{"2":{"8":1,"10":2,"12":1,"15":1}}],["one",{"2":{"1":1,"4":3,"8":1,"11":1}}],["on",{"0":{"10":1,"30":1,"35":1,"40":1},"1":{"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"38":1,"39":1,"41":1,"42":1,"43":1,"44":1},"2":{"1":1,"4":1,"9":1,"12":2,"15":4,"22":1,"35":1,"37":1}}],["order",{"2":{"11":1}}],["orderedfactor",{"2":{"4":1}}],["or",{"2":{"1":2,"4":4,"5":1,"8":1,"12":1,"37":3}}],["of",{"0":{"10":1,"11":1},"2":{"1":4,"2":1,"4":22,"5":3,"7":10,"8":9,"9":1,"10":2,"11":1,"12":5,"15":3,"26":1,"30":3,"32":1,"33":1,"34":1,"35":1,"38":1,"39":1,"40":1,"43":1}}],["offset+step÷2",{"2":{"12":1}}],["offset",{"2":{"1":2,"12":8}}],["skipmissing",{"2":{"37":1}}],["should",{"2":{"34":1,"39":1}}],["shortcoming",{"2":{"7":1}}],["short",{"2":{"4":1}}],["system",{"2":{"22":1}}],["symbol",{"2":{"1":2}}],["squeeze",{"2":{"22":1}}],["squared",{"2":{"15":4}}],["sophisticated",{"2":{"37":1}}],["some",{"2":{"37":1}}],["soft",{"2":{"8":1,"9":1,"10":1,"11":1}}],["source",{"2":{"1":1,"2":1,"4":1,"5":1,"15":1}}],["survived",{"2":{"37":1}}],["survival",{"2":{"35":1}}],["supports",{"2":{"28":1,"37":1}}],["support",{"2":{"22":1,"26":1}}],["such",{"2":{"8":1,"11":1,"12":1,"37":4,"44":1}}],["sum",{"2":{"5":1,"8":1}}],["sample",{"2":{"8":1}}],["same",{"2":{"4":1}}],["s",{"0":{"11":1},"2":{"7":1,"8":2,"9":1,"12":1,"40":2}}],["scitype",{"2":{"4":4}}],["scitypes",{"2":{"4":2}}],["schema",{"2":{"4":1}}],["scalable",{"2":{"22":1}}],["scaling",{"2":{"4":1}}],["scale=1",{"2":{"4":1}}],["specifies",{"2":{"32":1}}],["speed",{"2":{"4":1}}],["split=false",{"2":{"4":1}}],["split",{"2":{"4":2,"9":1,"15":1,"37":1,"42":1}}],["separate",{"2":{"42":1}}],["sepal",{"2":{"30":2}}],["service",{"2":{"40":1}}],["sex",{"2":{"37":5}}],["see",{"2":{"26":1,"35":1}}],["seed",{"2":{"4":1,"31":1,"36":1,"41":1}}],["selected",{"2":{"10":1}}],["selection",{"0":{"10":1,"11":1},"2":{"10":1,"15":1}}],["sequentially",{"2":{"7":1}}],["setdiff",{"2":{"32":2,"37":2,"42":2}}],["setosa",{"2":{"30":1}}],["set",{"2":{"4":1,"37":1}}],["simple",{"2":{"34":1}}],["simultaneously",{"2":{"7":3}}],["single",{"2":{"8":1}}],["since",{"2":{"8":1,"12":1}}],["significantly",{"2":{"4":1}}],["sigma",{"2":{"4":1}}],["size=1",{"2":{"4":1}}],["size=16",{"2":{"4":1}}],["size",{"2":{"4":3,"12":4}}],["slower",{"2":{"4":1}}],["std",{"2":{"41":1,"42":4,"44":2}}],["stops",{"2":{"15":1}}],["stopping",{"2":{"1":3,"15":1,"26":1,"33":2,"38":2,"43":2}}],["step+leaf",{"2":{"12":1}}],["step÷2+leaf",{"2":{"12":1}}],["step",{"2":{"12":2,"37":1}}],["structure",{"2":{"9":1}}],["string",{"2":{"1":2,"37":3}}],["statsbase",{"2":{"36":1}}],["status",{"2":{"35":1}}],["statistics",{"2":{"31":1,"36":1,"41":1}}],["state",{"2":{"15":1}}],["started",{"0":{"23":1,"31":1,"36":1,"41":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["starting",{"2":{"12":1}}],["standard",{"2":{"7":1}}],["stacktree",{"2":{"5":1,"7":1,"14":1}}],["stacked",{"2":{"4":1}}],["stack",{"2":{"4":3}}],["k",{"2":{"12":4}}],["kwargs",{"2":{"4":2}}],["kwarg",{"2":{"1":2}}],["keyword",{"2":{"1":1,"4":2}}],["age",{"2":{"37":5}}],["against",{"2":{"15":3,"29":1}}],["augmented",{"2":{"22":1}}],["auto",{"2":{"4":1,"12":1,"26":1}}],["available",{"2":{"15":1}}],["averaged",{"2":{"7":1}}],["attention",{"2":{"22":1}}],["attempt",{"2":{"12":1}}],["at",{"2":{"12":1,"15":1,"29":1}}],["axes",{"2":{"12":1}}],["algos",{"2":{"15":1}}],["algo",{"2":{"12":1,"15":1}}],["alternative",{"2":{"8":1}}],["although",{"2":{"7":1,"35":1}}],["also",{"2":{"7":3,"35":1,"37":1}}],["allows",{"2":{"7":1}}],["all",{"2":{"5":1,"7":4,"8":1}}],["according",{"2":{"26":1,"37":1,"42":1}}],["account",{"2":{"7":1}}],["accuracy",{"2":{"17":1,"21":1,"34":1,"39":1}}],["accumulation",{"2":{"12":1}}],["accumulating",{"2":{"12":1}}],["across",{"2":{"7":1}}],["acts",{"2":{"11":1,"12":1}}],["act",{"2":{"4":1}}],["actually",{"2":{"9":1}}],["actual",{"2":{"4":1,"12":1}}],["activation",{"2":{"4":1}}],["acta=",{"2":{"4":1}}],["additional",{"2":{"26":1}}],["add",{"2":{"24":1}}],["address",{"2":{"7":1}}],["adjoint",{"2":{"12":1}}],["ad",{"2":{"12":3}}],["adam",{"2":{"11":1}}],["adapted",{"2":{"7":1}}],["adopt",{"2":{"8":1}}],["abs",{"2":{"44":2}}],["absolute",{"2":{"44":1}}],["abstractvector",{"2":{"4":1}}],["abstractrng",{"2":{"4":1}}],["abstractdataframe",{"2":{"1":1,"2":1}}],["ability",{"2":{"7":1}}],["above",{"2":{"4":1,"8":2,"26":1}}],["assessment",{"2":{"15":1}}],["associated",{"2":{"8":2}}],["as",{"2":{"4":8,"8":1,"11":2,"12":3,"15":1,"35":1,"37":5,"44":1}}],["around",{"2":{"39":1}}],["art",{"2":{"15":1}}],["architecture",{"0":{"8":1},"1":{"9":1,"10":1,"11":1,"12":1,"13":1},"2":{"8":1}}],["argument",{"2":{"4":1,"33":1,"38":1,"43":1}}],["arguments",{"2":{"1":2,"4":2}}],["area",{"2":{"40":1}}],["aren",{"2":{"7":1}}],["are",{"2":{"4":4,"7":3,"8":1,"9":1,"10":1,"12":3,"15":1,"33":1,"37":3,"38":1,"43":1}}],["apply",{"2":{"44":1}}],["applicable",{"2":{"4":1,"8":1}}],["applied",{"2":{"4":3}}],["approached",{"2":{"35":1}}],["approach",{"2":{"12":1,"37":3}}],["api",{"0":{"0":1},"1":{"1":1,"2":1},"2":{"1":1,"4":3,"37":1}}],["another",{"2":{"37":1}}],["any",{"2":{"4":2,"11":1}}],["an",{"2":{"4":6,"7":1,"8":2,"26":1,"37":2}}],["and",{"2":{"1":1,"4":4,"7":4,"8":2,"12":6,"15":2,"22":2,"26":1,"30":2,"31":1,"34":1,"36":1,"37":3,"39":1,"41":1,"42":2,"44":1}}],["a",{"0":{"6":1,"25":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"1":3,"2":1,"4":12,"5":3,"7":3,"8":10,"9":2,"10":1,"11":3,"12":3,"15":2,"22":2,"25":1,"26":1,"32":1,"33":2,"35":2,"37":5,"38":2,"43":2}}],["run",{"2":{"15":1}}],["rule",{"2":{"12":1}}],["r",{"2":{"4":1,"26":1}}],["row",{"2":{"12":1}}],["rows=",{"2":{"4":1}}],["round",{"2":{"37":1,"42":1}}],["rounds=2",{"2":{"33":1,"38":1,"43":1}}],["rounds=9999",{"2":{"1":2}}],["rounds",{"2":{"4":1}}],["routing",{"2":{"8":1}}],["role",{"2":{"8":1}}],["rng=123",{"2":{"4":1}}],["ratio",{"2":{"32":2,"37":2,"42":2}}],["rather",{"2":{"11":1,"12":1}}],["rate",{"2":{"4":1}}],["ranking",{"2":{"15":2}}],["randperm",{"2":{"32":1,"37":1,"42":1}}],["rand",{"2":{"4":1,"26":1}}],["randn",{"2":{"4":1,"26":1}}],["random",{"2":{"4":3,"7":1,"15":1,"31":2,"36":2,"41":2}}],["range",{"2":{"4":1}}],["remove",{"2":{"37":1}}],["real",{"2":{"37":1}}],["ready",{"2":{"33":1,"38":1,"43":1}}],["references",{"0":{"22":1}}],["regression",{"0":{"35":1,"40":1},"1":{"36":1,"37":1,"38":1,"39":1,"41":1,"42":1,"43":1,"44":1},"2":{"15":6,"22":1,"35":1}}],["regular",{"2":{"5":1,"8":1}}],["represents",{"2":{"40":1}}],["represented",{"2":{"8":1,"12":1}}],["replaced",{"2":{"37":1}}],["report",{"2":{"4":2}}],["relaxing",{"2":{"8":1}}],["relies",{"2":{"8":1,"9":1}}],["residual",{"2":{"7":2}}],["resulting",{"2":{"7":1,"8":1}}],["result",{"2":{"4":1}}],["results",{"2":{"4":1}}],["recommended",{"2":{"4":1,"37":1}}],["requiring",{"2":{"4":1}}],["required",{"2":{"1":2,"31":1,"36":1,"41":1}}],["returning",{"2":{"4":1}}],["returned",{"2":{"4":1}}],["return",{"2":{"1":2,"2":1,"4":1,"12":2}}],["embarked",{"2":{"37":1}}],["efficient",{"2":{"22":1}}],["error",{"2":{"15":4,"44":1}}],["eltype",{"2":{"12":1}}],["element",{"2":{"4":2,"8":1,"12":1}}],["ecosystem",{"2":{"12":1}}],["enable",{"2":{"33":1,"38":1,"43":1}}],["ensembles",{"2":{"22":1}}],["end",{"2":{"12":6}}],["engines",{"2":{"12":1}}],["encountered",{"2":{"4":1}}],["excitation",{"2":{"22":1}}],["example",{"2":{"8":1}}],["examples",{"2":{"4":1}}],["ex",{"2":{"7":1}}],["extend",{"2":{"7":1}}],["extent",{"2":{"7":1}}],["eg",{"2":{"4":1}}],["either",{"2":{"4":2,"5":1,"8":1,"37":1}}],["each",{"2":{"4":3,"7":2,"8":4,"11":1,"12":3,"15":2}}],["early",{"2":{"1":3,"15":1,"26":1,"33":2,"38":2,"43":2}}],["eta",{"2":{"4":1}}],["epochs",{"2":{"4":1}}],["evotrees",{"2":{"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"37":1}}],["evaluate",{"2":{"34":1,"39":1}}],["evaluated",{"2":{"15":1}}],["evaluation",{"2":{"1":2,"15":1,"26":1,"44":1}}],["eval",{"2":{"15":3,"34":2,"37":1,"39":2,"42":1,"44":2}}],["every",{"2":{"1":2,"33":1,"38":1,"43":1}}],["missing",{"2":{"37":4}}],["min",{"2":{"15":4}}],["minimized",{"2":{"4":1}}],["medv",{"2":{"42":5,"44":2}}],["median",{"2":{"36":1,"37":2,"40":1}}],["mean",{"2":{"31":1,"34":2,"36":1,"37":1,"39":2,"41":1,"42":4,"44":5}}],["measurements",{"2":{"30":1}}],["methodology",{"2":{"15":1}}],["methods",{"2":{"11":1}}],["metric=",{"2":{"33":1,"38":1,"43":1}}],["metric=nothing",{"2":{"1":2}}],["metric",{"2":{"1":2,"15":3,"26":1,"44":1}}],["msrank",{"0":{"19":1},"2":{"15":1}}],["mse",{"2":{"1":1,"4":2,"16":1,"18":1,"19":1,"20":1,"25":1,"43":2}}],["move",{"2":{"12":1}}],["more",{"2":{"12":1,"37":1}}],["model",{"0":{"25":1},"2":{"4":9,"15":3,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"25":1,"26":1,"32":1,"33":4,"34":2,"35":2,"37":2,"38":4,"39":2,"42":1,"43":4,"44":1}}],["models",{"0":{"3":1},"1":{"4":1,"5":1},"2":{"4":2}}],["multiheadattention",{"2":{"12":1}}],["multiplication",{"2":{"12":1}}],["multiple",{"2":{"7":1}}],["mu",{"2":{"4":1}}],["must",{"2":{"1":1,"4":2}}],["manujosephv",{"2":{"22":1}}],["manually",{"2":{"12":1}}],["matrix",{"2":{"12":1}}],["mask",{"2":{"8":3}}],["made",{"2":{"5":1}}],["machine",{"2":{"4":3,"7":1,"28":1}}],["mach",{"2":{"4":7,"28":2}}],["max",{"2":{"4":1,"12":2}}],["mae",{"2":{"1":1,"4":1,"44":1}}],["m",{"2":{"2":1,"4":4,"26":1,"27":1,"28":2,"33":1,"34":2,"38":1,"39":2,"43":1,"44":2}}],["mldatasets",{"2":{"30":1,"31":1,"32":1,"35":1,"36":1,"37":1,"40":1,"41":1,"42":1}}],["ml",{"2":{"29":1}}],["mlbenchmarks",{"2":{"15":1,"29":1}}],["mlp",{"2":{"14":1}}],["mljbase",{"2":{"4":2,"28":1}}],["mlj",{"0":{"28":1},"2":{"4":5,"7":1,"28":1}}],["mle",{"2":{"1":1,"4":3}}],["mlogloss",{"2":{"1":1,"4":1,"33":2}}],["mdash",{"2":{"1":1,"2":1,"4":1,"5":1}}],["df",{"2":{"32":10,"37":12,"42":6}}],["diagnosis",{"0":{"34":1,"39":1,"44":1}}],["dimensions",{"2":{"12":1}}],["differentiate",{"2":{"12":1}}],["differentiation",{"2":{"12":1}}],["differentiable",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"7":1,"8":1,"10":1,"11":1,"22":1}}],["different",{"2":{"7":1,"30":1}}],["docs",{"2":{"26":1}}],["done",{"2":{"26":1}}],["down",{"2":{"9":1}}],["do",{"2":{"4":2}}],["dealing",{"2":{"37":1}}],["describes",{"2":{"35":1}}],["define",{"2":{"33":1,"38":1,"43":1}}],["defined",{"2":{"25":1}}],["defaults",{"2":{"4":2}}],["default",{"2":{"4":2,"37":1}}],["deep",{"2":{"22":3}}],["dense",{"2":{"12":1}}],["derived",{"2":{"40":1}}],["derive",{"2":{"9":1}}],["decisions",{"2":{"8":1,"9":1,"10":1}}],["decision",{"2":{"8":6,"9":1,"11":2,"22":5}}],["decay",{"2":{"4":1}}],["device",{"2":{"4":1}}],["device=",{"2":{"4":1,"33":1,"38":1,"43":1}}],["deval",{"2":{"1":1,"32":1,"33":2,"34":2,"37":1,"38":2,"39":2,"42":2,"43":2,"44":2}}],["deval=nothing",{"2":{"1":2}}],["depth=4",{"2":{"33":1,"38":1}}],["depth=5",{"2":{"4":2,"28":1,"43":1}}],["depth=6",{"2":{"4":1}}],["depth",{"2":{"4":3,"8":2,"12":5,"25":1}}],["determination",{"2":{"4":1}}],["during",{"2":{"4":1}}],["datasets",{"2":{"15":1}}],["dataset",{"0":{"30":1,"35":1,"40":1},"1":{"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"38":1,"39":1,"41":1,"42":1,"43":1,"44":1},"2":{"15":1,"30":2,"31":1,"32":1,"35":1,"36":1,"40":1,"41":1,"42":1}}],["dataframes",{"2":{"4":1,"25":1,"31":1,"36":1,"41":1}}],["dataframe",{"2":{"4":2,"26":1,"32":1,"37":1,"42":1}}],["data",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"1":1,"2":3,"4":2,"7":1,"15":3,"22":3,"34":1,"37":2,"39":1,"42":1,"44":1}}],["dtrain",{"2":{"1":2,"4":6,"26":4,"27":1,"32":1,"33":1,"34":2,"37":1,"38":1,"39":2,"42":4,"43":1,"44":2}}],["tutorial",{"2":{"35":1}}],["tuned",{"2":{"7":2}}],["ticket",{"2":{"37":1}}],["time",{"2":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1}}],["titanic",{"0":{"17":1,"35":1},"1":{"36":1,"37":1,"38":1,"39":1},"2":{"15":1,"35":2,"37":1}}],["testing",{"2":{"34":1,"39":1,"44":1}}],["test",{"2":{"15":3}}],["technically",{"2":{"12":1}}],["terminal",{"2":{"4":1,"12":1}}],["t",{"2":{"7":1}}],["though",{"2":{"12":1}}],["those",{"2":{"8":1,"9":1}}],["than",{"2":{"11":1,"12":1}}],["that",{"2":{"7":2,"8":3,"12":2,"15":1,"37":1}}],["three",{"2":{"15":1,"30":1}}],["threshold",{"0":{"11":1}}],["through",{"2":{"7":1,"12":2,"26":1}}],["this",{"2":{"7":2,"30":1,"34":1}}],["them",{"2":{"37":1}}],["then",{"2":{"33":1,"34":1,"37":1,"38":1,"39":1,"43":1,"44":1}}],["these",{"2":{"8":2,"10":1}}],["the",{"0":{"10":2,"11":1},"2":{"1":3,"2":1,"4":26,"5":2,"7":14,"8":17,"9":2,"10":2,"12":15,"15":13,"25":1,"26":3,"28":1,"30":3,"31":2,"32":3,"33":3,"34":1,"35":6,"36":2,"37":4,"38":3,"39":1,"40":5,"41":2,"42":2,"43":3,"44":1}}],["true",{"2":{"8":1}}],["treat",{"2":{"37":1}}],["treated",{"2":{"37":1}}],["treatment",{"2":{"7":1}}],["trees",{"2":{"4":1,"5":1,"7":6,"8":1,"11":2,"22":3,"25":1}}],["tree",{"0":{"6":1,"13":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"4":4,"5":1,"7":4,"8":6,"11":2,"12":6,"22":3,"33":1,"38":1,"43":1}}],["transform",{"2":{"37":4,"42":2}}],["transformer",{"2":{"12":1}}],["translated",{"2":{"10":1}}],["traditional",{"2":{"7":1,"9":1,"11":1}}],["trainable",{"2":{"11":1}}],["train",{"2":{"4":1,"15":2,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"32":6,"33":2,"34":2,"37":5,"38":2,"39":2,"42":7,"43":2,"44":2}}],["trained",{"2":{"4":1,"15":2}}],["training",{"0":{"1":1,"26":1,"33":1,"38":1,"43":1},"2":{"1":1,"4":6,"26":1,"34":1,"39":1,"44":1}}],["tracked",{"2":{"1":1,"15":1}}],["tracking",{"2":{"1":1,"26":1}}],["takes",{"2":{"8":1}}],["take",{"2":{"8":1}}],["taken",{"2":{"8":1,"9":1}}],["tabular",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"7":1,"15":1,"22":4,"29":1}}],["tables",{"2":{"37":1}}],["table",{"2":{"4":1}}],["tasks",{"2":{"4":1,"15":1}}],["tanh",{"2":{"4":2}}],["target",{"2":{"1":3,"4":6,"26":2,"32":2,"33":1,"34":2,"37":3,"38":1,"39":2,"40":1,"42":5,"43":1}}],["typical",{"2":{"4":1}}],["typically",{"2":{"4":2}}],["types",{"2":{"30":1}}],["type",{"2":{"4":3,"5":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"32":1}}],["to",{"0":{"10":1},"2":{"4":15,"7":2,"8":7,"9":1,"11":1,"12":7,"26":1,"31":1,"32":1,"33":3,"34":1,"36":1,"37":5,"38":3,"39":1,"41":1,"42":2,"43":3,"44":1}}],["full",{"2":{"12":1,"37":1}}],["functor",{"2":{"4":1}}],["function",{"2":{"1":2,"2":1,"4":2,"12":3}}],["flower",{"2":{"32":1}}],["flowers",{"2":{"30":1}}],["floor",{"2":{"12":1}}],["flux",{"2":{"7":1,"12":1}}],["false",{"2":{"8":1}}],["factor",{"2":{"4":1}}],["fetch",{"2":{"8":1}}],["features",{"2":{"4":5,"22":1,"26":1,"37":3,"42":1}}],["feature",{"0":{"10":1},"2":{"1":3,"4":3,"10":1,"26":2,"32":1,"33":1,"37":4,"38":1,"42":1,"43":1}}],["friendly",{"2":{"12":1}}],["framework",{"2":{"7":1}}],["from",{"2":{"4":1,"7":4,"12":1,"37":1,"40":1,"42":1}}],["finally",{"2":{"34":1,"44":1}}],["figure",{"2":{"8":1}}],["first",{"2":{"8":1,"9":1,"33":1,"37":2,"38":1,"43":1}}],["fields",{"2":{"4":2}}],["fitresult",{"2":{"4":1}}],["fitted",{"2":{"4":2}}],["fit",{"2":{"1":2,"4":5,"26":2,"28":1,"33":2,"38":2,"43":2}}],["followed",{"2":{"15":1}}],["following",{"2":{"4":1,"8":1,"15":3}}],["forward",{"2":{"12":2}}],["format",{"2":{"37":1}}],["form",{"2":{"8":2,"12":1}}],["forming",{"2":{"7":1}}],["forest",{"2":{"7":2,"22":1}}],["for",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"1":1,"4":5,"7":3,"8":1,"12":6,"15":4,"22":3,"26":1,"29":1,"30":1,"34":1,"37":2}}],["f0",{"2":{"4":1}}],["n=10",{"2":{"33":1,"38":1,"43":1}}],["n=9999",{"2":{"1":2}}],["nrow",{"2":{"32":3,"37":3,"42":3}}],["nrounds=400",{"2":{"33":1,"38":1,"43":1}}],["nrounds=10",{"2":{"4":3,"28":1}}],["nrounds",{"2":{"4":1,"25":1}}],["num",{"2":{"25":1}}],["number",{"2":{"4":7,"8":1}}],["need",{"2":{"32":1,"42":1}}],["networks",{"2":{"22":1}}],["neural",{"2":{"22":5}}],["neurotrees",{"2":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1}}],["neurotree",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"4":1,"5":1,"7":3,"8":2,"9":1,"10":1,"11":1,"12":1,"14":1}}],["neurotreemodel",{"0":{"5":1},"2":{"2":2,"4":1,"5":3}}],["neurotreemodels",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"1":2,"2":1,"4":4,"5":1,"24":1,"25":1,"26":2,"28":2,"31":1,"33":2,"34":2,"36":1,"38":2,"41":1,"43":2}}],["neurotreeregressor",{"0":{"4":1},"2":{"1":2,"4":10,"25":2,"28":1,"33":2,"38":2,"43":2}}],["ncart",{"2":{"22":1}}],["ndcg",{"2":{"19":1,"20":1}}],["nw",{"2":{"12":10}}],["naturally",{"2":{"12":1}}],["name=nothing",{"2":{"1":4}}],["name",{"2":{"1":3,"4":3,"26":2,"32":2,"33":1,"34":2,"37":3,"38":1,"39":2,"42":1,"43":1}}],["names",{"2":{"1":3,"4":5,"26":3,"32":2,"33":1,"37":3,"38":1,"42":2,"43":1}}],["nnlib",{"2":{"7":1}}],["nfeats",{"2":{"4":2,"26":2}}],["now",{"2":{"33":1,"37":1,"38":1,"43":1}}],["non",{"2":{"12":1}}],["notably",{"2":{"26":1}}],["nothing",{"2":{"12":1}}],["not",{"2":{"12":1,"37":1}}],["notoriously",{"2":{"12":1}}],["notion",{"2":{"7":2}}],["nobs",{"2":{"4":3,"26":2}}],["node3",{"2":{"8":1}}],["node1",{"2":{"8":1}}],["nodes",{"2":{"4":2,"8":2,"9":1}}],["node",{"0":{"9":1},"2":{"4":1,"7":1,"8":1,"11":1,"12":3,"15":1,"22":1}}],["ntrees=64",{"2":{"4":1}}],["n",{"2":{"4":1}}],["nbsp",{"2":{"1":1,"2":1,"4":1,"5":1}}]],"serializationVersion":2}`;export{e as default}; diff --git a/dev/assets/chunks/VPLocalSearchBox.B14VtkPM.js b/dev/assets/chunks/VPLocalSearchBox.-AZ4MAmB.js similarity index 89% rename from dev/assets/chunks/VPLocalSearchBox.B14VtkPM.js rename to dev/assets/chunks/VPLocalSearchBox.-AZ4MAmB.js index a3c6a41..a1dfe54 100644 --- a/dev/assets/chunks/VPLocalSearchBox.B14VtkPM.js +++ b/dev/assets/chunks/VPLocalSearchBox.-AZ4MAmB.js @@ -1,13 +1,13 @@ -var It=Object.defineProperty;var Dt=(o,e,t)=>e in o?It(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(Dt(o,typeof e!="symbol"?e+"":e,t),t);import{Y as yt,h as oe,y as $e,an as kt,ao as Ot,d as _t,H as xe,ap as tt,k as Fe,aq as Rt,ar as Mt,z as Lt,as as zt,l as _e,U as de,S as Ee,at as Pt,au as Bt,Z as Vt,j as $t,av as Wt,o as ee,b as Kt,m as k,a2 as Jt,p as j,aw as Ut,ax as jt,ay as Gt,c as re,n as rt,e as Se,G as at,F as nt,a as ve,t as pe,az as qt,q as Ht,s as Qt,aA as it,aB as Yt,ad as Zt,aj as Xt,aC as er,_ as tr}from"./framework.BResyDFY.js";import{u as rr,c as ar}from"./theme.5Q-JEVsf.js";const nr={root:()=>yt(()=>import("./@localSearchIndexroot.D7cbWRs2.js"),__vite__mapDeps([]))};/*! -* tabbable 6.2.0 -* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ce=mt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ce));return t&&ue.call(e,Ce)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ce);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ne(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=bt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ce)===!1?!1:We(t,e)},xr=mt.concat("iframe").join(","),Re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! -* focus-trap 7.5.4 -* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE -*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Cr=function(e){return ge(e)&&!e.shiftKey},Nr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),N=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),z=p.slice().reverse().find(function(m){return le(m)}),P=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:N,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(q){return le(q)}):p.slice(0,p.indexOf(x)).reverse().find(function(q){return le(q)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,N=c.isBackward,I=N===void 0?!1:N;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(B){var U=B.firstTabbableNode;return f===U});if(m<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(m=z),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(B){var U=B.lastTabbableNode;return f===U});if(K<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(K=z),K>=0){var q=K===i.tabbableGroups.length-1?0:K+1,H=i.tabbableGroups[q];M=se(f)>=0?H.firstTabbableNode:H.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var N,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(m){return m===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(N=z[P-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(N=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(N||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},R=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},V=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",R,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},C=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",R,!0),r.removeEventListener("keydown",L,!0),s},_=function(c){var f=c.some(function(p){var N=Array.from(p.removedNodes);return N.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(_):void 0,O=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),N=u(c,"checkCanFocusTrap");N||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){N&&v(),V(),O(),p==null||p()};return N?(N(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,C(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),N=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(E(i.nodeFocusedBeforeActivation)),N==null||N()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),C(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),V(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function _r(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",G="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(je(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Me(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Me(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ue,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Rr(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,R,V,C,_,A,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Je.batchSize,a=e.batchWait||Je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(_=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(O=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(O)throw O.error}}}}catch(f){_={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(_)throw _.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return R=c.sent(),V={error:R},[3,9];case 8:try{u&&!u.done&&(C=s.return)&&C.call(s)}finally{if(V)throw V.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Ve.minDirtCount,r=r||Ve.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(R){r={error:R}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(R){a={error:R}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(vt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Be.hasOwnProperty(e))return Pe(Be,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Le;try{for(var L=D(F._documentIds),R=L.next();!R.done;R=L.next()){var V=J(R.value,2),C=V[0],_=V[1];F._idToShortId.set(_,C)}}catch(P){r={error:P}}finally{try{R&&!R.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),O=A.next();!O.done;O=A.next()){var w=J(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var N=(s=void 0,D(Object.keys(f))),I=N.next();!I.done;I=N.next()){var M=I.value,z=f[M];T===1&&(z=z.ds),p.set(parseInt(M,10),Te(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=N.return)&&u.call(N)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},ht.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,R=L<1?Math.min(d,Math.round(e.term.length*L)):L;R&&(F=this._index.fuzzyGet(e.term,R))}if(T)try{for(var V=D(T),C=V.next();!C.done;C=V.next()){var _=J(C.value,2),A=_[0],O=_[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,O,u,l,v,S)}}}catch(M){r={error:M}}finally{try{C&&!C.done&&(n=V.return)&&n.call(V)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,N=J(F.get(A),2),I=N[0],w=N[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ge),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,R=this._avgFieldLength[T];try{for(var V=(d=void 0,D(F.keys())),C=V.next();!C.done;C=V.next()){var _=C.value;if(!this._documentIds.has(_)){this.removeTerm(T,_,t),L-=1;continue}var A=i?i(this._documentIds.get(_),t,this._storedFields.get(_)):1;if(A){var O=F.get(_),w=this._fieldLength.get(_)[T],c=Kr(O,L,this._documentCount,w,R,s),f=r*S*A*c,p=u.get(_);if(p){p.score+=f,jr(p.terms,e);var N=Pe(p.match,t);N?N.push(g):p.match[t]=[g]}else u.set(_,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{C&&!C.done&&(v=V.return)&&v.call(V)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Ht("data-v-f5c68218"),o=o(),Qt(),o),Hr=["aria-owns"],Qr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Ca={class:"search-keyboard-shortcuts"},Na=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],Oa=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),_a=[Oa],Ra=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],za=["aria-label"],Pa=_t({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var m,x,$,K,q,H,B,U,Z;return it(Vr.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((H=(q=l.value.search.options)==null?void 0:q.miniSearch)==null?void 0:H.searchOptions)},...((B=l.value.search)==null?void 0:B.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):Rt("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,q,H,B,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((H=(q=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:q.button)==null?void 0:H.buttonText)||((U=(B=m==null?void 0:m.translations)==null?void 0:B.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);$e(v,()=>{S.value=!1});const T=tt(async()=>{if(n.value)return it(new _r(n.value))},null),F=new qr(16);zt(()=>[h.value,v.value,y.value],async([m,x,$],K,q)=>{var be,qe,He,Qe;(K==null?void 0:K[0])!==m&&F.clear();let H=!1;if(q(()=>{H=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const B=$?await Promise.all(g.value.map(Q=>L(Q.id))):[];if(H)return;for(const{id:Q,mod:ae}of B){const ne=Q.slice(0,Q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(H)return}const U=new Set;if(g.value=g.value.map(Q=>{const[ae,ne]=Q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in Q.match)U.add(ie);return{...Q,text:X}}),await de(),H)return;await new Promise(Q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:Q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const Q of Z)(qe=Q.querySelector('mark[data-markjs="true"]'))==null||qe.scrollIntoView({block:"center"});(Qe=(He=n.value)==null?void 0:He.firstElementChild)==null||Qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await yt(()=>import(x),__vite__mapDeps([]))}}catch($){return console.error($),{id:m,mod:{}}}}const R=oe(),V=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function C(m=!0){var x,$;(x=R.value)==null||x.focus(),m&&(($=R.value)==null||$.select())}_e(()=>{C()});function _(m){m.pointerType==="mouse"&&C()}const A=oe(-1),O=oe(!1);$e(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m&&m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});_e(()=>{window.history.pushState(null,"",null)}),Bt("popstate",m=>{m.preventDefault(),t("close")});const N=Vt($t?document.body:null);_e(()=>{de(()=>{N.value=!0,de().then(()=>s())})}),Wt(()=>{N.value=!1});function I(){v.value="",de().then(()=>C(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,q,H;return ee(),Kt(qt,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=B=>m.$emit("close"))}),k("div",Qr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=B=>_(B)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=B=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:R,"onUpdate:modelValue":x[2]||(x[2]=B=>Gt(v)?v.value=B:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=B=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:V.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(q=g.value)!=null&&q.length?"listbox":void 0,"aria-labelledby":(H=g.value)!=null&&H.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=B=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(B,U)=>(ee(),re("li",{key:B.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:B.id,class:rt(["result",{selected:A.value===U}]),"aria-label":[...B.titles,B.title].join(" > "),onMouseenter:Z=>!O.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(nt,null,at(B.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:B.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[B.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:B.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Ca,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Na),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},_a,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,Ra),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Hr)])}}}),Ja=tr(Pa,[["__scopeId","data-v-f5c68218"]]);export{Ja as default}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } +var It=Object.defineProperty;var Dt=(o,e,t)=>e in o?It(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(Dt(o,typeof e!="symbol"?e+"":e,t),t);import{Y as yt,h as oe,y as $e,al as kt,am as Ot,d as _t,H as xe,an as tt,k as Fe,ao as Rt,ap as Mt,z as Lt,aq as zt,l as _e,U as de,S as Ee,ar as Pt,as as Vt,Z as Bt,j as $t,at as Wt,o as ee,b as Kt,m as k,a2 as Jt,p as j,au as Ut,av as jt,aw as Gt,c as re,n as rt,e as Se,G as at,F as nt,a as ve,t as pe,ax as qt,q as Ht,s as Qt,ay as it,az as Yt,ab as Zt,ah as Xt,aA as er,_ as tr}from"./framework.CUwTDK2x.js";import{u as rr,c as ar}from"./theme.Ddw-j1ke.js";const nr={root:()=>yt(()=>import("./@localSearchIndexroot.D4YodZar.js"),__vite__mapDeps([]))};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=mt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ce=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ue.call(e,Ne)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ne);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ce(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=bt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ne)===!1?!1:We(t,e)},xr=mt.concat("iframe").join(","),Re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! +* focus-trap 7.5.4 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Nr=function(e){return ge(e)&&!e.shiftKey},Cr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),C=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),z=p.slice().reverse().find(function(m){return le(m)}),P=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:C,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(q){return le(q)}):p.slice(0,p.indexOf(x)).reverse().find(function(q){return le(q)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,C=c.isBackward,I=C===void 0?!1:C;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(V){var U=V.firstTabbableNode;return f===U});if(m<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(m=z),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(V){var U=V.lastTabbableNode;return f===U});if(K<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(K=z),K>=0){var q=K===i.tabbableGroups.length-1?0:K+1,H=i.tabbableGroups[q];M=se(f)>=0?H.firstTabbableNode:H.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var C,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(m){return m===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(C=z[P-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(C=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(C||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},R=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},B=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",R,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},N=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",R,!0),r.removeEventListener("keydown",L,!0),s},_=function(c){var f=c.some(function(p){var C=Array.from(p.removedNodes);return C.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(_):void 0,O=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),C=u(c,"checkCanFocusTrap");C||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){C&&v(),B(),O(),p==null||p()};return C?(C(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,N(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),C=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(E(i.nodeFocusedBeforeActivation)),C==null||C()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),N(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),B(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function _r(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",G="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(je(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Me(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Me(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ue,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Rr(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,R,B,N,_,A,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Je.batchSize,a=e.batchWait||Je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(_=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(O=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(O)throw O.error}}}}catch(f){_={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(_)throw _.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return R=c.sent(),B={error:R},[3,9];case 8:try{u&&!u.done&&(N=s.return)&&N.call(s)}finally{if(B)throw B.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Be.minDirtCount,r=r||Be.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(R){r={error:R}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(R){a={error:R}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(vt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Ve.hasOwnProperty(e))return Pe(Ve,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Le;try{for(var L=D(F._documentIds),R=L.next();!R.done;R=L.next()){var B=J(R.value,2),N=B[0],_=B[1];F._idToShortId.set(_,N)}}catch(P){r={error:P}}finally{try{R&&!R.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),O=A.next();!O.done;O=A.next()){var w=J(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var C=(s=void 0,D(Object.keys(f))),I=C.next();!I.done;I=C.next()){var M=I.value,z=f[M];T===1&&(z=z.ds),p.set(parseInt(M,10),Te(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=C.return)&&u.call(C)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},ht.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,R=L<1?Math.min(d,Math.round(e.term.length*L)):L;R&&(F=this._index.fuzzyGet(e.term,R))}if(T)try{for(var B=D(T),N=B.next();!N.done;N=B.next()){var _=J(N.value,2),A=_[0],O=_[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,O,u,l,v,S)}}}catch(M){r={error:M}}finally{try{N&&!N.done&&(n=B.return)&&n.call(B)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,C=J(F.get(A),2),I=C[0],w=C[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ge),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,R=this._avgFieldLength[T];try{for(var B=(d=void 0,D(F.keys())),N=B.next();!N.done;N=B.next()){var _=N.value;if(!this._documentIds.has(_)){this.removeTerm(T,_,t),L-=1;continue}var A=i?i(this._documentIds.get(_),t,this._storedFields.get(_)):1;if(A){var O=F.get(_),w=this._fieldLength.get(_)[T],c=Kr(O,L,this._documentCount,w,R,s),f=r*S*A*c,p=u.get(_);if(p){p.score+=f,jr(p.terms,e);var C=Pe(p.match,t);C?C.push(g):p.match[t]=[g]}else u.set(_,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{N&&!N.done&&(v=B.return)&&v.call(B)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Ht("data-v-f5c68218"),o=o(),Qt(),o),Hr=["aria-owns"],Qr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Na={class:"search-keyboard-shortcuts"},Ca=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],Oa=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),_a=[Oa],Ra=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],za=["aria-label"],Pa=_t({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var m,x,$,K,q,H,V,U,Z;return it(Br.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((H=(q=l.value.search.options)==null?void 0:q.miniSearch)==null?void 0:H.searchOptions)},...((V=l.value.search)==null?void 0:V.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):Rt("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,q,H,V,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((H=(q=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:q.button)==null?void 0:H.buttonText)||((U=(V=m==null?void 0:m.translations)==null?void 0:V.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);$e(v,()=>{S.value=!1});const T=tt(async()=>{if(n.value)return it(new _r(n.value))},null),F=new qr(16);zt(()=>[h.value,v.value,y.value],async([m,x,$],K,q)=>{var be,qe,He,Qe;(K==null?void 0:K[0])!==m&&F.clear();let H=!1;if(q(()=>{H=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const V=$?await Promise.all(g.value.map(Q=>L(Q.id))):[];if(H)return;for(const{id:Q,mod:ae}of V){const ne=Q.slice(0,Q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(H)return}const U=new Set;if(g.value=g.value.map(Q=>{const[ae,ne]=Q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in Q.match)U.add(ie);return{...Q,text:X}}),await de(),H)return;await new Promise(Q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:Q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const Q of Z)(qe=Q.querySelector('mark[data-markjs="true"]'))==null||qe.scrollIntoView({block:"center"});(Qe=(He=n.value)==null?void 0:He.firstElementChild)==null||Qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await yt(()=>import(x),__vite__mapDeps([]))}}catch($){return console.error($),{id:m,mod:{}}}}const R=oe(),B=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function N(m=!0){var x,$;(x=R.value)==null||x.focus(),m&&(($=R.value)==null||$.select())}_e(()=>{N()});function _(m){m.pointerType==="mouse"&&N()}const A=oe(-1),O=oe(!1);$e(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m&&m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});_e(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const C=Bt($t?document.body:null);_e(()=>{de(()=>{C.value=!0,de().then(()=>s())})}),Wt(()=>{C.value=!1});function I(){v.value="",de().then(()=>N(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,q,H;return ee(),Kt(qt,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=V=>m.$emit("close"))}),k("div",Qr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=V=>_(V)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=V=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:R,"onUpdate:modelValue":x[2]||(x[2]=V=>Gt(v)?v.value=V:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=V=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:B.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(q=g.value)!=null&&q.length?"listbox":void 0,"aria-labelledby":(H=g.value)!=null&&H.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=V=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(V,U)=>(ee(),re("li",{key:V.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:V.id,class:rt(["result",{selected:A.value===U}]),"aria-label":[...V.titles,V.title].join(" > "),onMouseenter:Z=>!O.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(nt,null,at(V.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:V.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[V.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:V.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Na,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Ca),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},_a,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,Ra),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Hr)])}}}),Ja=tr(Pa,[["__scopeId","data-v-f5c68218"]]);export{Ja as default}; diff --git a/dev/assets/chunks/framework.BResyDFY.js b/dev/assets/chunks/framework.BResyDFY.js deleted file mode 100644 index 6a23db7..0000000 --- a/dev/assets/chunks/framework.BResyDFY.js +++ /dev/null @@ -1,17 +0,0 @@ -/** -* @vue/shared v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Tr(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ee={},_t=[],xe=()=>{},Si=()=>!1,Wt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Sr=e=>e.startsWith("onUpdate:"),ce=Object.assign,Ar=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,Y=(e,t)=>Ai.call(e,t),U=Array.isArray,vt=e=>An(e)==="[object Map]",Zs=e=>An(e)==="[object Set]",q=e=>typeof e=="function",ne=e=>typeof e=="string",At=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",eo=e=>(Z(e)||q(e))&&q(e.then)&&q(e.catch),to=Object.prototype.toString,An=e=>to.call(e),Ri=e=>An(e).slice(8,-1),no=e=>An(e)==="[object Object]",Rr=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=Tr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Rn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Oi=/-(\w)/g,Fe=Rn(e=>e.replace(Oi,(t,n)=>n?n.toUpperCase():"")),Li=/\B([A-Z])/g,ft=Rn(e=>e.replace(Li,"-$1").toLowerCase()),On=Rn(e=>e.charAt(0).toUpperCase()+e.slice(1)),hn=Rn(e=>e?`on${On(e)}`:""),Ze=(e,t)=>!Object.is(e,t),pn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},ar=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Mi=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let ns;const ro=()=>ns||(ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Or(e){if(U(e)){const t={};for(let n=0;n{if(n){const r=n.split(Pi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Lr(e){let t="";if(ne(e))t=e;else if(U(e))for(let n=0;nne(e)?e:e==null?"":U(e)||Z(e)&&(e.toString===to||!q(e.toString))?JSON.stringify(e,oo,2):String(e),oo=(e,t)=>t&&t.__v_isRef?oo(e,t.value):vt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[qn(r,o)+" =>"]=s,n),{})}:Zs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>qn(n))}:At(t)?qn(t):Z(t)&&!U(t)&&!no(t)?String(t):t,qn=(e,t="")=>{var n;return At(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ve;class ji{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ve,!t&&ve&&(this.index=(ve.scopes||(ve.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ve;try{return ve=this,t()}finally{ve=n}}}on(){ve=this}off(){ve=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ht()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ye,n=ct;try{return Ye=!0,ct=this,this._runnings++,rs(this),this.fn()}finally{ss(this),this._runnings--,ct=n,Ye=t}}stop(){var t;this.active&&(rs(this),ss(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Bi(e){return e.value}function rs(e){e._trackId++,e._depsLength=0}function ss(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},_n=new WeakMap,at=Symbol(""),dr=Symbol("");function ye(e,t,n){if(Ye&&ct){let r=_n.get(e);r||_n.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=fo(()=>r.delete(n))),ao(ct,s)}}function je(e,t,n,r,s,o){const i=_n.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&U(e)){const c=Number(r);i.forEach((a,f)=>{(f==="length"||!At(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?Rr(n)&&l.push(i.get("length")):(l.push(i.get(at)),vt(e)&&l.push(i.get(dr)));break;case"delete":U(e)||(l.push(i.get(at)),vt(e)&&l.push(i.get(dr)));break;case"set":vt(e)&&l.push(i.get(at));break}Ir();for(const c of l)c&&uo(c,4);Pr()}function Ui(e,t){var n;return(n=_n.get(e))==null?void 0:n.get(t)}const ki=Tr("__proto__,__v_isRef,__isVue"),ho=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(At)),os=Ki();function Ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){dt(),Ir();const r=J(this)[t].apply(this,n);return Pr(),ht(),r}}),e}function Wi(e){const t=J(this);return ye(t,"has",e),t.hasOwnProperty(e)}class po{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const s=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?sl:_o:o?yo:mo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=U(t);if(!s){if(i&&Y(os,n))return Reflect.get(os,n,r);if(n==="hasOwnProperty")return Wi}const l=Reflect.get(t,n,r);return(At(n)?ho.has(n):ki(n))||(s||ye(t,"get",n),o)?l:de(l)?i&&Rr(n)?l:l.value:Z(l)?s?In(l):Mn(l):l}}class go extends po{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._shallow){const c=Tt(o);if(!vn(r)&&!Tt(r)&&(o=J(o),r=J(r)),!U(t)&&de(o)&&!de(r))return c?!1:(o.value=r,!0)}const i=U(t)&&Rr(n)?Number(n)e,Ln=e=>Reflect.getPrototypeOf(e);function Qt(e,t,n=!1,r=!1){e=e.__v_raw;const s=J(e),o=J(t);n||(Ze(t,o)&&ye(s,"get",t),ye(s,"get",o));const{has:i}=Ln(s),l=r?Nr:n?Hr:Dt;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Zt(e,t=!1){const n=this.__v_raw,r=J(n),s=J(e);return t||(Ze(e,s)&&ye(r,"has",e),ye(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function en(e,t=!1){return e=e.__v_raw,!t&&ye(J(e),"iterate",at),Reflect.get(e,"size",e)}function is(e){e=J(e);const t=J(this);return Ln(t).has.call(t,e)||(t.add(e),je(t,"add",e,e)),this}function ls(e,t){t=J(t);const n=J(this),{has:r,get:s}=Ln(n);let o=r.call(n,e);o||(e=J(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Ze(t,i)&&je(n,"set",e,t):je(n,"add",e,t),this}function cs(e){const t=J(this),{has:n,get:r}=Ln(t);let s=n.call(t,e);s||(e=J(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&je(t,"delete",e,void 0),o}function as(){const e=J(this),t=e.size!==0,n=e.clear();return t&&je(e,"clear",void 0,void 0),n}function tn(e,t){return function(r,s){const o=this,i=o.__v_raw,l=J(i),c=t?Nr:e?Hr:Dt;return!e&&ye(l,"iterate",at),i.forEach((a,f)=>r.call(s,c(a),c(f),o))}}function nn(e,t,n){return function(...r){const s=this.__v_raw,o=J(s),i=vt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=s[e](...r),f=n?Nr:t?Hr:Dt;return!t&&ye(o,"iterate",c?dr:at),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yi(){const e={get(o){return Qt(this,o)},get size(){return en(this)},has:Zt,add:is,set:ls,delete:cs,clear:as,forEach:tn(!1,!1)},t={get(o){return Qt(this,o,!1,!0)},get size(){return en(this)},has:Zt,add:is,set:ls,delete:cs,clear:as,forEach:tn(!1,!0)},n={get(o){return Qt(this,o,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:tn(!0,!1)},r={get(o){return Qt(this,o,!0,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:tn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=nn(o,!1,!1),n[o]=nn(o,!0,!1),t[o]=nn(o,!1,!0),r[o]=nn(o,!0,!0)}),[e,n,t,r]}const[Ji,Qi,Zi,el]=Yi();function Fr(e,t){const n=t?e?el:Zi:e?Qi:Ji;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Y(n,s)&&s in r?n:r,s,o)}const tl={get:Fr(!1,!1)},nl={get:Fr(!1,!0)},rl={get:Fr(!0,!1)},mo=new WeakMap,yo=new WeakMap,_o=new WeakMap,sl=new WeakMap;function ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function il(e){return e.__v_skip||!Object.isExtensible(e)?0:ol(Ri(e))}function Mn(e){return Tt(e)?e:$r(e,!1,Gi,tl,mo)}function ll(e){return $r(e,!1,Xi,nl,yo)}function In(e){return $r(e,!0,zi,rl,_o)}function $r(e,t,n,r,s){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=il(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function wt(e){return Tt(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function vn(e){return!!(e&&e.__v_isShallow)}function vo(e){return wt(e)||Tt(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function It(e){return Object.isExtensible(e)&&yn(e,"__v_skip",!0),e}const Dt=e=>Z(e)?Mn(e):e,Hr=e=>Z(e)?In(e):e;class bo{constructor(t,n,r,s){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Mr(()=>t(this._value),()=>Pt(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Ze(t._value,t._value=t.effect.run())&&Pt(t,4),jr(t),t.effect._dirtyLevel>=2&&Pt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function cl(e,t,n=!1){let r,s;const o=q(e);return o?(r=e,s=xe):(r=e.get,s=e.set),new bo(r,s,o||!s,n)}function jr(e){var t;Ye&&ct&&(e=J(e),ao(ct,(t=e.dep)!=null?t:e.dep=fo(()=>e.dep=void 0,e instanceof bo?e:void 0)))}function Pt(e,t=4,n){e=J(e);const r=e.dep;r&&uo(r,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function se(e){return wo(e,!1)}function Vr(e){return wo(e,!0)}function wo(e,t){return de(e)?e:new al(e,t)}class al{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Dt(t)}get value(){return jr(this),this._value}set value(t){const n=this.__v_isShallow||vn(t)||Tt(t);t=n?t:J(t),Ze(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Dt(t),Pt(this,4))}}function Eo(e){return de(e)?e.value:e}const ul={get:(e,t,n)=>Eo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return de(s)&&!de(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Co(e){return wt(e)?e:new Proxy(e,ul)}class fl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>jr(this),()=>Pt(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function dl(e){return new fl(e)}class hl{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ui(J(this._object),this._key)}}class pl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function gl(e,t,n){return de(e)?e:q(e)?new pl(e):Z(e)&&arguments.length>1?ml(e,t,n):se(e)}function ml(e,t,n){const r=e[t];return de(r)?r:new hl(e,t,n)}/** -* @vue/runtime-core v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Je(e,t,n,r){try{return r?e(...r):e()}catch(s){qt(s,t,n)}}function Te(e,t,n,r){if(q(e)){const o=Je(e,t,n,r);return o&&eo(o)&&o.catch(i=>{qt(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=he[r],o=Ut(s);oPe&&he.splice(t,1)}function bl(e){U(e)?Et.push(...e):(!qe||!qe.includes(e,e.allowRecurse?ot+1:ot))&&Et.push(e),To()}function us(e,t,n=Bt?Pe+1:0){for(;nUt(n)-Ut(r));if(Et.length=0,qe){qe.push(...t);return}for(qe=t,ot=0;ote.id==null?1/0:e.id,wl=(e,t)=>{const n=Ut(e)-Ut(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function So(e){hr=!1,Bt=!0,he.sort(wl);try{for(Pe=0;Pene(y)?y.trim():y)),h&&(s=n.map(ar))}let l,c=r[l=hn(t)]||r[l=hn(Fe(t))];!c&&o&&(c=r[l=hn(ft(t))]),c&&Te(c,e,6,s);const a=r[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Te(a,e,6,s)}}function Ao(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!q(e)){const c=a=>{const f=Ao(a,t,!0);f&&(l=!0,ce(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&r.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):ce(i,o),Z(e)&&r.set(e,i),i)}function Fn(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,ft(t))||Y(e,t))}let le=null,$n=null;function wn(e){const t=le;return le=e,$n=e&&e.type.__scopeId||null,t}function Qa(e){$n=e}function Za(){$n=null}function Cl(e,t=le,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&xs(-1);const o=wn(t);let i;try{i=e(...s)}finally{wn(o),r._d&&xs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Gn(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:l,attrs:c,emit:a,render:f,renderCache:h,data:p,setupState:y,ctx:w,inheritAttrs:S}=e;let F,k;const B=wn(e);try{if(n.shapeFlag&4){const _=s||r,P=_;F=Re(f.call(P,_,h,o,y,p,w)),k=c}else{const _=t;F=Re(_.length>1?_(o,{attrs:c,slots:l,emit:a}):_(o,null)),k=t.props?c:xl(c)}}catch(_){jt.length=0,qt(_,e,1),F=oe(be)}let g=F;if(k&&S!==!1){const _=Object.keys(k),{shapeFlag:P}=g;_.length&&P&7&&(i&&_.some(Sr)&&(k=Tl(k,i)),g=et(g,k))}return n.dirs&&(g=et(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),F=g,wn(B),F}const xl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},Tl=(e,t)=>{const n={};for(const r in e)(!Sr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Sl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?fs(r,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function Lo(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const Ol=Symbol.for("v-scx"),Ll=()=>xt(Ol);function Ur(e,t){return Hn(e,null,t)}function nu(e,t){return Hn(e,null,{flush:"post"})}const rn={};function Ve(e,t,n){return Hn(e,t,n)}function Hn(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const M=t;t=(...$)=>{M(...$),P()}}const c=ue,a=M=>r===!0?M:lt(M,r===!1?1:void 0);let f,h=!1,p=!1;if(de(e)?(f=()=>e.value,h=vn(e)):wt(e)?(f=()=>a(e),h=!0):U(e)?(p=!0,h=e.some(M=>wt(M)||vn(M)),f=()=>e.map(M=>{if(de(M))return M.value;if(wt(M))return a(M);if(q(M))return Je(M,c,2)})):q(e)?t?f=()=>Je(e,c,2):f=()=>(y&&y(),Te(e,c,3,[w])):f=xe,t&&r){const M=f;f=()=>lt(M())}let y,w=M=>{y=g.onStop=()=>{Je(M,c,4),y=g.onStop=void 0}},S;if(Xt)if(w=xe,t?n&&Te(t,c,3,[f(),p?[]:void 0,w]):f(),s==="sync"){const M=Ll();S=M.__watcherHandles||(M.__watcherHandles=[])}else return xe;let F=p?new Array(e.length).fill(rn):rn;const k=()=>{if(!(!g.active||!g.dirty))if(t){const M=g.run();(r||h||(p?M.some(($,A)=>Ze($,F[A])):Ze(M,F)))&&(y&&y(),Te(t,c,3,[M,F===rn?void 0:p&&F[0]===rn?[]:F,w]),F=M)}else g.run()};k.allowRecurse=!!t;let B;s==="sync"?B=k:s==="post"?B=()=>ge(k,c&&c.suspense):(k.pre=!0,c&&(k.id=c.uid),B=()=>Nn(k));const g=new Mr(f,xe,B),_=io(),P=()=>{g.stop(),_&&Ar(_.effects,g)};return t?n?k():F=g.run():s==="post"?ge(g.run.bind(g),c&&c.suspense):g.run(),S&&S.push(P),P}function Ml(e,t,n){const r=this.proxy,s=ne(e)?e.includes(".")?Mo(r,e):()=>r[e]:e.bind(r,r);let o;q(t)?o=t:(o=t.handler,n=t);const i=zt(this),l=Hn(s,o.bind(r),n);return i(),l}function Mo(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),de(e))lt(e.value,t,n,r);else if(U(e))for(let s=0;s{lt(s,t,n,r)});else if(no(e))for(const s in e)lt(e[s],t,n,r);return e}function ru(e,t){if(le===null)return e;const n=Un(le)||le.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),$o(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],Io={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},Pl={name:"BaseTransition",props:Io,setup(e,{slots:t}){const n=Bn(),r=Il();let s;return()=>{const o=t.default&&No(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const S of o)if(S.type!==be){i=S;break}}const l=J(e),{mode:c}=l;if(r.isLeaving)return zn(i);const a=hs(i);if(!a)return zn(i);const f=pr(a,l,r,n);gr(a,f);const h=n.subTree,p=h&&hs(h);let y=!1;const{getTransitionKey:w}=a.type;if(w){const S=w();s===void 0?s=S:S!==s&&(s=S,y=!0)}if(p&&p.type!==be&&(!it(a,p)||y)){const S=pr(p,l,r,n);if(gr(p,S),c==="out-in")return r.isLeaving=!0,S.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},zn(i);c==="in-out"&&a.type!==be&&(S.delayLeave=(F,k,B)=>{const g=Po(r,p);g[String(p.key)]=p,F[Ge]=()=>{k(),F[Ge]=void 0,delete f.delayedLeave},f.delayedLeave=B})}return i}}},Nl=Pl;function Po(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function pr(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:y,onLeaveCancelled:w,onBeforeAppear:S,onAppear:F,onAfterAppear:k,onAppearCancelled:B}=t,g=String(e.key),_=Po(n,e),P=(A,T)=>{A&&Te(A,r,9,T)},M=(A,T)=>{const R=T[1];P(A,T),U(A)?A.every(K=>K.length<=1)&&R():A.length<=1&&R()},$={mode:o,persisted:i,beforeEnter(A){let T=l;if(!n.isMounted)if(s)T=S||l;else return;A[Ge]&&A[Ge](!0);const R=_[g];R&&it(e,R)&&R.el[Ge]&&R.el[Ge](),P(T,[A])},enter(A){let T=c,R=a,K=f;if(!n.isMounted)if(s)T=F||c,R=k||a,K=B||f;else return;let L=!1;const G=A[sn]=ie=>{L||(L=!0,ie?P(K,[A]):P(R,[A]),$.delayedLeave&&$.delayedLeave(),A[sn]=void 0)};T?M(T,[A,G]):G()},leave(A,T){const R=String(e.key);if(A[sn]&&A[sn](!0),n.isUnmounting)return T();P(h,[A]);let K=!1;const L=A[Ge]=G=>{K||(K=!0,T(),G?P(w,[A]):P(y,[A]),A[Ge]=void 0,_[R]===e&&delete _[R])};_[R]=e,p?M(p,[A,L]):L()},clone(A){return pr(A,t,n,r)}};return $}function zn(e){if(Gt(e))return e=et(e),e.children=null,e}function hs(e){return Gt(e)?e.children?e.children[0]:void 0:e}function gr(e,t){e.shapeFlag&6&&e.component?gr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function No(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function su(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((S,F)=>{l(w,()=>S(h()),()=>F(w),f+1)});throw w}).then(w=>y!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),a=w,w)))};return kr({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const y=ue;if(a)return()=>Xn(a,y);const w=B=>{c=null,qt(B,y,13,!r)};if(i&&y.suspense||Xt)return p().then(B=>()=>Xn(B,y)).catch(B=>(w(B),()=>r?oe(r,{error:B}):null));const S=se(!1),F=se(),k=se(!!s);return s&&setTimeout(()=>{k.value=!1},s),o!=null&&setTimeout(()=>{if(!S.value&&!F.value){const B=new Error(`Async component timed out after ${o}ms.`);w(B),F.value=B}},o),p().then(()=>{S.value=!0,y.parent&&Gt(y.parent.vnode)&&(y.parent.effect.dirty=!0,Nn(y.parent.update))}).catch(B=>{w(B),F.value=B}),()=>{if(S.value&&a)return Xn(a,y);if(F.value&&r)return oe(r,{error:F.value});if(n&&!k.value)return oe(n)}}})}function Xn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=oe(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Gt=e=>e.type.__isKeepAlive;function Fl(e,t){Fo(e,"a",t)}function $l(e,t){Fo(e,"da",t)}function Fo(e,t,n=ue){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(jn(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Gt(s.parent.vnode)&&Hl(r,t,n,s),s=s.parent}}function Hl(e,t,n,r){const s=jn(t,e,r,!0);Vn(()=>{Ar(r[t],s)},n)}function jn(e,t,n=ue,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt();const l=zt(n),c=Te(t,n,e,i);return l(),ht(),c});return r?s.unshift(o):s.push(o),o}}const Be=e=>(t,n=ue)=>(!Xt||e==="sp")&&jn(e,(...r)=>t(...r),n),jl=Be("bm"),Rt=Be("m"),Vl=Be("bu"),Dl=Be("u"),$o=Be("bum"),Vn=Be("um"),Bl=Be("sp"),Ul=Be("rtg"),kl=Be("rtc");function Kl(e,t=ue){jn("ec",e,t)}function ou(e,t,n,r){let s;const o=n&&n[r];if(U(e)||ne(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lxn(t)?!(t.type===be||t.type===me&&!Ho(t.children)):!0)?e:null}function lu(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:hn(r)]=e[r];return n}const mr=e=>e?ti(e)?Un(e)||e.proxy:mr(e.parent):null,Nt=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>mr(e.parent),$root:e=>mr(e.root),$emit:e=>e.emit,$options:e=>Kr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Nn(e.update)}),$nextTick:e=>e.n||(e.n=Pn.bind(e.proxy)),$watch:e=>Ml.bind(e)}),Yn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Wl={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Yn(r,t))return i[t]=1,r[t];if(s!==ee&&Y(s,t))return i[t]=2,s[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];yr&&(i[t]=0)}}const f=Nt[t];let h,p;if(f)return t==="$attrs"&&ye(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(p=c.config.globalProperties,Y(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Yn(s,t)?(s[t]=n,!0):r!==ee&&Y(r,t)?(r[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||Yn(t,i)||(l=o[0])&&Y(l,i)||Y(r,i)||Y(Nt,i)||Y(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cu(){return ql().slots}function ql(){const e=Bn();return e.setupContext||(e.setupContext=ri(e))}function ps(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let yr=!0;function Gl(e){const t=Kr(e),n=e.proxy,r=e.ctx;yr=!1,t.beforeCreate&&gs(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:y,updated:w,activated:S,deactivated:F,beforeDestroy:k,beforeUnmount:B,destroyed:g,unmounted:_,render:P,renderTracked:M,renderTriggered:$,errorCaptured:A,serverPrefetch:T,expose:R,inheritAttrs:K,components:L,directives:G,filters:ie}=t;if(a&&zl(a,r,null),i)for(const X in i){const j=i[X];q(j)&&(r[X]=j.bind(n))}if(s){const X=s.call(n,n);Z(X)&&(e.data=Mn(X))}if(yr=!0,o)for(const X in o){const j=o[X],$e=q(j)?j.bind(n,n):q(j.get)?j.get.bind(n,n):xe,Yt=!q(j)&&q(j.set)?j.set.bind(n):xe,tt=re({get:$e,set:Yt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Le=>tt.value=Le})}if(l)for(const X in l)jo(l[X],r,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(j=>{ec(j,X[j])})}f&&gs(f,e,"c");function V(X,j){U(j)?j.forEach($e=>X($e.bind(n))):j&&X(j.bind(n))}if(V(jl,h),V(Rt,p),V(Vl,y),V(Dl,w),V(Fl,S),V($l,F),V(Kl,A),V(kl,M),V(Ul,$),V($o,B),V(Vn,_),V(Bl,T),U(R))if(R.length){const X=e.exposed||(e.exposed={});R.forEach(j=>{Object.defineProperty(X,j,{get:()=>n[j],set:$e=>n[j]=$e})})}else e.exposed||(e.exposed={});P&&e.render===xe&&(e.render=P),K!=null&&(e.inheritAttrs=K),L&&(e.components=L),G&&(e.directives=G)}function zl(e,t,n=xe){U(e)&&(e=_r(e));for(const r in e){const s=e[r];let o;Z(s)?"default"in s?o=xt(s.from||r,s.default,!0):o=xt(s.from||r):o=xt(s),de(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function gs(e,t,n){Te(U(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function jo(e,t,n,r){const s=r.includes(".")?Mo(n,r):()=>n[r];if(ne(e)){const o=t[e];q(o)&&Ve(s,o)}else if(q(e))Ve(s,e.bind(n));else if(Z(e))if(U(e))e.forEach(o=>jo(o,t,n,r));else{const o=q(e.handler)?e.handler.bind(n):t[e.handler];q(o)&&Ve(s,o,e)}}function Kr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(a=>En(c,a,i,!0)),En(c,t,i)),Z(t)&&o.set(t,c),c}function En(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&En(e,o,n,!0),s&&s.forEach(i=>En(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Xl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Xl={data:ms,props:ys,emits:ys,methods:Mt,computed:Mt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:Mt,directives:Mt,watch:Jl,provide:ms,inject:Yl};function ms(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Yl(e,t){return Mt(_r(e),_r(t))}function _r(e){if(U(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(r&&r.proxy):t}}function tc(e,t,n,r=!1){const s={},o={};yn(o,Dn,1),e.propsDefaults=Object.create(null),Do(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:ll(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function nc(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=J(s),[c]=e.propsOptions;let a=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,y]=Bo(h,t,!0);ce(i,p),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&r.set(e,_t),_t;if(U(o))for(let f=0;f-1,y[1]=S<0||w-1||Y(y,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&r.set(e,a),a}function _s(e){return e[0]!=="$"&&!bt(e)}function vs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function bs(e,t){return vs(e)===vs(t)}function ws(e,t){return U(t)?t.findIndex(n=>bs(n,e)):q(t)&&bs(t,e)?0:-1}const Uo=e=>e[0]==="_"||e==="$stable",Wr=e=>U(e)?e.map(Re):[Re(e)],rc=(e,t,n)=>{if(t._n)return t;const r=Cl((...s)=>Wr(t(...s)),n);return r._c=!1,r},ko=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Uo(s))continue;const o=e[s];if(q(o))t[s]=rc(s,o,r);else if(o!=null){const i=Wr(o);t[s]=()=>i}}},Ko=(e,t)=>{const n=Wr(t);e.slots.default=()=>n},sc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),yn(t,"_",n)):ko(t,e.slots={})}else e.slots={},t&&Ko(e,t);yn(e.slots,Dn,1)},oc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ee;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ce(s,t),!n&&l===1&&delete s._):(o=!t.$stable,ko(t,s)),i=t}else t&&(Ko(e,t),i={default:1});if(o)for(const l in s)!Uo(l)&&i[l]==null&&delete s[l]};function Cn(e,t,n,r,s=!1){if(U(e)){e.forEach((p,y)=>Cn(p,t&&(U(t)?t[y]:t),n,r,s));return}if(Ct(r)&&!s)return;const o=r.shapeFlag&4?Un(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(ne(a)?(f[a]=null,Y(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),q(c))Je(c,l,12,[i,f]);else{const p=ne(c),y=de(c);if(p||y){const w=()=>{if(e.f){const S=p?Y(h,c)?h[c]:f[c]:c.value;s?U(S)&&Ar(S,o):U(S)?S.includes(o)||S.push(o):p?(f[c]=[o],Y(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else p?(f[c]=i,Y(h,c)&&(h[c]=i)):y&&(c.value=i,e.k&&(f[e.k]=i))};i?(w.id=-1,ge(w,n)):w()}}}let ke=!1;const ic=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",lc=e=>e.namespaceURI.includes("MathML"),on=e=>{if(ic(e))return"svg";if(lc(e))return"mathml"},ln=e=>e.nodeType===8;function cc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),bn(),_._vnode=g;return}ke=!1,h(_.firstChild,g,null,null,null),bn(),_._vnode=g,ke&&console.error("Hydration completed but contains mismatches.")},h=(g,_,P,M,$,A=!1)=>{const T=ln(g)&&g.data==="[",R=()=>S(g,_,P,M,$,T),{type:K,ref:L,shapeFlag:G,patchFlag:ie}=_;let fe=g.nodeType;_.el=g,ie===-2&&(A=!1,_.dynamicChildren=null);let V=null;switch(K){case St:fe!==3?_.children===""?(c(_.el=s(""),i(g),g),V=g):V=R():(g.data!==_.children&&(ke=!0,g.data=_.children),V=o(g));break;case be:B(g)?(V=o(g),k(_.el=g.content.firstChild,g,P)):fe!==8||T?V=R():V=o(g);break;case Ht:if(T&&(g=o(g),fe=g.nodeType),fe===1||fe===3){V=g;const X=!_.children.length;for(let j=0;j<_.staticCount;j++)X&&(_.children+=V.nodeType===1?V.outerHTML:V.data),j===_.staticCount-1&&(_.anchor=V),V=o(V);return T?o(V):V}else R();break;case me:T?V=w(g,_,P,M,$,A):V=R();break;default:if(G&1)(fe!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!B(g)?V=R():V=p(g,_,P,M,$,A);else if(G&6){_.slotScopeIds=$;const X=i(g);if(T?V=F(g):ln(g)&&g.data==="teleport start"?V=F(g,g.data,"teleport end"):V=o(g),t(_,X,null,P,M,on(X),A),Ct(_)){let j;T?(j=oe(me),j.anchor=V?V.previousSibling:X.lastChild):j=g.nodeType===3?ei(""):oe("div"),j.el=g,_.component.subTree=j}}else G&64?fe!==8?V=R():V=_.type.hydrate(g,_,P,M,$,A,e,y):G&128&&(V=_.type.hydrate(g,_,P,M,on(i(g)),$,A,e,h))}return L!=null&&Cn(L,null,M,_),V},p=(g,_,P,M,$,A)=>{A=A||!!_.dynamicChildren;const{type:T,props:R,patchFlag:K,shapeFlag:L,dirs:G,transition:ie}=_,fe=T==="input"||T==="option";if(fe||K!==-1){G&&Ie(_,null,P,"created");let V=!1;if(B(g)){V=qo(M,ie)&&P&&P.vnode.props&&P.vnode.props.appear;const j=g.content.firstChild;V&&ie.beforeEnter(j),k(j,g,P),_.el=g=j}if(L&16&&!(R&&(R.innerHTML||R.textContent))){let j=y(g.firstChild,_,g,P,M,$,A);for(;j;){ke=!0;const $e=j;j=j.nextSibling,l($e)}}else L&8&&g.textContent!==_.children&&(ke=!0,g.textContent=_.children);if(R)if(fe||!A||K&48)for(const j in R)(fe&&(j.endsWith("value")||j==="indeterminate")||Wt(j)&&!bt(j)||j[0]===".")&&r(g,j,null,R[j],void 0,void 0,P);else R.onClick&&r(g,"onClick",null,R.onClick,void 0,void 0,P);let X;(X=R&&R.onVnodeBeforeMount)&&Ee(X,P,_),G&&Ie(_,null,P,"beforeMount"),((X=R&&R.onVnodeMounted)||G||V)&&Lo(()=>{X&&Ee(X,P,_),V&&ie.enter(g),G&&Ie(_,null,P,"mounted")},M)}return g.nextSibling},y=(g,_,P,M,$,A,T)=>{T=T||!!_.dynamicChildren;const R=_.children,K=R.length;for(let L=0;L{const{slotScopeIds:T}=_;T&&($=$?$.concat(T):T);const R=i(g),K=y(o(g),_,R,P,M,$,A);return K&&ln(K)&&K.data==="]"?o(_.anchor=K):(ke=!0,c(_.anchor=a("]"),R,K),K)},S=(g,_,P,M,$,A)=>{if(ke=!0,_.el=null,A){const K=F(g);for(;;){const L=o(g);if(L&&L!==K)l(L);else break}}const T=o(g),R=i(g);return l(g),n(null,_,R,T,P,M,on(R),$),T},F=(g,_="[",P="]")=>{let M=0;for(;g;)if(g=o(g),g&&ln(g)&&(g.data===_&&M++,g.data===P)){if(M===0)return o(g);M--}return g},k=(g,_,P)=>{const M=_.parentNode;M&&M.replaceChild(g,_);let $=P;for(;$;)$.vnode.el===_&&($.vnode.el=$.subTree.el=g),$=$.parent},B=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,h]}const ge=Lo;function ac(e){return Wo(e)}function uc(e){return Wo(e,cc)}function Wo(e,t){const n=ro();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:y=xe,insertStaticContent:w}=e,S=(u,d,m,v=null,b=null,x=null,I=void 0,C=null,O=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(v=Jt(u),Le(u,b,x,!0),u=null),d.patchFlag===-2&&(O=!1,d.dynamicChildren=null);const{type:E,ref:N,shapeFlag:D}=d;switch(E){case St:F(u,d,m,v);break;case be:k(u,d,m,v);break;case Ht:u==null&&B(d,m,v,I);break;case me:L(u,d,m,v,b,x,I,C,O);break;default:D&1?P(u,d,m,v,b,x,I,C,O):D&6?G(u,d,m,v,b,x,I,C,O):(D&64||D&128)&&E.process(u,d,m,v,b,x,I,C,O,pt)}N!=null&&b&&Cn(N,u&&u.ref,x,d||u,!d)},F=(u,d,m,v)=>{if(u==null)r(d.el=l(d.children),m,v);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},k=(u,d,m,v)=>{u==null?r(d.el=c(d.children||""),m,v):d.el=u.el},B=(u,d,m,v)=>{[u.el,u.anchor]=w(u.children,d,m,v,u.el,u.anchor)},g=({el:u,anchor:d},m,v)=>{let b;for(;u&&u!==d;)b=p(u),r(u,m,v),u=b;r(d,m,v)},_=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=p(u),s(u),u=m;s(d)},P=(u,d,m,v,b,x,I,C,O)=>{d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),u==null?M(d,m,v,b,x,I,C,O):T(u,d,b,x,I,C,O)},M=(u,d,m,v,b,x,I,C)=>{let O,E;const{props:N,shapeFlag:D,transition:H,dirs:W}=u;if(O=u.el=i(u.type,x,N&&N.is,N),D&8?f(O,u.children):D&16&&A(u.children,O,null,v,b,Jn(u,x),I,C),W&&Ie(u,null,v,"created"),$(O,u,u.scopeId,I,v),N){for(const Q in N)Q!=="value"&&!bt(Q)&&o(O,Q,null,N[Q],x,u.children,v,b,He);"value"in N&&o(O,"value",null,N.value,x),(E=N.onVnodeBeforeMount)&&Ee(E,v,u)}W&&Ie(u,null,v,"beforeMount");const z=qo(b,H);z&&H.beforeEnter(O),r(O,d,m),((E=N&&N.onVnodeMounted)||z||W)&&ge(()=>{E&&Ee(E,v,u),z&&H.enter(O),W&&Ie(u,null,v,"mounted")},b)},$=(u,d,m,v,b)=>{if(m&&y(u,m),v)for(let x=0;x{for(let E=O;E{const C=d.el=u.el;let{patchFlag:O,dynamicChildren:E,dirs:N}=d;O|=u.patchFlag&16;const D=u.props||ee,H=d.props||ee;let W;if(m&&nt(m,!1),(W=H.onVnodeBeforeUpdate)&&Ee(W,m,d,u),N&&Ie(d,u,m,"beforeUpdate"),m&&nt(m,!0),E?R(u.dynamicChildren,E,C,m,v,Jn(d,b),x):I||j(u,d,C,null,m,v,Jn(d,b),x,!1),O>0){if(O&16)K(C,d,D,H,m,v,b);else if(O&2&&D.class!==H.class&&o(C,"class",null,H.class,b),O&4&&o(C,"style",D.style,H.style,b),O&8){const z=d.dynamicProps;for(let Q=0;Q{W&&Ee(W,m,d,u),N&&Ie(d,u,m,"updated")},v)},R=(u,d,m,v,b,x,I)=>{for(let C=0;C{if(m!==v){if(m!==ee)for(const C in m)!bt(C)&&!(C in v)&&o(u,C,m[C],null,I,d.children,b,x,He);for(const C in v){if(bt(C))continue;const O=v[C],E=m[C];O!==E&&C!=="value"&&o(u,C,E,O,I,d.children,b,x,He)}"value"in v&&o(u,"value",m.value,v.value,I)}},L=(u,d,m,v,b,x,I,C,O)=>{const E=d.el=u?u.el:l(""),N=d.anchor=u?u.anchor:l("");let{patchFlag:D,dynamicChildren:H,slotScopeIds:W}=d;W&&(C=C?C.concat(W):W),u==null?(r(E,m,v),r(N,m,v),A(d.children||[],m,N,b,x,I,C,O)):D>0&&D&64&&H&&u.dynamicChildren?(R(u.dynamicChildren,H,m,b,x,I,C),(d.key!=null||b&&d===b.subTree)&&qr(u,d,!0)):j(u,d,m,N,b,x,I,C,O)},G=(u,d,m,v,b,x,I,C,O)=>{d.slotScopeIds=C,u==null?d.shapeFlag&512?b.ctx.activate(d,m,v,I,O):ie(d,m,v,b,x,I,O):fe(u,d,O)},ie=(u,d,m,v,b,x,I)=>{const C=u.component=wc(u,v,b);if(Gt(u)&&(C.ctx.renderer=pt),Ec(C),C.asyncDep){if(b&&b.registerDep(C,V),!u.el){const O=C.subTree=oe(be);k(null,O,d,m)}}else V(C,u,d,m,b,x,I)},fe=(u,d,m)=>{const v=d.component=u.component;if(Sl(u,d,m))if(v.asyncDep&&!v.asyncResolved){X(v,d,m);return}else v.next=d,vl(v.update),v.effect.dirty=!0,v.update();else d.el=u.el,v.vnode=d},V=(u,d,m,v,b,x,I)=>{const C=()=>{if(u.isMounted){let{next:N,bu:D,u:H,parent:W,vnode:z}=u;{const gt=Go(u);if(gt){N&&(N.el=z.el,X(u,N,I)),gt.asyncDep.then(()=>{u.isUnmounted||C()});return}}let Q=N,te;nt(u,!1),N?(N.el=z.el,X(u,N,I)):N=z,D&&pn(D),(te=N.props&&N.props.onVnodeBeforeUpdate)&&Ee(te,W,N,z),nt(u,!0);const ae=Gn(u),Ae=u.subTree;u.subTree=ae,S(Ae,ae,h(Ae.el),Jt(Ae),u,b,x),N.el=ae.el,Q===null&&Al(u,ae.el),H&&ge(H,b),(te=N.props&&N.props.onVnodeUpdated)&&ge(()=>Ee(te,W,N,z),b)}else{let N;const{el:D,props:H}=d,{bm:W,m:z,parent:Q}=u,te=Ct(d);if(nt(u,!1),W&&pn(W),!te&&(N=H&&H.onVnodeBeforeMount)&&Ee(N,Q,d),nt(u,!0),D&&Wn){const ae=()=>{u.subTree=Gn(u),Wn(D,u.subTree,u,b,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=Gn(u);S(null,ae,m,v,u,b,x),d.el=ae.el}if(z&&ge(z,b),!te&&(N=H&&H.onVnodeMounted)){const ae=d;ge(()=>Ee(N,Q,ae),b)}(d.shapeFlag&256||Q&&Ct(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&ge(u.a,b),u.isMounted=!0,d=m=v=null}},O=u.effect=new Mr(C,xe,()=>Nn(E),u.scope),E=u.update=()=>{O.dirty&&O.run()};E.id=u.uid,nt(u,!0),E()},X=(u,d,m)=>{d.component=u;const v=u.vnode.props;u.vnode=d,u.next=null,nc(u,d.props,v,m),oc(u,d.children,m),dt(),us(u),ht()},j=(u,d,m,v,b,x,I,C,O=!1)=>{const E=u&&u.children,N=u?u.shapeFlag:0,D=d.children,{patchFlag:H,shapeFlag:W}=d;if(H>0){if(H&128){Yt(E,D,m,v,b,x,I,C,O);return}else if(H&256){$e(E,D,m,v,b,x,I,C,O);return}}W&8?(N&16&&He(E,b,x),D!==E&&f(m,D)):N&16?W&16?Yt(E,D,m,v,b,x,I,C,O):He(E,b,x,!0):(N&8&&f(m,""),W&16&&A(D,m,v,b,x,I,C,O))},$e=(u,d,m,v,b,x,I,C,O)=>{u=u||_t,d=d||_t;const E=u.length,N=d.length,D=Math.min(E,N);let H;for(H=0;HN?He(u,b,x,!0,!1,D):A(d,m,v,b,x,I,C,O,D)},Yt=(u,d,m,v,b,x,I,C,O)=>{let E=0;const N=d.length;let D=u.length-1,H=N-1;for(;E<=D&&E<=H;){const W=u[E],z=d[E]=O?ze(d[E]):Re(d[E]);if(it(W,z))S(W,z,m,null,b,x,I,C,O);else break;E++}for(;E<=D&&E<=H;){const W=u[D],z=d[H]=O?ze(d[H]):Re(d[H]);if(it(W,z))S(W,z,m,null,b,x,I,C,O);else break;D--,H--}if(E>D){if(E<=H){const W=H+1,z=WH)for(;E<=D;)Le(u[E],b,x,!0),E++;else{const W=E,z=E,Q=new Map;for(E=z;E<=H;E++){const _e=d[E]=O?ze(d[E]):Re(d[E]);_e.key!=null&&Q.set(_e.key,E)}let te,ae=0;const Ae=H-z+1;let gt=!1,Zr=0;const Ot=new Array(Ae);for(E=0;E=Ae){Le(_e,b,x,!0);continue}let Me;if(_e.key!=null)Me=Q.get(_e.key);else for(te=z;te<=H;te++)if(Ot[te-z]===0&&it(_e,d[te])){Me=te;break}Me===void 0?Le(_e,b,x,!0):(Ot[Me-z]=E+1,Me>=Zr?Zr=Me:gt=!0,S(_e,d[Me],m,null,b,x,I,C,O),ae++)}const es=gt?fc(Ot):_t;for(te=es.length-1,E=Ae-1;E>=0;E--){const _e=z+E,Me=d[_e],ts=_e+1{const{el:x,type:I,transition:C,children:O,shapeFlag:E}=u;if(E&6){tt(u.component.subTree,d,m,v);return}if(E&128){u.suspense.move(d,m,v);return}if(E&64){I.move(u,d,m,pt);return}if(I===me){r(x,d,m);for(let D=0;DC.enter(x),b);else{const{leave:D,delayLeave:H,afterLeave:W}=C,z=()=>r(x,d,m),Q=()=>{D(x,()=>{z(),W&&W()})};H?H(x,z,Q):Q()}else r(x,d,m)},Le=(u,d,m,v=!1,b=!1)=>{const{type:x,props:I,ref:C,children:O,dynamicChildren:E,shapeFlag:N,patchFlag:D,dirs:H}=u;if(C!=null&&Cn(C,null,m,u,!0),N&256){d.ctx.deactivate(u);return}const W=N&1&&H,z=!Ct(u);let Q;if(z&&(Q=I&&I.onVnodeBeforeUnmount)&&Ee(Q,d,u),N&6)Ti(u.component,m,v);else{if(N&128){u.suspense.unmount(m,v);return}W&&Ie(u,null,d,"beforeUnmount"),N&64?u.type.remove(u,d,m,b,pt,v):E&&(x!==me||D>0&&D&64)?He(E,d,m,!1,!0):(x===me&&D&384||!b&&N&16)&&He(O,d,m),v&&Jr(u)}(z&&(Q=I&&I.onVnodeUnmounted)||W)&&ge(()=>{Q&&Ee(Q,d,u),W&&Ie(u,null,d,"unmounted")},m)},Jr=u=>{const{type:d,el:m,anchor:v,transition:b}=u;if(d===me){xi(m,v);return}if(d===Ht){_(u);return}const x=()=>{s(m),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:I,delayLeave:C}=b,O=()=>I(m,x);C?C(u.el,x,O):O()}else x()},xi=(u,d)=>{let m;for(;u!==d;)m=p(u),s(u),u=m;s(d)},Ti=(u,d,m)=>{const{bum:v,scope:b,update:x,subTree:I,um:C}=u;v&&pn(v),b.stop(),x&&(x.active=!1,Le(I,u,d,m)),C&&ge(C,d),ge(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},He=(u,d,m,v=!1,b=!1,x=0)=>{for(let I=x;Iu.shapeFlag&6?Jt(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let kn=!1;const Qr=(u,d,m)=>{u==null?d._vnode&&Le(d._vnode,null,null,!0):S(d._vnode||null,u,d,null,null,null,m),kn||(kn=!0,us(),bn(),kn=!1),d._vnode=u},pt={p:S,um:Le,m:tt,r:Jr,mt:ie,mc:A,pc:j,pbc:R,n:Jt,o:e};let Kn,Wn;return t&&([Kn,Wn]=t(pt)),{render:Qr,hydrate:Kn,createApp:Zl(Qr,Kn)}}function Jn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function qo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qr(e,t,n=!1){const r=e.children,s=t.children;if(U(r)&&U(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Go(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Go(t)}const dc=e=>e.__isTeleport,$t=e=>e&&(e.disabled||e.disabled===""),Es=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Cs=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,br=(e,t)=>{const n=e&&e.to;return ne(n)?t?t(n):null:n},hc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:y,querySelector:w,createText:S,createComment:F}}=a,k=$t(t.props);let{shapeFlag:B,children:g,dynamicChildren:_}=t;if(e==null){const P=t.el=S(""),M=t.anchor=S("");y(P,n,r),y(M,n,r);const $=t.target=br(t.props,w),A=t.targetAnchor=S("");$&&(y(A,$),i==="svg"||Es($)?i="svg":(i==="mathml"||Cs($))&&(i="mathml"));const T=(R,K)=>{B&16&&f(g,R,K,s,o,i,l,c)};k?T(n,M):$&&T($,A)}else{t.el=e.el;const P=t.anchor=e.anchor,M=t.target=e.target,$=t.targetAnchor=e.targetAnchor,A=$t(e.props),T=A?n:M,R=A?P:$;if(i==="svg"||Es(M)?i="svg":(i==="mathml"||Cs(M))&&(i="mathml"),_?(p(e.dynamicChildren,_,T,s,o,i,l),qr(e,t,!0)):c||h(e,t,T,R,s,o,i,l,!1),k)A?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cn(t,n,P,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=br(t.props,w);K&&cn(t,K,null,a,0)}else A&&cn(t,M,$,a,1)}zo(t)},remove(e,t,n,r,{um:s,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:p}=e;if(h&&o(f),i&&o(a),l&16){const y=i||!$t(p);for(let w=0;w0?Oe||_t:null,gc(),kt>0&&Oe&&Oe.push(e),e}function uu(e,t,n,r,s,o){return Yo(Zo(e,t,n,r,s,o,!0))}function Jo(e,t,n,r,s){return Yo(oe(e,t,n,r,s,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Dn="__vInternal",Qo=({key:e})=>e??null,gn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||q(e)?{i:le,r:e,k:t,f:!!n}:e:null);function Zo(e,t=null,n=null,r=0,s=null,o=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qo(t),ref:t&&gn(t),scopeId:$n,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:le};return l?(Gr(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),kt>0&&!i&&Oe&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Oe.push(c),c}const oe=mc;function mc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Ro)&&(e=be),xn(e)){const l=et(e,t,!0);return n&&Gr(l,n),kt>0&&!o&&Oe&&(l.shapeFlag&6?Oe[Oe.indexOf(e)]=l:Oe.push(l)),l.patchFlag|=-2,l}if(Sc(e)&&(e=e.__vccOpts),t){t=yc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Lr(l)),Z(c)&&(vo(c)&&!U(c)&&(c=ce({},c)),t.style=Or(c))}const i=ne(e)?1:Rl(e)?128:dc(e)?64:Z(e)?4:q(e)?2:0;return Zo(e,t,n,r,s,i,o,!0)}function yc(e){return e?vo(e)||Dn in e?ce({},e):e:null}function et(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,l=t?_c(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Qo(l),ref:t&&t.ref?n&&s?U(s)?s.concat(gn(t)):[s,gn(t)]:gn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ei(e=" ",t=0){return oe(St,null,e,t)}function fu(e,t){const n=oe(Ht,null,e);return n.staticCount=t,n}function du(e="",t=!1){return t?(Xo(),Jo(be,null,e)):oe(be,null,e)}function Re(e){return e==null||typeof e=="boolean"?oe(be):U(e)?oe(me,null,e.slice()):typeof e=="object"?ze(e):oe(St,null,String(e))}function ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function Gr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Gr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(Dn in t)?t._ctx=le:s===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:le},n=32):(t=String(t),r&64?(n=16,t=[ei(t)]):n=8);e.children=t,e.shapeFlag|=n}function _c(...e){const t={};for(let n=0;nue||le;let Tn,wr;{const e=ro(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Tn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),wr=t("__VUE_SSR_SETTERS__",n=>Xt=n)}const zt=e=>{const t=ue;return Tn(e),e.scope.on(),()=>{e.scope.off(),Tn(t)}},Ts=()=>{ue&&ue.scope.off(),Tn(null)};function ti(e){return e.vnode.shapeFlag&4}let Xt=!1;function Ec(e,t=!1){t&&wr(t);const{props:n,children:r}=e.vnode,s=ti(e);tc(e,n,s,t),sc(e,r);const o=s?Cc(e,t):void 0;return t&&wr(!1),o}function Cc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=It(new Proxy(e.ctx,Wl));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?ri(e):null,o=zt(e);dt();const i=Je(r,e,0,[e.props,s]);if(ht(),o(),eo(i)){if(i.then(Ts,Ts),t)return i.then(l=>{Ss(e,l,t)}).catch(l=>{qt(l,e,0)});e.asyncDep=i}else Ss(e,i,t)}else ni(e,t)}function Ss(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Co(t)),ni(e,n)}let As;function ni(e,t,n){const r=e.type;if(!e.render){if(!t&&As&&!r.render){const s=r.template||Kr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,a=ce(ce({isCustomElement:o,delimiters:l},i),c);r.render=As(s,a)}}e.render=r.render||xe}{const s=zt(e);dt();try{Gl(e)}finally{ht(),s()}}}function xc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function ri(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return xc(e)},slots:e.slots,emit:e.emit,expose:t}}function Un(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Co(It(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Nt)return Nt[n](e)},has(t,n){return n in t||n in Nt}}))}function Tc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Sc(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>cl(e,t,Xt);function Er(e,t,n){const r=arguments.length;return r===2?Z(t)&&!U(t)?xn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xn(n)&&(n=[n]),oe(e,t,n))}const Ac="3.4.19";/** -* @vue/runtime-dom v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Rc="http://www.w3.org/2000/svg",Oc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Rs=Xe&&Xe.createElement("template"),Lc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Xe.createElementNS(Rc,e):t==="mathml"?Xe.createElementNS(Oc,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Rs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Rs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",Lt="animation",Kt=Symbol("_vtc"),si=(e,{slots:t})=>Er(Nl,Mc(e),t);si.displayName="Transition";const oi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};si.props=ce({},Io,oi);const rt=(e,t=[])=>{U(e)?e.forEach(n=>n(...t)):e&&e(...t)},Os=e=>e?U(e)?e.some(t=>t.length>1):e.length>1:!1;function Mc(e){const t={};for(const L in e)L in oi||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,w=Ic(s),S=w&&w[0],F=w&&w[1],{onBeforeEnter:k,onEnter:B,onEnterCancelled:g,onLeave:_,onLeaveCancelled:P,onBeforeAppear:M=k,onAppear:$=B,onAppearCancelled:A=g}=t,T=(L,G,ie)=>{st(L,G?f:l),st(L,G?a:i),ie&&ie()},R=(L,G)=>{L._isLeaving=!1,st(L,h),st(L,y),st(L,p),G&&G()},K=L=>(G,ie)=>{const fe=L?$:B,V=()=>T(G,L,ie);rt(fe,[G,V]),Ls(()=>{st(G,L?c:o),We(G,L?f:l),Os(fe)||Ms(G,r,S,V)})};return ce(t,{onBeforeEnter(L){rt(k,[L]),We(L,o),We(L,i)},onBeforeAppear(L){rt(M,[L]),We(L,c),We(L,a)},onEnter:K(!1),onAppear:K(!0),onLeave(L,G){L._isLeaving=!0;const ie=()=>R(L,G);We(L,h),Fc(),We(L,p),Ls(()=>{L._isLeaving&&(st(L,h),We(L,y),Os(_)||Ms(L,r,F,ie))}),rt(_,[L,ie])},onEnterCancelled(L){T(L,!1),rt(g,[L])},onAppearCancelled(L){T(L,!0),rt(A,[L])},onLeaveCancelled(L){R(L),rt(P,[L])}})}function Ic(e){if(e==null)return null;if(Z(e))return[Qn(e.enter),Qn(e.leave)];{const t=Qn(e);return[t,t]}}function Qn(e){return Mi(e)}function We(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Ls(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Pc=0;function Ms(e,t,n,r){const s=e._endId=++Pc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Nc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[w]||"").split(", "),s=r(`${Ke}Delay`),o=r(`${Ke}Duration`),i=Is(s,o),l=r(`${Lt}Delay`),c=r(`${Lt}Duration`),a=Is(l,c);let f=null,h=0,p=0;t===Ke?i>0&&(f=Ke,h=i,p=o.length):t===Lt?a>0&&(f=Lt,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ke:Lt:null,p=f?f===Ke?o.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(r(`${Ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Is(e,t){for(;e.lengthPs(n)+Ps(e[r])))}function Ps(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Fc(){return document.body.offsetHeight}function $c(e,t,n){const r=e[Kt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ns=Symbol("_vod"),Hc=Symbol(""),jc=/(^|;)\s*display\s*:/;function Vc(e,t,n){const r=e.style,s=ne(n),o=r.display;let i=!1;if(n&&!s){if(t&&!ne(t))for(const l in t)n[l]==null&&Cr(r,l,"");for(const l in n)l==="display"&&(i=!0),Cr(r,l,n[l])}else if(s){if(t!==n){const l=r[Hc];l&&(n+=";"+l),r.cssText=n,i=jc.test(n)}}else t&&e.removeAttribute("style");Ns in e&&(e[Ns]=i?r.display:"",r.display=o)}const Fs=/\s*!important$/;function Cr(e,t,n){if(U(n))n.forEach(r=>Cr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Dc(e,t);Fs.test(n)?e.setProperty(ft(r),n.replace(Fs,""),"important"):e[r]=n}}const $s=["Webkit","Moz","ms"],Zn={};function Dc(e,t){const n=Zn[t];if(n)return n;let r=Fe(t);if(r!=="filter"&&r in e)return Zn[t]=r;r=On(r);for(let s=0;s<$s.length;s++){const o=$s[s]+r;if(o in e)return Zn[t]=o}return t}const Hs="http://www.w3.org/1999/xlink";function Bc(e,t,n,r,s){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Hs,t.slice(6,t.length)):e.setAttributeNS(Hs,t,n);else{const o=Hi(t);n==null||o&&!so(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function Uc(e,t,n,r,s,o,i){if(t==="innerHTML"||t==="textContent"){r&&i(r,s,o),e[t]=n??"";return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){e._value=n;const a=l==="OPTION"?e.getAttribute("value"):e.value,f=n??"";a!==f&&(e.value=f),n==null&&e.removeAttribute(t);return}let c=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=so(n):n==null&&a==="string"?(n="",c=!0):a==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}function mt(e,t,n,r){e.addEventListener(t,n,r)}function kc(e,t,n,r){e.removeEventListener(t,n,r)}const js=Symbol("_vei");function Kc(e,t,n,r,s=null){const o=e[js]||(e[js]={}),i=o[t];if(r&&i)i.value=r;else{const[l,c]=Wc(t);if(r){const a=o[t]=zc(r,s);mt(e,l,a,c)}else i&&(kc(e,l,i,c),o[t]=void 0)}}const Vs=/(?:Once|Passive|Capture)$/;function Wc(e){let t;if(Vs.test(e)){t={};let r;for(;r=e.match(Vs);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ft(e.slice(2)),t]}let er=0;const qc=Promise.resolve(),Gc=()=>er||(qc.then(()=>er=0),er=Date.now());function zc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Te(Xc(r,n.value),t,5,[r])};return n.value=e,n.attached=Gc(),n}function Xc(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Ds=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?$c(e,r,a):t==="style"?Vc(e,n,r):Wt(t)?Sr(t)||Kc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jc(e,t,r,a))?Uc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Bc(e,t,r,a))};function Jc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ds(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ds(t)&&ne(n)?!1:t in e}const Bs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>pn(t,n):t};function Qc(e){e.target.composing=!0}function Us(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const tr=Symbol("_assign"),hu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[tr]=Bs(s);const o=r||s.props&&s.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=ar(l)),e[tr](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Qc),mt(e,"compositionend",Us),mt(e,"change",Us))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[tr]=Bs(o),e.composing)return;const i=s||e.type==="number"?ar(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Zc=["ctrl","shift","alt","meta"],ea={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zc.some(n=>e[`${n}Key`]&&!t.includes(n))},pu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||ta[i]===o))return e(s)})},ii=ce({patchProp:Yc},Lc);let Vt,ks=!1;function na(){return Vt||(Vt=ac(ii))}function ra(){return Vt=ks?Vt:uc(ii),ks=!0,Vt}const mu=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(!s)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,li(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(s)return n(s,!0,li(s))},t};function li(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ci(e){return ne(e)?document.querySelector(e):e}const _u=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},vu="/NeuroTreeModels.jl/dev/decision-tree.png",bu="/NeuroTreeModels.jl/dev/neurotree.png",sa="modulepreload",oa=function(e){return"/NeuroTreeModels.jl/dev/"+e},Ks={},wu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");s=Promise.all(n.map(i=>{if(i=oa(i),i in Ks)return;Ks[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!r)for(let h=o.length-1;h>=0;h--){const p=o[h];if(p.href===i&&(!l||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":sa,l||(f.as="script",f.crossOrigin=""),f.href=i,document.head.appendChild(f),l)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},ia=window.__VP_SITE_DATA__;function zr(e){return io()?(Di(e),!0):!1}function Ne(e){return typeof e=="function"?e():Eo(e)}const ai=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const la=Object.prototype.toString,ca=e=>la.call(e)==="[object Object]",Qe=()=>{},xr=aa();function aa(){var e,t;return ai&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ua(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ui=e=>e();function fa(e,t={}){let n,r,s=Qe;const o=l=>{clearTimeout(l),s(),s=Qe};return l=>{const c=Ne(e),a=Ne(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function da(e=ui){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:In(t),pause:n,resume:r,eventFilter:s}}function ha(e){return e||Bn()}function fi(...e){if(e.length!==1)return gl(...e);const t=e[0];return typeof t=="function"?In(dl(()=>({get:t,set:Qe}))):se(t)}function di(e,t,n={}){const{eventFilter:r=ui,...s}=n;return Ve(e,ua(r,t),s)}function pa(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=da(r);return{stop:di(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Xr(e,t=!0,n){ha()?Rt(e,n):t?e():Pn(e)}function Eu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return di(e,t,{...o,eventFilter:fa(r,{maxWait:s})})}function Cu(e,t,n){let r;de(n)?r={evaluating:n}:r=n||{};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Qe}=r,c=se(!s),a=i?Vr(t):se(t);let f=0;return Ur(async h=>{if(!c.value)return;f++;const p=f;let y=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const w=await e(S=>{h(()=>{o&&(o.value=!1),y||S()})});p===f&&(a.value=w)}catch(w){l(w)}finally{o&&p===f&&(o.value=!1),y=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yt(e){var t;const n=Ne(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Se=ai?window:void 0;function De(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Se):[t,n,r,s]=e,!t)return Qe;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ve(()=>[yt(t),Ne(s)],([f,h])=>{if(i(),!f)return;const p=ca(h)?{...h}:h;o.push(...n.flatMap(y=>r.map(w=>l(f,y,w,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return zr(a),a}let Ws=!1;function xu(e,t,n={}){const{window:r=Se,ignore:s=[],capture:o=!0,detectIframe:i=!1}=n;if(!r)return Qe;xr&&!Ws&&(Ws=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",Qe)),r.document.documentElement.addEventListener("click",Qe));let l=!0;const c=p=>s.some(y=>{if(typeof y=="string")return Array.from(r.document.querySelectorAll(y)).some(w=>w===p.target||p.composedPath().includes(w));{const w=yt(y);return w&&(p.target===w||p.composedPath().includes(w))}}),f=[De(r,"click",p=>{const y=yt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),De(r,"pointerdown",p=>{const y=yt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&De(r,"blur",p=>{setTimeout(()=>{var y;const w=yt(e);((y=r.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(w!=null&&w.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function ga(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Tu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Se,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=ga(t);return De(s,o,f=>{f.repeat&&Ne(l)||c(f)&&n(f)},i)}function ma(){const e=se(!1),t=Bn();return t&&Rt(()=>{e.value=!0},t),e}function ya(e){const t=ma();return re(()=>(t.value,!!e()))}function hi(e,t={}){const{window:n=Se}=t,r=ya(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Ur(()=>{r.value&&(l(),s=n.matchMedia(Ne(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return zr(()=>{c(),l(),s=void 0}),o}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},un="__vueuse_ssr_handlers__",_a=va();function va(){return un in an||(an[un]=an[un]||{}),an[un]}function pi(e,t){return _a[e]||t}function ba(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const wa={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},qs="vueuse-storage";function Yr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Se,eventFilter:p,onError:y=T=>{console.error(T)},initOnMounted:w}=r,S=(f?Vr:se)(typeof t=="function"?t():t);if(!n)try{n=pi("getDefaultStorage",()=>{var T;return(T=Se)==null?void 0:T.localStorage})()}catch(T){y(T)}if(!n)return S;const F=Ne(t),k=ba(F),B=(s=r.serializer)!=null?s:wa[k],{pause:g,resume:_}=pa(S,()=>P(S.value),{flush:o,deep:i,eventFilter:p});return h&&l&&Xr(()=>{De(h,"storage",A),De(h,qs,$),w&&A()}),w||A(),S;function P(T){try{const R=n.getItem(e),K=L=>{h&&h.dispatchEvent(new CustomEvent(qs,{detail:{key:e,oldValue:R,newValue:L,storageArea:n}}))};if(T==null)K(null),n.removeItem(e);else{const L=B.write(T);R!==L&&(n.setItem(e,L),K(L))}}catch(R){y(R)}}function M(T){const R=T?T.newValue:n.getItem(e);if(R==null)return c&&F!=null&&n.setItem(e,B.write(F)),F;if(!T&&a){const K=B.read(R);return typeof a=="function"?a(K,F):k==="object"&&!Array.isArray(K)?{...F,...K}:K}else return typeof R!="string"?R:B.read(R)}function $(T){A(T.detail)}function A(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){S.value=F;return}if(!(T&&T.key!==e)){g();try{(T==null?void 0:T.newValue)!==B.write(S.value)&&(S.value=M(T))}catch(R){y(R)}finally{T?Pn(_):_()}}}}}function gi(e){return hi("(prefers-color-scheme: dark)",e)}function Ea(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Se,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=gi({window:s}),y=re(()=>p.value?"dark":"light"),w=c||(i==null?fi(r):Yr(i,r,o,{window:s,listenToStorageChanges:l})),S=re(()=>w.value==="auto"?y.value:w.value),F=pi("updateHTMLAttrs",(_,P,M)=>{const $=typeof _=="string"?s==null?void 0:s.document.querySelector(_):yt(_);if(!$)return;let A;if(f&&(A=s.document.createElement("style"),A.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(A)),P==="class"){const T=M.split(/\s/g);Object.values(h).flatMap(R=>(R||"").split(/\s/g)).filter(Boolean).forEach(R=>{T.includes(R)?$.classList.add(R):$.classList.remove(R)})}else $.setAttribute(P,M);f&&(s.getComputedStyle(A).opacity,document.head.removeChild(A))});function k(_){var P;F(t,n,(P=h[_])!=null?P:_)}function B(_){e.onChanged?e.onChanged(_,k):k(_)}Ve(S,B,{flush:"post",immediate:!0}),Xr(()=>B(S.value));const g=re({get(){return a?w.value:S.value},set(_){w.value=_}});try{return Object.assign(g,{store:w,system:y,state:S})}catch{return g}}function Ca(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Se}=e,s=Ea({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>s.system?s.system.value:gi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function nr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Su(e,t,n={}){const{window:r=Se}=n;return Yr(e,t,r==null?void 0:r.localStorage,n)}function mi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const fn=new WeakMap;function Au(e,t=!1){const n=se(t);let r=null,s;Ve(fi(e),l=>{const c=nr(Ne(l));if(c){const a=c;fn.get(a)||fn.set(a,s),n.value&&(a.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=nr(Ne(e));!l||n.value||(xr&&(r=De(l,"touchmove",c=>{xa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=nr(Ne(e));!c||!n.value||(xr&&(r==null||r()),c.style.overflow=(l=fn.get(c))!=null?l:"",fn.delete(c),n.value=!1)};return zr(i),re({get(){return n.value},set(l){l?o():i()}})}function Ru(e,t,n={}){const{window:r=Se}=n;return Yr(e,t,r==null?void 0:r.sessionStorage,n)}function Ou(e={}){const{window:t=Se,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return De(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Lu(e={}){const{window:t=Se,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Xr(c),De("resize",c,{passive:!0}),s){const a=hi("(orientation: portrait)");Ve(a,()=>c())}return{width:i,height:l}}var rr={BASE_URL:"/NeuroTreeModels.jl/dev/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},sr={};const yi=/^(?:[a-z]+:|\/\/)/i,Ta="vitepress-theme-appearance",Sa=/#.*$/,Aa=/[?#].*$/,Ra=/(?:(^|\/)index)?\.(?:md|html)$/,Ce=typeof document<"u",_i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Oa(e,t,n=!1){if(t===void 0)return!1;if(e=Gs(`/${e}`),n)return new RegExp(t).test(e);if(Gs(t)!==e)return!1;const r=t.match(Sa);return r?(Ce?location.hash:"")===r[0]:!0}function Gs(e){return decodeURI(e).replace(Aa,"").replace(Ra,"$1")}function La(e){return yi.test(e)}function Ma(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!La(f)&&Oa(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:bi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function vi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Ia(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Ia(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Pa(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function bi(e,t){return[...e.filter(n=>!Pa(t,n)),...t]}const Na=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Fa=/^[a-z]:/i;function zs(e){const t=Fa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Na,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const or=new Set;function $a(e){if(or.size===0){const n=typeof process=="object"&&(sr==null?void 0:sr.VITE_EXTRA_EXTENSIONS)||(rr==null?void 0:rr.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>or.add(r))}const t=e.split(".").pop();return t==null||!or.has(t.toLowerCase())}function Mu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ha=Symbol(),ut=Vr(ia);function Iu(e){const t=re(()=>Ma(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?Ca({storageKey:Ta,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):se(!1);return{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>vi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r}}function ja(){const e=xt(Ha);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Va(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Xs(e){return yi.test(e)||!e.startsWith("/")?e:Va(ut.value.base,e)}function Da(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/NeuroTreeModels.jl/dev/";t=zs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${zs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let mn=[];function Pu(e){mn.push(e),Vn(()=>{mn=mn.filter(t=>t!==e)})}function Ba(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ys(e,n);else if(Array.isArray(e))for(const r of e){const s=Ys(r,n);if(s){t=s;break}}return t}function Ys(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ua=Symbol(),wi="http://a.com",ka=()=>({path:"/",component:null,data:_i});function Nu(e,t){const n=Mn(ka()),r={route:n,go:s};async function s(l=Ce?location.href:"/"){var c,a;l=Sn(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(Qs(l),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=r.onBeforePageLoad)==null?void 0:p.call(r,l))===!1)return;const f=new URL(l,wi),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:w,__pageData:S}=y;if(!w)throw new Error(`Invalid route component: ${w}`);n.path=Ce?h:Xs(h),n.component=It(w),n.data=It(S),Ce&&Pn(()=>{let F=ut.value.base+S.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!F.endsWith("/")&&(F+=".html"),F!==f.pathname&&(f.pathname=F,l=F+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let k=null;try{k=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(B){console.warn(B)}if(k){Js(k,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const w=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await w.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Xs(h),n.component=t?It(t):null,n.data=_i)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:w,search:S}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),F=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===F.origin&&$a(y)&&(l.preventDefault(),y===F.pathname&&S===F.search?(w!==F.hash&&(history.pushState(null,"",w),window.dispatchEvent(new Event("hashchange"))),w?Js(a,w,a.classList.contains("header-anchor")):(Qs(h),window.scrollTo(0,0))):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(Sn(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Ka(){const e=xt(Ua);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ei(){return Ka().route}function Js(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Ba()+o;requestAnimationFrame(s)}}function Qs(e){Ce&&Sn(e)!==Sn(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function Sn(e){const t=new URL(e,wi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const ir=()=>mn.forEach(e=>e()),Fu=kr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ei(),{site:n}=ja();return()=>Er(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Er(t.component,{onVnodeMounted:ir,onVnodeUpdated:ir,onVnodeUnmounted:ir}):"404 Page Not Found"])}}),$u=kr({setup(e,{slots:t}){const n=se(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Hu(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function ju(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Wa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Wa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Vu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=lr(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(lr);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Ur(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=vi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):lr(["meta",{name:"description",content:f}]),s(bi(i.head,Ga(c)))})}function lr([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function qa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ga(e){return e.filter(t=>!qa(t))}const cr=new Set,Ci=()=>document.createElement("link"),za=e=>{const t=Ci();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Xa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const Ya=Ce&&(dn=Ci())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?za:Xa;function Du(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!cr.has(c)){cr.add(c);const a=Da(c);a&&Ya(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):cr.add(l))})})};Rt(r);const s=Ei();Ve(()=>s.path,r),Vn(()=>{n&&n.disconnect()})}export{ec as $,Vn as A,nu as B,Dl as C,Ba as D,eu as E,me as F,ou as G,Vr as H,Pu as I,oe as J,tu as K,yi as L,Ei as M,_c as N,xt as O,Lu as P,Or as Q,xu as R,Tu as S,si as T,Pn as U,Ou as V,In as W,su as X,wu as Y,Au as Z,_u as _,ei as a,gu as a0,lu as a1,pu as a2,cu as a3,Mn as a4,gl as a5,Er as a6,fu as a7,vu as a8,bu as a9,It as aA,mu as aB,Mu as aC,Vu as aa,Ua as ab,Iu as ac,Ha as ad,Fu as ae,$u as af,ut as ag,yu as ah,Nu as ai,Da as aj,Du as ak,ju as al,Hu as am,yt as an,zr as ao,Cu as ap,Ru as aq,Su as ar,Eu as as,Ka as at,De as au,$o as av,ru as aw,hu as ax,de as ay,au as az,Jo as b,uu as c,kr as d,du as e,$a as f,Xs as g,se as h,La as i,Ce as j,re as k,Rt as l,Zo as m,Lr as n,Xo as o,Eo as p,Qa as q,iu as r,Za as s,Ja as t,ja as u,Oa as v,Cl as w,hi as x,Ve as y,Ur as z}; diff --git a/dev/assets/chunks/framework.CUwTDK2x.js b/dev/assets/chunks/framework.CUwTDK2x.js new file mode 100644 index 0000000..78af30f --- /dev/null +++ b/dev/assets/chunks/framework.CUwTDK2x.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Tr(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ee={},_t=[],xe=()=>{},Si=()=>!1,Wt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ar=e=>e.startsWith("onUpdate:"),ce=Object.assign,Rr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ti=Object.prototype.hasOwnProperty,Y=(e,t)=>Ti.call(e,t),B=Array.isArray,vt=e=>An(e)==="[object Map]",Zs=e=>An(e)==="[object Set]",q=e=>typeof e=="function",ne=e=>typeof e=="string",At=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",eo=e=>(Z(e)||q(e))&&q(e.then)&&q(e.catch),to=Object.prototype.toString,An=e=>to.call(e),Ai=e=>An(e).slice(8,-1),no=e=>An(e)==="[object Object]",Lr=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=Tr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Rn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ri=/-(\w)/g,Fe=Rn(e=>e.replace(Ri,(t,n)=>n?n.toUpperCase():"")),Li=/\B([A-Z])/g,ft=Rn(e=>e.replace(Li,"-$1").toLowerCase()),Ln=Rn(e=>e.charAt(0).toUpperCase()+e.slice(1)),hn=Rn(e=>e?`on${Ln(e)}`:""),Ze=(e,t)=>!Object.is(e,t),pn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},ur=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Oi=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let rs;const ro=()=>rs||(rs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Or(e){if(B(e)){const t={};for(let n=0;n{if(n){const r=n.split(Mi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ir(e){let t="";if(ne(e))t=e;else if(B(e))for(let n=0;nne(e)?e:e==null?"":B(e)||Z(e)&&(e.toString===to||!q(e.toString))?JSON.stringify(e,oo,2):String(e),oo=(e,t)=>t&&t.__v_isRef?oo(e,t.value):vt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[qn(r,o)+" =>"]=s,n),{})}:Zs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>qn(n))}:At(t)?qn(t):Z(t)&&!B(t)&&!no(t)?String(t):t,qn=(e,t="")=>{var n;return At(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ve;class Hi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ve,!t&&ve&&(this.index=(ve.scopes||(ve.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ve;try{return ve=this,t()}finally{ve=n}}}on(){ve=this}off(){ve=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ht()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ye,n=ct;try{return Ye=!0,ct=this,this._runnings++,ss(this),this.fn()}finally{os(this),this._runnings--,ct=n,Ye=t}}stop(){var t;this.active&&(ss(this),os(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Di(e){return e.value}function ss(e){e._trackId++,e._depsLength=0}function os(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},vn=new WeakMap,at=Symbol(""),hr=Symbol("");function ye(e,t,n){if(Ye&&ct){let r=vn.get(e);r||vn.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=fo(()=>r.delete(n))),ao(ct,s)}}function je(e,t,n,r,s,o){const i=vn.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&B(e)){const c=Number(r);i.forEach((a,f)=>{(f==="length"||!At(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":B(e)?Lr(n)&&l.push(i.get("length")):(l.push(i.get(at)),vt(e)&&l.push(i.get(hr)));break;case"delete":B(e)||(l.push(i.get(at)),vt(e)&&l.push(i.get(hr)));break;case"set":vt(e)&&l.push(i.get(at));break}Pr();for(const c of l)c&&uo(c,4);Nr()}function Ui(e,t){var n;return(n=vn.get(e))==null?void 0:n.get(t)}const Bi=Tr("__proto__,__v_isRef,__isVue"),ho=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(At)),is=ki();function ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){dt(),Pr();const r=J(this)[t].apply(this,n);return Nr(),ht(),r}}),e}function Ki(e){const t=J(this);return ye(t,"has",e),t.hasOwnProperty(e)}class po{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?rl:_o:o?yo:mo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=B(t);if(!s){if(i&&Y(is,n))return Reflect.get(is,n,r);if(n==="hasOwnProperty")return Ki}const l=Reflect.get(t,n,r);return(At(n)?ho.has(n):Bi(n))||(s||ye(t,"get",n),o)?l:de(l)?i&&Lr(n)?l:l.value:Z(l)?s?Mn(l):In(l):l}}class go extends po{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const c=St(o);if(!bn(r)&&!St(r)&&(o=J(o),r=J(r)),!B(t)&&de(o)&&!de(r))return c?!1:(o.value=r,!0)}const i=B(t)&&Lr(n)?Number(n)e,On=e=>Reflect.getPrototypeOf(e);function Qt(e,t,n=!1,r=!1){e=e.__v_raw;const s=J(e),o=J(t);n||(Ze(t,o)&&ye(s,"get",t),ye(s,"get",o));const{has:i}=On(s),l=r?Fr:n?jr:Dt;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Zt(e,t=!1){const n=this.__v_raw,r=J(n),s=J(e);return t||(Ze(e,s)&&ye(r,"has",e),ye(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function en(e,t=!1){return e=e.__v_raw,!t&&ye(J(e),"iterate",at),Reflect.get(e,"size",e)}function ls(e){e=J(e);const t=J(this);return On(t).has.call(t,e)||(t.add(e),je(t,"add",e,e)),this}function cs(e,t){t=J(t);const n=J(this),{has:r,get:s}=On(n);let o=r.call(n,e);o||(e=J(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Ze(t,i)&&je(n,"set",e,t):je(n,"add",e,t),this}function as(e){const t=J(this),{has:n,get:r}=On(t);let s=n.call(t,e);s||(e=J(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&je(t,"delete",e,void 0),o}function us(){const e=J(this),t=e.size!==0,n=e.clear();return t&&je(e,"clear",void 0,void 0),n}function tn(e,t){return function(r,s){const o=this,i=o.__v_raw,l=J(i),c=t?Fr:e?jr:Dt;return!e&&ye(l,"iterate",at),i.forEach((a,f)=>r.call(s,c(a),c(f),o))}}function nn(e,t,n){return function(...r){const s=this.__v_raw,o=J(s),i=vt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=s[e](...r),f=n?Fr:t?jr:Dt;return!t&&ye(o,"iterate",c?hr:at),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Be(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Xi(){const e={get(o){return Qt(this,o)},get size(){return en(this)},has:Zt,add:ls,set:cs,delete:as,clear:us,forEach:tn(!1,!1)},t={get(o){return Qt(this,o,!1,!0)},get size(){return en(this)},has:Zt,add:ls,set:cs,delete:as,clear:us,forEach:tn(!1,!0)},n={get(o){return Qt(this,o,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:tn(!0,!1)},r={get(o){return Qt(this,o,!0,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:tn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=nn(o,!1,!1),n[o]=nn(o,!0,!1),t[o]=nn(o,!1,!0),r[o]=nn(o,!0,!0)}),[e,n,t,r]}const[Yi,Ji,Qi,Zi]=Xi();function $r(e,t){const n=t?e?Zi:Qi:e?Ji:Yi;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Y(n,s)&&s in r?n:r,s,o)}const el={get:$r(!1,!1)},tl={get:$r(!1,!0)},nl={get:$r(!0,!1)},mo=new WeakMap,yo=new WeakMap,_o=new WeakMap,rl=new WeakMap;function sl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ol(e){return e.__v_skip||!Object.isExtensible(e)?0:sl(Ai(e))}function In(e){return St(e)?e:Hr(e,!1,qi,el,mo)}function il(e){return Hr(e,!1,zi,tl,yo)}function Mn(e){return Hr(e,!0,Gi,nl,_o)}function Hr(e,t,n,r,s){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=ol(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function wt(e){return St(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function St(e){return!!(e&&e.__v_isReadonly)}function bn(e){return!!(e&&e.__v_isShallow)}function vo(e){return wt(e)||St(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function Mt(e){return Object.isExtensible(e)&&_n(e,"__v_skip",!0),e}const Dt=e=>Z(e)?In(e):e,jr=e=>Z(e)?Mn(e):e;class bo{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Mr(()=>t(this._value),()=>Pt(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Ze(t._value,t._value=t.effect.run())&&Pt(t,4),Vr(t),t.effect._dirtyLevel>=2&&Pt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function ll(e,t,n=!1){let r,s;const o=q(e);return o?(r=e,s=xe):(r=e.get,s=e.set),new bo(r,s,o||!s,n)}function Vr(e){var t;Ye&&ct&&(e=J(e),ao(ct,(t=e.dep)!=null?t:e.dep=fo(()=>e.dep=void 0,e instanceof bo?e:void 0)))}function Pt(e,t=4,n){e=J(e);const r=e.dep;r&&uo(r,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function se(e){return wo(e,!1)}function Dr(e){return wo(e,!0)}function wo(e,t){return de(e)?e:new cl(e,t)}class cl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Dt(t)}get value(){return Vr(this),this._value}set value(t){const n=this.__v_isShallow||bn(t)||St(t);t=n?t:J(t),Ze(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Dt(t),Pt(this,4))}}function Eo(e){return de(e)?e.value:e}const al={get:(e,t,n)=>Eo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return de(s)&&!de(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Co(e){return wt(e)?e:new Proxy(e,al)}class ul{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Vr(this),()=>Pt(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function fl(e){return new ul(e)}class dl{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ui(J(this._object),this._key)}}class hl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function pl(e,t,n){return de(e)?e:q(e)?new hl(e):Z(e)&&arguments.length>1?gl(e,t,n):se(e)}function gl(e,t,n){const r=e[t];return de(r)?r:new dl(e,t,n)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Je(e,t,n,r){try{return r?e(...r):e()}catch(s){qt(s,t,n)}}function Se(e,t,n,r){if(q(e)){const o=Je(e,t,n,r);return o&&eo(o)&&o.catch(i=>{qt(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=he[r],o=Bt(s);oPe&&he.splice(t,1)}function vl(e){B(e)?Et.push(...e):(!qe||!qe.includes(e,e.allowRecurse?ot+1:ot))&&Et.push(e),So()}function fs(e,t,n=Ut?Pe+1:0){for(;nBt(n)-Bt(r));if(Et.length=0,qe){qe.push(...t);return}for(qe=t,ot=0;ote.id==null?1/0:e.id,bl=(e,t)=>{const n=Bt(e)-Bt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function To(e){pr=!1,Ut=!0,he.sort(bl);try{for(Pe=0;Pene(y)?y.trim():y)),h&&(s=n.map(ur))}let l,c=r[l=hn(t)]||r[l=hn(Fe(t))];!c&&o&&(c=r[l=hn(ft(t))]),c&&Se(c,e,6,s);const a=r[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(a,e,6,s)}}function Ao(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!q(e)){const c=a=>{const f=Ao(a,t,!0);f&&(l=!0,ce(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&r.set(e,null),null):(B(o)?o.forEach(c=>i[c]=null):ce(i,o),Z(e)&&r.set(e,i),i)}function Fn(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,ft(t))||Y(e,t))}let le=null,$n=null;function En(e){const t=le;return le=e,$n=e&&e.type.__scopeId||null,t}function Qa(e){$n=e}function Za(){$n=null}function El(e,t=le,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Ss(-1);const o=En(t);let i;try{i=e(...s)}finally{En(o),r._d&&Ss(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Gn(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:l,attrs:c,emit:a,render:f,renderCache:h,data:p,setupState:y,ctx:v,inheritAttrs:I}=e;let N,K;const k=En(e);try{if(n.shapeFlag&4){const _=s||r,M=_;N=Re(f.call(M,_,h,o,y,p,v)),K=c}else{const _=t;N=Re(_.length>1?_(o,{attrs:c,slots:l,emit:a}):_(o,null)),K=t.props?c:Cl(c)}}catch(_){jt.length=0,qt(_,e,1),N=oe(be)}let g=N;if(K&&I!==!1){const _=Object.keys(K),{shapeFlag:M}=g;_.length&&M&7&&(i&&_.some(Ar)&&(K=xl(K,i)),g=et(g,K))}return n.dirs&&(g=et(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),N=g,En(k),N}const Cl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},xl=(e,t)=>{const n={};for(const r in e)(!Ar(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Sl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?ds(r,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function Oo(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):vl(e)}const Rl=Symbol.for("v-scx"),Ll=()=>xt(Rl);function kr(e,t){return Hn(e,null,t)}function nu(e,t){return Hn(e,null,{flush:"post"})}const rn={};function Ve(e,t,n){return Hn(e,t,n)}function Hn(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const L=t;t=(...F)=>{L(...F),M()}}const c=ue,a=L=>r===!0?L:lt(L,r===!1?1:void 0);let f,h=!1,p=!1;if(de(e)?(f=()=>e.value,h=bn(e)):wt(e)?(f=()=>a(e),h=!0):B(e)?(p=!0,h=e.some(L=>wt(L)||bn(L)),f=()=>e.map(L=>{if(de(L))return L.value;if(wt(L))return a(L);if(q(L))return Je(L,c,2)})):q(e)?t?f=()=>Je(e,c,2):f=()=>(y&&y(),Se(e,c,3,[v])):f=xe,t&&r){const L=f;f=()=>lt(L())}let y,v=L=>{y=g.onStop=()=>{Je(L,c,4),y=g.onStop=void 0}},I;if(Xt)if(v=xe,t?n&&Se(t,c,3,[f(),p?[]:void 0,v]):f(),s==="sync"){const L=Ll();I=L.__watcherHandles||(L.__watcherHandles=[])}else return xe;let N=p?new Array(e.length).fill(rn):rn;const K=()=>{if(!(!g.active||!g.dirty))if(t){const L=g.run();(r||h||(p?L.some((F,T)=>Ze(F,N[T])):Ze(L,N)))&&(y&&y(),Se(t,c,3,[L,N===rn?void 0:p&&N[0]===rn?[]:N,v]),N=L)}else g.run()};K.allowRecurse=!!t;let k;s==="sync"?k=K:s==="post"?k=()=>ge(K,c&&c.suspense):(K.pre=!0,c&&(K.id=c.uid),k=()=>Nn(K));const g=new Mr(f,xe,k),_=io(),M=()=>{g.stop(),_&&Rr(_.effects,g)};return t?n?K():N=g.run():s==="post"?ge(g.run.bind(g),c&&c.suspense):g.run(),I&&I.push(M),M}function Ol(e,t,n){const r=this.proxy,s=ne(e)?e.includes(".")?Io(r,e):()=>r[e]:e.bind(r,r);let o;q(t)?o=t:(o=t.handler,n=t);const i=zt(this),l=Hn(s,o.bind(r),n);return i(),l}function Io(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),de(e))lt(e.value,t,n,r);else if(B(e))for(let s=0;s{lt(s,t,n,r)});else if(no(e))for(const s in e)lt(e[s],t,n,r);return e}function ru(e,t){if(le===null)return e;const n=Bn(le)||le.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),$o(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],Mo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},Ml={name:"BaseTransition",props:Mo,setup(e,{slots:t}){const n=Un(),r=Il();return()=>{const s=t.default&&No(t.default(),!0);if(!s||!s.length)return;let o=s[0];if(s.length>1){for(const p of s)if(p.type!==be){o=p;break}}const i=J(e),{mode:l}=i;if(r.isLeaving)return zn(o);const c=ps(o);if(!c)return zn(o);const a=gr(c,i,r,n);mr(c,a);const f=n.subTree,h=f&&ps(f);if(h&&h.type!==be&&!it(c,h)){const p=gr(h,i,r,n);if(mr(h,p),l==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},zn(o);l==="in-out"&&c.type!==be&&(p.delayLeave=(y,v,I)=>{const N=Po(r,h);N[String(h.key)]=h,y[Ge]=()=>{v(),y[Ge]=void 0,delete a.delayedLeave},a.delayedLeave=I})}return o}}},Pl=Ml;function Po(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function gr(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:y,onLeaveCancelled:v,onBeforeAppear:I,onAppear:N,onAfterAppear:K,onAppearCancelled:k}=t,g=String(e.key),_=Po(n,e),M=(T,$)=>{T&&Se(T,r,9,$)},L=(T,$)=>{const E=$[1];M(T,$),B(T)?T.every(j=>j.length<=1)&&E():T.length<=1&&E()},F={mode:o,persisted:i,beforeEnter(T){let $=l;if(!n.isMounted)if(s)$=I||l;else return;T[Ge]&&T[Ge](!0);const E=_[g];E&&it(e,E)&&E.el[Ge]&&E.el[Ge](),M($,[T])},enter(T){let $=c,E=a,j=f;if(!n.isMounted)if(s)$=N||c,E=K||a,j=k||f;else return;let A=!1;const G=T[sn]=ie=>{A||(A=!0,ie?M(j,[T]):M(E,[T]),F.delayedLeave&&F.delayedLeave(),T[sn]=void 0)};$?L($,[T,G]):G()},leave(T,$){const E=String(e.key);if(T[sn]&&T[sn](!0),n.isUnmounting)return $();M(h,[T]);let j=!1;const A=T[Ge]=G=>{j||(j=!0,$(),G?M(v,[T]):M(y,[T]),T[Ge]=void 0,_[E]===e&&delete _[E])};_[E]=e,p?L(p,[T,A]):A()},clone(T){return gr(T,t,n,r)}};return F}function zn(e){if(Gt(e))return e=et(e),e.children=null,e}function ps(e){return Gt(e)?e.children?e.children[0]:void 0:e}function mr(e,t){e.shapeFlag&6&&e.component?mr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function No(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function su(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((I,N)=>{l(v,()=>I(h()),()=>N(v),f+1)});throw v}).then(v=>y!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),a=v,v)))};return Kr({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const y=ue;if(a)return()=>Xn(a,y);const v=k=>{c=null,qt(k,y,13,!r)};if(i&&y.suspense||Xt)return p().then(k=>()=>Xn(k,y)).catch(k=>(v(k),()=>r?oe(r,{error:k}):null));const I=se(!1),N=se(),K=se(!!s);return s&&setTimeout(()=>{K.value=!1},s),o!=null&&setTimeout(()=>{if(!I.value&&!N.value){const k=new Error(`Async component timed out after ${o}ms.`);v(k),N.value=k}},o),p().then(()=>{I.value=!0,y.parent&&Gt(y.parent.vnode)&&(y.parent.effect.dirty=!0,Nn(y.parent.update))}).catch(k=>{v(k),N.value=k}),()=>{if(I.value&&a)return Xn(a,y);if(N.value&&r)return oe(r,{error:N.value});if(n&&!K.value)return oe(n)}}})}function Xn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=oe(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Gt=e=>e.type.__isKeepAlive;function Nl(e,t){Fo(e,"a",t)}function Fl(e,t){Fo(e,"da",t)}function Fo(e,t,n=ue){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(jn(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Gt(s.parent.vnode)&&$l(r,t,n,s),s=s.parent}}function $l(e,t,n,r){const s=jn(t,e,r,!0);Vn(()=>{Rr(r[t],s)},n)}function jn(e,t,n=ue,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt();const l=zt(n),c=Se(t,n,e,i);return l(),ht(),c});return r?s.unshift(o):s.push(o),o}}const Ue=e=>(t,n=ue)=>(!Xt||e==="sp")&&jn(e,(...r)=>t(...r),n),Hl=Ue("bm"),Rt=Ue("m"),jl=Ue("bu"),Vl=Ue("u"),$o=Ue("bum"),Vn=Ue("um"),Dl=Ue("sp"),Ul=Ue("rtg"),Bl=Ue("rtc");function kl(e,t=ue){jn("ec",e,t)}function ou(e,t,n,r){let s;const o=n&&n[r];if(B(e)||ne(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lSn(t)?!(t.type===be||t.type===me&&!Ho(t.children)):!0)?e:null}function lu(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:hn(r)]=e[r];return n}const yr=e=>e?ti(e)?Bn(e)||e.proxy:yr(e.parent):null,Nt=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>yr(e.parent),$root:e=>yr(e.root),$emit:e=>e.emit,$options:e=>Wr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Nn(e.update)}),$nextTick:e=>e.n||(e.n=Pn.bind(e.proxy)),$watch:e=>Ol.bind(e)}),Yn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Kl={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Yn(r,t))return i[t]=1,r[t];if(s!==ee&&Y(s,t))return i[t]=2,s[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];_r&&(i[t]=0)}}const f=Nt[t];let h,p;if(f)return t==="$attrs"&&ye(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(p=c.config.globalProperties,Y(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Yn(s,t)?(s[t]=n,!0):r!==ee&&Y(r,t)?(r[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||Yn(t,i)||(l=o[0])&&Y(l,i)||Y(r,i)||Y(Nt,i)||Y(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cu(){return Wl().slots}function Wl(){const e=Un();return e.setupContext||(e.setupContext=ri(e))}function gs(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let _r=!0;function ql(e){const t=Wr(e),n=e.proxy,r=e.ctx;_r=!1,t.beforeCreate&&ms(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:y,updated:v,activated:I,deactivated:N,beforeDestroy:K,beforeUnmount:k,destroyed:g,unmounted:_,render:M,renderTracked:L,renderTriggered:F,errorCaptured:T,serverPrefetch:$,expose:E,inheritAttrs:j,components:A,directives:G,filters:ie}=t;if(a&&Gl(a,r,null),i)for(const X in i){const V=i[X];q(V)&&(r[X]=V.bind(n))}if(s){const X=s.call(n,n);Z(X)&&(e.data=In(X))}if(_r=!0,o)for(const X in o){const V=o[X],$e=q(V)?V.bind(n,n):q(V.get)?V.get.bind(n,n):xe,Yt=!q(V)&&q(V.set)?V.set.bind(n):xe,tt=re({get:$e,set:Yt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Oe=>tt.value=Oe})}if(l)for(const X in l)jo(l[X],r,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(V=>{Zl(V,X[V])})}f&&ms(f,e,"c");function D(X,V){B(V)?V.forEach($e=>X($e.bind(n))):V&&X(V.bind(n))}if(D(Hl,h),D(Rt,p),D(jl,y),D(Vl,v),D(Nl,I),D(Fl,N),D(kl,T),D(Bl,L),D(Ul,F),D($o,k),D(Vn,_),D(Dl,$),B(E))if(E.length){const X=e.exposed||(e.exposed={});E.forEach(V=>{Object.defineProperty(X,V,{get:()=>n[V],set:$e=>n[V]=$e})})}else e.exposed||(e.exposed={});M&&e.render===xe&&(e.render=M),j!=null&&(e.inheritAttrs=j),A&&(e.components=A),G&&(e.directives=G)}function Gl(e,t,n=xe){B(e)&&(e=vr(e));for(const r in e){const s=e[r];let o;Z(s)?"default"in s?o=xt(s.from||r,s.default,!0):o=xt(s.from||r):o=xt(s),de(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function ms(e,t,n){Se(B(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function jo(e,t,n,r){const s=r.includes(".")?Io(n,r):()=>n[r];if(ne(e)){const o=t[e];q(o)&&Ve(s,o)}else if(q(e))Ve(s,e.bind(n));else if(Z(e))if(B(e))e.forEach(o=>jo(o,t,n,r));else{const o=q(e.handler)?e.handler.bind(n):t[e.handler];q(o)&&Ve(s,o,e)}}function Wr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(a=>Cn(c,a,i,!0)),Cn(c,t,i)),Z(t)&&o.set(t,c),c}function Cn(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Cn(e,o,n,!0),s&&s.forEach(i=>Cn(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=zl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const zl={data:ys,props:_s,emits:_s,methods:It,computed:It,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:It,directives:It,watch:Yl,provide:ys,inject:Xl};function ys(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Xl(e,t){return It(vr(e),vr(t))}function vr(e){if(B(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(r&&r.proxy):t}}function ec(e,t,n,r=!1){const s={},o={};_n(o,Dn,1),e.propsDefaults=Object.create(null),Do(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:il(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function tc(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=J(s),[c]=e.propsOptions;let a=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,y]=Uo(h,t,!0);ce(i,p),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&r.set(e,_t),_t;if(B(o))for(let f=0;f-1,y[1]=I<0||v-1||Y(y,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&r.set(e,a),a}function vs(e){return e[0]!=="$"&&!bt(e)}function bs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function ws(e,t){return bs(e)===bs(t)}function Es(e,t){return B(t)?t.findIndex(n=>ws(n,e)):q(t)&&ws(t,e)?0:-1}const Bo=e=>e[0]==="_"||e==="$stable",qr=e=>B(e)?e.map(Re):[Re(e)],nc=(e,t,n)=>{if(t._n)return t;const r=El((...s)=>qr(t(...s)),n);return r._c=!1,r},ko=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Bo(s))continue;const o=e[s];if(q(o))t[s]=nc(s,o,r);else if(o!=null){const i=qr(o);t[s]=()=>i}}},Ko=(e,t)=>{const n=qr(t);e.slots.default=()=>n},rc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),_n(t,"_",n)):ko(t,e.slots={})}else e.slots={},t&&Ko(e,t);_n(e.slots,Dn,1)},sc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ee;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ce(s,t),!n&&l===1&&delete s._):(o=!t.$stable,ko(t,s)),i=t}else t&&(Ko(e,t),i={default:1});if(o)for(const l in s)!Bo(l)&&i[l]==null&&delete s[l]};function xn(e,t,n,r,s=!1){if(B(e)){e.forEach((p,y)=>xn(p,t&&(B(t)?t[y]:t),n,r,s));return}if(Ct(r)&&!s)return;const o=r.shapeFlag&4?Bn(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(ne(a)?(f[a]=null,Y(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),q(c))Je(c,l,12,[i,f]);else{const p=ne(c),y=de(c);if(p||y){const v=()=>{if(e.f){const I=p?Y(h,c)?h[c]:f[c]:c.value;s?B(I)&&Rr(I,o):B(I)?I.includes(o)||I.push(o):p?(f[c]=[o],Y(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else p?(f[c]=i,Y(h,c)&&(h[c]=i)):y&&(c.value=i,e.k&&(f[e.k]=i))};i?(v.id=-1,ge(v,n)):v()}}}let ke=!1;const oc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",ic=e=>e.namespaceURI.includes("MathML"),on=e=>{if(oc(e))return"svg";if(ic(e))return"mathml"},ln=e=>e.nodeType===8;function lc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),wn(),_._vnode=g;return}ke=!1,h(_.firstChild,g,null,null,null),wn(),_._vnode=g,ke&&console.error("Hydration completed but contains mismatches.")},h=(g,_,M,L,F,T=!1)=>{const $=ln(g)&&g.data==="[",E=()=>I(g,_,M,L,F,$),{type:j,ref:A,shapeFlag:G,patchFlag:ie}=_;let fe=g.nodeType;_.el=g,ie===-2&&(T=!1,_.dynamicChildren=null);let D=null;switch(j){case Tt:fe!==3?_.children===""?(c(_.el=s(""),i(g),g),D=g):D=E():(g.data!==_.children&&(ke=!0,g.data=_.children),D=o(g));break;case be:k(g)?(D=o(g),K(_.el=g.content.firstChild,g,M)):fe!==8||$?D=E():D=o(g);break;case Ht:if($&&(g=o(g),fe=g.nodeType),fe===1||fe===3){D=g;const X=!_.children.length;for(let V=0;V<_.staticCount;V++)X&&(_.children+=D.nodeType===1?D.outerHTML:D.data),V===_.staticCount-1&&(_.anchor=D),D=o(D);return $?o(D):D}else E();break;case me:$?D=v(g,_,M,L,F,T):D=E();break;default:if(G&1)(fe!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!k(g)?D=E():D=p(g,_,M,L,F,T);else if(G&6){_.slotScopeIds=F;const X=i(g);if($?D=N(g):ln(g)&&g.data==="teleport start"?D=N(g,g.data,"teleport end"):D=o(g),t(_,X,null,M,L,on(X),T),Ct(_)){let V;$?(V=oe(me),V.anchor=D?D.previousSibling:X.lastChild):V=g.nodeType===3?ei(""):oe("div"),V.el=g,_.component.subTree=V}}else G&64?fe!==8?D=E():D=_.type.hydrate(g,_,M,L,F,T,e,y):G&128&&(D=_.type.hydrate(g,_,M,L,on(i(g)),F,T,e,h))}return A!=null&&xn(A,null,L,_),D},p=(g,_,M,L,F,T)=>{T=T||!!_.dynamicChildren;const{type:$,props:E,patchFlag:j,shapeFlag:A,dirs:G,transition:ie}=_,fe=$==="input"||$==="option";if(fe||j!==-1){G&&Me(_,null,M,"created");let D=!1;if(k(g)){D=qo(L,ie)&&M&&M.vnode.props&&M.vnode.props.appear;const V=g.content.firstChild;D&&ie.beforeEnter(V),K(V,g,M),_.el=g=V}if(A&16&&!(E&&(E.innerHTML||E.textContent))){let V=y(g.firstChild,_,g,M,L,F,T);for(;V;){ke=!0;const $e=V;V=V.nextSibling,l($e)}}else A&8&&g.textContent!==_.children&&(ke=!0,g.textContent=_.children);if(E)if(fe||!T||j&48)for(const V in E)(fe&&(V.endsWith("value")||V==="indeterminate")||Wt(V)&&!bt(V)||V[0]===".")&&r(g,V,null,E[V],void 0,void 0,M);else E.onClick&&r(g,"onClick",null,E.onClick,void 0,void 0,M);let X;(X=E&&E.onVnodeBeforeMount)&&Ee(X,M,_),G&&Me(_,null,M,"beforeMount"),((X=E&&E.onVnodeMounted)||G||D)&&Oo(()=>{X&&Ee(X,M,_),D&&ie.enter(g),G&&Me(_,null,M,"mounted")},L)}return g.nextSibling},y=(g,_,M,L,F,T,$)=>{$=$||!!_.dynamicChildren;const E=_.children,j=E.length;for(let A=0;A{const{slotScopeIds:$}=_;$&&(F=F?F.concat($):$);const E=i(g),j=y(o(g),_,E,M,L,F,T);return j&&ln(j)&&j.data==="]"?o(_.anchor=j):(ke=!0,c(_.anchor=a("]"),E,j),j)},I=(g,_,M,L,F,T)=>{if(ke=!0,_.el=null,T){const j=N(g);for(;;){const A=o(g);if(A&&A!==j)l(A);else break}}const $=o(g),E=i(g);return l(g),n(null,_,E,$,M,L,on(E),F),$},N=(g,_="[",M="]")=>{let L=0;for(;g;)if(g=o(g),g&&ln(g)&&(g.data===_&&L++,g.data===M)){if(L===0)return o(g);L--}return g},K=(g,_,M)=>{const L=_.parentNode;L&&L.replaceChild(g,_);let F=M;for(;F;)F.vnode.el===_&&(F.vnode.el=F.subTree.el=g),F=F.parent},k=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,h]}const ge=Oo;function cc(e){return Wo(e)}function ac(e){return Wo(e,lc)}function Wo(e,t){const n=ro();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:y=xe,insertStaticContent:v}=e,I=(u,d,m,b=null,w=null,S=null,O=void 0,x=null,R=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(b=Jt(u),Oe(u,w,S,!0),u=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:C,ref:P,shapeFlag:U}=d;switch(C){case Tt:N(u,d,m,b);break;case be:K(u,d,m,b);break;case Ht:u==null&&k(d,m,b,O);break;case me:A(u,d,m,b,w,S,O,x,R);break;default:U&1?M(u,d,m,b,w,S,O,x,R):U&6?G(u,d,m,b,w,S,O,x,R):(U&64||U&128)&&C.process(u,d,m,b,w,S,O,x,R,pt)}P!=null&&w&&xn(P,u&&u.ref,S,d||u,!d)},N=(u,d,m,b)=>{if(u==null)r(d.el=l(d.children),m,b);else{const w=d.el=u.el;d.children!==u.children&&a(w,d.children)}},K=(u,d,m,b)=>{u==null?r(d.el=c(d.children||""),m,b):d.el=u.el},k=(u,d,m,b)=>{[u.el,u.anchor]=v(u.children,d,m,b,u.el,u.anchor)},g=({el:u,anchor:d},m,b)=>{let w;for(;u&&u!==d;)w=p(u),r(u,m,b),u=w;r(d,m,b)},_=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=p(u),s(u),u=m;s(d)},M=(u,d,m,b,w,S,O,x,R)=>{d.type==="svg"?O="svg":d.type==="math"&&(O="mathml"),u==null?L(d,m,b,w,S,O,x,R):$(u,d,w,S,O,x,R)},L=(u,d,m,b,w,S,O,x)=>{let R,C;const{props:P,shapeFlag:U,transition:H,dirs:W}=u;if(R=u.el=i(u.type,S,P&&P.is,P),U&8?f(R,u.children):U&16&&T(u.children,R,null,b,w,Jn(u,S),O,x),W&&Me(u,null,b,"created"),F(R,u,u.scopeId,O,b),P){for(const Q in P)Q!=="value"&&!bt(Q)&&o(R,Q,null,P[Q],S,u.children,b,w,He);"value"in P&&o(R,"value",null,P.value,S),(C=P.onVnodeBeforeMount)&&Ee(C,b,u)}W&&Me(u,null,b,"beforeMount");const z=qo(w,H);z&&H.beforeEnter(R),r(R,d,m),((C=P&&P.onVnodeMounted)||z||W)&&ge(()=>{C&&Ee(C,b,u),z&&H.enter(R),W&&Me(u,null,b,"mounted")},w)},F=(u,d,m,b,w)=>{if(m&&y(u,m),b)for(let S=0;S{for(let C=R;C{const x=d.el=u.el;let{patchFlag:R,dynamicChildren:C,dirs:P}=d;R|=u.patchFlag&16;const U=u.props||ee,H=d.props||ee;let W;if(m&&nt(m,!1),(W=H.onVnodeBeforeUpdate)&&Ee(W,m,d,u),P&&Me(d,u,m,"beforeUpdate"),m&&nt(m,!0),C?E(u.dynamicChildren,C,x,m,b,Jn(d,w),S):O||V(u,d,x,null,m,b,Jn(d,w),S,!1),R>0){if(R&16)j(x,d,U,H,m,b,w);else if(R&2&&U.class!==H.class&&o(x,"class",null,H.class,w),R&4&&o(x,"style",U.style,H.style,w),R&8){const z=d.dynamicProps;for(let Q=0;Q{W&&Ee(W,m,d,u),P&&Me(d,u,m,"updated")},b)},E=(u,d,m,b,w,S,O)=>{for(let x=0;x{if(m!==b){if(m!==ee)for(const x in m)!bt(x)&&!(x in b)&&o(u,x,m[x],null,O,d.children,w,S,He);for(const x in b){if(bt(x))continue;const R=b[x],C=m[x];R!==C&&x!=="value"&&o(u,x,C,R,O,d.children,w,S,He)}"value"in b&&o(u,"value",m.value,b.value,O)}},A=(u,d,m,b,w,S,O,x,R)=>{const C=d.el=u?u.el:l(""),P=d.anchor=u?u.anchor:l("");let{patchFlag:U,dynamicChildren:H,slotScopeIds:W}=d;W&&(x=x?x.concat(W):W),u==null?(r(C,m,b),r(P,m,b),T(d.children||[],m,P,w,S,O,x,R)):U>0&&U&64&&H&&u.dynamicChildren?(E(u.dynamicChildren,H,m,w,S,O,x),(d.key!=null||w&&d===w.subTree)&&Gr(u,d,!0)):V(u,d,m,P,w,S,O,x,R)},G=(u,d,m,b,w,S,O,x,R)=>{d.slotScopeIds=x,u==null?d.shapeFlag&512?w.ctx.activate(d,m,b,O,R):ie(d,m,b,w,S,O,R):fe(u,d,R)},ie=(u,d,m,b,w,S,O)=>{const x=u.component=bc(u,b,w);if(Gt(u)&&(x.ctx.renderer=pt),wc(x),x.asyncDep){if(w&&w.registerDep(x,D),!u.el){const R=x.subTree=oe(be);K(null,R,d,m)}}else D(x,u,d,m,w,S,O)},fe=(u,d,m)=>{const b=d.component=u.component;if(Sl(u,d,m))if(b.asyncDep&&!b.asyncResolved){X(b,d,m);return}else b.next=d,_l(b.update),b.effect.dirty=!0,b.update();else d.el=u.el,b.vnode=d},D=(u,d,m,b,w,S,O)=>{const x=()=>{if(u.isMounted){let{next:P,bu:U,u:H,parent:W,vnode:z}=u;{const gt=Go(u);if(gt){P&&(P.el=z.el,X(u,P,O)),gt.asyncDep.then(()=>{u.isUnmounted||x()});return}}let Q=P,te;nt(u,!1),P?(P.el=z.el,X(u,P,O)):P=z,U&&pn(U),(te=P.props&&P.props.onVnodeBeforeUpdate)&&Ee(te,W,P,z),nt(u,!0);const ae=Gn(u),Ae=u.subTree;u.subTree=ae,I(Ae,ae,h(Ae.el),Jt(Ae),u,w,S),P.el=ae.el,Q===null&&Tl(u,ae.el),H&&ge(H,w),(te=P.props&&P.props.onVnodeUpdated)&&ge(()=>Ee(te,W,P,z),w)}else{let P;const{el:U,props:H}=d,{bm:W,m:z,parent:Q}=u,te=Ct(d);if(nt(u,!1),W&&pn(W),!te&&(P=H&&H.onVnodeBeforeMount)&&Ee(P,Q,d),nt(u,!0),U&&Wn){const ae=()=>{u.subTree=Gn(u),Wn(U,u.subTree,u,w,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=Gn(u);I(null,ae,m,b,u,w,S),d.el=ae.el}if(z&&ge(z,w),!te&&(P=H&&H.onVnodeMounted)){const ae=d;ge(()=>Ee(P,Q,ae),w)}(d.shapeFlag&256||Q&&Ct(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&ge(u.a,w),u.isMounted=!0,d=m=b=null}},R=u.effect=new Mr(x,xe,()=>Nn(C),u.scope),C=u.update=()=>{R.dirty&&R.run()};C.id=u.uid,nt(u,!0),C()},X=(u,d,m)=>{d.component=u;const b=u.vnode.props;u.vnode=d,u.next=null,tc(u,d.props,b,m),sc(u,d.children,m),dt(),fs(u),ht()},V=(u,d,m,b,w,S,O,x,R=!1)=>{const C=u&&u.children,P=u?u.shapeFlag:0,U=d.children,{patchFlag:H,shapeFlag:W}=d;if(H>0){if(H&128){Yt(C,U,m,b,w,S,O,x,R);return}else if(H&256){$e(C,U,m,b,w,S,O,x,R);return}}W&8?(P&16&&He(C,w,S),U!==C&&f(m,U)):P&16?W&16?Yt(C,U,m,b,w,S,O,x,R):He(C,w,S,!0):(P&8&&f(m,""),W&16&&T(U,m,b,w,S,O,x,R))},$e=(u,d,m,b,w,S,O,x,R)=>{u=u||_t,d=d||_t;const C=u.length,P=d.length,U=Math.min(C,P);let H;for(H=0;HP?He(u,w,S,!0,!1,U):T(d,m,b,w,S,O,x,R,U)},Yt=(u,d,m,b,w,S,O,x,R)=>{let C=0;const P=d.length;let U=u.length-1,H=P-1;for(;C<=U&&C<=H;){const W=u[C],z=d[C]=R?ze(d[C]):Re(d[C]);if(it(W,z))I(W,z,m,null,w,S,O,x,R);else break;C++}for(;C<=U&&C<=H;){const W=u[U],z=d[H]=R?ze(d[H]):Re(d[H]);if(it(W,z))I(W,z,m,null,w,S,O,x,R);else break;U--,H--}if(C>U){if(C<=H){const W=H+1,z=WH)for(;C<=U;)Oe(u[C],w,S,!0),C++;else{const W=C,z=C,Q=new Map;for(C=z;C<=H;C++){const _e=d[C]=R?ze(d[C]):Re(d[C]);_e.key!=null&&Q.set(_e.key,C)}let te,ae=0;const Ae=H-z+1;let gt=!1,es=0;const Lt=new Array(Ae);for(C=0;C=Ae){Oe(_e,w,S,!0);continue}let Ie;if(_e.key!=null)Ie=Q.get(_e.key);else for(te=z;te<=H;te++)if(Lt[te-z]===0&&it(_e,d[te])){Ie=te;break}Ie===void 0?Oe(_e,w,S,!0):(Lt[Ie-z]=C+1,Ie>=es?es=Ie:gt=!0,I(_e,d[Ie],m,null,w,S,O,x,R),ae++)}const ts=gt?uc(Lt):_t;for(te=ts.length-1,C=Ae-1;C>=0;C--){const _e=z+C,Ie=d[_e],ns=_e+1{const{el:S,type:O,transition:x,children:R,shapeFlag:C}=u;if(C&6){tt(u.component.subTree,d,m,b);return}if(C&128){u.suspense.move(d,m,b);return}if(C&64){O.move(u,d,m,pt);return}if(O===me){r(S,d,m);for(let U=0;Ux.enter(S),w);else{const{leave:U,delayLeave:H,afterLeave:W}=x,z=()=>r(S,d,m),Q=()=>{U(S,()=>{z(),W&&W()})};H?H(S,z,Q):Q()}else r(S,d,m)},Oe=(u,d,m,b=!1,w=!1)=>{const{type:S,props:O,ref:x,children:R,dynamicChildren:C,shapeFlag:P,patchFlag:U,dirs:H}=u;if(x!=null&&xn(x,null,m,u,!0),P&256){d.ctx.deactivate(u);return}const W=P&1&&H,z=!Ct(u);let Q;if(z&&(Q=O&&O.onVnodeBeforeUnmount)&&Ee(Q,d,u),P&6)xi(u.component,m,b);else{if(P&128){u.suspense.unmount(m,b);return}W&&Me(u,null,d,"beforeUnmount"),P&64?u.type.remove(u,d,m,w,pt,b):C&&(S!==me||U>0&&U&64)?He(C,d,m,!1,!0):(S===me&&U&384||!w&&P&16)&&He(R,d,m),b&&Qr(u)}(z&&(Q=O&&O.onVnodeUnmounted)||W)&&ge(()=>{Q&&Ee(Q,d,u),W&&Me(u,null,d,"unmounted")},m)},Qr=u=>{const{type:d,el:m,anchor:b,transition:w}=u;if(d===me){Ci(m,b);return}if(d===Ht){_(u);return}const S=()=>{s(m),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(u.shapeFlag&1&&w&&!w.persisted){const{leave:O,delayLeave:x}=w,R=()=>O(m,S);x?x(u.el,S,R):R()}else S()},Ci=(u,d)=>{let m;for(;u!==d;)m=p(u),s(u),u=m;s(d)},xi=(u,d,m)=>{const{bum:b,scope:w,update:S,subTree:O,um:x}=u;b&&pn(b),w.stop(),S&&(S.active=!1,Oe(O,u,d,m)),x&&ge(x,d),ge(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},He=(u,d,m,b=!1,w=!1,S=0)=>{for(let O=S;Ou.shapeFlag&6?Jt(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let kn=!1;const Zr=(u,d,m)=>{u==null?d._vnode&&Oe(d._vnode,null,null,!0):I(d._vnode||null,u,d,null,null,null,m),kn||(kn=!0,fs(),wn(),kn=!1),d._vnode=u},pt={p:I,um:Oe,m:tt,r:Qr,mt:ie,mc:T,pc:V,pbc:E,n:Jt,o:e};let Kn,Wn;return t&&([Kn,Wn]=t(pt)),{render:Zr,hydrate:Kn,createApp:Ql(Zr,Kn)}}function Jn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function qo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Gr(e,t,n=!1){const r=e.children,s=t.children;if(B(r)&&B(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Go(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Go(t)}const fc=e=>e.__isTeleport,$t=e=>e&&(e.disabled||e.disabled===""),Cs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,xs=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,wr=(e,t)=>{const n=e&&e.to;return ne(n)?t?t(n):null:n},dc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:y,querySelector:v,createText:I,createComment:N}}=a,K=$t(t.props);let{shapeFlag:k,children:g,dynamicChildren:_}=t;if(e==null){const M=t.el=I(""),L=t.anchor=I("");y(M,n,r),y(L,n,r);const F=t.target=wr(t.props,v),T=t.targetAnchor=I("");F&&(y(T,F),i==="svg"||Cs(F)?i="svg":(i==="mathml"||xs(F))&&(i="mathml"));const $=(E,j)=>{k&16&&f(g,E,j,s,o,i,l,c)};K?$(n,L):F&&$(F,T)}else{t.el=e.el;const M=t.anchor=e.anchor,L=t.target=e.target,F=t.targetAnchor=e.targetAnchor,T=$t(e.props),$=T?n:L,E=T?M:F;if(i==="svg"||Cs(L)?i="svg":(i==="mathml"||xs(L))&&(i="mathml"),_?(p(e.dynamicChildren,_,$,s,o,i,l),Gr(e,t,!0)):c||h(e,t,$,E,s,o,i,l,!1),K)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cn(t,n,M,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=t.target=wr(t.props,v);j&&cn(t,j,null,a,0)}else T&&cn(t,L,F,a,1)}zo(t)},remove(e,t,n,r,{um:s,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:p}=e;if(h&&o(f),i&&o(a),l&16){const y=i||!$t(p);for(let v=0;v0?Le||_t:null,pc(),kt>0&&Le&&Le.push(e),e}function uu(e,t,n,r,s,o){return Yo(Zo(e,t,n,r,s,o,!0))}function Jo(e,t,n,r,s){return Yo(oe(e,t,n,r,s,!0))}function Sn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Dn="__vInternal",Qo=({key:e})=>e??null,gn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||q(e)?{i:le,r:e,k:t,f:!!n}:e:null);function Zo(e,t=null,n=null,r=0,s=null,o=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qo(t),ref:t&&gn(t),scopeId:$n,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:le};return l?(zr(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),kt>0&&!i&&Le&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Le.push(c),c}const oe=gc;function gc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Ro)&&(e=be),Sn(e)){const l=et(e,t,!0);return n&&zr(l,n),kt>0&&!o&&Le&&(l.shapeFlag&6?Le[Le.indexOf(e)]=l:Le.push(l)),l.patchFlag|=-2,l}if(Sc(e)&&(e=e.__vccOpts),t){t=mc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Ir(l)),Z(c)&&(vo(c)&&!B(c)&&(c=ce({},c)),t.style=Or(c))}const i=ne(e)?1:Al(e)?128:fc(e)?64:Z(e)?4:q(e)?2:0;return Zo(e,t,n,r,s,i,o,!0)}function mc(e){return e?vo(e)||Dn in e?ce({},e):e:null}function et(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,l=t?yc(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Qo(l),ref:t&&t.ref?n&&s?B(s)?s.concat(gn(t)):[s,gn(t)]:gn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ei(e=" ",t=0){return oe(Tt,null,e,t)}function fu(e,t){const n=oe(Ht,null,e);return n.staticCount=t,n}function du(e="",t=!1){return t?(Xo(),Jo(be,null,e)):oe(be,null,e)}function Re(e){return e==null||typeof e=="boolean"?oe(be):B(e)?oe(me,null,e.slice()):typeof e=="object"?ze(e):oe(Tt,null,String(e))}function ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function zr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),zr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(Dn in t)?t._ctx=le:s===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:le},n=32):(t=String(t),r&64?(n=16,t=[ei(t)]):n=8);e.children=t,e.shapeFlag|=n}function yc(...e){const t={};for(let n=0;nue||le;let Tn,Er;{const e=ro(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Tn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),Er=t("__VUE_SSR_SETTERS__",n=>Xt=n)}const zt=e=>{const t=ue;return Tn(e),e.scope.on(),()=>{e.scope.off(),Tn(t)}},Ts=()=>{ue&&ue.scope.off(),Tn(null)};function ti(e){return e.vnode.shapeFlag&4}let Xt=!1;function wc(e,t=!1){t&&Er(t);const{props:n,children:r}=e.vnode,s=ti(e);ec(e,n,s,t),rc(e,r);const o=s?Ec(e,t):void 0;return t&&Er(!1),o}function Ec(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Mt(new Proxy(e.ctx,Kl));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?ri(e):null,o=zt(e);dt();const i=Je(r,e,0,[e.props,s]);if(ht(),o(),eo(i)){if(i.then(Ts,Ts),t)return i.then(l=>{As(e,l,t)}).catch(l=>{qt(l,e,0)});e.asyncDep=i}else As(e,i,t)}else ni(e,t)}function As(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Co(t)),ni(e,n)}let Rs;function ni(e,t,n){const r=e.type;if(!e.render){if(!t&&Rs&&!r.render){const s=r.template||Wr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,a=ce(ce({isCustomElement:o,delimiters:l},i),c);r.render=Rs(s,a)}}e.render=r.render||xe}{const s=zt(e);dt();try{ql(e)}finally{ht(),s()}}}function Cc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function ri(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Cc(e)},slots:e.slots,emit:e.emit,expose:t}}function Bn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Co(Mt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Nt)return Nt[n](e)},has(t,n){return n in t||n in Nt}}))}function xc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Sc(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>ll(e,t,Xt);function Cr(e,t,n){const r=arguments.length;return r===2?Z(t)&&!B(t)?Sn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Sn(n)&&(n=[n]),oe(e,t,n))}const Tc="3.4.21";/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Ac="http://www.w3.org/2000/svg",Rc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Ls=Xe&&Xe.createElement("template"),Lc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Xe.createElementNS(Ac,e):t==="mathml"?Xe.createElementNS(Rc,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Ls.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ls.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",Ot="animation",Kt=Symbol("_vtc"),si=(e,{slots:t})=>Cr(Pl,Oc(e),t);si.displayName="Transition";const oi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};si.props=ce({},Mo,oi);const rt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Os=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Oc(e){const t={};for(const A in e)A in oi||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,v=Ic(s),I=v&&v[0],N=v&&v[1],{onBeforeEnter:K,onEnter:k,onEnterCancelled:g,onLeave:_,onLeaveCancelled:M,onBeforeAppear:L=K,onAppear:F=k,onAppearCancelled:T=g}=t,$=(A,G,ie)=>{st(A,G?f:l),st(A,G?a:i),ie&&ie()},E=(A,G)=>{A._isLeaving=!1,st(A,h),st(A,y),st(A,p),G&&G()},j=A=>(G,ie)=>{const fe=A?F:k,D=()=>$(G,A,ie);rt(fe,[G,D]),Is(()=>{st(G,A?c:o),We(G,A?f:l),Os(fe)||Ms(G,r,I,D)})};return ce(t,{onBeforeEnter(A){rt(K,[A]),We(A,o),We(A,i)},onBeforeAppear(A){rt(L,[A]),We(A,c),We(A,a)},onEnter:j(!1),onAppear:j(!0),onLeave(A,G){A._isLeaving=!0;const ie=()=>E(A,G);We(A,h),Nc(),We(A,p),Is(()=>{A._isLeaving&&(st(A,h),We(A,y),Os(_)||Ms(A,r,N,ie))}),rt(_,[A,ie])},onEnterCancelled(A){$(A,!1),rt(g,[A])},onAppearCancelled(A){$(A,!0),rt(T,[A])},onLeaveCancelled(A){E(A),rt(M,[A])}})}function Ic(e){if(e==null)return null;if(Z(e))return[Qn(e.enter),Qn(e.leave)];{const t=Qn(e);return[t,t]}}function Qn(e){return Oi(e)}function We(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Is(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mc=0;function Ms(e,t,n,r){const s=e._endId=++Mc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Pc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[v]||"").split(", "),s=r(`${Ke}Delay`),o=r(`${Ke}Duration`),i=Ps(s,o),l=r(`${Ot}Delay`),c=r(`${Ot}Duration`),a=Ps(l,c);let f=null,h=0,p=0;t===Ke?i>0&&(f=Ke,h=i,p=o.length):t===Ot?a>0&&(f=Ot,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ke:Ot:null,p=f?f===Ke?o.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(r(`${Ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Ps(e,t){for(;e.lengthNs(n)+Ns(e[r])))}function Ns(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nc(){return document.body.offsetHeight}function Fc(e,t,n){const r=e[Kt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Fs=Symbol("_vod"),$c=Symbol("_vsh"),Hc=Symbol(""),jc=/(^|;)\s*display\s*:/;function Vc(e,t,n){const r=e.style,s=ne(n);let o=!1;if(n&&!s){if(t)if(ne(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&mn(r,l,"")}else for(const i in t)n[i]==null&&mn(r,i,"");for(const i in n)i==="display"&&(o=!0),mn(r,i,n[i])}else if(s){if(t!==n){const i=r[Hc];i&&(n+=";"+i),r.cssText=n,o=jc.test(n)}}else t&&e.removeAttribute("style");Fs in e&&(e[Fs]=o?r.display:"",e[$c]&&(r.display="none"))}const $s=/\s*!important$/;function mn(e,t,n){if(B(n))n.forEach(r=>mn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Dc(e,t);$s.test(n)?e.setProperty(ft(r),n.replace($s,""),"important"):e[r]=n}}const Hs=["Webkit","Moz","ms"],Zn={};function Dc(e,t){const n=Zn[t];if(n)return n;let r=Fe(t);if(r!=="filter"&&r in e)return Zn[t]=r;r=Ln(r);for(let s=0;ser||(qc.then(()=>er=0),er=Date.now());function zc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(Xc(r,n.value),t,5,[r])};return n.value=e,n.attached=Gc(),n}function Xc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Us=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Fc(e,r,a):t==="style"?Vc(e,n,r):Wt(t)?Ar(t)||Kc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jc(e,t,r,a))?Bc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Uc(e,t,r,a))};function Jc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Us(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Us(t)&&ne(n)?!1:t in e}const Bs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>pn(t,n):t};function Qc(e){e.target.composing=!0}function ks(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const tr=Symbol("_assign"),hu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[tr]=Bs(s);const o=r||s.props&&s.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=ur(l)),e[tr](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Qc),mt(e,"compositionend",ks),mt(e,"change",ks))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[tr]=Bs(o),e.composing)return;const i=s||e.type==="number"?ur(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Zc=["ctrl","shift","alt","meta"],ea={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zc.some(n=>e[`${n}Key`]&&!t.includes(n))},pu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||ta[i]===o))return e(s)})},ii=ce({patchProp:Yc},Lc);let Vt,Ks=!1;function na(){return Vt||(Vt=cc(ii))}function ra(){return Vt=Ks?Vt:ac(ii),Ks=!0,Vt}const mu=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(!s)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,li(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(s)return n(s,!0,li(s))},t};function li(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ci(e){return ne(e)?document.querySelector(e):e}const _u=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},sa="modulepreload",oa=function(e){return"/NeuroTreeModels.jl/dev/"+e},Ws={},vu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));s=Promise.all(n.map(c=>{if(c=oa(c),c in Ws)return;Ws[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(!!r)for(let y=o.length-1;y>=0;y--){const v=o[y];if(v.href===c&&(!a||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const p=document.createElement("link");if(p.rel=a?"stylesheet":sa,a||(p.as="script",p.crossOrigin=""),p.href=c,l&&p.setAttribute("nonce",l),document.head.appendChild(p),a)return new Promise((y,v)=>{p.addEventListener("load",y),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},ia=window.__VP_SITE_DATA__;function Xr(e){return io()?(Vi(e),!0):!1}function Ne(e){return typeof e=="function"?e():Eo(e)}const ai=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const la=Object.prototype.toString,ca=e=>la.call(e)==="[object Object]",Qe=()=>{},xr=aa();function aa(){var e,t;return ai&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ua(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ui=e=>e();function fa(e,t={}){let n,r,s=Qe;const o=l=>{clearTimeout(l),s(),s=Qe};return l=>{const c=Ne(e),a=Ne(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function da(e=ui){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Mn(t),pause:n,resume:r,eventFilter:s}}function ha(e){return e||Un()}function fi(...e){if(e.length!==1)return pl(...e);const t=e[0];return typeof t=="function"?Mn(fl(()=>({get:t,set:Qe}))):se(t)}function di(e,t,n={}){const{eventFilter:r=ui,...s}=n;return Ve(e,ua(r,t),s)}function pa(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=da(r);return{stop:di(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Yr(e,t=!0,n){ha()?Rt(e,n):t?e():Pn(e)}function bu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return di(e,t,{...o,eventFilter:fa(r,{maxWait:s})})}function wu(e,t,n){let r;de(n)?r={evaluating:n}:r=n||{};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Qe}=r,c=se(!s),a=i?Dr(t):se(t);let f=0;return kr(async h=>{if(!c.value)return;f++;const p=f;let y=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const v=await e(I=>{h(()=>{o&&(o.value=!1),y||I()})});p===f&&(a.value=v)}catch(v){l(v)}finally{o&&p===f&&(o.value=!1),y=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yt(e){var t;const n=Ne(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Te=ai?window:void 0;function De(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Te):[t,n,r,s]=e,!t)return Qe;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ve(()=>[yt(t),Ne(s)],([f,h])=>{if(i(),!f)return;const p=ca(h)?{...h}:h;o.push(...n.flatMap(y=>r.map(v=>l(f,y,v,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return Xr(a),a}let qs=!1;function Eu(e,t,n={}){const{window:r=Te,ignore:s=[],capture:o=!0,detectIframe:i=!1}=n;if(!r)return Qe;xr&&!qs&&(qs=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",Qe)),r.document.documentElement.addEventListener("click",Qe));let l=!0;const c=p=>s.some(y=>{if(typeof y=="string")return Array.from(r.document.querySelectorAll(y)).some(v=>v===p.target||p.composedPath().includes(v));{const v=yt(y);return v&&(p.target===v||p.composedPath().includes(v))}}),f=[De(r,"click",p=>{const y=yt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),De(r,"pointerdown",p=>{const y=yt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&De(r,"blur",p=>{setTimeout(()=>{var y;const v=yt(e);((y=r.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(v!=null&&v.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function ga(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Cu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Te,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=ga(t);return De(s,o,f=>{f.repeat&&Ne(l)||c(f)&&n(f)},i)}function ma(){const e=se(!1),t=Un();return t&&Rt(()=>{e.value=!0},t),e}function ya(e){const t=ma();return re(()=>(t.value,!!e()))}function hi(e,t={}){const{window:n=Te}=t,r=ya(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=kr(()=>{r.value&&(l(),s=n.matchMedia(Ne(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return Xr(()=>{c(),l(),s=void 0}),o}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},un="__vueuse_ssr_handlers__",_a=va();function va(){return un in an||(an[un]=an[un]||{}),an[un]}function pi(e,t){return _a[e]||t}function ba(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const wa={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Gs="vueuse-storage";function Jr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Te,eventFilter:p,onError:y=E=>{console.error(E)},initOnMounted:v}=r,I=(f?Dr:se)(typeof t=="function"?t():t);if(!n)try{n=pi("getDefaultStorage",()=>{var E;return(E=Te)==null?void 0:E.localStorage})()}catch(E){y(E)}if(!n)return I;const N=Ne(t),K=ba(N),k=(s=r.serializer)!=null?s:wa[K],{pause:g,resume:_}=pa(I,()=>L(I.value),{flush:o,deep:i,eventFilter:p});h&&l&&Yr(()=>{De(h,"storage",T),De(h,Gs,$),v&&T()}),v||T();function M(E,j){h&&h.dispatchEvent(new CustomEvent(Gs,{detail:{key:e,oldValue:E,newValue:j,storageArea:n}}))}function L(E){try{const j=n.getItem(e);if(E==null)M(j,null),n.removeItem(e);else{const A=k.write(E);j!==A&&(n.setItem(e,A),M(j,A))}}catch(j){y(j)}}function F(E){const j=E?E.newValue:n.getItem(e);if(j==null)return c&&N!=null&&n.setItem(e,k.write(N)),N;if(!E&&a){const A=k.read(j);return typeof a=="function"?a(A,N):K==="object"&&!Array.isArray(A)?{...N,...A}:A}else return typeof j!="string"?j:k.read(j)}function T(E){if(!(E&&E.storageArea!==n)){if(E&&E.key==null){I.value=N;return}if(!(E&&E.key!==e)){g();try{(E==null?void 0:E.newValue)!==k.write(I.value)&&(I.value=F(E))}catch(j){y(j)}finally{E?Pn(_):_()}}}}function $(E){T(E.detail)}return I}function gi(e){return hi("(prefers-color-scheme: dark)",e)}function Ea(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Te,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=gi({window:s}),y=re(()=>p.value?"dark":"light"),v=c||(i==null?fi(r):Jr(i,r,o,{window:s,listenToStorageChanges:l})),I=re(()=>v.value==="auto"?y.value:v.value),N=pi("updateHTMLAttrs",(_,M,L)=>{const F=typeof _=="string"?s==null?void 0:s.document.querySelector(_):yt(_);if(!F)return;let T;if(f&&(T=s.document.createElement("style"),T.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(T)),M==="class"){const $=L.split(/\s/g);Object.values(h).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{$.includes(E)?F.classList.add(E):F.classList.remove(E)})}else F.setAttribute(M,L);f&&(s.getComputedStyle(T).opacity,document.head.removeChild(T))});function K(_){var M;N(t,n,(M=h[_])!=null?M:_)}function k(_){e.onChanged?e.onChanged(_,K):K(_)}Ve(I,k,{flush:"post",immediate:!0}),Yr(()=>k(I.value));const g=re({get(){return a?v.value:I.value},set(_){v.value=_}});try{return Object.assign(g,{store:v,system:y,state:I})}catch{return g}}function Ca(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Te}=e,s=Ea({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>s.system?s.system.value:gi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function nr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function xu(e,t,n={}){const{window:r=Te}=n;return Jr(e,t,r==null?void 0:r.localStorage,n)}function mi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const fn=new WeakMap;function Su(e,t=!1){const n=se(t);let r=null;Ve(fi(e),i=>{const l=nr(Ne(i));if(l){const c=l;fn.get(c)||fn.set(c,c.style.overflow),n.value&&(c.style.overflow="hidden")}},{immediate:!0});const s=()=>{const i=nr(Ne(e));!i||n.value||(xr&&(r=De(i,"touchmove",l=>{xa(l)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},o=()=>{var i;const l=nr(Ne(e));!l||!n.value||(xr&&(r==null||r()),l.style.overflow=(i=fn.get(l))!=null?i:"",fn.delete(l),n.value=!1)};return Xr(o),re({get(){return n.value},set(i){i?s():o()}})}function Tu(e,t,n={}){const{window:r=Te}=n;return Jr(e,t,r==null?void 0:r.sessionStorage,n)}function Au(e={}){const{window:t=Te,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return De(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Ru(e={}){const{window:t=Te,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Yr(c),De("resize",c,{passive:!0}),s){const a=hi("(orientation: portrait)");Ve(a,()=>c())}return{width:i,height:l}}var rr={BASE_URL:"/NeuroTreeModels.jl/dev/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},sr={};const yi=/^(?:[a-z]+:|\/\/)/i,Sa="vitepress-theme-appearance",Ta=/#.*$/,Aa=/[?#].*$/,Ra=/(?:(^|\/)index)?\.(?:md|html)$/,Ce=typeof document<"u",_i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function La(e,t,n=!1){if(t===void 0)return!1;if(e=zs(`/${e}`),n)return new RegExp(t).test(e);if(zs(t)!==e)return!1;const r=t.match(Ta);return r?(Ce?location.hash:"")===r[0]:!0}function zs(e){return decodeURI(e).replace(Aa,"").replace(Ra,"$1")}function Oa(e){return yi.test(e)}function Ia(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!Oa(f)&&La(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:bi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function vi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Ma(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Ma(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Pa(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function bi(e,t){return[...e.filter(n=>!Pa(t,n)),...t]}const Na=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Fa=/^[a-z]:/i;function Xs(e){const t=Fa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Na,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const or=new Set;function $a(e){if(or.size===0){const n=typeof process=="object"&&(sr==null?void 0:sr.VITE_EXTRA_EXTENSIONS)||(rr==null?void 0:rr.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>or.add(r))}const t=e.split(".").pop();return t==null||!or.has(t.toLowerCase())}function Lu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ha=Symbol(),ut=Dr(ia);function Ou(e){const t=re(()=>Ia(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?Ca({storageKey:Sa,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):se(!1);return{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>vi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r}}function ja(){const e=xt(Ha);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Va(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Ys(e){return yi.test(e)||!e.startsWith("/")?e:Va(ut.value.base,e)}function Da(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/NeuroTreeModels.jl/dev/";t=Xs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${Xs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let yn=[];function Iu(e){yn.push(e),Vn(()=>{yn=yn.filter(t=>t!==e)})}function Ua(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Js(e,n);else if(Array.isArray(e))for(const r of e){const s=Js(r,n);if(s){t=s;break}}return t}function Js(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ba=Symbol(),Sr="http://a.com",ka=()=>({path:"/",component:null,data:_i});function Mu(e,t){const n=In(ka()),r={route:n,go:s};async function s(l=Ce?location.href:"/"){var c,a;if(l=ir(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1){if(Ce){const f=new URL(location.href);l!==ir(f.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l),new URL(l,Sr).hash!==f.hash&&window.dispatchEvent(new Event("hashchange")))}await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l))}}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=r.onBeforePageLoad)==null?void 0:p.call(r,l))===!1)return;const f=new URL(l,Sr),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:v,__pageData:I}=y;if(!v)throw new Error(`Invalid route component: ${v}`);n.path=Ce?h:Ys(h),n.component=Mt(v),n.data=Mt(I),Ce&&Pn(()=>{let N=ut.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==f.pathname&&(f.pathname=N,l=N+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(k){console.warn(k)}if(K){Qs(K,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const v=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await v.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Ys(h),n.component=t?Mt(t):null,n.data=_i)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:v,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),N=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===N.origin&&$a(y)&&(l.preventDefault(),y===N.pathname&&I===N.search?(v!==N.hash&&(history.pushState(null,"",h),window.dispatchEvent(new Event("hashchange"))),v?Qs(a,v,a.classList.contains("header-anchor")):window.scrollTo(0,0)):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(ir(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Ka(){const e=xt(Ba);if(!e)throw new Error("useRouter() is called without provider.");return e}function wi(){return Ka().route}function Qs(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Ua()+o;requestAnimationFrame(s)}}function ir(e){const t=new URL(e,Sr);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const lr=()=>yn.forEach(e=>e()),Pu=Kr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=wi(),{site:n}=ja();return()=>Cr(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Cr(t.component,{onVnodeMounted:lr,onVnodeUpdated:lr,onVnodeUnmounted:lr}):"404 Page Not Found"])}}),Nu=Kr({setup(e,{slots:t}){const n=se(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Fu(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function $u(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Wa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Wa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Hu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=cr(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(cr);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};kr(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=vi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):cr(["meta",{name:"description",content:f}]),s(bi(i.head,Ga(c)))})}function cr([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function qa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ga(e){return e.filter(t=>!qa(t))}const ar=new Set,Ei=()=>document.createElement("link"),za=e=>{const t=Ei();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Xa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const Ya=Ce&&(dn=Ei())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?za:Xa;function ju(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ar.has(c)){ar.add(c);const a=Da(c);a&&Ya(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ar.add(l))})})};Rt(r);const s=wi();Ve(()=>s.path,r),Vn(()=>{n&&n.disconnect()})}export{Zl as $,Vn as A,nu as B,Vl as C,Ua as D,eu as E,me as F,ou as G,Dr as H,Iu as I,oe as J,tu as K,yi as L,wi as M,yc as N,xt as O,Ru as P,Or as Q,Eu as R,Cu as S,si as T,Pn as U,Au as V,Mn as W,su as X,vu as Y,Su as Z,_u as _,ei as a,gu as a0,lu as a1,pu as a2,cu as a3,In as a4,pl as a5,Cr as a6,fu as a7,Hu as a8,Ba as a9,Lu as aA,Ou as aa,Ha as ab,Pu as ac,Nu as ad,ut as ae,yu as af,Mu as ag,Da as ah,ju as ai,$u as aj,Fu as ak,yt as al,Xr as am,wu as an,Tu as ao,xu as ap,bu as aq,Ka as ar,De as as,$o as at,ru as au,hu as av,de as aw,au as ax,Mt as ay,mu as az,Jo as b,uu as c,Kr as d,du as e,$a as f,Ys as g,se as h,Oa as i,Ce as j,re as k,Rt as l,Zo as m,Ir as n,Xo as o,Eo as p,Qa as q,iu as r,Za as s,Ja as t,ja as u,La as v,El as w,hi as x,Ve as y,kr as z}; diff --git a/dev/assets/chunks/theme.5Q-JEVsf.js b/dev/assets/chunks/theme.5Q-JEVsf.js deleted file mode 100644 index feb7b12..0000000 --- a/dev/assets/chunks/theme.5Q-JEVsf.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as _,o as a,c as u,r as c,n as N,a as D,t as T,b as y,w as p,T as pe,e as f,_ as $,u as Ye,i as Xe,f as Qe,g as he,h as w,j as q,k as g,l as j,m as h,p as r,q as B,s as H,v as z,x as le,y as G,z as te,A as fe,B as Te,C as Ze,D as xe,E as K,F as M,G as E,H as we,I as se,J as b,K as W,L as Ie,M as oe,N as Z,O as J,P as et,Q as Ne,R as tt,S as ce,U as Me,V as Ae,W as st,X as ot,Y as nt,Z as Ce,$ as _e,a0 as at,a1 as rt,a2 as it,a3 as Be,a4 as lt,a5 as ct,a6 as ut}from"./framework.BResyDFY.js";const dt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(t,e)=>(a(),u("span",{class:N(["VPBadge",t.type])},[c(t.$slots,"default",{},()=>[D(T(t.text),1)])],2))}}),vt={key:0,class:"VPBackdrop"},pt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(t,e)=>(a(),y(pe,{name:"fade"},{default:p(()=>[t.show?(a(),u("div",vt)):f("",!0)]),_:1}))}}),ht=$(pt,[["__scopeId","data-v-b06cdb19"]]),L=Ye;function ft(s,t){let e,o=!1;return()=>{e&&clearTimeout(e),o?e=setTimeout(s,t):(s(),(o=!0)&&setTimeout(()=>o=!1,t))}}function ue(s){return/^\//.test(s)?s:`/${s}`}function me(s){const{pathname:t,search:e,hash:o,protocol:n}=new URL(s,"http://a.com");if(Xe(s)||s.startsWith("#")||!n.startsWith("http")||!Qe(t))return s;const{site:i}=L(),l=t.endsWith("/")||t.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${e}${o}`);return he(l)}const be=w(q?location.hash:"");q&&window.addEventListener("hashchange",()=>{be.value=location.hash});function X({removeCurrent:s=!0,correspondingLink:t=!1}={}){const{site:e,localeIndex:o,page:n,theme:i}=L(),l=g(()=>{var d,m;return{label:(d=e.value.locales[o.value])==null?void 0:d.label,link:((m=e.value.locales[o.value])==null?void 0:m.link)||(o.value==="root"?"/":`/${o.value}/`)}});return{localeLinks:g(()=>Object.entries(e.value.locales).flatMap(([d,m])=>s&&l.value.label===m.label?[]:{text:m.label,link:_t(m.link||(d==="root"?"/":`/${d}/`),i.value.i18nRouting!==!1&&t,n.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+be.value})),currentLang:l}}function _t(s,t,e,o){return t?s.replace(/\/$/,"")+ue(e.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const mt=s=>(B("data-v-792811ca"),s=s(),H(),s),bt={class:"NotFound"},kt={class:"code"},$t={class:"title"},gt=mt(()=>h("div",{class:"divider"},null,-1)),yt={class:"quote"},Pt={class:"action"},St=["href","aria-label"],Vt=_({__name:"NotFound",setup(s){const{site:t,theme:e}=L(),{localeLinks:o}=X({removeCurrent:!1}),n=w("/");return j(()=>{var l;const i=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");o.value.length&&(n.value=((l=o.value.find(({link:v})=>v.startsWith(i)))==null?void 0:l.link)||o.value[0].link)}),(i,l)=>{var v,d,m,P,k;return a(),u("div",bt,[h("p",kt,T(((v=r(e).notFound)==null?void 0:v.code)??"404"),1),h("h1",$t,T(((d=r(e).notFound)==null?void 0:d.title)??"PAGE NOT FOUND"),1),gt,h("blockquote",yt,T(((m=r(e).notFound)==null?void 0:m.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),h("div",Pt,[h("a",{class:"link",href:r(he)(n.value),"aria-label":((P=r(e).notFound)==null?void 0:P.linkLabel)??"go to home"},T(((k=r(e).notFound)==null?void 0:k.linkText)??"Take me home"),9,St)])])}}}),Lt=$(Vt,[["__scopeId","data-v-792811ca"]]);function He(s,t){if(Array.isArray(s))return x(s);if(s==null)return[];t=ue(t);const e=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>t.startsWith(ue(n))),o=e?s[e]:[];return Array.isArray(o)?x(o):x(o.items,o.base)}function Tt(s){const t=[];let e=0;for(const o in s){const n=s[o];if(n.items){e=t.push(n);continue}t[e]||t.push({items:[]}),t[e].items.push(n)}return t}function wt(s){const t=[];function e(o){for(const n of o)n.text&&n.link&&t.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&e(n.items)}return e(s),t}function de(s,t){return Array.isArray(t)?t.some(e=>de(s,e)):z(s,t.link)?!0:t.items?de(s,t.items):!1}function x(s,t){return[...s].map(e=>{const o={...e},n=o.base||t;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=x(o.items,n)),o})}function O(){const{frontmatter:s,page:t,theme:e}=L(),o=le("(min-width: 960px)"),n=w(!1),i=g(()=>{const C=e.value.sidebar,I=t.value.relativePath;return C?He(C,I):[]}),l=w(i.value);G(i,(C,I)=>{JSON.stringify(C)!==JSON.stringify(I)&&(l.value=i.value)});const v=g(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),d=g(()=>m?s.value.aside==null?e.value.aside==="left":s.value.aside==="left":!1),m=g(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:e.value.aside!==!1),P=g(()=>v.value&&o.value),k=g(()=>v.value?Tt(l.value):[]);function V(){n.value=!0}function S(){n.value=!1}function A(){n.value?S():V()}return{isOpen:n,sidebar:l,sidebarGroups:k,hasSidebar:v,hasAside:m,leftAside:d,isSidebarEnabled:P,open:V,close:S,toggle:A}}function It(s,t){let e;te(()=>{e=s.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",o)}),fe(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(t(),e==null||e.focus())}}function Nt(s){const{page:t}=L(),e=w(!1),o=g(()=>s.value.collapsed!=null),n=g(()=>!!s.value.link),i=w(!1),l=()=>{i.value=z(t.value.relativePath,s.value.link)};G([t,s,be],l),j(l);const v=g(()=>i.value?!0:s.value.items?de(t.value.relativePath,s.value.items):!1),d=g(()=>!!(s.value.items&&s.value.items.length));te(()=>{e.value=!!(o.value&&s.value.collapsed)}),Te(()=>{(i.value||v.value)&&(e.value=!1)});function m(){o.value&&(e.value=!e.value)}return{collapsed:e,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:v,hasChildren:d,toggle:m}}function Mt(){const{hasSidebar:s}=O(),t=le("(min-width: 960px)"),e=le("(min-width: 1280px)");return{isAsideEnabled:g(()=>!e.value&&!t.value?!1:s.value?e.value:t.value)}}const ve=[];function Ee(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function ke(s){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(e=>e.id&&e.hasChildNodes()).map(e=>{const o=Number(e.tagName[1]);return{element:e,title:At(e),link:"#"+e.id,level:o}});return Ct(t,s)}function At(s){let t="";for(const e of s.childNodes)if(e.nodeType===1){if(e.classList.contains("VPBadge")||e.classList.contains("header-anchor")||e.classList.contains("ignore-header"))continue;t+=e.textContent}else e.nodeType===3&&(t+=e.textContent);return t.trim()}function Ct(s,t){if(t===!1)return[];const e=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[o,n]=typeof e=="number"?[e,e]:e==="deep"?[2,6]:e;s=s.filter(l=>l.level>=o&&l.level<=n),ve.length=0;for(const{element:l,link:v}of s)ve.push({element:l,link:v});const i=[];e:for(let l=0;l=0;d--){const m=s[d];if(m.level{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Ze(()=>{l(location.hash)}),fe(()=>{window.removeEventListener("scroll",o)});function i(){if(!e.value)return;const v=window.scrollY,d=window.innerHeight,m=document.body.offsetHeight,P=Math.abs(v+d-m)<1,k=ve.map(({element:S,link:A})=>({link:A,top:Ht(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,A)=>S.top-A.top);if(!k.length){l(null);return}if(v<1){l(null);return}if(P){l(k[k.length-1].link);return}let V=null;for(const{link:S,top:A}of k){if(A>v+xe()+4)break;V=S}l(V)}function l(v){n&&n.classList.remove("active"),v==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const d=n;d?(d.classList.add("active"),t.value.style.top=d.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function Ht(s){let t=0;for(;s!==document.body;){if(s===null)return NaN;t+=s.offsetTop,s=s.offsetParent}return t}const Et=["href","title"],Dt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(s){function t({target:e}){const o=e.href.split("#")[1],n=document.getElementById(decodeURIComponent(o));n==null||n.focus({preventScroll:!0})}return(e,o)=>{const n=K("VPDocOutlineItem",!0);return a(),u("ul",{class:N(["VPDocOutlineItem",e.root?"root":"nested"])},[(a(!0),u(M,null,E(e.headers,({children:i,link:l,title:v})=>(a(),u("li",null,[h("a",{class:"outline-link",href:l,onClick:t,title:v},T(v),9,Et),i!=null&&i.length?(a(),y(n,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),De=$(Dt,[["__scopeId","data-v-3f927ebe"]]),Ft=s=>(B("data-v-c14bfc45"),s=s(),H(),s),Ot={class:"content"},Ut={class:"outline-title",role:"heading","aria-level":"2"},jt={"aria-labelledby":"doc-outline-aria-label"},Gt=Ft(()=>h("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),zt=_({__name:"VPDocAsideOutline",setup(s){const{frontmatter:t,theme:e}=L(),o=we([]);se(()=>{o.value=ke(t.value.outline??e.value.outline)});const n=w(),i=w();return Bt(n,i),(l,v)=>(a(),u("div",{class:N(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n,role:"navigation"},[h("div",Ot,[h("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),h("div",Ut,T(r(Ee)(r(e))),1),h("nav",jt,[Gt,b(De,{headers:o.value,root:!0},null,8,["headers"])])])],2))}}),Kt=$(zt,[["__scopeId","data-v-c14bfc45"]]),Rt={class:"VPDocAsideCarbonAds"},Wt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const t=()=>null;return(e,o)=>(a(),u("div",Rt,[b(r(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),qt=s=>(B("data-v-6d7b3c46"),s=s(),H(),s),Jt={class:"VPDocAside"},Yt=qt(()=>h("div",{class:"spacer"},null,-1)),Xt=_({__name:"VPDocAside",setup(s){const{theme:t}=L();return(e,o)=>(a(),u("div",Jt,[c(e.$slots,"aside-top",{},void 0,!0),c(e.$slots,"aside-outline-before",{},void 0,!0),b(Kt),c(e.$slots,"aside-outline-after",{},void 0,!0),Yt,c(e.$slots,"aside-ads-before",{},void 0,!0),r(t).carbonAds?(a(),y(Wt,{key:0,"carbon-ads":r(t).carbonAds},null,8,["carbon-ads"])):f("",!0),c(e.$slots,"aside-ads-after",{},void 0,!0),c(e.$slots,"aside-bottom",{},void 0,!0)]))}}),Qt=$(Xt,[["__scopeId","data-v-6d7b3c46"]]);function Zt(){const{theme:s,page:t}=L();return g(()=>{const{text:e="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(t.value):n=o.replace(/:path/g,t.value.filePath),{url:n,text:e}})}function xt(){const{page:s,theme:t,frontmatter:e}=L();return g(()=>{var d,m,P,k,V,S,A,C;const o=He(t.value.sidebar,s.value.relativePath),n=wt(o),i=n.findIndex(I=>z(s.value.relativePath,I.link)),l=((d=t.value.docFooter)==null?void 0:d.prev)===!1&&!e.value.prev||e.value.prev===!1,v=((m=t.value.docFooter)==null?void 0:m.next)===!1&&!e.value.next||e.value.next===!1;return{prev:l?void 0:{text:(typeof e.value.prev=="string"?e.value.prev:typeof e.value.prev=="object"?e.value.prev.text:void 0)??((P=n[i-1])==null?void 0:P.docFooterText)??((k=n[i-1])==null?void 0:k.text),link:(typeof e.value.prev=="object"?e.value.prev.link:void 0)??((V=n[i-1])==null?void 0:V.link)},next:v?void 0:{text:(typeof e.value.next=="string"?e.value.next:typeof e.value.next=="object"?e.value.next.text:void 0)??((S=n[i+1])==null?void 0:S.docFooterText)??((A=n[i+1])==null?void 0:A.text),link:(typeof e.value.next=="object"?e.value.next.link:void 0)??((C=n[i+1])==null?void 0:C.link)}}})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const t=s,e=g(()=>t.tag??(t.href?"a":"span")),o=g(()=>t.href&&Ie.test(t.href));return(n,i)=>(a(),y(W(e.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(me)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:p(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),es={class:"VPLastUpdated"},ts=["datetime"],ss=_({__name:"VPDocFooterLastUpdated",setup(s){const{theme:t,page:e,frontmatter:o,lang:n}=L(),i=g(()=>new Date(o.value.lastUpdated??e.value.lastUpdated)),l=g(()=>i.value.toISOString()),v=w("");return j(()=>{te(()=>{var d,m,P;v.value=new Intl.DateTimeFormat((m=(d=t.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&m.forceLocale?n.value:void 0,((P=t.value.lastUpdated)==null?void 0:P.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(d,m)=>{var P;return a(),u("p",es,[D(T(((P=r(t).lastUpdated)==null?void 0:P.text)||r(t).lastUpdatedText||"Last updated")+": ",1),h("time",{datetime:l.value},T(v.value),9,ts)])}}}),os=$(ss,[["__scopeId","data-v-9da12f1d"]]),ns=s=>(B("data-v-87be45d1"),s=s(),H(),s),as={key:0,class:"VPDocFooter"},rs={key:0,class:"edit-info"},is={key:0,class:"edit-link"},ls=ns(()=>h("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),cs={key:1,class:"last-updated"},us={key:1,class:"prev-next"},ds={class:"pager"},vs=["innerHTML"],ps=["innerHTML"],hs={class:"pager"},fs=["innerHTML"],_s=["innerHTML"],ms=_({__name:"VPDocFooter",setup(s){const{theme:t,page:e,frontmatter:o}=L(),n=Zt(),i=xt(),l=g(()=>t.value.editLink&&o.value.editLink!==!1),v=g(()=>e.value.lastUpdated&&o.value.lastUpdated!==!1),d=g(()=>l.value||v.value||i.value.prev||i.value.next);return(m,P)=>{var k,V,S,A;return d.value?(a(),u("footer",as,[c(m.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(a(),u("div",rs,[l.value?(a(),u("div",is,[b(F,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:p(()=>[ls,D(" "+T(r(n).text),1)]),_:1},8,["href"])])):f("",!0),v.value?(a(),u("div",cs,[b(os)])):f("",!0)])):f("",!0),(k=r(i).prev)!=null&&k.link||(V=r(i).next)!=null&&V.link?(a(),u("nav",us,[h("div",ds,[(S=r(i).prev)!=null&&S.link?(a(),y(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var C;return[h("span",{class:"desc",innerHTML:((C=r(t).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,vs),h("span",{class:"title",innerHTML:r(i).prev.text},null,8,ps)]}),_:1},8,["href"])):f("",!0)]),h("div",hs,[(A=r(i).next)!=null&&A.link?(a(),y(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var C;return[h("span",{class:"desc",innerHTML:((C=r(t).docFooter)==null?void 0:C.next)||"Next page"},null,8,fs),h("span",{class:"title",innerHTML:r(i).next.text},null,8,_s)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),bs=$(ms,[["__scopeId","data-v-87be45d1"]]),ks=s=>(B("data-v-83890dd9"),s=s(),H(),s),$s={class:"container"},gs=ks(()=>h("div",{class:"aside-curtain"},null,-1)),ys={class:"aside-container"},Ps={class:"aside-content"},Ss={class:"content"},Vs={class:"content-container"},Ls={class:"main"},Ts=_({__name:"VPDoc",setup(s){const{theme:t}=L(),e=oe(),{hasSidebar:o,hasAside:n,leftAside:i}=O(),l=g(()=>e.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,d)=>{const m=K("Content");return a(),u("div",{class:N(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[c(v.$slots,"doc-top",{},void 0,!0),h("div",$s,[r(n)?(a(),u("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[gs,h("div",ys,[h("div",Ps,[b(Qt,null,{"aside-top":p(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),h("div",Ss,[h("div",Vs,[c(v.$slots,"doc-before",{},void 0,!0),h("main",Ls,[b(m,{class:N(["vp-doc",[l.value,r(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),b(bs,null,{"doc-footer-before":p(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(v.$slots,"doc-after",{},void 0,!0)])])]),c(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ws=$(Ts,[["__scopeId","data-v-83890dd9"]]),Is=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const t=s,e=g(()=>t.href&&Ie.test(t.href)),o=g(()=>t.tag||t.href?"a":"button");return(n,i)=>(a(),y(W(o.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?r(me)(n.href):void 0,target:t.target??(e.value?"_blank":void 0),rel:t.rel??(e.value?"noreferrer":void 0)},{default:p(()=>[D(T(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ns=$(Is,[["__scopeId","data-v-14206e74"]]),Ms=["src","alt"],As=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(t,e)=>{const o=K("VPImage",!0);return t.image?(a(),u(M,{key:0},[typeof t.image=="string"||"src"in t.image?(a(),u("img",Z({key:0,class:"VPImage"},typeof t.image=="string"?t.$attrs:{...t.image,...t.$attrs},{src:r(he)(typeof t.image=="string"?t.image:t.image.src),alt:t.alt??(typeof t.image=="string"?"":t.image.alt||"")}),null,16,Ms)):(a(),u(M,{key:1},[b(o,Z({class:"dark",image:t.image.dark,alt:t.image.alt},t.$attrs),null,16,["image","alt"]),b(o,Z({class:"light",image:t.image.light,alt:t.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),ee=$(As,[["__scopeId","data-v-35a7d0b8"]]),Cs=s=>(B("data-v-955009fc"),s=s(),H(),s),Bs={class:"container"},Hs={class:"main"},Es={key:0,class:"name"},Ds=["innerHTML"],Fs=["innerHTML"],Os=["innerHTML"],Us={key:0,class:"actions"},js={key:0,class:"image"},Gs={class:"image-container"},zs=Cs(()=>h("div",{class:"image-bg"},null,-1)),Ks=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const t=J("hero-image-slot-exists");return(e,o)=>(a(),u("div",{class:N(["VPHero",{"has-image":e.image||r(t)}])},[h("div",Bs,[h("div",Hs,[c(e.$slots,"home-hero-info-before",{},void 0,!0),c(e.$slots,"home-hero-info",{},()=>[e.name?(a(),u("h1",Es,[h("span",{innerHTML:e.name,class:"clip"},null,8,Ds)])):f("",!0),e.text?(a(),u("p",{key:1,innerHTML:e.text,class:"text"},null,8,Fs)):f("",!0),e.tagline?(a(),u("p",{key:2,innerHTML:e.tagline,class:"tagline"},null,8,Os)):f("",!0)],!0),c(e.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(a(),u("div",Us,[(a(!0),u(M,null,E(e.actions,n=>(a(),u("div",{key:n.link,class:"action"},[b(Ns,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),c(e.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||r(t)?(a(),u("div",js,[h("div",Gs,[zs,c(e.$slots,"home-hero-image",{},()=>[e.image?(a(),y(ee,{key:0,class:"image-src",image:e.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Rs=$(Ks,[["__scopeId","data-v-955009fc"]]),Ws=_({__name:"VPHomeHero",setup(s){const{frontmatter:t}=L();return(e,o)=>r(t).hero?(a(),y(Rs,{key:0,class:"VPHomeHero",name:r(t).hero.name,text:r(t).hero.text,tagline:r(t).hero.tagline,image:r(t).hero.image,actions:r(t).hero.actions},{"home-hero-info-before":p(()=>[c(e.$slots,"home-hero-info-before")]),"home-hero-info":p(()=>[c(e.$slots,"home-hero-info")]),"home-hero-info-after":p(()=>[c(e.$slots,"home-hero-info-after")]),"home-hero-actions-after":p(()=>[c(e.$slots,"home-hero-actions-after")]),"home-hero-image":p(()=>[c(e.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),qs=s=>(B("data-v-f5e9645b"),s=s(),H(),s),Js={class:"box"},Ys={key:0,class:"icon"},Xs=["innerHTML"],Qs=["innerHTML"],Zs=["innerHTML"],xs={key:4,class:"link-text"},eo={class:"link-text-value"},to=qs(()=>h("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),so=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(t,e)=>(a(),y(F,{class:"VPFeature",href:t.link,rel:t.rel,target:t.target,"no-icon":!0,tag:t.link?"a":"div"},{default:p(()=>[h("article",Js,[typeof t.icon=="object"&&t.icon.wrap?(a(),u("div",Ys,[b(ee,{image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])])):typeof t.icon=="object"?(a(),y(ee,{key:1,image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])):t.icon?(a(),u("div",{key:2,class:"icon",innerHTML:t.icon},null,8,Xs)):f("",!0),h("h2",{class:"title",innerHTML:t.title},null,8,Qs),t.details?(a(),u("p",{key:3,class:"details",innerHTML:t.details},null,8,Zs)):f("",!0),t.linkText?(a(),u("div",xs,[h("p",eo,[D(T(t.linkText)+" ",1),to])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),oo=$(so,[["__scopeId","data-v-f5e9645b"]]),no={key:0,class:"VPFeatures"},ao={class:"container"},ro={class:"items"},io=_({__name:"VPFeatures",props:{features:{}},setup(s){const t=s,e=g(()=>{const o=t.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",no,[h("div",ao,[h("div",ro,[(a(!0),u(M,null,E(o.features,i=>(a(),u("div",{key:i.title,class:N(["item",[e.value]])},[b(oo,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),lo=$(io,[["__scopeId","data-v-d0a190d7"]]),co=_({__name:"VPHomeFeatures",setup(s){const{frontmatter:t}=L();return(e,o)=>r(t).features?(a(),y(lo,{key:0,class:"VPHomeFeatures",features:r(t).features},null,8,["features"])):f("",!0)}}),uo=_({__name:"VPHomeContent",setup(s){const{width:t}=et({includeScrollbar:!1});return(e,o)=>(a(),u("div",{class:"vp-doc container",style:Ne(r(t)?{"--vp-offset":`calc(50% - ${r(t)/2}px)`}:{})},[c(e.$slots,"default",{},void 0,!0)],4))}}),vo=$(uo,[["__scopeId","data-v-c43247eb"]]),po={class:"VPHome"},ho=_({__name:"VPHome",setup(s){const{frontmatter:t}=L();return(e,o)=>{const n=K("Content");return a(),u("div",po,[c(e.$slots,"home-hero-before",{},void 0,!0),b(Ws,null,{"home-hero-info-before":p(()=>[c(e.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(e.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(e.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(e.$slots,"home-hero-after",{},void 0,!0),c(e.$slots,"home-features-before",{},void 0,!0),b(co),c(e.$slots,"home-features-after",{},void 0,!0),r(t).markdownStyles!==!1?(a(),y(vo,{key:0},{default:p(()=>[b(n)]),_:1})):(a(),y(n,{key:1}))])}}}),fo=$(ho,[["__scopeId","data-v-cbb6ec48"]]),_o={},mo={class:"VPPage"};function bo(s,t){const e=K("Content");return a(),u("div",mo,[c(s.$slots,"page-top"),b(e),c(s.$slots,"page-bottom")])}const ko=$(_o,[["render",bo]]),$o=_({__name:"VPContent",setup(s){const{page:t,frontmatter:e}=L(),{hasSidebar:o}=O();return(n,i)=>(a(),u("div",{class:N(["VPContent",{"has-sidebar":r(o),"is-home":r(e).layout==="home"}]),id:"VPContent"},[r(t).isNotFound?c(n.$slots,"not-found",{key:0},()=>[b(Lt)],!0):r(e).layout==="page"?(a(),y(ko,{key:1},{"page-top":p(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(e).layout==="home"?(a(),y(fo,{key:2},{"home-hero-before":p(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(e).layout&&r(e).layout!=="doc"?(a(),y(W(r(e).layout),{key:3})):(a(),y(ws,{key:4},{"doc-top":p(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),go=$($o,[["__scopeId","data-v-91765379"]]),yo={class:"container"},Po=["innerHTML"],So=["innerHTML"],Vo=_({__name:"VPFooter",setup(s){const{theme:t,frontmatter:e}=L(),{hasSidebar:o}=O();return(n,i)=>r(t).footer&&r(e).footer!==!1?(a(),u("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(o)}])},[h("div",yo,[r(t).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(t).footer.message},null,8,Po)):f("",!0),r(t).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(t).footer.copyright},null,8,So)):f("",!0)])],2)):f("",!0)}}),Lo=$(Vo,[["__scopeId","data-v-c970a860"]]);function Fe(){const{theme:s,frontmatter:t}=L(),e=we([]),o=g(()=>e.value.length>0);return se(()=>{e.value=ke(t.value.outline??s.value.outline)}),{headers:e,hasLocalNav:o}}const To=s=>(B("data-v-c9ba27ad"),s=s(),H(),s),wo=To(()=>h("span",{class:"vpi-chevron-right icon"},null,-1)),Io={class:"header"},No={class:"outline"},Mo=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const t=s,{theme:e}=L(),o=w(!1),n=w(0),i=w(),l=w();tt(i,()=>{o.value=!1}),ce("Escape",()=>{o.value=!1}),se(()=>{o.value=!1});function v(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function d(P){P.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Me(()=>{o.value=!1}))}function m(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(P,k)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Ne({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[P.headers.length>0?(a(),u("button",{key:0,onClick:v,class:N({open:o.value})},[D(T(r(Ee)(r(e)))+" ",1),wo],2)):(a(),u("button",{key:1,onClick:m},T(r(e).returnToTopLabel||"Return to top"),1)),b(pe,{name:"flyout"},{default:p(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:d},[h("div",Io,[h("a",{class:"top-link",href:"#",onClick:m},T(r(e).returnToTopLabel||"Return to top"),1)]),h("div",No,[b(De,{headers:P.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Ao=$(Mo,[["__scopeId","data-v-c9ba27ad"]]),Co=s=>(B("data-v-070ab83d"),s=s(),H(),s),Bo={class:"container"},Ho=["aria-expanded"],Eo=Co(()=>h("span",{class:"vpi-align-left menu-icon"},null,-1)),Do={class:"menu-text"},Fo=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:t,frontmatter:e}=L(),{hasSidebar:o}=O(),{headers:n}=Fe(),{y:i}=Ae(),l=w(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),se(()=>{n.value=ke(e.value.outline??t.value.outline)});const v=g(()=>n.value.length===0),d=g(()=>v.value&&!o.value),m=g(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:d.value}));return(P,k)=>r(e).layout!=="home"&&(!d.value||r(i)>=l.value)?(a(),u("div",{key:0,class:N(m.value)},[h("div",Bo,[r(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":P.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=V=>P.$emit("open-menu"))},[Eo,h("span",Do,T(r(t).sidebarMenuLabel||"Menu"),1)],8,Ho)):f("",!0),b(Ao,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Oo=$(Fo,[["__scopeId","data-v-070ab83d"]]);function Uo(){const s=w(!1);function t(){s.value=!0,window.addEventListener("resize",n)}function e(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?e():t()}function n(){window.outerWidth>=768&&e()}const i=oe();return G(()=>i.path,e),{isScreenOpen:s,openScreen:t,closeScreen:e,toggleScreen:o}}const jo={},Go={class:"VPSwitch",type:"button",role:"switch"},zo={class:"check"},Ko={key:0,class:"icon"};function Ro(s,t){return a(),u("button",Go,[h("span",zo,[s.$slots.default?(a(),u("span",Ko,[c(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Wo=$(jo,[["render",Ro],["__scopeId","data-v-4a1c76db"]]),Oe=s=>(B("data-v-b79b56d4"),s=s(),H(),s),qo=Oe(()=>h("span",{class:"vpi-sun sun"},null,-1)),Jo=Oe(()=>h("span",{class:"vpi-moon moon"},null,-1)),Yo=_({__name:"VPSwitchAppearance",setup(s){const{isDark:t,theme:e}=L(),o=J("toggle-appearance",()=>{t.value=!t.value}),n=g(()=>t.value?e.value.lightModeSwitchTitle||"Switch to light theme":e.value.darkModeSwitchTitle||"Switch to dark theme");return(i,l)=>(a(),y(Wo,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(t),onClick:r(o)},{default:p(()=>[qo,Jo]),_:1},8,["title","aria-checked","onClick"]))}}),$e=$(Yo,[["__scopeId","data-v-b79b56d4"]]),Xo={key:0,class:"VPNavBarAppearance"},Qo=_({__name:"VPNavBarAppearance",setup(s){const{site:t}=L();return(e,o)=>r(t).appearance&&r(t).appearance!=="force-dark"?(a(),u("div",Xo,[b($e)])):f("",!0)}}),Zo=$(Qo,[["__scopeId","data-v-ead91a81"]]),ge=w();let Ue=!1,ie=0;function xo(s){const t=w(!1);if(q){!Ue&&en(),ie++;const e=G(ge,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(t.value=!0,(i=s.onFocus)==null||i.call(s)):(t.value=!1,(l=s.onBlur)==null||l.call(s))});fe(()=>{e(),ie--,ie||tn()})}return st(t)}function en(){document.addEventListener("focusin",je),Ue=!0,ge.value=document.activeElement}function tn(){document.removeEventListener("focusin",je)}function je(){ge.value=document.activeElement}const sn={class:"VPMenuLink"},on=_({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:t}=L();return(e,o)=>(a(),u("div",sn,[b(F,{class:N({active:r(z)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:p(()=>[D(T(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=$(on,[["__scopeId","data-v-8b74d055"]]),nn={class:"VPMenuGroup"},an={key:0,class:"title"},rn=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(t,e)=>(a(),u("div",nn,[t.text?(a(),u("p",an,T(t.text),1)):f("",!0),(a(!0),u(M,null,E(t.items,o=>(a(),u(M,null,["link"in o?(a(),y(ne,{key:0,item:o},null,8,["item"])):f("",!0)],64))),256))]))}}),ln=$(rn,[["__scopeId","data-v-48c802d0"]]),cn={class:"VPMenu"},un={key:0,class:"items"},dn=_({__name:"VPMenu",props:{items:{}},setup(s){return(t,e)=>(a(),u("div",cn,[t.items?(a(),u("div",un,[(a(!0),u(M,null,E(t.items,o=>(a(),u(M,{key:o.text},["link"in o?(a(),y(ne,{key:0,item:o},null,8,["item"])):(a(),y(ln,{key:1,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),vn=$(dn,[["__scopeId","data-v-97491713"]]),pn=s=>(B("data-v-e5380155"),s=s(),H(),s),hn=["aria-expanded","aria-label"],fn={key:0,class:"text"},_n=["innerHTML"],mn=pn(()=>h("span",{class:"vpi-chevron-down text-icon"},null,-1)),bn={key:1,class:"vpi-more-horizontal icon"},kn={class:"menu"},$n=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const t=w(!1),e=w();xo({el:e,onBlur:o});function o(){t.value=!1}return(n,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:e,onMouseenter:i[1]||(i[1]=l=>t.value=!0),onMouseleave:i[2]||(i[2]=l=>t.value=!1)},[h("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>t.value=!t.value)},[n.button||n.icon?(a(),u("span",fn,[n.icon?(a(),u("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,_n)):f("",!0),mn])):(a(),u("span",bn))],8,hn),h("div",kn,[b(vn,{items:n.items},{default:p(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ye=$($n,[["__scopeId","data-v-e5380155"]]),gn=["href","aria-label","innerHTML"],yn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const t=s,e=g(()=>typeof t.icon=="object"?t.icon.svg:``);return(o,n)=>(a(),u("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:e.value},null,8,gn))}}),Pn=$(yn,[["__scopeId","data-v-717b8b75"]]),Sn={class:"VPSocialLinks"},Vn=_({__name:"VPSocialLinks",props:{links:{}},setup(s){return(t,e)=>(a(),u("div",Sn,[(a(!0),u(M,null,E(t.links,({link:o,icon:n,ariaLabel:i})=>(a(),y(Pn,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Pe=$(Vn,[["__scopeId","data-v-ee7a9424"]]),Ln={key:0,class:"group translations"},Tn={class:"trans-title"},wn={key:1,class:"group"},In={class:"item appearance"},Nn={class:"label"},Mn={class:"appearance-action"},An={key:2,class:"group"},Cn={class:"item social-links"},Bn=_({__name:"VPNavBarExtra",setup(s){const{site:t,theme:e}=L(),{localeLinks:o,currentLang:n}=X({correspondingLink:!0}),i=g(()=>o.value.length&&n.value.label||t.value.appearance||e.value.socialLinks);return(l,v)=>i.value?(a(),y(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(o).length&&r(n).label?(a(),u("div",Ln,[h("p",Tn,T(r(n).label),1),(a(!0),u(M,null,E(r(o),d=>(a(),y(ne,{key:d.link,item:d},null,8,["item"]))),128))])):f("",!0),r(t).appearance&&r(t).appearance!=="force-dark"?(a(),u("div",wn,[h("div",In,[h("p",Nn,T(r(e).darkModeSwitchLabel||"Appearance"),1),h("div",Mn,[b($e)])])])):f("",!0),r(e).socialLinks?(a(),u("div",An,[h("div",Cn,[b(Pe,{class:"social-links-list",links:r(e).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Hn=$(Bn,[["__scopeId","data-v-9b536d0b"]]),En=s=>(B("data-v-5dea55bf"),s=s(),H(),s),Dn=["aria-expanded"],Fn=En(()=>h("span",{class:"container"},[h("span",{class:"top"}),h("span",{class:"middle"}),h("span",{class:"bottom"})],-1)),On=[Fn],Un=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(t,e)=>(a(),u("button",{type:"button",class:N(["VPNavBarHamburger",{active:t.active}]),"aria-label":"mobile navigation","aria-expanded":t.active,"aria-controls":"VPNavScreen",onClick:e[0]||(e[0]=o=>t.$emit("click"))},On,10,Dn))}}),jn=$(Un,[["__scopeId","data-v-5dea55bf"]]),Gn=["innerHTML"],zn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:t}=L();return(e,o)=>(a(),y(F,{class:N({VPNavBarMenuLink:!0,active:r(z)(r(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:p(()=>[h("span",{innerHTML:e.item.text},null,8,Gn)]),_:1},8,["class","href","target","rel"]))}}),Kn=$(zn,[["__scopeId","data-v-2781b5e7"]]),Rn=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const t=s,{page:e}=L(),o=i=>"link"in i?z(e.value.relativePath,i.link,!!t.item.activeMatch):i.items.some(o),n=g(()=>o(t.item));return(i,l)=>(a(),y(ye,{class:N({VPNavBarMenuGroup:!0,active:r(z)(r(e).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Wn=s=>(B("data-v-492ea56d"),s=s(),H(),s),qn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Jn=Wn(()=>h("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Yn=_({__name:"VPNavBarMenu",setup(s){const{theme:t}=L();return(e,o)=>r(t).nav?(a(),u("nav",qn,[Jn,(a(!0),u(M,null,E(r(t).nav,n=>(a(),u(M,{key:n.text},["link"in n?(a(),y(Kn,{key:0,item:n},null,8,["item"])):(a(),y(Rn,{key:1,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),Xn=$(Yn,[["__scopeId","data-v-492ea56d"]]);function Qn(s){const{localeIndex:t,theme:e}=L();function o(n){var A,C,I;const i=n.split("."),l=(A=e.value.search)==null?void 0:A.options,v=l&&typeof l=="object",d=v&&((I=(C=l.locales)==null?void 0:C[t.value])==null?void 0:I.translations)||null,m=v&&l.translations||null;let P=d,k=m,V=s;const S=i.pop();for(const Q of i){let U=null;const R=V==null?void 0:V[Q];R&&(U=V=R);const ae=k==null?void 0:k[Q];ae&&(U=k=ae);const re=P==null?void 0:P[Q];re&&(U=P=re),R||(V=U),ae||(k=U),re||(P=U)}return(P==null?void 0:P[S])??(k==null?void 0:k[S])??(V==null?void 0:V[S])??""}return o}const Zn=["aria-label"],xn={class:"DocSearch-Button-Container"},ea=h("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),ta={class:"DocSearch-Button-Placeholder"},sa=h("span",{class:"DocSearch-Button-Keys"},[h("kbd",{class:"DocSearch-Button-Key"}),h("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Se=_({__name:"VPNavBarSearchButton",setup(s){const e=Qn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(e)("button.buttonAriaLabel")},[h("span",xn,[ea,h("span",ta,T(r(e)("button.buttonText")),1)]),sa],8,Zn))}}),oa={class:"VPNavBarSearch"},na={id:"local-search"},aa={key:1,id:"docsearch"},ra=_({__name:"VPNavBarSearch",setup(s){const t=ot(()=>nt(()=>import("./VPLocalSearchBox.B14VtkPM.js"),__vite__mapDeps([0,1]))),e=()=>null,{theme:o}=L(),n=w(!1),i=w(!1);j(()=>{});function l(){n.value||(n.value=!0,setTimeout(v,16))}function v(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function d(k){const V=k.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const m=w(!1);ce("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),m.value=!0)}),ce("/",k=>{d(k)||(k.preventDefault(),m.value=!0)});const P="local";return(k,V)=>{var S;return a(),u("div",oa,[r(P)==="local"?(a(),u(M,{key:0},[m.value?(a(),y(r(t),{key:0,onClose:V[0]||(V[0]=A=>m.value=!1)})):f("",!0),h("div",na,[b(Se,{onClick:V[1]||(V[1]=A=>m.value=!0)})])],64)):r(P)==="algolia"?(a(),u(M,{key:1},[n.value?(a(),y(r(e),{key:0,algolia:((S=r(o).search)==null?void 0:S.options)??r(o).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),u("div",aa,[b(Se,{onClick:l})]))],64)):f("",!0)])}}}),ia=_({__name:"VPNavBarSocialLinks",setup(s){const{theme:t}=L();return(e,o)=>r(t).socialLinks?(a(),y(Pe,{key:0,class:"VPNavBarSocialLinks",links:r(t).socialLinks},null,8,["links"])):f("",!0)}}),la=$(ia,[["__scopeId","data-v-164c457f"]]),ca=["href","rel","target"],ua={key:1},da={key:2},va=_({__name:"VPNavBarTitle",setup(s){const{site:t,theme:e}=L(),{hasSidebar:o}=O(),{currentLang:n}=X(),i=g(()=>{var d;return typeof e.value.logoLink=="string"?e.value.logoLink:(d=e.value.logoLink)==null?void 0:d.link}),l=g(()=>{var d;return typeof e.value.logoLink=="string"||(d=e.value.logoLink)==null?void 0:d.rel}),v=g(()=>{var d;return typeof e.value.logoLink=="string"||(d=e.value.logoLink)==null?void 0:d.target});return(d,m)=>(a(),u("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(o)}])},[h("a",{class:"title",href:i.value??r(me)(r(n).link),rel:l.value,target:v.value},[c(d.$slots,"nav-bar-title-before",{},void 0,!0),r(e).logo?(a(),y(ee,{key:0,class:"logo",image:r(e).logo},null,8,["image"])):f("",!0),r(e).siteTitle?(a(),u("span",ua,T(r(e).siteTitle),1)):r(e).siteTitle===void 0?(a(),u("span",da,T(r(t).title),1)):f("",!0),c(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,ca)],2))}}),pa=$(va,[["__scopeId","data-v-28a961f9"]]),ha={class:"items"},fa={class:"title"},_a=_({__name:"VPNavBarTranslations",setup(s){const{theme:t}=L(),{localeLinks:e,currentLang:o}=X({correspondingLink:!0});return(n,i)=>r(e).length&&r(o).label?(a(),y(ye,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(t).langMenuLabel||"Change language"},{default:p(()=>[h("div",ha,[h("p",fa,T(r(o).label),1),(a(!0),u(M,null,E(r(e),l=>(a(),y(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ma=$(_a,[["__scopeId","data-v-c80d9ad0"]]),ba=s=>(B("data-v-b9c8b02d"),s=s(),H(),s),ka={class:"wrapper"},$a={class:"container"},ga={class:"title"},ya={class:"content"},Pa={class:"content-body"},Sa=ba(()=>h("div",{class:"divider"},[h("div",{class:"divider-line"})],-1)),Va=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:t}=Ae(),{hasSidebar:e}=O(),{hasLocalNav:o}=Fe(),{frontmatter:n}=L(),i=w({});return Te(()=>{i.value={"has-sidebar":e.value,"has-local-nav":o.value,top:n.value.layout==="home"&&t.value===0}}),(l,v)=>(a(),u("div",{class:N(["VPNavBar",i.value])},[h("div",ka,[h("div",$a,[h("div",ga,[b(pa,null,{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),h("div",ya,[h("div",Pa,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),b(ra,{class:"search"}),b(Xn,{class:"menu"}),b(ma,{class:"translations"}),b(Zo,{class:"appearance"}),b(la,{class:"social-links"}),b(Hn,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),b(jn,{class:"hamburger",active:l.isScreenOpen,onClick:v[0]||(v[0]=d=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),Sa],2))}}),La=$(Va,[["__scopeId","data-v-b9c8b02d"]]),Ta={key:0,class:"VPNavScreenAppearance"},wa={class:"text"},Ia=_({__name:"VPNavScreenAppearance",setup(s){const{site:t,theme:e}=L();return(o,n)=>r(t).appearance&&r(t).appearance!=="force-dark"?(a(),u("div",Ta,[h("p",wa,T(r(e).darkModeSwitchLabel||"Appearance"),1),b($e)])):f("",!0)}}),Na=$(Ia,[["__scopeId","data-v-2b89f08b"]]),Ma=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const t=J("close-screen");return(e,o)=>(a(),y(F,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:r(t)},{default:p(()=>[D(T(e.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Aa=$(Ma,[["__scopeId","data-v-d45ba3e8"]]),Ca=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const t=J("close-screen");return(e,o)=>(a(),y(F,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:r(t)},{default:p(()=>[D(T(e.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ge=$(Ca,[["__scopeId","data-v-7179dbb7"]]),Ba={class:"VPNavScreenMenuGroupSection"},Ha={key:0,class:"title"},Ea=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(t,e)=>(a(),u("div",Ba,[t.text?(a(),u("p",Ha,T(t.text),1)):f("",!0),(a(!0),u(M,null,E(t.items,o=>(a(),y(Ge,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Da=$(Ea,[["__scopeId","data-v-4b8941ac"]]),Fa=s=>(B("data-v-c9df2649"),s=s(),H(),s),Oa=["aria-controls","aria-expanded"],Ua=["innerHTML"],ja=Fa(()=>h("span",{class:"vpi-plus button-icon"},null,-1)),Ga=["id"],za={key:1,class:"group"},Ka=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const t=s,e=w(!1),o=g(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function n(){e.value=!e.value}return(i,l)=>(a(),u("div",{class:N(["VPNavScreenMenuGroup",{open:e.value}])},[h("button",{class:"button","aria-controls":o.value,"aria-expanded":e.value,onClick:n},[h("span",{class:"button-text",innerHTML:i.text},null,8,Ua),ja],8,Oa),h("div",{id:o.value,class:"items"},[(a(!0),u(M,null,E(i.items,v=>(a(),u(M,{key:v.text},["link"in v?(a(),u("div",{key:v.text,class:"item"},[b(Ge,{item:v},null,8,["item"])])):(a(),u("div",za,[b(Da,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,Ga)],2))}}),Ra=$(Ka,[["__scopeId","data-v-c9df2649"]]),Wa={key:0,class:"VPNavScreenMenu"},qa=_({__name:"VPNavScreenMenu",setup(s){const{theme:t}=L();return(e,o)=>r(t).nav?(a(),u("nav",Wa,[(a(!0),u(M,null,E(r(t).nav,n=>(a(),u(M,{key:n.text},["link"in n?(a(),y(Aa,{key:0,item:n},null,8,["item"])):(a(),y(Ra,{key:1,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ja=_({__name:"VPNavScreenSocialLinks",setup(s){const{theme:t}=L();return(e,o)=>r(t).socialLinks?(a(),y(Pe,{key:0,class:"VPNavScreenSocialLinks",links:r(t).socialLinks},null,8,["links"])):f("",!0)}}),ze=s=>(B("data-v-362991c2"),s=s(),H(),s),Ya=ze(()=>h("span",{class:"vpi-languages icon lang"},null,-1)),Xa=ze(()=>h("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Qa={class:"list"},Za=_({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:t,currentLang:e}=X({correspondingLink:!0}),o=w(!1);function n(){o.value=!o.value}return(i,l)=>r(t).length&&r(e).label?(a(),u("div",{key:0,class:N(["VPNavScreenTranslations",{open:o.value}])},[h("button",{class:"title",onClick:n},[Ya,D(" "+T(r(e).label)+" ",1),Xa]),h("ul",Qa,[(a(!0),u(M,null,E(r(t),v=>(a(),u("li",{key:v.link,class:"item"},[b(F,{class:"link",href:v.link},{default:p(()=>[D(T(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),xa=$(Za,[["__scopeId","data-v-362991c2"]]),er={class:"container"},tr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const t=w(null),e=Ce(q?document.body:null);return(o,n)=>(a(),y(pe,{name:"fade",onEnter:n[0]||(n[0]=i=>e.value=!0),onAfterLeave:n[1]||(n[1]=i=>e.value=!1)},{default:p(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[h("div",er,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),b(qa,{class:"menu"}),b(xa,{class:"translations"}),b(Na,{class:"appearance"}),b(Ja,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),sr=$(tr,[["__scopeId","data-v-382f42e9"]]),or={key:0,class:"VPNav"},nr=_({__name:"VPNav",setup(s){const{isScreenOpen:t,closeScreen:e,toggleScreen:o}=Uo(),{frontmatter:n}=L(),i=g(()=>n.value.navbar!==!1);return _e("close-screen",e),te(()=>{q&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(a(),u("header",or,[b(La,{"is-screen-open":r(t),onToggleScreen:r(o)},{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),b(sr,{open:r(t)},{"nav-screen-content-before":p(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),ar=$(nr,[["__scopeId","data-v-f1e365da"]]),Ke=s=>(B("data-v-f24171a4"),s=s(),H(),s),rr=["role","tabindex"],ir=Ke(()=>h("div",{class:"indicator"},null,-1)),lr=Ke(()=>h("span",{class:"vpi-chevron-right caret-icon"},null,-1)),cr=[lr],ur={key:1,class:"items"},dr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const t=s,{collapsed:e,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:d}=Nt(g(()=>t.item)),m=g(()=>v.value?"section":"div"),P=g(()=>n.value?"a":"div"),k=g(()=>v.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),V=g(()=>n.value?void 0:"button"),S=g(()=>[[`level-${t.depth}`],{collapsible:o.value},{collapsed:e.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function A(I){"key"in I&&I.key!=="Enter"||!t.item.link&&d()}function C(){t.item.link&&d()}return(I,Q)=>{const U=K("VPSidebarItem",!0);return a(),y(W(m.value),{class:N(["VPSidebarItem",S.value])},{default:p(()=>[I.item.text?(a(),u("div",Z({key:0,class:"item",role:V.value},rt(I.item.items?{click:A,keydown:A}:{},!0),{tabindex:I.item.items&&0}),[ir,I.item.link?(a(),y(F,{key:0,tag:P.value,class:"link",href:I.item.link,rel:I.item.rel,target:I.item.target},{default:p(()=>[(a(),y(W(k.value),{class:"text",innerHTML:I.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),y(W(k.value),{key:1,class:"text",innerHTML:I.item.text},null,8,["innerHTML"])),I.item.collapsed!=null?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:at(C,["enter"]),tabindex:"0"},cr,32)):f("",!0)],16,rr)):f("",!0),I.item.items&&I.item.items.length?(a(),u("div",ur,[I.depth<5?(a(!0),u(M,{key:0},E(I.item.items,R=>(a(),y(U,{key:R.text,item:R,depth:I.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),vr=$(dr,[["__scopeId","data-v-f24171a4"]]),Re=s=>(B("data-v-ec846e01"),s=s(),H(),s),pr=Re(()=>h("div",{class:"curtain"},null,-1)),hr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},fr=Re(()=>h("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),_r=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:t,hasSidebar:e}=O(),o=s,n=w(null),i=Ce(q?document.body:null);return G([o,n],()=>{var l;o.open?(i.value=!0,(l=n.value)==null||l.focus()):i.value=!1},{immediate:!0,flush:"post"}),(l,v)=>r(e)?(a(),u("aside",{key:0,class:N(["VPSidebar",{open:l.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=it(()=>{},["stop"]))},[pr,h("nav",hr,[fr,c(l.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),u(M,null,E(r(t),d=>(a(),u("div",{key:d.text,class:"group"},[b(vr,{item:d,depth:0},null,8,["item"])]))),128)),c(l.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),mr=$(_r,[["__scopeId","data-v-ec846e01"]]),br=_({__name:"VPSkipLink",setup(s){const t=oe(),e=w();G(()=>t.path,()=>e.value.focus());function o({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),u(M,null,[h("span",{ref_key:"backToTop",ref:e,tabindex:"-1"},null,512),h("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),kr=$(br,[["__scopeId","data-v-c3508ec8"]]),$r=_({__name:"Layout",setup(s){const{isOpen:t,open:e,close:o}=O(),n=oe();G(()=>n.path,o),It(t,o);const{frontmatter:i}=L(),l=Be(),v=g(()=>!!l["home-hero-image"]);return _e("hero-image-slot-exists",v),(d,m)=>{const P=K("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:N(["Layout",r(i).pageClass])},[c(d.$slots,"layout-top",{},void 0,!0),b(kr),b(ht,{class:"backdrop",show:r(t),onClick:r(o)},null,8,["show","onClick"]),b(ar,null,{"nav-bar-title-before":p(()=>[c(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[c(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),b(Oo,{open:r(t),onOpenMenu:r(e)},null,8,["open","onOpenMenu"]),b(mr,{open:r(t)},{"sidebar-nav-before":p(()=>[c(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[c(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),b(go,null,{"page-top":p(()=>[c(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[c(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[c(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[c(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),b(Lo),c(d.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),y(P,{key:1}))}}}),gr=$($r,[["__scopeId","data-v-a9a9e638"]]),Ve={Layout:gr,enhanceApp:({app:s})=>{s.component("Badge",dt)}},yr=s=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...i)=>n(...i)};const t=document.documentElement;return{stabilizeScrollPosition:o=>async(...n)=>{const i=o(...n),l=s.value;if(!l)return i;const v=l.offsetTop-t.scrollTop;return await Me(),t.scrollTop=l.offsetTop-v,i}}},We="vitepress:tabSharedState",Y=typeof localStorage<"u"?localStorage:null,qe="vitepress:tabsSharedState",Pr=()=>{const s=Y==null?void 0:Y.getItem(qe);if(s)try{return JSON.parse(s)}catch{}return{}},Sr=s=>{Y&&Y.setItem(qe,JSON.stringify(s))},Vr=s=>{const t=lt({});G(()=>t.content,(e,o)=>{e&&o&&Sr(e)},{deep:!0}),s.provide(We,t)},Lr=(s,t)=>{const e=J(We);if(!e)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");j(()=>{e.content||(e.content=Pr())});const o=w(),n=g({get(){var d;const l=t.value,v=s.value;if(l){const m=(d=e.content)==null?void 0:d[l];if(m&&v.includes(m))return m}else{const m=o.value;if(m)return m}return v[0]},set(l){const v=t.value;v?e.content&&(e.content[v]=l):o.value=l}});return{selected:n,select:l=>{n.value=l}}};let Le=0;const Tr=()=>(Le++,""+Le);function wr(){const s=Be();return g(()=>{var o;const e=(o=s.default)==null?void 0:o.call(s);return e?e.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var i;return(i=n.props)==null?void 0:i.label}):[]})}const Je="vitepress:tabSingleState",Ir=s=>{_e(Je,s)},Nr=()=>{const s=J(Je);if(!s)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return s},Mr={class:"plugin-tabs"},Ar=["id","aria-selected","aria-controls","tabindex","onClick"],Cr=_({__name:"PluginTabs",props:{sharedStateKey:{}},setup(s){const t=s,e=wr(),{selected:o,select:n}=Lr(e,ct(t,"sharedStateKey")),i=w(),{stabilizeScrollPosition:l}=yr(i),v=l(n),d=w([]),m=k=>{var A;const V=e.value.indexOf(o.value);let S;k.key==="ArrowLeft"?S=V>=1?V-1:e.value.length-1:k.key==="ArrowRight"&&(S=V(a(),u("div",Mr,[h("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:m},[(a(!0),u(M,null,E(r(e),S=>(a(),u("button",{id:`tab-${S}-${r(P)}`,ref_for:!0,ref_key:"buttonRefs",ref:d,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===r(o),"aria-controls":`panel-${S}-${r(P)}`,tabindex:S===r(o)?0:-1,onClick:()=>r(v)(S)},T(S),9,Ar))),128))],544),c(k.$slots,"default")]))}}),Br=["id","aria-labelledby"],Hr=_({__name:"PluginTabsTab",props:{label:{}},setup(s){const{uid:t,selected:e}=Nr();return(o,n)=>r(e)===o.label?(a(),u("div",{key:0,id:`panel-${o.label}-${r(t)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${o.label}-${r(t)}`},[c(o.$slots,"default",{},void 0,!0)],8,Br)):f("",!0)}}),Er=$(Hr,[["__scopeId","data-v-9b0d03d2"]]),Dr=s=>{Vr(s),s.component("PluginTabs",Cr),s.component("PluginTabsTab",Er)},Or={extends:Ve,Layout(){return ut(Ve.Layout,null,{})},enhanceApp({app:s,router:t,siteData:e}){Dr(s)}};export{Or as R,Qn as c,L as u}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.B14VtkPM.js","assets/chunks/framework.BResyDFY.js"] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/dev/assets/chunks/theme.Ddw-j1ke.js b/dev/assets/chunks/theme.Ddw-j1ke.js new file mode 100644 index 0000000..2e73de5 --- /dev/null +++ b/dev/assets/chunks/theme.Ddw-j1ke.js @@ -0,0 +1,7 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.-AZ4MAmB.js","assets/chunks/framework.CUwTDK2x.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +import{d as _,o as a,c as u,r as c,n as N,a as D,t as T,b as y,w as v,T as pe,e as f,_ as $,u as Je,i as Ye,f as Xe,g as he,h as w,j as J,k as g,l as G,m as p,p as i,q as B,s as H,v as K,x as le,y as z,z as te,A as fe,B as Te,C as Qe,D as Ze,E as R,F as M,G as E,H as we,I as se,J as b,K as W,L as Ie,M as oe,N as Z,O as Y,P as xe,Q as Ne,R as et,S as ce,U as Me,V as Ae,W as tt,X as st,Y as ot,Z as Ce,$ as _e,a0 as nt,a1 as at,a2 as rt,a3 as Be,a4 as it,a5 as lt,a6 as ct}from"./framework.CUwTDK2x.js";const ut=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(t,e)=>(a(),u("span",{class:N(["VPBadge",t.type])},[c(t.$slots,"default",{},()=>[D(T(t.text),1)])],2))}}),dt={key:0,class:"VPBackdrop"},vt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(t,e)=>(a(),y(pe,{name:"fade"},{default:v(()=>[t.show?(a(),u("div",dt)):f("",!0)]),_:1}))}}),pt=$(vt,[["__scopeId","data-v-b06cdb19"]]),L=Je;function ht(s,t){let e,o=!1;return()=>{e&&clearTimeout(e),o?e=setTimeout(s,t):(s(),(o=!0)&&setTimeout(()=>o=!1,t))}}function ue(s){return/^\//.test(s)?s:`/${s}`}function me(s){const{pathname:t,search:e,hash:o,protocol:n}=new URL(s,"http://a.com");if(Ye(s)||s.startsWith("#")||!n.startsWith("http")||!Xe(t))return s;const{site:r}=L(),l=t.endsWith("/")||t.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${e}${o}`);return he(l)}const be=w(J?location.hash:"");J&&window.addEventListener("hashchange",()=>{be.value=location.hash});function Q({removeCurrent:s=!0,correspondingLink:t=!1}={}){const{site:e,localeIndex:o,page:n,theme:r}=L(),l=g(()=>{var d,m;return{label:(d=e.value.locales[o.value])==null?void 0:d.label,link:((m=e.value.locales[o.value])==null?void 0:m.link)||(o.value==="root"?"/":`/${o.value}/`)}});return{localeLinks:g(()=>Object.entries(e.value.locales).flatMap(([d,m])=>s&&l.value.label===m.label?[]:{text:m.label,link:ft(m.link||(d==="root"?"/":`/${d}/`),r.value.i18nRouting!==!1&&t,n.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+be.value})),currentLang:l}}function ft(s,t,e,o){return t?s.replace(/\/$/,"")+ue(e.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const _t=s=>(B("data-v-792811ca"),s=s(),H(),s),mt={class:"NotFound"},bt={class:"code"},kt={class:"title"},$t=_t(()=>p("div",{class:"divider"},null,-1)),gt={class:"quote"},yt={class:"action"},Pt=["href","aria-label"],St=_({__name:"NotFound",setup(s){const{site:t,theme:e}=L(),{localeLinks:o}=Q({removeCurrent:!1}),n=w("/");return G(()=>{var l;const r=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");o.value.length&&(n.value=((l=o.value.find(({link:h})=>h.startsWith(r)))==null?void 0:l.link)||o.value[0].link)}),(r,l)=>{var h,d,m,P,k;return a(),u("div",mt,[p("p",bt,T(((h=i(e).notFound)==null?void 0:h.code)??"404"),1),p("h1",kt,T(((d=i(e).notFound)==null?void 0:d.title)??"PAGE NOT FOUND"),1),$t,p("blockquote",gt,T(((m=i(e).notFound)==null?void 0:m.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",yt,[p("a",{class:"link",href:i(he)(n.value),"aria-label":((P=i(e).notFound)==null?void 0:P.linkLabel)??"go to home"},T(((k=i(e).notFound)==null?void 0:k.linkText)??"Take me home"),9,Pt)])])}}}),Vt=$(St,[["__scopeId","data-v-792811ca"]]);function He(s,t){if(Array.isArray(s))return x(s);if(s==null)return[];t=ue(t);const e=Object.keys(s).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>t.startsWith(ue(n))),o=e?s[e]:[];return Array.isArray(o)?x(o):x(o.items,o.base)}function Lt(s){const t=[];let e=0;for(const o in s){const n=s[o];if(n.items){e=t.push(n);continue}t[e]||t.push({items:[]}),t[e].items.push(n)}return t}function Tt(s){const t=[];function e(o){for(const n of o)n.text&&n.link&&t.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&e(n.items)}return e(s),t}function de(s,t){return Array.isArray(t)?t.some(e=>de(s,e)):K(s,t.link)?!0:t.items?de(s,t.items):!1}function x(s,t){return[...s].map(e=>{const o={...e},n=o.base||t;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=x(o.items,n)),o})}function O(){const{frontmatter:s,page:t,theme:e}=L(),o=le("(min-width: 960px)"),n=w(!1),r=g(()=>{const C=e.value.sidebar,I=t.value.relativePath;return C?He(C,I):[]}),l=w(r.value);z(r,(C,I)=>{JSON.stringify(C)!==JSON.stringify(I)&&(l.value=r.value)});const h=g(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),d=g(()=>m?s.value.aside==null?e.value.aside==="left":s.value.aside==="left":!1),m=g(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:e.value.aside!==!1),P=g(()=>h.value&&o.value),k=g(()=>h.value?Lt(l.value):[]);function V(){n.value=!0}function S(){n.value=!1}function A(){n.value?S():V()}return{isOpen:n,sidebar:l,sidebarGroups:k,hasSidebar:h,hasAside:m,leftAside:d,isSidebarEnabled:P,open:V,close:S,toggle:A}}function wt(s,t){let e;te(()=>{e=s.value?document.activeElement:void 0}),G(()=>{window.addEventListener("keyup",o)}),fe(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(t(),e==null||e.focus())}}function It(s){const{page:t}=L(),e=w(!1),o=g(()=>s.value.collapsed!=null),n=g(()=>!!s.value.link),r=w(!1),l=()=>{r.value=K(t.value.relativePath,s.value.link)};z([t,s,be],l),G(l);const h=g(()=>r.value?!0:s.value.items?de(t.value.relativePath,s.value.items):!1),d=g(()=>!!(s.value.items&&s.value.items.length));te(()=>{e.value=!!(o.value&&s.value.collapsed)}),Te(()=>{(r.value||h.value)&&(e.value=!1)});function m(){o.value&&(e.value=!e.value)}return{collapsed:e,collapsible:o,isLink:n,isActiveLink:r,hasActiveLink:h,hasChildren:d,toggle:m}}function Nt(){const{hasSidebar:s}=O(),t=le("(min-width: 960px)"),e=le("(min-width: 1280px)");return{isAsideEnabled:g(()=>!e.value&&!t.value?!1:s.value?e.value:t.value)}}const ve=[];function Ee(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function ke(s){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(e=>e.id&&e.hasChildNodes()).map(e=>{const o=Number(e.tagName[1]);return{element:e,title:Mt(e),link:"#"+e.id,level:o}});return At(t,s)}function Mt(s){let t="";for(const e of s.childNodes)if(e.nodeType===1){if(e.classList.contains("VPBadge")||e.classList.contains("header-anchor")||e.classList.contains("ignore-header"))continue;t+=e.textContent}else e.nodeType===3&&(t+=e.textContent);return t.trim()}function At(s,t){if(t===!1)return[];const e=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[o,n]=typeof e=="number"?[e,e]:e==="deep"?[2,6]:e;s=s.filter(l=>l.level>=o&&l.level<=n),ve.length=0;for(const{element:l,link:h}of s)ve.push({element:l,link:h});const r=[];e:for(let l=0;l=0;d--){const m=s[d];if(m.level{requestAnimationFrame(r),window.addEventListener("scroll",o)}),Qe(()=>{l(location.hash)}),fe(()=>{window.removeEventListener("scroll",o)});function r(){if(!e.value)return;const h=window.scrollY,d=window.innerHeight,m=document.body.offsetHeight,P=Math.abs(h+d-m)<1,k=ve.map(({element:S,link:A})=>({link:A,top:Bt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,A)=>S.top-A.top);if(!k.length){l(null);return}if(h<1){l(null);return}if(P){l(k[k.length-1].link);return}let V=null;for(const{link:S,top:A}of k){if(A>h+Ze()+4)break;V=S}l(V)}function l(h){n&&n.classList.remove("active"),h==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const d=n;d?(d.classList.add("active"),t.value.style.top=d.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function Bt(s){let t=0;for(;s!==document.body;){if(s===null)return NaN;t+=s.offsetTop,s=s.offsetParent}return t}const Ht=["href","title"],Et=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(s){function t({target:e}){const o=e.href.split("#")[1],n=document.getElementById(decodeURIComponent(o));n==null||n.focus({preventScroll:!0})}return(e,o)=>{const n=R("VPDocOutlineItem",!0);return a(),u("ul",{class:N(["VPDocOutlineItem",e.root?"root":"nested"])},[(a(!0),u(M,null,E(e.headers,({children:r,link:l,title:h})=>(a(),u("li",null,[p("a",{class:"outline-link",href:l,onClick:t,title:h},T(h),9,Ht),r!=null&&r.length?(a(),y(n,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}}),De=$(Et,[["__scopeId","data-v-3f927ebe"]]),Dt=s=>(B("data-v-c14bfc45"),s=s(),H(),s),Ft={class:"content"},Ot={class:"outline-title",role:"heading","aria-level":"2"},Ut={"aria-labelledby":"doc-outline-aria-label"},jt=Dt(()=>p("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Gt=_({__name:"VPDocAsideOutline",setup(s){const{frontmatter:t,theme:e}=L(),o=we([]);se(()=>{o.value=ke(t.value.outline??e.value.outline)});const n=w(),r=w();return Ct(n,r),(l,h)=>(a(),u("div",{class:N(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n,role:"navigation"},[p("div",Ft,[p("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),p("div",Ot,T(i(Ee)(i(e))),1),p("nav",Ut,[jt,b(De,{headers:o.value,root:!0},null,8,["headers"])])])],2))}}),zt=$(Gt,[["__scopeId","data-v-c14bfc45"]]),Kt={class:"VPDocAsideCarbonAds"},Rt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const t=()=>null;return(e,o)=>(a(),u("div",Kt,[b(i(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),qt=s=>(B("data-v-6d7b3c46"),s=s(),H(),s),Wt={class:"VPDocAside"},Jt=qt(()=>p("div",{class:"spacer"},null,-1)),Yt=_({__name:"VPDocAside",setup(s){const{theme:t}=L();return(e,o)=>(a(),u("div",Wt,[c(e.$slots,"aside-top",{},void 0,!0),c(e.$slots,"aside-outline-before",{},void 0,!0),b(zt),c(e.$slots,"aside-outline-after",{},void 0,!0),Jt,c(e.$slots,"aside-ads-before",{},void 0,!0),i(t).carbonAds?(a(),y(Rt,{key:0,"carbon-ads":i(t).carbonAds},null,8,["carbon-ads"])):f("",!0),c(e.$slots,"aside-ads-after",{},void 0,!0),c(e.$slots,"aside-bottom",{},void 0,!0)]))}}),Xt=$(Yt,[["__scopeId","data-v-6d7b3c46"]]);function Qt(){const{theme:s,page:t}=L();return g(()=>{const{text:e="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(t.value):n=o.replace(/:path/g,t.value.filePath),{url:n,text:e}})}function Zt(){const{page:s,theme:t,frontmatter:e}=L();return g(()=>{var m,P,k,V,S,A,C,I;const o=He(t.value.sidebar,s.value.relativePath),n=Tt(o),r=xt(n,U=>U.link.replace(/[?#].*$/,"")),l=r.findIndex(U=>K(s.value.relativePath,U.link)),h=((m=t.value.docFooter)==null?void 0:m.prev)===!1&&!e.value.prev||e.value.prev===!1,d=((P=t.value.docFooter)==null?void 0:P.next)===!1&&!e.value.next||e.value.next===!1;return{prev:h?void 0:{text:(typeof e.value.prev=="string"?e.value.prev:typeof e.value.prev=="object"?e.value.prev.text:void 0)??((k=r[l-1])==null?void 0:k.docFooterText)??((V=r[l-1])==null?void 0:V.text),link:(typeof e.value.prev=="object"?e.value.prev.link:void 0)??((S=r[l-1])==null?void 0:S.link)},next:d?void 0:{text:(typeof e.value.next=="string"?e.value.next:typeof e.value.next=="object"?e.value.next.text:void 0)??((A=r[l+1])==null?void 0:A.docFooterText)??((C=r[l+1])==null?void 0:C.text),link:(typeof e.value.next=="object"?e.value.next.link:void 0)??((I=r[l+1])==null?void 0:I.link)}}})}function xt(s,t){const e=new Set;return s.filter(o=>{const n=t(o);return e.has(n)?!1:e.add(n)})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const t=s,e=g(()=>t.tag??(t.href?"a":"span")),o=g(()=>t.href&&Ie.test(t.href));return(n,r)=>(a(),y(W(e.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?i(me)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:v(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),es={class:"VPLastUpdated"},ts=["datetime"],ss=_({__name:"VPDocFooterLastUpdated",setup(s){const{theme:t,page:e,frontmatter:o,lang:n}=L(),r=g(()=>new Date(o.value.lastUpdated??e.value.lastUpdated)),l=g(()=>r.value.toISOString()),h=w("");return G(()=>{te(()=>{var d,m,P;h.value=new Intl.DateTimeFormat((m=(d=t.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&m.forceLocale?n.value:void 0,((P=t.value.lastUpdated)==null?void 0:P.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(r.value)})}),(d,m)=>{var P;return a(),u("p",es,[D(T(((P=i(t).lastUpdated)==null?void 0:P.text)||i(t).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:l.value},T(h.value),9,ts)])}}}),os=$(ss,[["__scopeId","data-v-9da12f1d"]]),ns=s=>(B("data-v-87be45d1"),s=s(),H(),s),as={key:0,class:"VPDocFooter"},rs={key:0,class:"edit-info"},is={key:0,class:"edit-link"},ls=ns(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),cs={key:1,class:"last-updated"},us={key:1,class:"prev-next"},ds={class:"pager"},vs=["innerHTML"],ps=["innerHTML"],hs={class:"pager"},fs=["innerHTML"],_s=["innerHTML"],ms=_({__name:"VPDocFooter",setup(s){const{theme:t,page:e,frontmatter:o}=L(),n=Qt(),r=Zt(),l=g(()=>t.value.editLink&&o.value.editLink!==!1),h=g(()=>e.value.lastUpdated&&o.value.lastUpdated!==!1),d=g(()=>l.value||h.value||r.value.prev||r.value.next);return(m,P)=>{var k,V,S,A;return d.value?(a(),u("footer",as,[c(m.$slots,"doc-footer-before",{},void 0,!0),l.value||h.value?(a(),u("div",rs,[l.value?(a(),u("div",is,[b(F,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:v(()=>[ls,D(" "+T(i(n).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),u("div",cs,[b(os)])):f("",!0)])):f("",!0),(k=i(r).prev)!=null&&k.link||(V=i(r).next)!=null&&V.link?(a(),u("nav",us,[p("div",ds,[(S=i(r).prev)!=null&&S.link?(a(),y(F,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:v(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=i(t).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,vs),p("span",{class:"title",innerHTML:i(r).prev.text},null,8,ps)]}),_:1},8,["href"])):f("",!0)]),p("div",hs,[(A=i(r).next)!=null&&A.link?(a(),y(F,{key:0,class:"pager-link next",href:i(r).next.link},{default:v(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=i(t).docFooter)==null?void 0:C.next)||"Next page"},null,8,fs),p("span",{class:"title",innerHTML:i(r).next.text},null,8,_s)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),bs=$(ms,[["__scopeId","data-v-87be45d1"]]),ks=s=>(B("data-v-83890dd9"),s=s(),H(),s),$s={class:"container"},gs=ks(()=>p("div",{class:"aside-curtain"},null,-1)),ys={class:"aside-container"},Ps={class:"aside-content"},Ss={class:"content"},Vs={class:"content-container"},Ls={class:"main"},Ts=_({__name:"VPDoc",setup(s){const{theme:t}=L(),e=oe(),{hasSidebar:o,hasAside:n,leftAside:r}=O(),l=g(()=>e.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,d)=>{const m=R("Content");return a(),u("div",{class:N(["VPDoc",{"has-sidebar":i(o),"has-aside":i(n)}])},[c(h.$slots,"doc-top",{},void 0,!0),p("div",$s,[i(n)?(a(),u("div",{key:0,class:N(["aside",{"left-aside":i(r)}])},[gs,p("div",ys,[p("div",Ps,[b(Xt,null,{"aside-top":v(()=>[c(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[c(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[c(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),p("div",Ss,[p("div",Vs,[c(h.$slots,"doc-before",{},void 0,!0),p("main",Ls,[b(m,{class:N(["vp-doc",[l.value,i(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),b(bs,null,{"doc-footer-before":v(()=>[c(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(h.$slots,"doc-after",{},void 0,!0)])])]),c(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ws=$(Ts,[["__scopeId","data-v-83890dd9"]]),Is=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const t=s,e=g(()=>t.href&&Ie.test(t.href)),o=g(()=>t.tag||t.href?"a":"button");return(n,r)=>(a(),y(W(o.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?i(me)(n.href):void 0,target:t.target??(e.value?"_blank":void 0),rel:t.rel??(e.value?"noreferrer":void 0)},{default:v(()=>[D(T(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ns=$(Is,[["__scopeId","data-v-14206e74"]]),Ms=["src","alt"],As=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(t,e)=>{const o=R("VPImage",!0);return t.image?(a(),u(M,{key:0},[typeof t.image=="string"||"src"in t.image?(a(),u("img",Z({key:0,class:"VPImage"},typeof t.image=="string"?t.$attrs:{...t.image,...t.$attrs},{src:i(he)(typeof t.image=="string"?t.image:t.image.src),alt:t.alt??(typeof t.image=="string"?"":t.image.alt||"")}),null,16,Ms)):(a(),u(M,{key:1},[b(o,Z({class:"dark",image:t.image.dark,alt:t.image.alt},t.$attrs),null,16,["image","alt"]),b(o,Z({class:"light",image:t.image.light,alt:t.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),ee=$(As,[["__scopeId","data-v-35a7d0b8"]]),Cs=s=>(B("data-v-955009fc"),s=s(),H(),s),Bs={class:"container"},Hs={class:"main"},Es={key:0,class:"name"},Ds=["innerHTML"],Fs=["innerHTML"],Os=["innerHTML"],Us={key:0,class:"actions"},js={key:0,class:"image"},Gs={class:"image-container"},zs=Cs(()=>p("div",{class:"image-bg"},null,-1)),Ks=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const t=Y("hero-image-slot-exists");return(e,o)=>(a(),u("div",{class:N(["VPHero",{"has-image":e.image||i(t)}])},[p("div",Bs,[p("div",Hs,[c(e.$slots,"home-hero-info-before",{},void 0,!0),c(e.$slots,"home-hero-info",{},()=>[e.name?(a(),u("h1",Es,[p("span",{innerHTML:e.name,class:"clip"},null,8,Ds)])):f("",!0),e.text?(a(),u("p",{key:1,innerHTML:e.text,class:"text"},null,8,Fs)):f("",!0),e.tagline?(a(),u("p",{key:2,innerHTML:e.tagline,class:"tagline"},null,8,Os)):f("",!0)],!0),c(e.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(a(),u("div",Us,[(a(!0),u(M,null,E(e.actions,n=>(a(),u("div",{key:n.link,class:"action"},[b(Ns,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),c(e.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||i(t)?(a(),u("div",js,[p("div",Gs,[zs,c(e.$slots,"home-hero-image",{},()=>[e.image?(a(),y(ee,{key:0,class:"image-src",image:e.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Rs=$(Ks,[["__scopeId","data-v-955009fc"]]),qs=_({__name:"VPHomeHero",setup(s){const{frontmatter:t}=L();return(e,o)=>i(t).hero?(a(),y(Rs,{key:0,class:"VPHomeHero",name:i(t).hero.name,text:i(t).hero.text,tagline:i(t).hero.tagline,image:i(t).hero.image,actions:i(t).hero.actions},{"home-hero-info-before":v(()=>[c(e.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[c(e.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[c(e.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[c(e.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[c(e.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Ws=s=>(B("data-v-f5e9645b"),s=s(),H(),s),Js={class:"box"},Ys={key:0,class:"icon"},Xs=["innerHTML"],Qs=["innerHTML"],Zs=["innerHTML"],xs={key:4,class:"link-text"},eo={class:"link-text-value"},to=Ws(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),so=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(t,e)=>(a(),y(F,{class:"VPFeature",href:t.link,rel:t.rel,target:t.target,"no-icon":!0,tag:t.link?"a":"div"},{default:v(()=>[p("article",Js,[typeof t.icon=="object"&&t.icon.wrap?(a(),u("div",Ys,[b(ee,{image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])])):typeof t.icon=="object"?(a(),y(ee,{key:1,image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])):t.icon?(a(),u("div",{key:2,class:"icon",innerHTML:t.icon},null,8,Xs)):f("",!0),p("h2",{class:"title",innerHTML:t.title},null,8,Qs),t.details?(a(),u("p",{key:3,class:"details",innerHTML:t.details},null,8,Zs)):f("",!0),t.linkText?(a(),u("div",xs,[p("p",eo,[D(T(t.linkText)+" ",1),to])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),oo=$(so,[["__scopeId","data-v-f5e9645b"]]),no={key:0,class:"VPFeatures"},ao={class:"container"},ro={class:"items"},io=_({__name:"VPFeatures",props:{features:{}},setup(s){const t=s,e=g(()=>{const o=t.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",no,[p("div",ao,[p("div",ro,[(a(!0),u(M,null,E(o.features,r=>(a(),u("div",{key:r.title,class:N(["item",[e.value]])},[b(oo,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),lo=$(io,[["__scopeId","data-v-d0a190d7"]]),co=_({__name:"VPHomeFeatures",setup(s){const{frontmatter:t}=L();return(e,o)=>i(t).features?(a(),y(lo,{key:0,class:"VPHomeFeatures",features:i(t).features},null,8,["features"])):f("",!0)}}),uo=_({__name:"VPHomeContent",setup(s){const{width:t}=xe({includeScrollbar:!1});return(e,o)=>(a(),u("div",{class:"vp-doc container",style:Ne(i(t)?{"--vp-offset":`calc(50% - ${i(t)/2}px)`}:{})},[c(e.$slots,"default",{},void 0,!0)],4))}}),vo=$(uo,[["__scopeId","data-v-c43247eb"]]),po={class:"VPHome"},ho=_({__name:"VPHome",setup(s){const{frontmatter:t}=L();return(e,o)=>{const n=R("Content");return a(),u("div",po,[c(e.$slots,"home-hero-before",{},void 0,!0),b(qs,null,{"home-hero-info-before":v(()=>[c(e.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[c(e.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[c(e.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[c(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(e.$slots,"home-hero-after",{},void 0,!0),c(e.$slots,"home-features-before",{},void 0,!0),b(co),c(e.$slots,"home-features-after",{},void 0,!0),i(t).markdownStyles!==!1?(a(),y(vo,{key:0},{default:v(()=>[b(n)]),_:1})):(a(),y(n,{key:1}))])}}}),fo=$(ho,[["__scopeId","data-v-cbb6ec48"]]),_o={},mo={class:"VPPage"};function bo(s,t){const e=R("Content");return a(),u("div",mo,[c(s.$slots,"page-top"),b(e),c(s.$slots,"page-bottom")])}const ko=$(_o,[["render",bo]]),$o=_({__name:"VPContent",setup(s){const{page:t,frontmatter:e}=L(),{hasSidebar:o}=O();return(n,r)=>(a(),u("div",{class:N(["VPContent",{"has-sidebar":i(o),"is-home":i(e).layout==="home"}]),id:"VPContent"},[i(t).isNotFound?c(n.$slots,"not-found",{key:0},()=>[b(Vt)],!0):i(e).layout==="page"?(a(),y(ko,{key:1},{"page-top":v(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(e).layout==="home"?(a(),y(fo,{key:2},{"home-hero-before":v(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(e).layout&&i(e).layout!=="doc"?(a(),y(W(i(e).layout),{key:3})):(a(),y(ws,{key:4},{"doc-top":v(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),go=$($o,[["__scopeId","data-v-91765379"]]),yo={class:"container"},Po=["innerHTML"],So=["innerHTML"],Vo=_({__name:"VPFooter",setup(s){const{theme:t,frontmatter:e}=L(),{hasSidebar:o}=O();return(n,r)=>i(t).footer&&i(e).footer!==!1?(a(),u("footer",{key:0,class:N(["VPFooter",{"has-sidebar":i(o)}])},[p("div",yo,[i(t).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:i(t).footer.message},null,8,Po)):f("",!0),i(t).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:i(t).footer.copyright},null,8,So)):f("",!0)])],2)):f("",!0)}}),Lo=$(Vo,[["__scopeId","data-v-c970a860"]]);function To(){const{theme:s,frontmatter:t}=L(),e=we([]),o=g(()=>e.value.length>0);return se(()=>{e.value=ke(t.value.outline??s.value.outline)}),{headers:e,hasLocalNav:o}}const wo=s=>(B("data-v-c9ba27ad"),s=s(),H(),s),Io=wo(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),No={class:"header"},Mo={class:"outline"},Ao=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const t=s,{theme:e}=L(),o=w(!1),n=w(0),r=w(),l=w();et(r,()=>{o.value=!1}),ce("Escape",()=>{o.value=!1}),se(()=>{o.value=!1});function h(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function d(P){P.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Me(()=>{o.value=!1}))}function m(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(P,k)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Ne({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[P.headers.length>0?(a(),u("button",{key:0,onClick:h,class:N({open:o.value})},[D(T(i(Ee)(i(e)))+" ",1),Io],2)):(a(),u("button",{key:1,onClick:m},T(i(e).returnToTopLabel||"Return to top"),1)),b(pe,{name:"flyout"},{default:v(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:d},[p("div",No,[p("a",{class:"top-link",href:"#",onClick:m},T(i(e).returnToTopLabel||"Return to top"),1)]),p("div",Mo,[b(De,{headers:P.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Co=$(Ao,[["__scopeId","data-v-c9ba27ad"]]),Bo=s=>(B("data-v-070ab83d"),s=s(),H(),s),Ho={class:"container"},Eo=["aria-expanded"],Do=Bo(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),Fo={class:"menu-text"},Oo=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:t,frontmatter:e}=L(),{hasSidebar:o}=O(),{headers:n}=To(),{y:r}=Ae(),l=w(0);G(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),se(()=>{n.value=ke(e.value.outline??t.value.outline)});const h=g(()=>n.value.length===0),d=g(()=>h.value&&!o.value),m=g(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:h.value,fixed:d.value}));return(P,k)=>i(e).layout!=="home"&&(!d.value||i(r)>=l.value)?(a(),u("div",{key:0,class:N(m.value)},[p("div",Ho,[i(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":P.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=V=>P.$emit("open-menu"))},[Do,p("span",Fo,T(i(t).sidebarMenuLabel||"Menu"),1)],8,Eo)):f("",!0),b(Co,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Uo=$(Oo,[["__scopeId","data-v-070ab83d"]]);function jo(){const s=w(!1);function t(){s.value=!0,window.addEventListener("resize",n)}function e(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?e():t()}function n(){window.outerWidth>=768&&e()}const r=oe();return z(()=>r.path,e),{isScreenOpen:s,openScreen:t,closeScreen:e,toggleScreen:o}}const Go={},zo={class:"VPSwitch",type:"button",role:"switch"},Ko={class:"check"},Ro={key:0,class:"icon"};function qo(s,t){return a(),u("button",zo,[p("span",Ko,[s.$slots.default?(a(),u("span",Ro,[c(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Wo=$(Go,[["render",qo],["__scopeId","data-v-4a1c76db"]]),Fe=s=>(B("data-v-b79b56d4"),s=s(),H(),s),Jo=Fe(()=>p("span",{class:"vpi-sun sun"},null,-1)),Yo=Fe(()=>p("span",{class:"vpi-moon moon"},null,-1)),Xo=_({__name:"VPSwitchAppearance",setup(s){const{isDark:t,theme:e}=L(),o=Y("toggle-appearance",()=>{t.value=!t.value}),n=g(()=>t.value?e.value.lightModeSwitchTitle||"Switch to light theme":e.value.darkModeSwitchTitle||"Switch to dark theme");return(r,l)=>(a(),y(Wo,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(t),onClick:i(o)},{default:v(()=>[Jo,Yo]),_:1},8,["title","aria-checked","onClick"]))}}),$e=$(Xo,[["__scopeId","data-v-b79b56d4"]]),Qo={key:0,class:"VPNavBarAppearance"},Zo=_({__name:"VPNavBarAppearance",setup(s){const{site:t}=L();return(e,o)=>i(t).appearance&&i(t).appearance!=="force-dark"?(a(),u("div",Qo,[b($e)])):f("",!0)}}),xo=$(Zo,[["__scopeId","data-v-ead91a81"]]),ge=w();let Oe=!1,ie=0;function en(s){const t=w(!1);if(J){!Oe&&tn(),ie++;const e=z(ge,o=>{var n,r,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(t.value=!0,(r=s.onFocus)==null||r.call(s)):(t.value=!1,(l=s.onBlur)==null||l.call(s))});fe(()=>{e(),ie--,ie||sn()})}return tt(t)}function tn(){document.addEventListener("focusin",Ue),Oe=!0,ge.value=document.activeElement}function sn(){document.removeEventListener("focusin",Ue)}function Ue(){ge.value=document.activeElement}const on={class:"VPMenuLink"},nn=_({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:t}=L();return(e,o)=>(a(),u("div",on,[b(F,{class:N({active:i(K)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:v(()=>[D(T(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=$(nn,[["__scopeId","data-v-8b74d055"]]),an={class:"VPMenuGroup"},rn={key:0,class:"title"},ln=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(t,e)=>(a(),u("div",an,[t.text?(a(),u("p",rn,T(t.text),1)):f("",!0),(a(!0),u(M,null,E(t.items,o=>(a(),u(M,null,["link"in o?(a(),y(ne,{key:0,item:o},null,8,["item"])):f("",!0)],64))),256))]))}}),cn=$(ln,[["__scopeId","data-v-48c802d0"]]),un={class:"VPMenu"},dn={key:0,class:"items"},vn=_({__name:"VPMenu",props:{items:{}},setup(s){return(t,e)=>(a(),u("div",un,[t.items?(a(),u("div",dn,[(a(!0),u(M,null,E(t.items,o=>(a(),u(M,{key:o.text},["link"in o?(a(),y(ne,{key:0,item:o},null,8,["item"])):(a(),y(cn,{key:1,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0),c(t.$slots,"default",{},void 0,!0)]))}}),pn=$(vn,[["__scopeId","data-v-97491713"]]),hn=s=>(B("data-v-e5380155"),s=s(),H(),s),fn=["aria-expanded","aria-label"],_n={key:0,class:"text"},mn=["innerHTML"],bn=hn(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),kn={key:1,class:"vpi-more-horizontal icon"},$n={class:"menu"},gn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const t=w(!1),e=w();en({el:e,onBlur:o});function o(){t.value=!1}return(n,r)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:e,onMouseenter:r[1]||(r[1]=l=>t.value=!0),onMouseleave:r[2]||(r[2]=l=>t.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>t.value=!t.value)},[n.button||n.icon?(a(),u("span",_n,[n.icon?(a(),u("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,mn)):f("",!0),bn])):(a(),u("span",kn))],8,fn),p("div",$n,[b(pn,{items:n.items},{default:v(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ye=$(gn,[["__scopeId","data-v-e5380155"]]),yn=["href","aria-label","innerHTML"],Pn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const t=s,e=g(()=>typeof t.icon=="object"?t.icon.svg:``);return(o,n)=>(a(),u("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:e.value},null,8,yn))}}),Sn=$(Pn,[["__scopeId","data-v-717b8b75"]]),Vn={class:"VPSocialLinks"},Ln=_({__name:"VPSocialLinks",props:{links:{}},setup(s){return(t,e)=>(a(),u("div",Vn,[(a(!0),u(M,null,E(t.links,({link:o,icon:n,ariaLabel:r})=>(a(),y(Sn,{key:o,icon:n,link:o,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),Pe=$(Ln,[["__scopeId","data-v-ee7a9424"]]),Tn={key:0,class:"group translations"},wn={class:"trans-title"},In={key:1,class:"group"},Nn={class:"item appearance"},Mn={class:"label"},An={class:"appearance-action"},Cn={key:2,class:"group"},Bn={class:"item social-links"},Hn=_({__name:"VPNavBarExtra",setup(s){const{site:t,theme:e}=L(),{localeLinks:o,currentLang:n}=Q({correspondingLink:!0}),r=g(()=>o.value.length&&n.value.label||t.value.appearance||e.value.socialLinks);return(l,h)=>r.value?(a(),y(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[i(o).length&&i(n).label?(a(),u("div",Tn,[p("p",wn,T(i(n).label),1),(a(!0),u(M,null,E(i(o),d=>(a(),y(ne,{key:d.link,item:d},null,8,["item"]))),128))])):f("",!0),i(t).appearance&&i(t).appearance!=="force-dark"?(a(),u("div",In,[p("div",Nn,[p("p",Mn,T(i(e).darkModeSwitchLabel||"Appearance"),1),p("div",An,[b($e)])])])):f("",!0),i(e).socialLinks?(a(),u("div",Cn,[p("div",Bn,[b(Pe,{class:"social-links-list",links:i(e).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),En=$(Hn,[["__scopeId","data-v-9b536d0b"]]),Dn=s=>(B("data-v-5dea55bf"),s=s(),H(),s),Fn=["aria-expanded"],On=Dn(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),Un=[On],jn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(t,e)=>(a(),u("button",{type:"button",class:N(["VPNavBarHamburger",{active:t.active}]),"aria-label":"mobile navigation","aria-expanded":t.active,"aria-controls":"VPNavScreen",onClick:e[0]||(e[0]=o=>t.$emit("click"))},Un,10,Fn))}}),Gn=$(jn,[["__scopeId","data-v-5dea55bf"]]),zn=["innerHTML"],Kn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:t}=L();return(e,o)=>(a(),y(F,{class:N({VPNavBarMenuLink:!0,active:i(K)(i(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,noIcon:e.item.noIcon,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:v(()=>[p("span",{innerHTML:e.item.text},null,8,zn)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Rn=$(Kn,[["__scopeId","data-v-ed5ac1f6"]]),qn=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const t=s,{page:e}=L(),o=r=>"link"in r?K(e.value.relativePath,r.link,!!t.item.activeMatch):r.items.some(o),n=g(()=>o(t.item));return(r,l)=>(a(),y(ye,{class:N({VPNavBarMenuGroup:!0,active:i(K)(i(e).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Wn=s=>(B("data-v-492ea56d"),s=s(),H(),s),Jn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Yn=Wn(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Xn=_({__name:"VPNavBarMenu",setup(s){const{theme:t}=L();return(e,o)=>i(t).nav?(a(),u("nav",Jn,[Yn,(a(!0),u(M,null,E(i(t).nav,n=>(a(),u(M,{key:n.text},["link"in n?(a(),y(Rn,{key:0,item:n},null,8,["item"])):(a(),y(qn,{key:1,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),Qn=$(Xn,[["__scopeId","data-v-492ea56d"]]);function Zn(s){const{localeIndex:t,theme:e}=L();function o(n){var A,C,I;const r=n.split("."),l=(A=e.value.search)==null?void 0:A.options,h=l&&typeof l=="object",d=h&&((I=(C=l.locales)==null?void 0:C[t.value])==null?void 0:I.translations)||null,m=h&&l.translations||null;let P=d,k=m,V=s;const S=r.pop();for(const U of r){let j=null;const q=V==null?void 0:V[U];q&&(j=V=q);const ae=k==null?void 0:k[U];ae&&(j=k=ae);const re=P==null?void 0:P[U];re&&(j=P=re),q||(V=j),ae||(k=j),re||(P=j)}return(P==null?void 0:P[S])??(k==null?void 0:k[S])??(V==null?void 0:V[S])??""}return o}const xn=["aria-label"],ea={class:"DocSearch-Button-Container"},ta=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),sa={class:"DocSearch-Button-Placeholder"},oa=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Se=_({__name:"VPNavBarSearchButton",setup(s){const e=Zn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(e)("button.buttonAriaLabel")},[p("span",ea,[ta,p("span",sa,T(i(e)("button.buttonText")),1)]),oa],8,xn))}}),na={class:"VPNavBarSearch"},aa={id:"local-search"},ra={key:1,id:"docsearch"},ia=_({__name:"VPNavBarSearch",setup(s){const t=st(()=>ot(()=>import("./VPLocalSearchBox.-AZ4MAmB.js"),__vite__mapDeps([0,1]))),e=()=>null,{theme:o}=L(),n=w(!1),r=w(!1);G(()=>{});function l(){n.value||(n.value=!0,setTimeout(h,16))}function h(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function d(k){const V=k.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const m=w(!1);ce("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),m.value=!0)}),ce("/",k=>{d(k)||(k.preventDefault(),m.value=!0)});const P="local";return(k,V)=>{var S;return a(),u("div",na,[i(P)==="local"?(a(),u(M,{key:0},[m.value?(a(),y(i(t),{key:0,onClose:V[0]||(V[0]=A=>m.value=!1)})):f("",!0),p("div",aa,[b(Se,{onClick:V[1]||(V[1]=A=>m.value=!0)})])],64)):i(P)==="algolia"?(a(),u(M,{key:1},[n.value?(a(),y(i(e),{key:0,algolia:((S=i(o).search)==null?void 0:S.options)??i(o).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>r.value=!0)},null,8,["algolia"])):f("",!0),r.value?f("",!0):(a(),u("div",ra,[b(Se,{onClick:l})]))],64)):f("",!0)])}}}),la=_({__name:"VPNavBarSocialLinks",setup(s){const{theme:t}=L();return(e,o)=>i(t).socialLinks?(a(),y(Pe,{key:0,class:"VPNavBarSocialLinks",links:i(t).socialLinks},null,8,["links"])):f("",!0)}}),ca=$(la,[["__scopeId","data-v-164c457f"]]),ua=["href","rel","target"],da={key:1},va={key:2},pa=_({__name:"VPNavBarTitle",setup(s){const{site:t,theme:e}=L(),{hasSidebar:o}=O(),{currentLang:n}=Q(),r=g(()=>{var d;return typeof e.value.logoLink=="string"?e.value.logoLink:(d=e.value.logoLink)==null?void 0:d.link}),l=g(()=>{var d;return typeof e.value.logoLink=="string"||(d=e.value.logoLink)==null?void 0:d.rel}),h=g(()=>{var d;return typeof e.value.logoLink=="string"||(d=e.value.logoLink)==null?void 0:d.target});return(d,m)=>(a(),u("div",{class:N(["VPNavBarTitle",{"has-sidebar":i(o)}])},[p("a",{class:"title",href:r.value??i(me)(i(n).link),rel:l.value,target:h.value},[c(d.$slots,"nav-bar-title-before",{},void 0,!0),i(e).logo?(a(),y(ee,{key:0,class:"logo",image:i(e).logo},null,8,["image"])):f("",!0),i(e).siteTitle?(a(),u("span",da,T(i(e).siteTitle),1)):i(e).siteTitle===void 0?(a(),u("span",va,T(i(t).title),1)):f("",!0),c(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,ua)],2))}}),ha=$(pa,[["__scopeId","data-v-28a961f9"]]),fa={class:"items"},_a={class:"title"},ma=_({__name:"VPNavBarTranslations",setup(s){const{theme:t}=L(),{localeLinks:e,currentLang:o}=Q({correspondingLink:!0});return(n,r)=>i(e).length&&i(o).label?(a(),y(ye,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(t).langMenuLabel||"Change language"},{default:v(()=>[p("div",fa,[p("p",_a,T(i(o).label),1),(a(!0),u(M,null,E(i(e),l=>(a(),y(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ba=$(ma,[["__scopeId","data-v-c80d9ad0"]]),ka=s=>(B("data-v-40788ea0"),s=s(),H(),s),$a={class:"wrapper"},ga={class:"container"},ya={class:"title"},Pa={class:"content"},Sa={class:"content-body"},Va=ka(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),La=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:t}=Ae(),{hasSidebar:e}=O(),{frontmatter:o}=L(),n=w({});return Te(()=>{n.value={"has-sidebar":e.value,home:o.value.layout==="home",top:t.value===0}}),(r,l)=>(a(),u("div",{class:N(["VPNavBar",n.value])},[p("div",$a,[p("div",ga,[p("div",ya,[b(ha,null,{"nav-bar-title-before":v(()=>[c(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",Pa,[p("div",Sa,[c(r.$slots,"nav-bar-content-before",{},void 0,!0),b(ia,{class:"search"}),b(Qn,{class:"menu"}),b(ba,{class:"translations"}),b(xo,{class:"appearance"}),b(ca,{class:"social-links"}),b(En,{class:"extra"}),c(r.$slots,"nav-bar-content-after",{},void 0,!0),b(Gn,{class:"hamburger",active:r.isScreenOpen,onClick:l[0]||(l[0]=h=>r.$emit("toggle-screen"))},null,8,["active"])])])])]),Va],2))}}),Ta=$(La,[["__scopeId","data-v-40788ea0"]]),wa={key:0,class:"VPNavScreenAppearance"},Ia={class:"text"},Na=_({__name:"VPNavScreenAppearance",setup(s){const{site:t,theme:e}=L();return(o,n)=>i(t).appearance&&i(t).appearance!=="force-dark"?(a(),u("div",wa,[p("p",Ia,T(i(e).darkModeSwitchLabel||"Appearance"),1),b($e)])):f("",!0)}}),Ma=$(Na,[["__scopeId","data-v-2b89f08b"]]),Aa=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const t=Y("close-screen");return(e,o)=>(a(),y(F,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:i(t)},{default:v(()=>[D(T(e.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ca=$(Aa,[["__scopeId","data-v-d45ba3e8"]]),Ba=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const t=Y("close-screen");return(e,o)=>(a(),y(F,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,onClick:i(t)},{default:v(()=>[D(T(e.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),je=$(Ba,[["__scopeId","data-v-7179dbb7"]]),Ha={class:"VPNavScreenMenuGroupSection"},Ea={key:0,class:"title"},Da=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(t,e)=>(a(),u("div",Ha,[t.text?(a(),u("p",Ea,T(t.text),1)):f("",!0),(a(!0),u(M,null,E(t.items,o=>(a(),y(je,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Fa=$(Da,[["__scopeId","data-v-4b8941ac"]]),Oa=s=>(B("data-v-c9df2649"),s=s(),H(),s),Ua=["aria-controls","aria-expanded"],ja=["innerHTML"],Ga=Oa(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),za=["id"],Ka={key:1,class:"group"},Ra=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const t=s,e=w(!1),o=g(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function n(){e.value=!e.value}return(r,l)=>(a(),u("div",{class:N(["VPNavScreenMenuGroup",{open:e.value}])},[p("button",{class:"button","aria-controls":o.value,"aria-expanded":e.value,onClick:n},[p("span",{class:"button-text",innerHTML:r.text},null,8,ja),Ga],8,Ua),p("div",{id:o.value,class:"items"},[(a(!0),u(M,null,E(r.items,h=>(a(),u(M,{key:h.text},["link"in h?(a(),u("div",{key:h.text,class:"item"},[b(je,{item:h},null,8,["item"])])):(a(),u("div",Ka,[b(Fa,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,za)],2))}}),qa=$(Ra,[["__scopeId","data-v-c9df2649"]]),Wa={key:0,class:"VPNavScreenMenu"},Ja=_({__name:"VPNavScreenMenu",setup(s){const{theme:t}=L();return(e,o)=>i(t).nav?(a(),u("nav",Wa,[(a(!0),u(M,null,E(i(t).nav,n=>(a(),u(M,{key:n.text},["link"in n?(a(),y(Ca,{key:0,item:n},null,8,["item"])):(a(),y(qa,{key:1,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ya=_({__name:"VPNavScreenSocialLinks",setup(s){const{theme:t}=L();return(e,o)=>i(t).socialLinks?(a(),y(Pe,{key:0,class:"VPNavScreenSocialLinks",links:i(t).socialLinks},null,8,["links"])):f("",!0)}}),Ge=s=>(B("data-v-362991c2"),s=s(),H(),s),Xa=Ge(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),Qa=Ge(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Za={class:"list"},xa=_({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:t,currentLang:e}=Q({correspondingLink:!0}),o=w(!1);function n(){o.value=!o.value}return(r,l)=>i(t).length&&i(e).label?(a(),u("div",{key:0,class:N(["VPNavScreenTranslations",{open:o.value}])},[p("button",{class:"title",onClick:n},[Xa,D(" "+T(i(e).label)+" ",1),Qa]),p("ul",Za,[(a(!0),u(M,null,E(i(t),h=>(a(),u("li",{key:h.link,class:"item"},[b(F,{class:"link",href:h.link},{default:v(()=>[D(T(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),er=$(xa,[["__scopeId","data-v-362991c2"]]),tr={class:"container"},sr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const t=w(null),e=Ce(J?document.body:null);return(o,n)=>(a(),y(pe,{name:"fade",onEnter:n[0]||(n[0]=r=>e.value=!0),onAfterLeave:n[1]||(n[1]=r=>e.value=!1)},{default:v(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[p("div",tr,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),b(Ja,{class:"menu"}),b(er,{class:"translations"}),b(Ma,{class:"appearance"}),b(Ya,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),or=$(sr,[["__scopeId","data-v-382f42e9"]]),nr={key:0,class:"VPNav"},ar=_({__name:"VPNav",setup(s){const{isScreenOpen:t,closeScreen:e,toggleScreen:o}=jo(),{frontmatter:n}=L(),r=g(()=>n.value.navbar!==!1);return _e("close-screen",e),te(()=>{J&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,h)=>r.value?(a(),u("header",nr,[b(Ta,{"is-screen-open":i(t),onToggleScreen:i(o)},{"nav-bar-title-before":v(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),b(or,{open:i(t)},{"nav-screen-content-before":v(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),rr=$(ar,[["__scopeId","data-v-f1e365da"]]),ze=s=>(B("data-v-2ea20db7"),s=s(),H(),s),ir=["role","tabindex"],lr=ze(()=>p("div",{class:"indicator"},null,-1)),cr=ze(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),ur=[cr],dr={key:1,class:"items"},vr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const t=s,{collapsed:e,collapsible:o,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:h,toggle:d}=It(g(()=>t.item)),m=g(()=>h.value?"section":"div"),P=g(()=>n.value?"a":"div"),k=g(()=>h.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),V=g(()=>n.value?void 0:"button"),S=g(()=>[[`level-${t.depth}`],{collapsible:o.value},{collapsed:e.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function A(I){"key"in I&&I.key!=="Enter"||!t.item.link&&d()}function C(){t.item.link&&d()}return(I,U)=>{const j=R("VPSidebarItem",!0);return a(),y(W(m.value),{class:N(["VPSidebarItem",S.value])},{default:v(()=>[I.item.text?(a(),u("div",Z({key:0,class:"item",role:V.value},at(I.item.items?{click:A,keydown:A}:{},!0),{tabindex:I.item.items&&0}),[lr,I.item.link?(a(),y(F,{key:0,tag:P.value,class:"link",href:I.item.link,rel:I.item.rel,target:I.item.target},{default:v(()=>[(a(),y(W(k.value),{class:"text",innerHTML:I.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),y(W(k.value),{key:1,class:"text",innerHTML:I.item.text},null,8,["innerHTML"])),I.item.collapsed!=null&&I.item.items&&I.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:nt(C,["enter"]),tabindex:"0"},ur,32)):f("",!0)],16,ir)):f("",!0),I.item.items&&I.item.items.length?(a(),u("div",dr,[I.depth<5?(a(!0),u(M,{key:0},E(I.item.items,q=>(a(),y(j,{key:q.text,item:q,depth:I.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),pr=$(vr,[["__scopeId","data-v-2ea20db7"]]),Ke=s=>(B("data-v-ec846e01"),s=s(),H(),s),hr=Ke(()=>p("div",{class:"curtain"},null,-1)),fr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},_r=Ke(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),mr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:t,hasSidebar:e}=O(),o=s,n=w(null),r=Ce(J?document.body:null);return z([o,n],()=>{var l;o.open?(r.value=!0,(l=n.value)==null||l.focus()):r.value=!1},{immediate:!0,flush:"post"}),(l,h)=>i(e)?(a(),u("aside",{key:0,class:N(["VPSidebar",{open:l.open}]),ref_key:"navEl",ref:n,onClick:h[0]||(h[0]=rt(()=>{},["stop"]))},[hr,p("nav",fr,[_r,c(l.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),u(M,null,E(i(t),d=>(a(),u("div",{key:d.text,class:"group"},[b(pr,{item:d,depth:0},null,8,["item"])]))),128)),c(l.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),br=$(mr,[["__scopeId","data-v-ec846e01"]]),kr=_({__name:"VPSkipLink",setup(s){const t=oe(),e=w();z(()=>t.path,()=>e.value.focus());function o({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(a(),u(M,null,[p("span",{ref_key:"backToTop",ref:e,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),$r=$(kr,[["__scopeId","data-v-c3508ec8"]]),gr=_({__name:"Layout",setup(s){const{isOpen:t,open:e,close:o}=O(),n=oe();z(()=>n.path,o),wt(t,o);const{frontmatter:r}=L(),l=Be(),h=g(()=>!!l["home-hero-image"]);return _e("hero-image-slot-exists",h),(d,m)=>{const P=R("Content");return i(r).layout!==!1?(a(),u("div",{key:0,class:N(["Layout",i(r).pageClass])},[c(d.$slots,"layout-top",{},void 0,!0),b($r),b(pt,{class:"backdrop",show:i(t),onClick:i(o)},null,8,["show","onClick"]),b(rr,null,{"nav-bar-title-before":v(()=>[c(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[c(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[c(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[c(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[c(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),b(Uo,{open:i(t),onOpenMenu:i(e)},null,8,["open","onOpenMenu"]),b(br,{open:i(t)},{"sidebar-nav-before":v(()=>[c(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[c(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),b(go,null,{"page-top":v(()=>[c(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[c(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[c(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[c(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[c(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[c(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[c(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[c(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[c(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[c(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[c(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[c(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[c(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[c(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[c(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),b(Lo),c(d.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),y(P,{key:1}))}}}),yr=$(gr,[["__scopeId","data-v-a9a9e638"]]),Ve={Layout:yr,enhanceApp:({app:s})=>{s.component("Badge",ut)}},Pr=s=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...r)=>n(...r)};const t=document.documentElement;return{stabilizeScrollPosition:o=>async(...n)=>{const r=o(...n),l=s.value;if(!l)return r;const h=l.offsetTop-t.scrollTop;return await Me(),t.scrollTop=l.offsetTop-h,r}}},Re="vitepress:tabSharedState",X=typeof localStorage<"u"?localStorage:null,qe="vitepress:tabsSharedState",Sr=()=>{const s=X==null?void 0:X.getItem(qe);if(s)try{return JSON.parse(s)}catch{}return{}},Vr=s=>{X&&X.setItem(qe,JSON.stringify(s))},Lr=s=>{const t=it({});z(()=>t.content,(e,o)=>{e&&o&&Vr(e)},{deep:!0}),s.provide(Re,t)},Tr=(s,t)=>{const e=Y(Re);if(!e)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");G(()=>{e.content||(e.content=Sr())});const o=w(),n=g({get(){var d;const l=t.value,h=s.value;if(l){const m=(d=e.content)==null?void 0:d[l];if(m&&h.includes(m))return m}else{const m=o.value;if(m)return m}return h[0]},set(l){const h=t.value;h?e.content&&(e.content[h]=l):o.value=l}});return{selected:n,select:l=>{n.value=l}}};let Le=0;const wr=()=>(Le++,""+Le);function Ir(){const s=Be();return g(()=>{var o;const e=(o=s.default)==null?void 0:o.call(s);return e?e.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var r;return(r=n.props)==null?void 0:r.label}):[]})}const We="vitepress:tabSingleState",Nr=s=>{_e(We,s)},Mr=()=>{const s=Y(We);if(!s)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return s},Ar={class:"plugin-tabs"},Cr=["id","aria-selected","aria-controls","tabindex","onClick"],Br=_({__name:"PluginTabs",props:{sharedStateKey:{}},setup(s){const t=s,e=Ir(),{selected:o,select:n}=Tr(e,lt(t,"sharedStateKey")),r=w(),{stabilizeScrollPosition:l}=Pr(r),h=l(n),d=w([]),m=k=>{var A;const V=e.value.indexOf(o.value);let S;k.key==="ArrowLeft"?S=V>=1?V-1:e.value.length-1:k.key==="ArrowRight"&&(S=V(a(),u("div",Ar,[p("div",{ref_key:"tablist",ref:r,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:m},[(a(!0),u(M,null,E(i(e),S=>(a(),u("button",{id:`tab-${S}-${i(P)}`,ref_for:!0,ref_key:"buttonRefs",ref:d,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===i(o),"aria-controls":`panel-${S}-${i(P)}`,tabindex:S===i(o)?0:-1,onClick:()=>i(h)(S)},T(S),9,Cr))),128))],544),c(k.$slots,"default")]))}}),Hr=["id","aria-labelledby"],Er=_({__name:"PluginTabsTab",props:{label:{}},setup(s){const{uid:t,selected:e}=Mr();return(o,n)=>i(e)===o.label?(a(),u("div",{key:0,id:`panel-${o.label}-${i(t)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${o.label}-${i(t)}`},[c(o.$slots,"default",{},void 0,!0)],8,Hr)):f("",!0)}}),Dr=$(Er,[["__scopeId","data-v-9b0d03d2"]]),Fr=s=>{Lr(s),s.component("PluginTabs",Br),s.component("PluginTabsTab",Dr)},Ur={extends:Ve,Layout(){return ct(Ve.Layout,null,{})},enhanceApp({app:s,router:t,siteData:e}){Fr(s)}};export{Ur as R,Zn as c,L as u}; diff --git a/dev/decision-tree.png b/dev/assets/decision-tree.Dqh78YdA.png similarity index 100% rename from dev/decision-tree.png rename to dev/assets/decision-tree.Dqh78YdA.png diff --git a/dev/assets/design.md.0tBnC0I_.js b/dev/assets/design.md.0tBnC0I_.js new file mode 100644 index 0000000..57be854 --- /dev/null +++ b/dev/assets/design.md.0tBnC0I_.js @@ -0,0 +1,30 @@ +import{_ as t,c as e,o as i,a7 as s}from"./chunks/framework.CUwTDK2x.js";const a="/NeuroTreeModels.jl/dev/assets/decision-tree.Dqh78YdA.png",n="/NeuroTreeModels.jl/dev/assets/neurotree.vCO5vhkM.png",f=JSON.parse('{"title":"NeuroTree - A differentiable tree operator for tabular data","description":"","frontmatter":{},"headers":[],"relativePath":"design.md","filePath":"design.md","lastUpdated":null}'),r={name:"design.md"},l=s('

NeuroTree - A differentiable tree operator for tabular data

Overview

This work introduces NeuroTree a differentiable binary tree operator adapted for the treatment of tabular data.

  • Address the shortcoming of traditional trees greediness: all node and leaves are learned simultaneously. It provides the ability to learn an optimal configuration across all the tree levels. The notion extent also to the collection of trees that are simultaneously learned.

  • Extend the notion of forest/bagging and boosting.

    • Although the predictions from the all the trees forming a NeuroTree operator are averaged, each of the tree prediction is tuned simultaneously. This is different from boosting (ex XGBoost) where each tree is learned sequentially and over the residual from previous trees. Also, unlike random forest and bagging, trees aren't learned in isolation but tuned collaboratively, resulting in predictions that account for all of the other tree predictions.
  • General operator compatible for composition.

    • Allows integration within Flux's Chain like other standard operators from NNLib. Composition is also illustrated through the built-in StackTree layer, a residual composition of multiple NeuroTree building blocks.
  • Compatible with general purpose machine learning framework.

    • MLJ integration

Architecture

A NeuroTree operator acts as collection of complete binary trees, ie. trees without any pruned node. To be differentiable, hence trainable using first-order gradient based methods (ex. Adam optimiser), each tree path implements a soft decision rather than a hard one like in traditional decision tree.

To introduce the implementation of a NeuroTree, we first get back to the architecture of a basic decision tree.

The above is a binary decision tree of depth 2.

Highlighted in green is the decision path taken for a given sample. It goes into depth number of binary decisions, resulting in the path node1 → node3 → leaf3.

One way to view the role of the decision nodes (gray background) is to provide an index of the leaf prediction to fetch (index 3 in the figure). Such indexing view is applicable given that node routing relies on hard conditions: either true or false.

An alternative perspective that we adopt here is that tree nodes collectively provide weights associated to each leaf. A tree prediction becomes the weighted sum of the leaf's values and the leaf's weights. In regular decision trees, since all conditions are binary, leaf weights take the form of a mask. In the above example, the mask is [0, 0, 1, 0].

By relaxing these hard conditions into soft ones, the mask takes the form of a probability vector associated to each leaf, where ∑(leaf_weights) = 1 and where each each leaf_weight element is [0, 1]. A tree prediction can be obtained with the dot product: leaf_values' * leaf_weights.

The following illustrate how a basic decision tree is represented as a single differentiable tree within NeuroTree:

Node weights

To illustrate how a NeuroTree derives the soft decision probability (referred to NW1 - NW3 in the above figure), we first break down how a traditional tree split condition is derived from 2 underlying decisions:

  1. Selection of the feature on which to perform the condition.

Such selection can be represented as the application of a binary mask where all elements are set to false except for that single selected feature where it's set to true.

  1. Selection of the condition's threshold value.

For a given observation, if the selected feature's value is below that threshold, then the node decision is set to false (pointing to left child), and true otherwise (pooinnting to right child).

In NeuroTree, these 2 hard steps are translated into soft, differentiable ones.

Leaf weights

Computing the leaf weights consists of accumulating the weights through each tree branch. It's the technically more challenging part as such computation cannot be represented as a form of matrix multiplication, unlike other common operators like Dense, Conv or MultiHeadAttention / Transformer. Performing probability accumulation though a tree index naturally leads to in-place element wise operations, which are notoriously not friendly for auto-differentiation engines. Since NeuroTree was intended to integrate with the Flux.jl ecosystem, Zygote.jl acts as the underlying AD, the approach used was to manually implement backward / adjoint of the terminal leaf function and instruct the AD to use that custom rule rather than attempt to differentiate a non-AD compliant function.

Below are the algo and actual implementation of the forward and backward function that compute the leaf weights. For brevity, the loops over each observation of the batch and each tree are omitted. Parallelism, both on CPU and GPU, is obtained through parallelization over the tree and batch dimensions.

Forward

julia
function leaf_weights!(nw)
+    cw = ones(eltype(nw), 2 * size(nw, 1) + 1)
+
+    for i = 2:2:size(cw, 1)
+        cw[i] = cw[i>>1] * nw[i>>1]
+        cw[i+1, tree, batch] = cw[i>>1] * (1 - nw[i>>1])
+    end
+    
+    lw = cw[size(nw, 1)+1:size(cw, 1)]
+    return (cw, lw)
+end

Backward

julia
function Δ_leaf_weights!(Δnw, ȳ, cw, nw, max_depth, node_offset)
+    
+    for i in axes(nw, 1)        
+        depth = floor(Int, log2(i)) # current depth level - starting at 0
+        step = 2^(max_depth - depth) # iteration length
+        leaf_offset = step * (i - 2^depth) # offset on the leaf row
+
+        for j = (1+leaf_offset):(step÷2+leaf_offset)
+            k = j + node_offset # move from leaf position to full tree position 
+            Δnw[i] += ȳ[j] * cw[k] / nw[i]
+        end
+    
+        for j = (1+leaf_offset+step÷2):(step+leaf_offset)
+            k = j + node_offset
+            Δnw[i] -= ȳ[j] * cw[k] / (1 - nw[i])
+        end
+    end
+
+    return nothing
+end

Tree prediction

Composability

  • StackTree

  • General operator: Chain NeuroTree with MLP

Benchmarks

For each dataset and algo, the following methodology is followed:

  • Data is split in three parts: train, eval and test

  • A random grid of 16 hyper-parameters is generated

  • For each parameter configuration, a model is trained on train data until the evaluation metric tracked against the eval stops improving (early stopping)

  • The trained model is evaluated against the test data

  • The metric presented in below are the ones obtained on the test for the model that generated the best eval metric.

Source code available at MLBenchmarks.jl.

For performance assessment, benchmarks is run on the following selection of common Tabular datasets:

  • Year: min squared error regression. 515,345 observations, 90 features.

  • MSRank: ranking problem with min squared error regression. 1,200,192 observations, 136 features.

  • YahooRank: ranking problem with min squared error regression. 709,877 observations, 519 features.

  • Higgs: 2-level classification with logistic regression. 11,000,000 observations, 28 features.

  • Boston Housing: min squared error regression.

  • Titanic: 2-level classification with logistic regression. 891 observations, 7 features.

Comparison is performed against the following algos (implementation in link) considered as state of the art on classification tasks:

Boston

model_typetrain_timemsegini
neurotrees12.818.90.947
evotrees0.20619.70.927
xgboost0.064819.40.935
lightgbm0.86525.40.926
catboost0.051113.90.946

Titanic

model_typetrain_timeloglossaccuracy
neurotrees7.580.4070.828
evotrees0.6730.3820.828
xgboost0.03790.3750.821
lightgbm0.6150.3900.836
catboost0.03260.3880.836

Year

model_typetrain_timemsegini
neurotrees280.076.40.652
evotrees18.680.10.627
xgboost17.280.20.626
lightgbm8.1180.30.624
catboost80.079.20.635

MSRank

model_typetrain_timemsendcg
neurotrees39.10.5780.462
evotrees37.00.5540.504
xgboost12.50.5540.503
lightgbm37.50.5530.503
catboost15.10.5580.497

Yahoo

model_typetrain_timemsendcg
neurotrees417.00.5840.781
evotrees687.00.5450.797
xgboost120.00.5470.798
lightgbm244.00.5400.796
catboost161.00.5610.794

Higgs

model_typetrain_timeloglossaccuracy
neurotrees12300.00.4520.781
evotrees2620.00.4640.776
xgboost1390.00.4620.776
lightgbm1330.00.4610.779
catboost7180.00.4640.775

Discussion

NeuroTreeModels can achieve top tier performance on both small (Boston) and large (Higgs) datasets. Its performance trailed on the two ranking regression problems (MSRank and Yahoo). Although the large number of features is a distinguishing characteristic of the Yahoo dataset, the 136 features of MSRank are not materially different for the YEAR dataset (90 features), and on which NeuroTreeMoels outperform all other algos. Considering that no sparsity mechanism is present in the feature selection for the node conditions, datasets with a very large number of features may present a challenge. Substituting the default tanh activation with a sparsity inducing one such as hardsigmoid or EntrOpt has not resulted in improvement from the experiments.

Another potential weakness may stem from the soft nature of the decision criteria. Traditional trees can isolate the effect of a specific feature value. This can be notably meaningful in a situation where a numeric feature taking a value of 0 may carry a particular meaning (ex. missing, unknown value). Such stump the effect of a feature should be harder to pick with NeuroTree's soft condition.

References

`,57),h=[l];function o(d,p,g,k,c,y){return i(),e("div",null,h)}const u=t(r,[["render",o]]);export{f as __pageData,u as default}; diff --git a/dev/assets/design.md.0tBnC0I_.lean.js b/dev/assets/design.md.0tBnC0I_.lean.js new file mode 100644 index 0000000..2b2c0de --- /dev/null +++ b/dev/assets/design.md.0tBnC0I_.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as i,a7 as s}from"./chunks/framework.CUwTDK2x.js";const a="/NeuroTreeModels.jl/dev/assets/decision-tree.Dqh78YdA.png",n="/NeuroTreeModels.jl/dev/assets/neurotree.vCO5vhkM.png",f=JSON.parse('{"title":"NeuroTree - A differentiable tree operator for tabular data","description":"","frontmatter":{},"headers":[],"relativePath":"design.md","filePath":"design.md","lastUpdated":null}'),r={name:"design.md"},l=s("",57),h=[l];function o(d,p,g,k,c,y){return i(),e("div",null,h)}const u=t(r,[["render",o]]);export{f as __pageData,u as default}; diff --git a/dev/assets/design.md.CXyLal5T.js b/dev/assets/design.md.CXyLal5T.js deleted file mode 100644 index 33d9e1b..0000000 --- a/dev/assets/design.md.CXyLal5T.js +++ /dev/null @@ -1,30 +0,0 @@ -import{_ as t,c as e,o as i,a7 as s,a8 as a,a9 as n}from"./chunks/framework.BResyDFY.js";const f=JSON.parse('{"title":"NeuroTree - A differentiable tree operator for tabular data","description":"","frontmatter":{},"headers":[],"relativePath":"design.md","filePath":"design.md","lastUpdated":null}'),r={name:"design.md"},l=s('

NeuroTree - A differentiable tree operator for tabular data

Overview

This work introduces NeuroTree a differentiable binary tree operator adapted for the treatment of tabular data.

  • Address the shortcoming of traditional trees greediness: all node and leaves are learned simultaneously. It provides the ability to learn an optimal configuration across all of the tree levels.

The notion extent also to the collection of trees that are simultaneously learned.

  • Extend the notion of forest/bagging and boosting.

    • Although the predictions from the all of of the trees forming a NeuroTree operator are averaged, each of the tree prediction tuned simultaneously. This is different from boosting (ex XGBoost) where each tree is learned sequentially and over the residual from previous trees. Also, unlike random forest and bagging, trees aren't learned in isolation but tuned collaboratively, resulting in predictions that account for all of the other trees predictions.
  • General operator compatible for composition.

    • Allows integration within Flux's Chain like other standard operators from NNLib. Composition is also illustrated through the built-in StackTree layer, a residual composition of multiple NeuroTree building blocks.
  • Compatible with general purpose machine learning framework.

    • MLJ integration

Architecture

To introduce the implementation of a NeuroTree, we first get back to the architecture of a basic decision tree.

decision-tree

The above is a binary decision tree of depth 2.

Highlighted in green is the decision path taken for a given sample. It goes into depth number of binary decisions, resulting in the path node1 → node3 → leaf3.

One way to view the role of the decision nodes is to provide an index of the leaf prediction to fetch (index 3 in the figure). Such indexing view is applicable given that node routing relies a hard conditions: it's either true or false.

An alternative perspective that we will adopt here is that tree nodes collectively provide weights associated to each leaf. A tree prediction is the weighted sum of the leaf's value and those leaf weights. In regular decision trees, since all conditions are binary, leaf weights take the form of a mask. In the above example, the mask is [0, 0, 1, 0].

By relaxing these these hard condition into soft ones, the mask takes the form of a probability vector associated to each leaf, where ∑(leaf_weights) = 1 and where each each leaf_weight element is [0, 1].

The following illustrate how a basic decision tree is represented as a single differentiable tree within NeuroTree:

decision-tree

Node weights

To derive how a NeuroTree performs those soft decision, we first break down the structure of how the traditional hard decisions are taken. A nodes's split actually relies on 2 binary conditions:

1. Selection of the feature on which to perform the condition

The selection of a feature out of the selected ones In NeuroTree, these hard decisions are translated into soft, differentiable ones: 1.

2. Selection of the condition's threshold value

A NeuroTree operator acts as collection of complete binary trees, ie. trees without any pruned node. In order to be differentiable, hence trainable using gradient based methods such as Adam, each tree path implements a soft decision rather than a hard one like in traditional decision tree.

Leaf weights

Computing the leaf weights consists of accumulating the weights through each tree branch. It's the technically more challenging part as such computation cannot be represented as a form of matrix multiplication, unlike other common operators like Dense, Conv or MultiHeadAttention / Transformer. Performing probability accumulation though a tree index naturally leads to in-place element wise operations, which are notoriously not friendly for auto-differentiation engines. Since NeuroTree was intended to integrate with the Flux.jl ecosystem, Zygote.jl acts as the underlying AD, the approach used was to to manually implement backward / adjoint of the terminal leaf function and instruct the AD to use that custom rule rather than attempt to differentiate a non-AD compliant function.

Below are the algo and actual implementation of the forward and backward function that compute the leaf weights. For brevity, the loops over each observation of the batch and each tree are omitted. Parallelism, both on CPU and GPU, is obtained through parallelization over the tree and batch dimensions.

Forward

julia
function leaf_weights!(nw)
-    cw = ones(eltype(nw), 2 * size(nw, 1) + 1)
-
-    for i = 2:2:size(cw, 1)
-        cw[i] = cw[i>>1] * nw[i>>1]
-        cw[i+1, tree, batch] = cw[i>>1] * (1 - nw[i>>1])
-    end
-    
-    lw = cw[size(nw, 1)+1:size(cw, 1)]
-    return (cw, lw)
-end

Backward

julia
function Δ_leaf_weights!(Δnw, ȳ, cw, nw, max_depth, node_offset)
-    
-    for i in axes(nw, 1)        
-        depth = floor(Int, log2(i)) # current depth level - starting at 0
-        step = 2^(max_depth - depth) # iteration length
-        leaf_offset = step * (i - 2^depth) # offset on the leaf row
-
-        for j = (1+leaf_offset):(step÷2+leaf_offset)
-            k = j + node_offset # move from leaf position to full tree position 
-            Δnw[i] += ȳ[j] * cw[k] / nw[i]
-        end
-    
-        for j = (1+leaf_offset+step÷2):(step+leaf_offset)
-            k = j + node_offset
-            Δnw[i] -= ȳ[j] * cw[k] / (1 - nw[i])
-        end
-    end
-
-    return nothing
-end

Tree prediction

Composability

  • StackTree

  • General operator: Chain neurotree with MLP

Benchmarks

For each dataset and algo, the following methodology is followed:

  • Data is split in three parts: train, eval and test

  • A random grid of 16 hyper-parameters is generated

  • For each parameter configuration, a model is trained on train data until the evaluation metric tracked against the eval stops improving (early stopping)

  • The trained model is evaluated against the test data

  • The metric presented in below are the ones obtained on the test for the model that generated the best eval metric.

Source code available at MLBenchmarks.jl.

For performance assessment, benchmarks is run on the following selection of common Tabular datasets:

  • Year: min squared error regression

  • MSRank: ranking problem with min squared error regression

  • YahooRank: ranking problem with min squared error regression

  • Higgs: 2-level classification with logistic regression

  • Boston Housing: min squared error regression

  • Titanic: 2-level classification with logistic regression

Comparison is performed against the following algos (implementation in link) considered as state of the art on classification tasks:

Boston

model_typetrain_timemsegini
neurotrees12.818.90.947
evotrees0.20619.70.927
xgboost0.064819.40.935
lightgbm0.86525.40.926
catboost0.051113.90.946

Titanic

model_typetrain_timeloglossaccuracy
neurotrees7.580.4070.828
evotrees0.6730.3820.828
xgboost0.03790.3750.821
lightgbm0.6150.3900.836
catboost0.03260.3880.836

Year

model_typetrain_timemsegini
neurotrees280.076.40.652
evotrees18.680.10.627
xgboost17.280.20.626
lightgbm8.1180.30.624
catboost80.079.20.635

MSRank

model_typetrain_timemsendcg
neurotrees39.10.5780.462
evotrees37.00.5540.504
xgboost12.50.5540.503
lightgbm37.50.5530.503
catboost15.10.5580.497

Yahoo

model_typetrain_timemsendcg
neurotrees417.00.5840.781
evotrees687.00.5450.797
xgboost120.00.5470.798
lightgbm244.00.5400.796
catboost161.00.5610.794

Higgs

model_typetrain_timeloglossaccuracy
neurotrees12300.00.4520.781
evotrees2620.00.4640.776
xgboost1390.00.4620.776
lightgbm1330.00.4610.779
catboost7180.00.4640.775

References

`,54),h=[l];function o(d,p,k,g,c,y){return i(),e("div",null,h)}const u=t(r,[["render",o]]);export{f as __pageData,u as default}; diff --git a/dev/assets/design.md.CXyLal5T.lean.js b/dev/assets/design.md.CXyLal5T.lean.js deleted file mode 100644 index 090b4bf..0000000 --- a/dev/assets/design.md.CXyLal5T.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as e,o as i,a7 as s,a8 as a,a9 as n}from"./chunks/framework.BResyDFY.js";const f=JSON.parse('{"title":"NeuroTree - A differentiable tree operator for tabular data","description":"","frontmatter":{},"headers":[],"relativePath":"design.md","filePath":"design.md","lastUpdated":null}'),r={name:"design.md"},l=s("",54),h=[l];function o(d,p,k,g,c,y){return i(),e("div",null,h)}const u=t(r,[["render",o]]);export{f as __pageData,u as default}; diff --git a/dev/assets/index.md.CTJC3X05.js b/dev/assets/index.md.6G8I0lEX.js similarity index 91% rename from dev/assets/index.md.CTJC3X05.js rename to dev/assets/index.md.6G8I0lEX.js index 2130f7a..8e94f84 100644 --- a/dev/assets/index.md.CTJC3X05.js +++ b/dev/assets/index.md.6G8I0lEX.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./chunks/framework.BResyDFY.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"text":"NeuroTreeModels.jl","tagline":"Differentiable tree-based models for tabular data","image":{"src":"/evo-chevron.png","alt":"Evovest"},"actions":[{"theme":"brand","text":"Quick start","link":"/quick-start"},{"theme":"alt","text":"Design","link":"/design"},{"theme":"alt","text":"Models","link":"/models"},{"theme":"alt","text":"Source code","link":"https://github.com/Evovest/NeuroTreeModels.jl"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),o={name:"index.md"};function r(n,s,l,i,d,c){return a(),t("div")}const h=e(o,[["render",r]]);export{p as __pageData,h as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.CUwTDK2x.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"text":"NeuroTreeModels.jl","tagline":"Differentiable tree-based models for tabular data","image":{"src":"/evo-chevron.png","alt":"Evovest"},"actions":[{"theme":"brand","text":"Quick start","link":"/quick-start"},{"theme":"alt","text":"Design","link":"/design"},{"theme":"alt","text":"Models","link":"/models"},{"theme":"alt","text":"Source code","link":"https://github.com/Evovest/NeuroTreeModels.jl"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),o={name:"index.md"};function r(n,s,l,i,d,c){return a(),t("div")}const h=e(o,[["render",r]]);export{p as __pageData,h as default}; diff --git a/dev/assets/index.md.CTJC3X05.lean.js b/dev/assets/index.md.6G8I0lEX.lean.js similarity index 91% rename from dev/assets/index.md.CTJC3X05.lean.js rename to dev/assets/index.md.6G8I0lEX.lean.js index 2130f7a..8e94f84 100644 --- a/dev/assets/index.md.CTJC3X05.lean.js +++ b/dev/assets/index.md.6G8I0lEX.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./chunks/framework.BResyDFY.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"text":"NeuroTreeModels.jl","tagline":"Differentiable tree-based models for tabular data","image":{"src":"/evo-chevron.png","alt":"Evovest"},"actions":[{"theme":"brand","text":"Quick start","link":"/quick-start"},{"theme":"alt","text":"Design","link":"/design"},{"theme":"alt","text":"Models","link":"/models"},{"theme":"alt","text":"Source code","link":"https://github.com/Evovest/NeuroTreeModels.jl"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),o={name:"index.md"};function r(n,s,l,i,d,c){return a(),t("div")}const h=e(o,[["render",r]]);export{p as __pageData,h as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.CUwTDK2x.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"text":"NeuroTreeModels.jl","tagline":"Differentiable tree-based models for tabular data","image":{"src":"/evo-chevron.png","alt":"Evovest"},"actions":[{"theme":"brand","text":"Quick start","link":"/quick-start"},{"theme":"alt","text":"Design","link":"/design"},{"theme":"alt","text":"Models","link":"/models"},{"theme":"alt","text":"Source code","link":"https://github.com/Evovest/NeuroTreeModels.jl"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),o={name:"index.md"};function r(n,s,l,i,d,c){return a(),t("div")}const h=e(o,[["render",r]]);export{p as __pageData,h as default}; diff --git a/dev/assets/models.md.BfCHGEUK.js b/dev/assets/models.md.CuUA2Mbx.js similarity index 97% rename from dev/assets/models.md.BfCHGEUK.js rename to dev/assets/models.md.CuUA2Mbx.js index 4c6c214..e20cba2 100644 --- a/dev/assets/models.md.BfCHGEUK.js +++ b/dev/assets/models.md.CuUA2Mbx.js @@ -1,4 +1,4 @@ -import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.BResyDFY.js";const u=JSON.parse('{"title":"Models","description":"","frontmatter":{},"headers":[],"relativePath":"models.md","filePath":"models.md","lastUpdated":null}'),t={name:"models.md"},n=a(`

Models

NeuroTreeRegressor

# NeuroTreeModels.NeuroTreeRegressorType.

NeuroTreeRegressor(;kwargs...)

A model type for constructing a NeuroTreeRegressor, based on NeuroTreeModels.jl, and implementing both an internal API and the MLJ model interface.

Hyper-parameters

  • loss=:mse: Loss to be be minimized during training. One of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • nrounds=10: Max number of rounds (epochs).

  • lr=1.0f-2: Learning rate. Must be > 0. A lower eta results in slower learning, typically requiring a higher nrounds.

  • wd=0.f0: Weight decay applied to the gradients by the optimizer.

  • batchsize=2048: Batch size.

  • actA=:tanh: Activation function applied to each of input variable for determination of split node weight. Can be one of:

    • :tanh

    • :identity

  • outsize=1: Number of predictions returned by the model. Typically only used for classification tasks and set to the number of target levels / classes.

  • depth=6: Depth of a tree. Must be >= 1. A tree of depth 1 has 2 prediction leaf nodes. A complete tree of depth N contains 2^N terminal leaves and 2^N - 1 split nodes. Compute cost is proportional to 2^depth. Typical optimal values are in the 3 to 5 range.

  • ntrees=64: Number of trees (per stack).

  • hidden_size=16: Size of hidden layers. Applicable only when stack_size > 1.

  • stack_size=1: Number of stacked NeuroTree blocks.

  • init_scale=1.0: Scaling factor applied to the predictions weights. Values in the ]0, 1] short result in best performance.

  • MLE_tree_split=false: Whether independent models are buillt for each of the 2 parameters (mu, sigma) of the the gaussian_mle loss.

  • rng=123: Either an integer used as a seed to the random number generator or an actual random number generator (::Random.AbstractRNG).

  • device=:cpu: Device to use. Either :cpu or :gpu (recommended as it improves significantly the training speed).

  • gpuID=0: ID of the GPU to use for training.

Internal API

Do config = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

A model is trained using fit:

julia
m = fit(config, dtrain; feature_names, target_name, kwargs...)

Inference

Models act as a functor. returning predictions when called as a function with features as argument:

julia
m(data)

MLJ Interface

From MLJ, the type can be imported using:

julia
NeuroTreeRegressor = @load NeuroTreeRegressor pkg=NeuroTreeModels

Do model = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

In MLJ or MLJBase, bind an instance model to data with mach = machine(model, X, y) where

  • X: any table of input features (eg, a DataFrame) whose columns each have one of the following element scitypes: Continuous, Count, or <:OrderedFactor; check column scitypes with schema(X)

  • y: is the target, which can be any AbstractVector whose element scitype is <:Continuous; check the scitype with scitype(y)

Train the machine using fit!(mach, rows=...).

Operations

  • predict(mach, Xnew): return predictions of the target given features Xnew having the same scitype as X above.

Fitted parameters

The fields of fitted_params(mach) are:

  • :fitresult: The NeuroTreeModel object.

Report

The fields of report(mach) are:

  • :features: The names of the features encountered in training.

Examples

Internal API

julia
using NeuroTreeModels, DataFrames
+import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.CUwTDK2x.js";const u=JSON.parse('{"title":"Models","description":"","frontmatter":{},"headers":[],"relativePath":"models.md","filePath":"models.md","lastUpdated":null}'),t={name:"models.md"},n=a(`

Models

NeuroTreeRegressor

# NeuroTreeModels.NeuroTreeRegressorType.

NeuroTreeRegressor(;kwargs...)

A model type for constructing a NeuroTreeRegressor, based on NeuroTreeModels.jl, and implementing both an internal API and the MLJ model interface.

Hyper-parameters

  • loss=:mse: Loss to be be minimized during training. One of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • nrounds=10: Max number of rounds (epochs).

  • lr=1.0f-2: Learning rate. Must be > 0. A lower eta results in slower learning, typically requiring a higher nrounds.

  • wd=0.f0: Weight decay applied to the gradients by the optimizer.

  • batchsize=2048: Batch size.

  • actA=:tanh: Activation function applied to each of input variable for determination of split node weight. Can be one of:

    • :tanh

    • :identity

  • outsize=1: Number of predictions returned by the model. Typically only used for classification tasks and set to the number of target levels / classes.

  • depth=6: Depth of a tree. Must be >= 1. A tree of depth 1 has 2 prediction leaf nodes. A complete tree of depth N contains 2^N terminal leaves and 2^N - 1 split nodes. Compute cost is proportional to 2^depth. Typical optimal values are in the 3 to 5 range.

  • ntrees=64: Number of trees (per stack).

  • hidden_size=16: Size of hidden layers. Applicable only when stack_size > 1.

  • stack_size=1: Number of stacked NeuroTree blocks.

  • init_scale=1.0: Scaling factor applied to the predictions weights. Values in the ]0, 1] short result in best performance.

  • MLE_tree_split=false: Whether independent models are buillt for each of the 2 parameters (mu, sigma) of the the gaussian_mle loss.

  • rng=123: Either an integer used as a seed to the random number generator or an actual random number generator (::Random.AbstractRNG).

  • device=:cpu: Device to use. Either :cpu or :gpu (recommended as it improves significantly the training speed).

  • gpuID=0: ID of the GPU to use for training.

Internal API

Do config = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

A model is trained using fit:

julia
m = fit(config, dtrain; feature_names, target_name, kwargs...)

Inference

Models act as a functor. returning predictions when called as a function with features as argument:

julia
m(data)

MLJ Interface

From MLJ, the type can be imported using:

julia
NeuroTreeRegressor = @load NeuroTreeRegressor pkg=NeuroTreeModels

Do model = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

In MLJ or MLJBase, bind an instance model to data with mach = machine(model, X, y) where

  • X: any table of input features (eg, a DataFrame) whose columns each have one of the following element scitypes: Continuous, Count, or <:OrderedFactor; check column scitypes with schema(X)

  • y: is the target, which can be any AbstractVector whose element scitype is <:Continuous; check the scitype with scitype(y)

Train the machine using fit!(mach, rows=...).

Operations

  • predict(mach, Xnew): return predictions of the target given features Xnew having the same scitype as X above.

Fitted parameters

The fields of fitted_params(mach) are:

  • :fitresult: The NeuroTreeModel object.

Report

The fields of report(mach) are:

  • :features: The names of the features encountered in training.

Examples

Internal API

julia
using NeuroTreeModels, DataFrames
 config = NeuroTreeRegressor(depth=5, nrounds=10)
 nobs, nfeats = 1_000, 5
 dtrain = DataFrame(randn(nobs, nfeats), :auto)
@@ -9,4 +9,4 @@ import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.BResyDFY.js";const u
 m = NeuroTreeRegressor(depth=5, nrounds=10)
 X, y = @load_boston
 mach = machine(m, X, y) |> fit!
-p = predict(mach, X)

source


NeuroTreeModel

# NeuroTreeModels.NeuroTreeModelType.
julia
NeuroTreeModel

A NeuroTreeModel is made of a collection of Tree, either regular NeuroTree or StackTree. Prediction is the sum of all the trees composing a NeuroTreeModel.

source


`,7),o=[n];function r(l,p,d,h,c,k){return i(),s("div",null,o)}const E=e(t,[["render",r]]);export{u as __pageData,E as default}; +p = predict(mach, X)

source


NeuroTreeModel

# NeuroTreeModels.NeuroTreeModelType.
julia
NeuroTreeModel

A NeuroTreeModel is made of a collection of Tree, either regular NeuroTree or StackTree. Prediction is the sum of all the trees composing a NeuroTreeModel.

source


`,7),o=[n];function r(l,p,d,h,c,k){return i(),s("div",null,o)}const E=e(t,[["render",r]]);export{u as __pageData,E as default}; diff --git a/dev/assets/models.md.BfCHGEUK.lean.js b/dev/assets/models.md.CuUA2Mbx.lean.js similarity index 66% rename from dev/assets/models.md.BfCHGEUK.lean.js rename to dev/assets/models.md.CuUA2Mbx.lean.js index e0cbdc1..de3524c 100644 --- a/dev/assets/models.md.BfCHGEUK.lean.js +++ b/dev/assets/models.md.CuUA2Mbx.lean.js @@ -1 +1 @@ -import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.BResyDFY.js";const u=JSON.parse('{"title":"Models","description":"","frontmatter":{},"headers":[],"relativePath":"models.md","filePath":"models.md","lastUpdated":null}'),t={name:"models.md"},n=a("",7),o=[n];function r(l,p,d,h,c,k){return i(),s("div",null,o)}const E=e(t,[["render",r]]);export{u as __pageData,E as default}; +import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.CUwTDK2x.js";const u=JSON.parse('{"title":"Models","description":"","frontmatter":{},"headers":[],"relativePath":"models.md","filePath":"models.md","lastUpdated":null}'),t={name:"models.md"},n=a("",7),o=[n];function r(l,p,d,h,c,k){return i(),s("div",null,o)}const E=e(t,[["render",r]]);export{u as __pageData,E as default}; diff --git a/dev/neurotree.png b/dev/assets/neurotree.vCO5vhkM.png similarity index 100% rename from dev/neurotree.png rename to dev/assets/neurotree.vCO5vhkM.png diff --git a/dev/assets/quick-start.md.BP9XKzHk.js b/dev/assets/quick-start.md.BAS8qdd6.js similarity index 89% rename from dev/assets/quick-start.md.BP9XKzHk.js rename to dev/assets/quick-start.md.BAS8qdd6.js index 13fda20..e10c665 100644 --- a/dev/assets/quick-start.md.BP9XKzHk.js +++ b/dev/assets/quick-start.md.BAS8qdd6.js @@ -1,11 +1,11 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const c=JSON.parse('{"title":"Getting started with NeuroTreeModels.jl","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":null}'),e={name:"quick-start.md"},t=n(`

Getting started with NeuroTreeModels.jl

Installation

julia
] add NeuroTreeModels

Configuring a model

A model configuration is defined with the NeuroTreeRegressor constructor:

julia
using NeuroTreeModels, DataFrames
+import{_ as s,c as i,o as a,a7 as e}from"./chunks/framework.CUwTDK2x.js";const c=JSON.parse('{"title":"Getting started with NeuroTreeModels.jl","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":null}'),n={name:"quick-start.md"},t=e(`

Getting started with NeuroTreeModels.jl

Installation

julia
] add NeuroTreeModels

Configuring a model

A model configuration is defined with the NeuroTreeRegressor constructor:

julia
using NeuroTreeModels, DataFrames
 
 config = NeuroTreeRegressor(
     loss = :mse,
     nrounds = 10,
     num_trees = 16,
     depth = 5,
-)

Training

Building and training a model according to the above config is done with NeuroTreeModels.fit. See the docs for additional features, notably early stopping support through the tracking of an evaluation metric.

julia
nobs, nfeats = 1_000, 5
+)

Training

Building and training a model according to the above config is done with NeuroTreeModels.fit. See the docs for additional features, notably early stopping support through the tracking of an evaluation metric.

julia
nobs, nfeats = 1_000, 5
 dtrain = DataFrame(randn(nobs, nfeats), :auto)
 dtrain.y = rand(nobs)
 feature_names, target_name = names(dtrain, r"x"), "y"
@@ -14,4 +14,4 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const c
 m = NeuroTreeRegressor(depth=5, nrounds=10)
 X, y = @load_boston
 mach = machine(m, X, y) |> fit!
-p = predict(mach, X)

Benchmarks

Benchmarking against prominent ML libraries for tabular is performed at MLBenchmarks.jl.

`,16),h=[t];function l(k,p,r,d,o,E){return a(),i("div",null,h)}const u=s(e,[["render",l]]);export{c as __pageData,u as default}; +p = predict(mach, X)

Benchmarks

Benchmarking against prominent ML libraries for tabular is performed at MLBenchmarks.jl.

`,16),h=[t];function l(k,p,r,d,o,E){return a(),i("div",null,h)}const u=s(n,[["render",l]]);export{c as __pageData,u as default}; diff --git a/dev/assets/quick-start.md.BAS8qdd6.lean.js b/dev/assets/quick-start.md.BAS8qdd6.lean.js new file mode 100644 index 0000000..114500a --- /dev/null +++ b/dev/assets/quick-start.md.BAS8qdd6.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a7 as e}from"./chunks/framework.CUwTDK2x.js";const c=JSON.parse('{"title":"Getting started with NeuroTreeModels.jl","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":null}'),n={name:"quick-start.md"},t=e("",16),h=[t];function l(k,p,r,d,o,E){return a(),i("div",null,h)}const u=s(n,[["render",l]]);export{c as __pageData,u as default}; diff --git a/dev/assets/quick-start.md.BP9XKzHk.lean.js b/dev/assets/quick-start.md.BP9XKzHk.lean.js deleted file mode 100644 index 6543d89..0000000 --- a/dev/assets/quick-start.md.BP9XKzHk.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const c=JSON.parse('{"title":"Getting started with NeuroTreeModels.jl","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":null}'),e={name:"quick-start.md"},t=n("",16),h=[t];function l(k,p,r,d,o,E){return a(),i("div",null,h)}const u=s(e,[["render",l]]);export{c as __pageData,u as default}; diff --git a/dev/assets/style.te4yWCQZ.css b/dev/assets/style.X8RF7YHI.css similarity index 62% rename from dev/assets/style.te4yWCQZ.css rename to dev/assets/style.X8RF7YHI.css index a7b046a..2df2c6f 100644 --- a/dev/assets/style.te4yWCQZ.css +++ b/dev/assets/style.X8RF7YHI.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic";@import"https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic";@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-cyrillic.CMhn1ESj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-greek.JvnBZ4YD.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-greek-ext.D0mI3NpI.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-latin.Bu8hRsVA.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-latin-ext.ZlYT4o7i.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-vietnamese.ClpjcLMQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-cyrillic.D6csxwjC.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-greek.9J96vYpw.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-greek-ext.CHOfFY1k.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-latin.DbsTr1gm.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-latin-ext.BGcWXLrn.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-vietnamese.DHNAd7Wr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-b06cdb19]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b06cdb19],.VPBackdrop.fade-leave-to[data-v-b06cdb19]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b06cdb19]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b06cdb19]{display:none}}.NotFound[data-v-792811ca]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-792811ca]{padding:96px 32px 168px}}.code[data-v-792811ca]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-792811ca]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-792811ca]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-792811ca]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-792811ca]{padding-top:20px}.link[data-v-792811ca]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-792811ca]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-3f927ebe]{position:relative;z-index:1}.nested[data-v-3f927ebe]{padding-right:16px;padding-left:16px}.outline-link[data-v-3f927ebe]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-3f927ebe]:hover,.outline-link.active[data-v-3f927ebe]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-3f927ebe]{padding-left:13px}.VPDocAsideOutline[data-v-c14bfc45]{display:none}.VPDocAsideOutline.has-outline[data-v-c14bfc45]{display:block}.content[data-v-c14bfc45]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-c14bfc45]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-c14bfc45]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-6d7b3c46]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-6d7b3c46]{flex-grow:1}.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-6d7b3c46] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-9da12f1d]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-9da12f1d]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-87be45d1]{margin-top:64px}.edit-info[data-v-87be45d1]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-87be45d1]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-87be45d1]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-87be45d1]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-87be45d1]{margin-right:8px}.prev-next[data-v-87be45d1]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-87be45d1]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-87be45d1]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-87be45d1]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-87be45d1]{margin-left:auto;text-align:right}.desc[data-v-87be45d1]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-87be45d1]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-83890dd9]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-83890dd9]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-83890dd9]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-83890dd9]{display:flex;justify-content:center}.VPDoc .aside[data-v-83890dd9]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{max-width:1104px}}.container[data-v-83890dd9]{margin:0 auto;width:100%}.aside[data-v-83890dd9]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-83890dd9]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-83890dd9]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-83890dd9]::-webkit-scrollbar{display:none}.aside-curtain[data-v-83890dd9]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-83890dd9]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-83890dd9]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-83890dd9]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-83890dd9]{order:1;margin:0;min-width:640px}}.content-container[data-v-83890dd9]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-83890dd9]{max-width:688px}.VPButton[data-v-14206e74]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-14206e74]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-14206e74]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-14206e74]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-14206e74]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-14206e74]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-14206e74]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-14206e74]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-14206e74]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-14206e74]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-14206e74]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-14206e74]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-14206e74]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-35a7d0b8]{display:none}.dark .VPImage.light[data-v-35a7d0b8]{display:none}.VPHero[data-v-955009fc]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-955009fc]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-955009fc]{flex-direction:row}}.main[data-v-955009fc]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-955009fc]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-955009fc]{text-align:left}}@media (min-width: 960px){.main[data-v-955009fc]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-955009fc]{max-width:592px}}.name[data-v-955009fc],.text[data-v-955009fc]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0 auto}.name[data-v-955009fc]{color:var(--vp-home-hero-name-color)}.clip[data-v-955009fc]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-955009fc],.text[data-v-955009fc]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-955009fc],.text[data-v-955009fc]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0}}.tagline[data-v-955009fc]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-955009fc]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-955009fc]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-955009fc]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-955009fc]{margin:0}}.actions[data-v-955009fc]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-955009fc]{justify-content:center}@media (min-width: 640px){.actions[data-v-955009fc]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-955009fc]{justify-content:flex-start}}.action[data-v-955009fc]{flex-shrink:0;padding:6px}.image[data-v-955009fc]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-955009fc]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-955009fc]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-955009fc]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-955009fc]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-955009fc]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-955009fc]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-955009fc]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-955009fc]{width:320px;height:320px}}[data-v-955009fc] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-955009fc] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-955009fc] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-f5e9645b]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f5e9645b]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-f5e9645b]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-f5e9645b]>.VPImage{margin-bottom:20px}.icon[data-v-f5e9645b]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-f5e9645b]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-f5e9645b]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f5e9645b]{padding-top:8px}.link-text-value[data-v-f5e9645b]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-f5e9645b]{margin-left:6px}.VPFeatures[data-v-d0a190d7]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-d0a190d7]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-d0a190d7]{padding:0 64px}}.container[data-v-d0a190d7]{margin:0 auto;max-width:1152px}.items[data-v-d0a190d7]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-d0a190d7]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7]{width:50%}.item.grid-3[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-d0a190d7]{width:25%}}.container[data-v-c43247eb]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-c43247eb]{padding:0 48px}}@media (min-width: 960px){.container[data-v-c43247eb]{width:100%;padding:0 64px}}.vp-doc[data-v-c43247eb] .VPHomeSponsors,.vp-doc[data-v-c43247eb] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-c43247eb] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-c43247eb] .VPHomeSponsors a,.vp-doc[data-v-c43247eb] .VPTeamPage a{text-decoration:none}.VPHome[data-v-cbb6ec48]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-cbb6ec48]{margin-bottom:128px}}.VPContent[data-v-91765379]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-91765379]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-91765379]{margin:0}@media (min-width: 960px){.VPContent[data-v-91765379]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-91765379]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-91765379]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-c970a860]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-c970a860]{display:none}.VPFooter[data-v-c970a860] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-c970a860] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-c970a860]{padding:32px}}.container[data-v-c970a860]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c970a860],.copyright[data-v-c970a860]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-c9ba27ad]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-c9ba27ad]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-c9ba27ad]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-c9ba27ad]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-c9ba27ad]{color:var(--vp-c-text-1)}.icon[data-v-c9ba27ad]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-c9ba27ad]{font-size:14px}.icon[data-v-c9ba27ad]{font-size:16px}}.open>.icon[data-v-c9ba27ad]{transform:rotate(90deg)}.items[data-v-c9ba27ad]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-c9ba27ad]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-c9ba27ad]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-c9ba27ad]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-c9ba27ad]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-c9ba27ad]{transition:all .2s ease-out}.flyout-leave-active[data-v-c9ba27ad]{transition:all .15s ease-in}.flyout-enter-from[data-v-c9ba27ad],.flyout-leave-to[data-v-c9ba27ad]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-070ab83d]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-070ab83d]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-070ab83d]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-070ab83d]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-070ab83d]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-070ab83d]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-070ab83d]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-070ab83d]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-070ab83d]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-070ab83d]{display:none}}.menu-icon[data-v-070ab83d]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-070ab83d]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-070ab83d]{padding:12px 32px 11px}}.VPSwitch[data-v-4a1c76db]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-4a1c76db]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-4a1c76db]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-4a1c76db]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-4a1c76db] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-4a1c76db] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-b79b56d4]{opacity:1}.moon[data-v-b79b56d4],.dark .sun[data-v-b79b56d4]{opacity:0}.dark .moon[data-v-b79b56d4]{opacity:1}.dark .VPSwitchAppearance[data-v-b79b56d4] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-ead91a81]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-ead91a81]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-8b74d055]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-8b74d055]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-8b74d055]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-8b74d055]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-48c802d0]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-48c802d0]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-48c802d0]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-48c802d0]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-97491713]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-97491713] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-97491713] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-97491713] .group:last-child{padding-bottom:0}.VPMenu[data-v-97491713] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-97491713] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-97491713] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-97491713] .action{padding-left:24px}.VPFlyout[data-v-e5380155]{position:relative}.VPFlyout[data-v-e5380155]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-e5380155]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-e5380155]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-e5380155]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-e5380155]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-e5380155],.button[aria-expanded=true]+.menu[data-v-e5380155]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-e5380155]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-e5380155]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-e5380155]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-e5380155]{margin-right:0;font-size:16px}.text-icon[data-v-e5380155]{margin-left:4px;font-size:14px}.icon[data-v-e5380155]{font-size:20px;transition:fill .25s}.menu[data-v-e5380155]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-717b8b75]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-717b8b75]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-717b8b75]>svg,.VPSocialLink[data-v-717b8b75]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-ee7a9424]{display:flex;justify-content:center}.VPNavBarExtra[data-v-9b536d0b]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-9b536d0b]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-9b536d0b]{display:none}}.trans-title[data-v-9b536d0b]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-9b536d0b],.item.social-links[data-v-9b536d0b]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-9b536d0b]{min-width:176px}.appearance-action[data-v-9b536d0b]{margin-right:-2px}.social-links-list[data-v-9b536d0b]{margin:-4px -8px}.VPNavBarHamburger[data-v-5dea55bf]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-5dea55bf]{display:none}}.container[data-v-5dea55bf]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-5dea55bf]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-5dea55bf]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-5dea55bf],.VPNavBarHamburger.active:hover .middle[data-v-5dea55bf],.VPNavBarHamburger.active:hover .bottom[data-v-5dea55bf]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-5dea55bf],.middle[data-v-5dea55bf],.bottom[data-v-5dea55bf]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-5dea55bf]{top:0;left:0;transform:translate(0)}.middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-2781b5e7]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-2781b5e7],.VPNavBarMenuLink[data-v-2781b5e7]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-492ea56d]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-492ea56d]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-164c457f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-164c457f]{display:flex;align-items:center}}.title[data-v-28a961f9]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-28a961f9]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-28a961f9]{border-bottom-color:var(--vp-c-divider)}}[data-v-28a961f9] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-c80d9ad0]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-c80d9ad0]{display:flex;align-items:center}}.title[data-v-c80d9ad0]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-b9c8b02d]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-b9c8b02d]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-b9c8b02d]{background-color:transparent}.VPNavBar[data-v-b9c8b02d]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-b9c8b02d]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-b9c8b02d]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-b9c8b02d]{padding:0}}.container[data-v-b9c8b02d]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-b9c8b02d],.container>.content[data-v-b9c8b02d]{pointer-events:none}.container[data-v-b9c8b02d] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-b9c8b02d]{max-width:100%}}.title[data-v-b9c8b02d]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-b9c8b02d]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-b9c8b02d]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-b9c8b02d]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-b9c8b02d]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-b9c8b02d]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-b9c8b02d]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-b9c8b02d]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-b9c8b02d]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-b9c8b02d]{column-gap:.5rem}}.menu+.translations[data-v-b9c8b02d]:before,.menu+.appearance[data-v-b9c8b02d]:before,.menu+.social-links[data-v-b9c8b02d]:before,.translations+.appearance[data-v-b9c8b02d]:before,.appearance+.social-links[data-v-b9c8b02d]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-b9c8b02d]:before,.translations+.appearance[data-v-b9c8b02d]:before{margin-right:16px}.appearance+.social-links[data-v-b9c8b02d]:before{margin-left:16px}.social-links[data-v-b9c8b02d]{margin-right:-8px}.divider[data-v-b9c8b02d]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-b9c8b02d]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-b9c8b02d]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-b9c8b02d]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-b9c8b02d]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-b9c8b02d]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-b9c8b02d]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2b89f08b]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-2b89f08b]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-d45ba3e8]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-d45ba3e8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-7179dbb7]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-7179dbb7]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-4b8941ac]{display:block}.title[data-v-4b8941ac]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-c9df2649]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-c9df2649]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-c9df2649]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-c9df2649]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-c9df2649]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-c9df2649]{transform:rotate(45deg)}.button[data-v-c9df2649]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-c9df2649]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-c9df2649]{transition:transform .25s}.group[data-v-c9df2649]:first-child{padding-top:0}.group+.group[data-v-c9df2649],.group+.item[data-v-c9df2649]{padding-top:4px}.VPNavScreenTranslations[data-v-362991c2]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-362991c2]{height:auto}.title[data-v-362991c2]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-362991c2]{font-size:16px}.icon.lang[data-v-362991c2]{margin-right:8px}.icon.chevron[data-v-362991c2]{margin-left:4px}.list[data-v-362991c2]{padding:4px 0 0 24px}.link[data-v-362991c2]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-382f42e9]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-382f42e9],.VPNavScreen.fade-leave-active[data-v-382f42e9]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-382f42e9],.VPNavScreen.fade-leave-active .container[data-v-382f42e9]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-382f42e9],.VPNavScreen.fade-leave-to[data-v-382f42e9]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-382f42e9],.VPNavScreen.fade-leave-to .container[data-v-382f42e9]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-382f42e9]{display:none}}.container[data-v-382f42e9]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-382f42e9],.menu+.appearance[data-v-382f42e9],.translations+.appearance[data-v-382f42e9]{margin-top:24px}.menu+.social-links[data-v-382f42e9]{margin-top:16px}.appearance+.social-links[data-v-382f42e9]{margin-top:16px}.VPNav[data-v-f1e365da]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-f1e365da]{position:fixed}}.VPSidebarItem.level-0[data-v-f24171a4]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-f24171a4]{padding-bottom:10px}.item[data-v-f24171a4]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-f24171a4]{cursor:pointer}.indicator[data-v-f24171a4]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-f24171a4],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-f24171a4],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-f24171a4],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-f24171a4]{background-color:var(--vp-c-brand-1)}.link[data-v-f24171a4]{display:flex;align-items:center;flex-grow:1}.text[data-v-f24171a4]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-f24171a4]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-f24171a4],.VPSidebarItem.level-2 .text[data-v-f24171a4],.VPSidebarItem.level-3 .text[data-v-f24171a4],.VPSidebarItem.level-4 .text[data-v-f24171a4],.VPSidebarItem.level-5 .text[data-v-f24171a4]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-f24171a4],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-f24171a4],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-f24171a4],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-f24171a4],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-f24171a4],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-f24171a4]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-f24171a4],.VPSidebarItem.level-1.has-active>.item>.text[data-v-f24171a4],.VPSidebarItem.level-2.has-active>.item>.text[data-v-f24171a4],.VPSidebarItem.level-3.has-active>.item>.text[data-v-f24171a4],.VPSidebarItem.level-4.has-active>.item>.text[data-v-f24171a4],.VPSidebarItem.level-5.has-active>.item>.text[data-v-f24171a4],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-f24171a4],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-f24171a4],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-f24171a4],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-f24171a4],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-f24171a4],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-f24171a4]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-f24171a4],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-f24171a4],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-f24171a4],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-f24171a4],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-f24171a4],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-f24171a4]{color:var(--vp-c-brand-1)}.caret[data-v-f24171a4]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-f24171a4]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-f24171a4]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-f24171a4]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-f24171a4]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-f24171a4],.VPSidebarItem.level-2 .items[data-v-f24171a4],.VPSidebarItem.level-3 .items[data-v-f24171a4],.VPSidebarItem.level-4 .items[data-v-f24171a4],.VPSidebarItem.level-5 .items[data-v-f24171a4]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-f24171a4]{display:none}.VPSidebar[data-v-ec846e01]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-ec846e01]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-ec846e01]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-ec846e01]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-ec846e01]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-ec846e01]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-ec846e01]{outline:0}.group+.group[data-v-ec846e01]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-ec846e01]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-c3508ec8]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c3508ec8]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c3508ec8]{top:14px;left:16px}}.Layout[data-v-a9a9e638]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-db81191c]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-db81191c]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{margin:128px 0}}.VPHomeSponsors[data-v-db81191c]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-db81191c]{padding:0 64px}}.container[data-v-db81191c]{margin:0 auto;max-width:1152px}.love[data-v-db81191c]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-db81191c]{display:inline-block}.message[data-v-db81191c]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-db81191c]{padding-top:32px}.action[data-v-db81191c]{padding-top:40px;text-align:center}.VPTeamPage[data-v-c2f8e101]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-c2f8e101]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-c2f8e101-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-c2f8e101-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:96px}}.VPTeamMembers[data-v-c2f8e101-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 64px}}.VPTeamPageTitle[data-v-e277e15c]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-e277e15c]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-e277e15c]{padding:80px 64px 48px}}.title[data-v-e277e15c]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-e277e15c]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-e277e15c]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-e277e15c]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-d43bc49d]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 64px}}.title[data-v-d43bc49d]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-d43bc49d]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-d43bc49d]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-d43bc49d]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-d43bc49d]{padding-top:40px}.VPTeamMembersItem[data-v-f9987cb6]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f9987cb6]{padding:32px}.VPTeamMembersItem.small .data[data-v-f9987cb6]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f9987cb6]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f9987cb6]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f9987cb6]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f9987cb6]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f9987cb6]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f9987cb6]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f9987cb6]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f9987cb6]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f9987cb6]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f9987cb6]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f9987cb6]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f9987cb6]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f9987cb6]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f9987cb6]{text-align:center}.avatar[data-v-f9987cb6]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f9987cb6]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f9987cb6]{margin:0;font-weight:600}.affiliation[data-v-f9987cb6]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f9987cb6]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f9987cb6]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f9987cb6]{margin:0 auto}.desc[data-v-f9987cb6] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f9987cb6]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f9987cb6]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-f9987cb6]:hover,.sp .sp-link.link[data-v-f9987cb6]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f9987cb6]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-fba19bad]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-fba19bad]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-fba19bad]{max-width:876px}.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-fba19bad]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-fba19bad]{max-width:760px}.container[data-v-fba19bad]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-plugin-tabs-tab-text-color: var(--vp-c-text-2);--vp-plugin-tabs-tab-active-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-hover-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-bg: var(--vp-c-bg-soft);--vp-plugin-tabs-tab-divider: var(--vp-c-divider);--vp-plugin-tabs-tab-active-bar-color: var(--vp-c-brand-1)}.plugin-tabs{margin:16px 0;background-color:var(--vp-plugin-tabs-tab-bg);border-radius:8px}.plugin-tabs--tab-list{position:relative;padding:0 12px;overflow-x:auto;overflow-y:hidden}.plugin-tabs--tab-list:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--vp-plugin-tabs-tab-divider)}.plugin-tabs--tab{position:relative;padding:0 12px;line-height:48px;border-bottom:2px solid transparent;color:var(--vp-plugin-tabs-tab-text-color);font-size:14px;font-weight:500;white-space:nowrap;transition:color .25s}.plugin-tabs--tab[aria-selected=true]{color:var(--vp-plugin-tabs-tab-active-text-color)}.plugin-tabs--tab:hover{color:var(--vp-plugin-tabs-tab-hover-text-color)}.plugin-tabs--tab:after{content:"";position:absolute;bottom:-2px;left:8px;right:8px;height:2px;background-color:transparent;transition:background-color .25s;z-index:1}.plugin-tabs--tab[aria-selected=true]:after{background-color:var(--vp-plugin-tabs-tab-active-bar-color)}.plugin-tabs--content[data-v-9b0d03d2]{padding:16px}.plugin-tabs--content[data-v-9b0d03d2]>:first-child:first-child{margin-top:0}.plugin-tabs--content[data-v-9b0d03d2]>:last-child:last-child{margin-bottom:0}.plugin-tabs--content[data-v-9b0d03d2]>div[class*=language-]{border-radius:8px;margin:16px 0}:root:not(.dark) .plugin-tabs--content[data-v-9b0d03d2] div[class*=language-]{background-color:var(--vp-c-bg)}.VPHero .clip{white-space:pre;max-width:500px}:root{--vp-font-family-base: "Barlow", "Inter var experimental", "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New", monospace}:root{--julia-blue: #4063D8;--julia-purple: #9558B2;--julia-red: #CB3C33;--julia-green: #389826;--vp-c-brand: #389826;--vp-c-brand-light: #3dd027;--vp-c-brand-lighter: #9499ff;--vp-c-brand-lightest: #bcc0ff;--vp-c-brand-dark: #535bf2;--vp-c-brand-darker: #454ce1;--vp-c-brand-dimm: #212425}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);--vp-c-black: hsl(220 20% 9%);--vp-c-black-pure: hsl(220, 24%, 4%);--vp-c-black-soft: hsl(220 16% 13%);--vp-c-black-mute: hsl(220 14% 17%);--vp-c-gray: hsl(220 8% 56%);--vp-c-gray-dark-1: hsl(220 10% 39%);--vp-c-gray-dark-2: hsl(220 12% 28%);--vp-c-gray-dark-3: hsl(220 12% 23%);--vp-c-gray-dark-4: hsl(220 14% 17%);--vp-c-gray-dark-5: hsl(220 16% 13%);--vp-custom-block-info-bg: hsl(220 14% 17%)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}mjx-container>svg{display:block;margin:auto}mjx-container{padding:.5rem 0}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto;display:inline-block}:root{--vp-c-brand-1: #CB3C33;--vp-c-brand-2: #CB3C33;--vp-c-brand-3: #CB3C33;--vp-c-sponsor: #ca2971;--vitest-c-sponsor-hover: #c13071}.dark{--vp-c-brand-1: #91dd33;--vp-c-brand-2: #91dd33;--vp-c-brand-3: #91dd33;--vp-c-sponsor: #91dd33;--vitest-c-sponsor-hover: #e51370}.VPLocalSearchBox[data-v-f5c68218]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-f5c68218]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-f5c68218]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-f5c68218]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-f5c68218]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-f5c68218]{padding:0 8px}}.search-bar[data-v-f5c68218]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-f5c68218]{display:block;font-size:18px}.navigate-icon[data-v-f5c68218]{display:block;font-size:14px}.search-icon[data-v-f5c68218]{margin:8px}@media (max-width: 767px){.search-icon[data-v-f5c68218]{display:none}}.search-input[data-v-f5c68218]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-f5c68218]{padding:6px 4px}}.search-actions[data-v-f5c68218]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-f5c68218]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-f5c68218]{display:none}}.search-actions button[data-v-f5c68218]{padding:8px}.search-actions button[data-v-f5c68218]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-f5c68218]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-f5c68218]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-f5c68218]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-f5c68218]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-f5c68218]{display:none}}.search-keyboard-shortcuts kbd[data-v-f5c68218]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-f5c68218]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-f5c68218]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-f5c68218]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-f5c68218]{margin:8px}}.titles[data-v-f5c68218]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-f5c68218]{display:flex;align-items:center;gap:4px}.title.main[data-v-f5c68218]{font-weight:500}.title-icon[data-v-f5c68218]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-f5c68218]{opacity:.5}.result.selected[data-v-f5c68218]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-f5c68218]{position:relative}.excerpt[data-v-f5c68218]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-f5c68218]{opacity:1}.excerpt[data-v-f5c68218] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-f5c68218] mark,.excerpt[data-v-f5c68218] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-f5c68218] .vp-code-group .tabs{display:none}.excerpt[data-v-f5c68218] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-f5c68218]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-f5c68218]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-f5c68218],.result.selected .title-icon[data-v-f5c68218]{color:var(--vp-c-brand-1)!important}.no-results[data-v-f5c68218]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-f5c68218]{flex:none} +@import"https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic";@import"https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic";@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-cyrillic.CMhn1ESj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-greek.JvnBZ4YD.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-greek-ext.D0mI3NpI.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-latin.Bu8hRsVA.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-latin-ext.ZlYT4o7i.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/NeuroTreeModels.jl/dev/assets/inter-roman-vietnamese.ClpjcLMQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-cyrillic.D6csxwjC.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-greek.9J96vYpw.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-greek-ext.CHOfFY1k.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-latin.DbsTr1gm.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-latin-ext.BGcWXLrn.woff2) format("woff2");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:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/NeuroTreeModels.jl/dev/assets/inter-italic-vietnamese.DHNAd7Wr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-b06cdb19]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b06cdb19],.VPBackdrop.fade-leave-to[data-v-b06cdb19]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b06cdb19]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b06cdb19]{display:none}}.NotFound[data-v-792811ca]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-792811ca]{padding:96px 32px 168px}}.code[data-v-792811ca]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-792811ca]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-792811ca]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-792811ca]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-792811ca]{padding-top:20px}.link[data-v-792811ca]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-792811ca]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-3f927ebe]{position:relative;z-index:1}.nested[data-v-3f927ebe]{padding-right:16px;padding-left:16px}.outline-link[data-v-3f927ebe]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-3f927ebe]:hover,.outline-link.active[data-v-3f927ebe]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-3f927ebe]{padding-left:13px}.VPDocAsideOutline[data-v-c14bfc45]{display:none}.VPDocAsideOutline.has-outline[data-v-c14bfc45]{display:block}.content[data-v-c14bfc45]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-c14bfc45]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-c14bfc45]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-6d7b3c46]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-6d7b3c46]{flex-grow:1}.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-6d7b3c46] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-9da12f1d]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-9da12f1d]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-87be45d1]{margin-top:64px}.edit-info[data-v-87be45d1]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-87be45d1]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-87be45d1]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-87be45d1]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-87be45d1]{margin-right:8px}.prev-next[data-v-87be45d1]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-87be45d1]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-87be45d1]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-87be45d1]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-87be45d1]{margin-left:auto;text-align:right}.desc[data-v-87be45d1]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-87be45d1]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-83890dd9]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-83890dd9]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-83890dd9]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-83890dd9]{display:flex;justify-content:center}.VPDoc .aside[data-v-83890dd9]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{max-width:1104px}}.container[data-v-83890dd9]{margin:0 auto;width:100%}.aside[data-v-83890dd9]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-83890dd9]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-83890dd9]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-83890dd9]::-webkit-scrollbar{display:none}.aside-curtain[data-v-83890dd9]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-83890dd9]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-83890dd9]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-83890dd9]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-83890dd9]{order:1;margin:0;min-width:640px}}.content-container[data-v-83890dd9]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-83890dd9]{max-width:688px}.VPButton[data-v-14206e74]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-14206e74]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-14206e74]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-14206e74]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-14206e74]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-14206e74]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-14206e74]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-14206e74]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-14206e74]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-14206e74]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-14206e74]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-14206e74]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-14206e74]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-35a7d0b8]{display:none}.dark .VPImage.light[data-v-35a7d0b8]{display:none}.VPHero[data-v-955009fc]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-955009fc]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-955009fc]{flex-direction:row}}.main[data-v-955009fc]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-955009fc]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-955009fc]{text-align:left}}@media (min-width: 960px){.main[data-v-955009fc]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-955009fc]{max-width:592px}}.name[data-v-955009fc],.text[data-v-955009fc]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0 auto}.name[data-v-955009fc]{color:var(--vp-home-hero-name-color)}.clip[data-v-955009fc]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-955009fc],.text[data-v-955009fc]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-955009fc],.text[data-v-955009fc]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0}}.tagline[data-v-955009fc]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-955009fc]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-955009fc]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-955009fc]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-955009fc]{margin:0}}.actions[data-v-955009fc]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-955009fc]{justify-content:center}@media (min-width: 640px){.actions[data-v-955009fc]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-955009fc]{justify-content:flex-start}}.action[data-v-955009fc]{flex-shrink:0;padding:6px}.image[data-v-955009fc]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-955009fc]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-955009fc]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-955009fc]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-955009fc]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-955009fc]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-955009fc]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-955009fc]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-955009fc]{width:320px;height:320px}}[data-v-955009fc] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-955009fc] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-955009fc] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-f5e9645b]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f5e9645b]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-f5e9645b]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-f5e9645b]>.VPImage{margin-bottom:20px}.icon[data-v-f5e9645b]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-f5e9645b]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-f5e9645b]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f5e9645b]{padding-top:8px}.link-text-value[data-v-f5e9645b]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-f5e9645b]{margin-left:6px}.VPFeatures[data-v-d0a190d7]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-d0a190d7]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-d0a190d7]{padding:0 64px}}.container[data-v-d0a190d7]{margin:0 auto;max-width:1152px}.items[data-v-d0a190d7]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-d0a190d7]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7]{width:50%}.item.grid-3[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-d0a190d7]{width:25%}}.container[data-v-c43247eb]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-c43247eb]{padding:0 48px}}@media (min-width: 960px){.container[data-v-c43247eb]{width:100%;padding:0 64px}}.vp-doc[data-v-c43247eb] .VPHomeSponsors,.vp-doc[data-v-c43247eb] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-c43247eb] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-c43247eb] .VPHomeSponsors a,.vp-doc[data-v-c43247eb] .VPTeamPage a{text-decoration:none}.VPHome[data-v-cbb6ec48]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-cbb6ec48]{margin-bottom:128px}}.VPContent[data-v-91765379]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-91765379]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-91765379]{margin:0}@media (min-width: 960px){.VPContent[data-v-91765379]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-91765379]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-91765379]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-c970a860]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-c970a860]{display:none}.VPFooter[data-v-c970a860] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-c970a860] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-c970a860]{padding:32px}}.container[data-v-c970a860]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c970a860],.copyright[data-v-c970a860]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-c9ba27ad]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-c9ba27ad]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-c9ba27ad]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-c9ba27ad]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-c9ba27ad]{color:var(--vp-c-text-1)}.icon[data-v-c9ba27ad]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-c9ba27ad]{font-size:14px}.icon[data-v-c9ba27ad]{font-size:16px}}.open>.icon[data-v-c9ba27ad]{transform:rotate(90deg)}.items[data-v-c9ba27ad]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-c9ba27ad]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-c9ba27ad]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-c9ba27ad]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-c9ba27ad]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-c9ba27ad]{transition:all .2s ease-out}.flyout-leave-active[data-v-c9ba27ad]{transition:all .15s ease-in}.flyout-enter-from[data-v-c9ba27ad],.flyout-leave-to[data-v-c9ba27ad]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-070ab83d]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-070ab83d]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-070ab83d]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-070ab83d]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-070ab83d]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-070ab83d]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-070ab83d]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-070ab83d]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-070ab83d]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-070ab83d]{display:none}}.menu-icon[data-v-070ab83d]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-070ab83d]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-070ab83d]{padding:12px 32px 11px}}.VPSwitch[data-v-4a1c76db]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-4a1c76db]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-4a1c76db]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-4a1c76db]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-4a1c76db] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-4a1c76db] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-b79b56d4]{opacity:1}.moon[data-v-b79b56d4],.dark .sun[data-v-b79b56d4]{opacity:0}.dark .moon[data-v-b79b56d4]{opacity:1}.dark .VPSwitchAppearance[data-v-b79b56d4] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-ead91a81]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-ead91a81]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-8b74d055]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-8b74d055]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-8b74d055]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-8b74d055]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-48c802d0]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-48c802d0]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-48c802d0]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-48c802d0]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-97491713]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-97491713] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-97491713] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-97491713] .group:last-child{padding-bottom:0}.VPMenu[data-v-97491713] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-97491713] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-97491713] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-97491713] .action{padding-left:24px}.VPFlyout[data-v-e5380155]{position:relative}.VPFlyout[data-v-e5380155]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-e5380155]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-e5380155]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-e5380155]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-e5380155]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-e5380155],.button[aria-expanded=true]+.menu[data-v-e5380155]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-e5380155]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-e5380155]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-e5380155]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-e5380155]{margin-right:0;font-size:16px}.text-icon[data-v-e5380155]{margin-left:4px;font-size:14px}.icon[data-v-e5380155]{font-size:20px;transition:fill .25s}.menu[data-v-e5380155]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-717b8b75]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-717b8b75]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-717b8b75]>svg,.VPSocialLink[data-v-717b8b75]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-ee7a9424]{display:flex;justify-content:center}.VPNavBarExtra[data-v-9b536d0b]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-9b536d0b]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-9b536d0b]{display:none}}.trans-title[data-v-9b536d0b]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-9b536d0b],.item.social-links[data-v-9b536d0b]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-9b536d0b]{min-width:176px}.appearance-action[data-v-9b536d0b]{margin-right:-2px}.social-links-list[data-v-9b536d0b]{margin:-4px -8px}.VPNavBarHamburger[data-v-5dea55bf]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-5dea55bf]{display:none}}.container[data-v-5dea55bf]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-5dea55bf]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-5dea55bf]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-5dea55bf],.VPNavBarHamburger.active:hover .middle[data-v-5dea55bf],.VPNavBarHamburger.active:hover .bottom[data-v-5dea55bf]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-5dea55bf],.middle[data-v-5dea55bf],.bottom[data-v-5dea55bf]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-5dea55bf]{top:0;left:0;transform:translate(0)}.middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-ed5ac1f6]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-ed5ac1f6],.VPNavBarMenuLink[data-v-ed5ac1f6]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-492ea56d]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-492ea56d]{display:flex}}/*! @docsearch/css 3.6.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-164c457f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-164c457f]{display:flex;align-items:center}}.title[data-v-28a961f9]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-28a961f9]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-28a961f9]{border-bottom-color:var(--vp-c-divider)}}[data-v-28a961f9] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-c80d9ad0]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-c80d9ad0]{display:flex;align-items:center}}.title[data-v-c80d9ad0]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-40788ea0]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar[data-v-40788ea0]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-40788ea0]:not(.home){background-color:transparent}.VPNavBar[data-v-40788ea0]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-40788ea0]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-40788ea0]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-40788ea0]{padding:0}}.container[data-v-40788ea0]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-40788ea0],.container>.content[data-v-40788ea0]{pointer-events:none}.container[data-v-40788ea0] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-40788ea0]{max-width:100%}}.title[data-v-40788ea0]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-40788ea0]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-40788ea0]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-40788ea0]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-40788ea0]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-40788ea0]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-40788ea0]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-40788ea0]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-40788ea0]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-40788ea0]{column-gap:.5rem}}.menu+.translations[data-v-40788ea0]:before,.menu+.appearance[data-v-40788ea0]:before,.menu+.social-links[data-v-40788ea0]:before,.translations+.appearance[data-v-40788ea0]:before,.appearance+.social-links[data-v-40788ea0]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-40788ea0]:before,.translations+.appearance[data-v-40788ea0]:before{margin-right:16px}.appearance+.social-links[data-v-40788ea0]:before{margin-left:16px}.social-links[data-v-40788ea0]{margin-right:-8px}.divider[data-v-40788ea0]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-40788ea0]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-40788ea0]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-40788ea0]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-40788ea0]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-40788ea0]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-40788ea0]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2b89f08b]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-2b89f08b]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-d45ba3e8]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-d45ba3e8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-7179dbb7]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-7179dbb7]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-4b8941ac]{display:block}.title[data-v-4b8941ac]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-c9df2649]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-c9df2649]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-c9df2649]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-c9df2649]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-c9df2649]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-c9df2649]{transform:rotate(45deg)}.button[data-v-c9df2649]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-c9df2649]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-c9df2649]{transition:transform .25s}.group[data-v-c9df2649]:first-child{padding-top:0}.group+.group[data-v-c9df2649],.group+.item[data-v-c9df2649]{padding-top:4px}.VPNavScreenTranslations[data-v-362991c2]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-362991c2]{height:auto}.title[data-v-362991c2]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-362991c2]{font-size:16px}.icon.lang[data-v-362991c2]{margin-right:8px}.icon.chevron[data-v-362991c2]{margin-left:4px}.list[data-v-362991c2]{padding:4px 0 0 24px}.link[data-v-362991c2]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-382f42e9]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-382f42e9],.VPNavScreen.fade-leave-active[data-v-382f42e9]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-382f42e9],.VPNavScreen.fade-leave-active .container[data-v-382f42e9]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-382f42e9],.VPNavScreen.fade-leave-to[data-v-382f42e9]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-382f42e9],.VPNavScreen.fade-leave-to .container[data-v-382f42e9]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-382f42e9]{display:none}}.container[data-v-382f42e9]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-382f42e9],.menu+.appearance[data-v-382f42e9],.translations+.appearance[data-v-382f42e9]{margin-top:24px}.menu+.social-links[data-v-382f42e9]{margin-top:16px}.appearance+.social-links[data-v-382f42e9]{margin-top:16px}.VPNav[data-v-f1e365da]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-f1e365da]{position:fixed}}.VPSidebarItem.level-0[data-v-2ea20db7]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-2ea20db7]{padding-bottom:10px}.item[data-v-2ea20db7]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-2ea20db7]{cursor:pointer}.indicator[data-v-2ea20db7]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-2ea20db7],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-2ea20db7],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-2ea20db7],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-2ea20db7]{background-color:var(--vp-c-brand-1)}.link[data-v-2ea20db7]{display:flex;align-items:center;flex-grow:1}.text[data-v-2ea20db7]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-2ea20db7]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-2ea20db7],.VPSidebarItem.level-2 .text[data-v-2ea20db7],.VPSidebarItem.level-3 .text[data-v-2ea20db7],.VPSidebarItem.level-4 .text[data-v-2ea20db7],.VPSidebarItem.level-5 .text[data-v-2ea20db7]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-2ea20db7],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-2ea20db7],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-2ea20db7],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-2ea20db7],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-2ea20db7],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-2ea20db7]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-2ea20db7],.VPSidebarItem.level-1.has-active>.item>.text[data-v-2ea20db7],.VPSidebarItem.level-2.has-active>.item>.text[data-v-2ea20db7],.VPSidebarItem.level-3.has-active>.item>.text[data-v-2ea20db7],.VPSidebarItem.level-4.has-active>.item>.text[data-v-2ea20db7],.VPSidebarItem.level-5.has-active>.item>.text[data-v-2ea20db7],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-2ea20db7],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-2ea20db7],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-2ea20db7],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-2ea20db7],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-2ea20db7],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-2ea20db7]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-2ea20db7],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-2ea20db7],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-2ea20db7],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-2ea20db7],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-2ea20db7],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-2ea20db7]{color:var(--vp-c-brand-1)}.caret[data-v-2ea20db7]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-2ea20db7]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-2ea20db7]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-2ea20db7]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-2ea20db7]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-2ea20db7],.VPSidebarItem.level-2 .items[data-v-2ea20db7],.VPSidebarItem.level-3 .items[data-v-2ea20db7],.VPSidebarItem.level-4 .items[data-v-2ea20db7],.VPSidebarItem.level-5 .items[data-v-2ea20db7]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-2ea20db7]{display:none}.VPSidebar[data-v-ec846e01]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-ec846e01]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-ec846e01]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-ec846e01]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-ec846e01]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-ec846e01]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-ec846e01]{outline:0}.group+.group[data-v-ec846e01]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-ec846e01]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-c3508ec8]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c3508ec8]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c3508ec8]{top:14px;left:16px}}.Layout[data-v-a9a9e638]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-db81191c]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-db81191c]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{margin:128px 0}}.VPHomeSponsors[data-v-db81191c]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-db81191c]{padding:0 64px}}.container[data-v-db81191c]{margin:0 auto;max-width:1152px}.love[data-v-db81191c]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-db81191c]{display:inline-block}.message[data-v-db81191c]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-db81191c]{padding-top:32px}.action[data-v-db81191c]{padding-top:40px;text-align:center}.VPTeamPage[data-v-c2f8e101]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-c2f8e101]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-c2f8e101-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-c2f8e101-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:96px}}.VPTeamMembers[data-v-c2f8e101-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 64px}}.VPTeamPageTitle[data-v-e277e15c]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-e277e15c]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-e277e15c]{padding:80px 64px 48px}}.title[data-v-e277e15c]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-e277e15c]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-e277e15c]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-e277e15c]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-d43bc49d]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 64px}}.title[data-v-d43bc49d]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-d43bc49d]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-d43bc49d]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-d43bc49d]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-d43bc49d]{padding-top:40px}.VPTeamMembersItem[data-v-f9987cb6]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f9987cb6]{padding:32px}.VPTeamMembersItem.small .data[data-v-f9987cb6]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f9987cb6]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f9987cb6]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f9987cb6]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f9987cb6]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f9987cb6]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f9987cb6]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f9987cb6]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f9987cb6]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f9987cb6]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f9987cb6]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f9987cb6]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f9987cb6]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f9987cb6]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f9987cb6]{text-align:center}.avatar[data-v-f9987cb6]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f9987cb6]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f9987cb6]{margin:0;font-weight:600}.affiliation[data-v-f9987cb6]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f9987cb6]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f9987cb6]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f9987cb6]{margin:0 auto}.desc[data-v-f9987cb6] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f9987cb6]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f9987cb6]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-f9987cb6]:hover,.sp .sp-link.link[data-v-f9987cb6]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f9987cb6]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-fba19bad]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-fba19bad]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-fba19bad]{max-width:876px}.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-fba19bad]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-fba19bad]{max-width:760px}.container[data-v-fba19bad]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-plugin-tabs-tab-text-color: var(--vp-c-text-2);--vp-plugin-tabs-tab-active-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-hover-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-bg: var(--vp-c-bg-soft);--vp-plugin-tabs-tab-divider: var(--vp-c-divider);--vp-plugin-tabs-tab-active-bar-color: var(--vp-c-brand-1)}.plugin-tabs{margin:16px 0;background-color:var(--vp-plugin-tabs-tab-bg);border-radius:8px}.plugin-tabs--tab-list{position:relative;padding:0 12px;overflow-x:auto;overflow-y:hidden}.plugin-tabs--tab-list:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--vp-plugin-tabs-tab-divider)}.plugin-tabs--tab{position:relative;padding:0 12px;line-height:48px;border-bottom:2px solid transparent;color:var(--vp-plugin-tabs-tab-text-color);font-size:14px;font-weight:500;white-space:nowrap;transition:color .25s}.plugin-tabs--tab[aria-selected=true]{color:var(--vp-plugin-tabs-tab-active-text-color)}.plugin-tabs--tab:hover{color:var(--vp-plugin-tabs-tab-hover-text-color)}.plugin-tabs--tab:after{content:"";position:absolute;bottom:-2px;left:8px;right:8px;height:2px;background-color:transparent;transition:background-color .25s;z-index:1}.plugin-tabs--tab[aria-selected=true]:after{background-color:var(--vp-plugin-tabs-tab-active-bar-color)}.plugin-tabs--content[data-v-9b0d03d2]{padding:16px}.plugin-tabs--content[data-v-9b0d03d2]>:first-child:first-child{margin-top:0}.plugin-tabs--content[data-v-9b0d03d2]>:last-child:last-child{margin-bottom:0}.plugin-tabs--content[data-v-9b0d03d2]>div[class*=language-]{border-radius:8px;margin:16px 0}:root:not(.dark) .plugin-tabs--content[data-v-9b0d03d2] div[class*=language-]{background-color:var(--vp-c-bg)}.VPHero .clip{white-space:pre;max-width:500px}:root{--vp-font-family-base: "Barlow", "Inter var experimental", "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New", monospace}:root{--julia-blue: #4063D8;--julia-purple: #9558B2;--julia-red: #CB3C33;--julia-green: #389826;--vp-c-brand: #389826;--vp-c-brand-light: #3dd027;--vp-c-brand-lighter: #9499ff;--vp-c-brand-lightest: #bcc0ff;--vp-c-brand-dark: #535bf2;--vp-c-brand-darker: #454ce1;--vp-c-brand-dimm: #212425}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);--vp-c-black: hsl(220 20% 9%);--vp-c-black-pure: hsl(220, 24%, 4%);--vp-c-black-soft: hsl(220 16% 13%);--vp-c-black-mute: hsl(220 14% 17%);--vp-c-gray: hsl(220 8% 56%);--vp-c-gray-dark-1: hsl(220 10% 39%);--vp-c-gray-dark-2: hsl(220 12% 28%);--vp-c-gray-dark-3: hsl(220 12% 23%);--vp-c-gray-dark-4: hsl(220 14% 17%);--vp-c-gray-dark-5: hsl(220 16% 13%);--vp-custom-block-info-bg: hsl(220 14% 17%)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}mjx-container>svg{display:block;margin:auto}mjx-container{padding:.5rem 0}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto;display:inline-block}:root{--vp-c-brand-1: #CB3C33;--vp-c-brand-2: #CB3C33;--vp-c-brand-3: #CB3C33;--vp-c-sponsor: #ca2971;--vitest-c-sponsor-hover: #c13071}.dark{--vp-c-brand-1: #91dd33;--vp-c-brand-2: #91dd33;--vp-c-brand-3: #91dd33;--vp-c-sponsor: #91dd33;--vitest-c-sponsor-hover: #e51370}.VPLocalSearchBox[data-v-f5c68218]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-f5c68218]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-f5c68218]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-f5c68218]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-f5c68218]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-f5c68218]{padding:0 8px}}.search-bar[data-v-f5c68218]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-f5c68218]{display:block;font-size:18px}.navigate-icon[data-v-f5c68218]{display:block;font-size:14px}.search-icon[data-v-f5c68218]{margin:8px}@media (max-width: 767px){.search-icon[data-v-f5c68218]{display:none}}.search-input[data-v-f5c68218]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-f5c68218]{padding:6px 4px}}.search-actions[data-v-f5c68218]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-f5c68218]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-f5c68218]{display:none}}.search-actions button[data-v-f5c68218]{padding:8px}.search-actions button[data-v-f5c68218]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-f5c68218]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-f5c68218]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-f5c68218]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-f5c68218]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-f5c68218]{display:none}}.search-keyboard-shortcuts kbd[data-v-f5c68218]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-f5c68218]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-f5c68218]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-f5c68218]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-f5c68218]{margin:8px}}.titles[data-v-f5c68218]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-f5c68218]{display:flex;align-items:center;gap:4px}.title.main[data-v-f5c68218]{font-weight:500}.title-icon[data-v-f5c68218]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-f5c68218]{opacity:.5}.result.selected[data-v-f5c68218]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-f5c68218]{position:relative}.excerpt[data-v-f5c68218]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-f5c68218]{opacity:1}.excerpt[data-v-f5c68218] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-f5c68218] mark,.excerpt[data-v-f5c68218] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-f5c68218] .vp-code-group .tabs{display:none}.excerpt[data-v-f5c68218] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-f5c68218]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-f5c68218]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-f5c68218],.result.selected .title-icon[data-v-f5c68218]{color:var(--vp-c-brand-1)!important}.no-results[data-v-f5c68218]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-f5c68218]{flex:none} diff --git a/dev/assets/tutorials-classification-iris.md.D9s1vaUF.js b/dev/assets/tutorials-classification-iris.md.B2d12MNu.js similarity index 94% rename from dev/assets/tutorials-classification-iris.md.D9s1vaUF.js rename to dev/assets/tutorials-classification-iris.md.B2d12MNu.js index a837863..d31794e 100644 --- a/dev/assets/tutorials-classification-iris.md.D9s1vaUF.js +++ b/dev/assets/tutorials-classification-iris.md.B2d12MNu.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const y=JSON.parse('{"title":"Classification on Iris dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-classification-iris.md","filePath":"tutorials-classification-iris.md","lastUpdated":null}'),t={name:"tutorials-classification-iris.md"},h=n(`

Classification on Iris dataset

We will use the iris dataset, which is included in the MLDatasets package. This dataset consists of measurements of the sepal length, sepal width, petal length, and petal width for three different types of iris flowers: Setosa, Versicolor, and Virginica.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.CUwTDK2x.js";const y=JSON.parse('{"title":"Classification on Iris dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-classification-iris.md","filePath":"tutorials-classification-iris.md","lastUpdated":null}'),t={name:"tutorials-classification-iris.md"},h=n(`

Classification on Iris dataset

We will use the iris dataset, which is included in the MLDatasets package. This dataset consists of measurements of the sepal length, sepal width, petal length, and petal width for three different types of iris flowers: Setosa, Versicolor, and Virginica.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
 using MLDatasets
 using DataFrames
 using Statistics: mean
@@ -15,7 +15,7 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const y
 train_indices = randperm(nrow(df))[1:Int(train_ratio * nrow(df))]
 
 dtrain = df[train_indices, :]
-deval = df[setdiff(1:nrow(df), train_indices), :]

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
+deval = df[setdiff(1:nrow(df), train_indices), :]

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
     device=:cpu,
     loss=:mlogloss,
     nrounds=400,
diff --git a/dev/assets/tutorials-classification-iris.md.D9s1vaUF.lean.js b/dev/assets/tutorials-classification-iris.md.B2d12MNu.lean.js
similarity index 73%
rename from dev/assets/tutorials-classification-iris.md.D9s1vaUF.lean.js
rename to dev/assets/tutorials-classification-iris.md.B2d12MNu.lean.js
index 6374b7f..0704cae 100644
--- a/dev/assets/tutorials-classification-iris.md.D9s1vaUF.lean.js
+++ b/dev/assets/tutorials-classification-iris.md.B2d12MNu.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const y=JSON.parse('{"title":"Classification on Iris dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-classification-iris.md","filePath":"tutorials-classification-iris.md","lastUpdated":null}'),t={name:"tutorials-classification-iris.md"},h=n("",15),l=[h];function e(k,p,r,E,d,g){return a(),i("div",null,l)}const c=s(t,[["render",e]]);export{y as __pageData,c as default};
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.CUwTDK2x.js";const y=JSON.parse('{"title":"Classification on Iris dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-classification-iris.md","filePath":"tutorials-classification-iris.md","lastUpdated":null}'),t={name:"tutorials-classification-iris.md"},h=n("",15),l=[h];function e(k,p,r,E,d,g){return a(),i("div",null,l)}const c=s(t,[["render",e]]);export{y as __pageData,c as default};
diff --git a/dev/assets/tutorials-logistic-titanic.md.CGZ87Zr8.js b/dev/assets/tutorials-logistic-titanic.md.C6NYXUQN.js
similarity index 95%
rename from dev/assets/tutorials-logistic-titanic.md.CGZ87Zr8.js
rename to dev/assets/tutorials-logistic-titanic.md.C6NYXUQN.js
index 447e6e2..bc0f1e8 100644
--- a/dev/assets/tutorials-logistic-titanic.md.CGZ87Zr8.js
+++ b/dev/assets/tutorials-logistic-titanic.md.C6NYXUQN.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const c=JSON.parse('{"title":"Logistic Regression on Titanic Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-logistic-titanic.md","filePath":"tutorials-logistic-titanic.md","lastUpdated":null}'),t={name:"tutorials-logistic-titanic.md"},e=n(`

Logistic Regression on Titanic Dataset

We will use the Titanic dataset, which is included in the MLDatasets package. It describes the survival status of individual passengers on the Titanic. The model will be approached as a logistic regression problem, although a Classifier model could also have been used (see the Classification - Iris tutorial).

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.CUwTDK2x.js";const c=JSON.parse('{"title":"Logistic Regression on Titanic Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-logistic-titanic.md","filePath":"tutorials-logistic-titanic.md","lastUpdated":null}'),t={name:"tutorials-logistic-titanic.md"},e=n(`

Logistic Regression on Titanic Dataset

We will use the Titanic dataset, which is included in the MLDatasets package. It describes the survival status of individual passengers on the Titanic. The model will be approached as a logistic regression problem, although a Classifier model could also have been used (see the Classification - Iris tutorial).

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
 using MLDatasets
 using DataFrames
 using Statistics: mean
@@ -23,7 +23,7 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const c
 deval = df[setdiff(1:nrow(df), train_indices), :]
 
 target_name = "Survived"
-feature_names = setdiff(names(df), [target_name])

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
+feature_names = setdiff(names(df), [target_name])

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
     device=:cpu,
     loss=:logloss,
     nrounds=400,
diff --git a/dev/assets/tutorials-logistic-titanic.md.CGZ87Zr8.lean.js b/dev/assets/tutorials-logistic-titanic.md.C6NYXUQN.lean.js
similarity index 73%
rename from dev/assets/tutorials-logistic-titanic.md.CGZ87Zr8.lean.js
rename to dev/assets/tutorials-logistic-titanic.md.C6NYXUQN.lean.js
index 7d3c025..5d93f19 100644
--- a/dev/assets/tutorials-logistic-titanic.md.CGZ87Zr8.lean.js
+++ b/dev/assets/tutorials-logistic-titanic.md.C6NYXUQN.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const c=JSON.parse('{"title":"Logistic Regression on Titanic Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-logistic-titanic.md","filePath":"tutorials-logistic-titanic.md","lastUpdated":null}'),t={name:"tutorials-logistic-titanic.md"},e=n("",19),h=[e];function l(k,p,r,d,E,g){return a(),i("div",null,h)}const y=s(t,[["render",l]]);export{c as __pageData,y as default};
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.CUwTDK2x.js";const c=JSON.parse('{"title":"Logistic Regression on Titanic Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-logistic-titanic.md","filePath":"tutorials-logistic-titanic.md","lastUpdated":null}'),t={name:"tutorials-logistic-titanic.md"},e=n("",19),h=[e];function l(k,p,r,d,E,g){return a(),i("div",null,h)}const y=s(t,[["render",l]]);export{c as __pageData,y as default};
diff --git a/dev/assets/tutorials-regression-boston.md.CrsWgv-f.lean.js b/dev/assets/tutorials-regression-boston.md.CrsWgv-f.lean.js
deleted file mode 100644
index 399708f..0000000
--- a/dev/assets/tutorials-regression-boston.md.CrsWgv-f.lean.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const y=JSON.parse('{"title":"Regression on Boston Housing Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-regression-boston.md","filePath":"tutorials-regression-boston.md","lastUpdated":null}'),t={name:"tutorials-regression-boston.md"},h=n("",15),l=[h];function e(k,p,r,E,d,g){return a(),i("div",null,l)}const c=s(t,[["render",e]]);export{y as __pageData,c as default};
diff --git a/dev/assets/tutorials-regression-boston.md.CrsWgv-f.js b/dev/assets/tutorials-regression-boston.md.nTriyBwB.js
similarity index 94%
rename from dev/assets/tutorials-regression-boston.md.CrsWgv-f.js
rename to dev/assets/tutorials-regression-boston.md.nTriyBwB.js
index 3e9e29a..77d61f2 100644
--- a/dev/assets/tutorials-regression-boston.md.CrsWgv-f.js
+++ b/dev/assets/tutorials-regression-boston.md.nTriyBwB.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const y=JSON.parse('{"title":"Regression on Boston Housing Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-regression-boston.md","filePath":"tutorials-regression-boston.md","lastUpdated":null}'),t={name:"tutorials-regression-boston.md"},h=n(`

Regression on Boston Housing Dataset

We will use the Boston Housing dataset, which is included in the MLDatasets package. It's derived from information collected by the U.S. Census Service concerning housing in the area of Boston. Target variable represents the median housing value.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.CUwTDK2x.js";const y=JSON.parse('{"title":"Regression on Boston Housing Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-regression-boston.md","filePath":"tutorials-regression-boston.md","lastUpdated":null}'),t={name:"tutorials-regression-boston.md"},h=n(`

Regression on Boston Housing Dataset

We will use the Boston Housing dataset, which is included in the MLDatasets package. It's derived from information collected by the U.S. Census Service concerning housing in the area of Boston. Target variable represents the median housing value.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
 using MLDatasets
 using DataFrames
 using Statistics: mean, std
@@ -17,7 +17,7 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const y
 transform!(dtrain, :MEDV => (x -> (x .- _mean) ./ _std) => "target")
 transform!(deval, :MEDV => (x -> (x .- _mean) ./ _std) => "target")
 
-target_name = "target"

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
+target_name = "target"

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
     device=:cpu,
     loss=:mse,
     nrounds=400,
@@ -39,4 +39,4 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.BResyDFY.js";const y
 0.8985784079860025
 
 julia> mean(abs.(p_eval .- deval[!, "MEDV"]))
-2.3287859731914597
`,15),l=[h];function e(k,p,r,E,d,g){return a(),i("div",null,l)}const c=s(t,[["render",e]]);export{y as __pageData,c as default}; +2.3287859731914597
`,15),l=[h];function k(e,p,r,E,d,g){return a(),i("div",null,l)}const c=s(t,[["render",k]]);export{y as __pageData,c as default}; diff --git a/dev/assets/tutorials-regression-boston.md.nTriyBwB.lean.js b/dev/assets/tutorials-regression-boston.md.nTriyBwB.lean.js new file mode 100644 index 0000000..9a74ca8 --- /dev/null +++ b/dev/assets/tutorials-regression-boston.md.nTriyBwB.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.CUwTDK2x.js";const y=JSON.parse('{"title":"Regression on Boston Housing Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials-regression-boston.md","filePath":"tutorials-regression-boston.md","lastUpdated":null}'),t={name:"tutorials-regression-boston.md"},h=n("",15),l=[h];function k(e,p,r,E,d,g){return a(),i("div",null,l)}const c=s(t,[["render",k]]);export{y as __pageData,c as default}; diff --git a/dev/design.html b/dev/design.html index ad06e60..f5ad340 100644 --- a/dev/design.html +++ b/dev/design.html @@ -5,20 +5,20 @@ NeuroTree - A differentiable tree operator for tabular data | NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

NeuroTree - A differentiable tree operator for tabular data

Overview

This work introduces NeuroTree a differentiable binary tree operator adapted for the treatment of tabular data.

  • Address the shortcoming of traditional trees greediness: all node and leaves are learned simultaneously. It provides the ability to learn an optimal configuration across all of the tree levels.

The notion extent also to the collection of trees that are simultaneously learned.

  • Extend the notion of forest/bagging and boosting.

    • Although the predictions from the all of of the trees forming a NeuroTree operator are averaged, each of the tree prediction tuned simultaneously. This is different from boosting (ex XGBoost) where each tree is learned sequentially and over the residual from previous trees. Also, unlike random forest and bagging, trees aren't learned in isolation but tuned collaboratively, resulting in predictions that account for all of the other trees predictions.
  • General operator compatible for composition.

    • Allows integration within Flux's Chain like other standard operators from NNLib. Composition is also illustrated through the built-in StackTree layer, a residual composition of multiple NeuroTree building blocks.
  • Compatible with general purpose machine learning framework.

    • MLJ integration

Architecture

To introduce the implementation of a NeuroTree, we first get back to the architecture of a basic decision tree.

decision-tree

The above is a binary decision tree of depth 2.

Highlighted in green is the decision path taken for a given sample. It goes into depth number of binary decisions, resulting in the path node1 → node3 → leaf3.

One way to view the role of the decision nodes is to provide an index of the leaf prediction to fetch (index 3 in the figure). Such indexing view is applicable given that node routing relies a hard conditions: it's either true or false.

An alternative perspective that we will adopt here is that tree nodes collectively provide weights associated to each leaf. A tree prediction is the weighted sum of the leaf's value and those leaf weights. In regular decision trees, since all conditions are binary, leaf weights take the form of a mask. In the above example, the mask is [0, 0, 1, 0].

By relaxing these these hard condition into soft ones, the mask takes the form of a probability vector associated to each leaf, where ∑(leaf_weights) = 1 and where each each leaf_weight element is [0, 1].

The following illustrate how a basic decision tree is represented as a single differentiable tree within NeuroTree:

decision-tree

Node weights

To derive how a NeuroTree performs those soft decision, we first break down the structure of how the traditional hard decisions are taken. A nodes's split actually relies on 2 binary conditions:

1. Selection of the feature on which to perform the condition

The selection of a feature out of the selected ones In NeuroTree, these hard decisions are translated into soft, differentiable ones: 1.

2. Selection of the condition's threshold value

A NeuroTree operator acts as collection of complete binary trees, ie. trees without any pruned node. In order to be differentiable, hence trainable using gradient based methods such as Adam, each tree path implements a soft decision rather than a hard one like in traditional decision tree.

Leaf weights

Computing the leaf weights consists of accumulating the weights through each tree branch. It's the technically more challenging part as such computation cannot be represented as a form of matrix multiplication, unlike other common operators like Dense, Conv or MultiHeadAttention / Transformer. Performing probability accumulation though a tree index naturally leads to in-place element wise operations, which are notoriously not friendly for auto-differentiation engines. Since NeuroTree was intended to integrate with the Flux.jl ecosystem, Zygote.jl acts as the underlying AD, the approach used was to to manually implement backward / adjoint of the terminal leaf function and instruct the AD to use that custom rule rather than attempt to differentiate a non-AD compliant function.

Below are the algo and actual implementation of the forward and backward function that compute the leaf weights. For brevity, the loops over each observation of the batch and each tree are omitted. Parallelism, both on CPU and GPU, is obtained through parallelization over the tree and batch dimensions.

Forward

julia
function leaf_weights!(nw)
+    
Skip to content

NeuroTree - A differentiable tree operator for tabular data

Overview

This work introduces NeuroTree a differentiable binary tree operator adapted for the treatment of tabular data.

  • Address the shortcoming of traditional trees greediness: all node and leaves are learned simultaneously. It provides the ability to learn an optimal configuration across all the tree levels. The notion extent also to the collection of trees that are simultaneously learned.

  • Extend the notion of forest/bagging and boosting.

    • Although the predictions from the all the trees forming a NeuroTree operator are averaged, each of the tree prediction is tuned simultaneously. This is different from boosting (ex XGBoost) where each tree is learned sequentially and over the residual from previous trees. Also, unlike random forest and bagging, trees aren't learned in isolation but tuned collaboratively, resulting in predictions that account for all of the other tree predictions.
  • General operator compatible for composition.

    • Allows integration within Flux's Chain like other standard operators from NNLib. Composition is also illustrated through the built-in StackTree layer, a residual composition of multiple NeuroTree building blocks.
  • Compatible with general purpose machine learning framework.

    • MLJ integration

Architecture

A NeuroTree operator acts as collection of complete binary trees, ie. trees without any pruned node. To be differentiable, hence trainable using first-order gradient based methods (ex. Adam optimiser), each tree path implements a soft decision rather than a hard one like in traditional decision tree.

To introduce the implementation of a NeuroTree, we first get back to the architecture of a basic decision tree.

The above is a binary decision tree of depth 2.

Highlighted in green is the decision path taken for a given sample. It goes into depth number of binary decisions, resulting in the path node1 → node3 → leaf3.

One way to view the role of the decision nodes (gray background) is to provide an index of the leaf prediction to fetch (index 3 in the figure). Such indexing view is applicable given that node routing relies on hard conditions: either true or false.

An alternative perspective that we adopt here is that tree nodes collectively provide weights associated to each leaf. A tree prediction becomes the weighted sum of the leaf's values and the leaf's weights. In regular decision trees, since all conditions are binary, leaf weights take the form of a mask. In the above example, the mask is [0, 0, 1, 0].

By relaxing these hard conditions into soft ones, the mask takes the form of a probability vector associated to each leaf, where ∑(leaf_weights) = 1 and where each each leaf_weight element is [0, 1]. A tree prediction can be obtained with the dot product: leaf_values' * leaf_weights.

The following illustrate how a basic decision tree is represented as a single differentiable tree within NeuroTree:

Node weights

To illustrate how a NeuroTree derives the soft decision probability (referred to NW1 - NW3 in the above figure), we first break down how a traditional tree split condition is derived from 2 underlying decisions:

  1. Selection of the feature on which to perform the condition.

Such selection can be represented as the application of a binary mask where all elements are set to false except for that single selected feature where it's set to true.

  1. Selection of the condition's threshold value.

For a given observation, if the selected feature's value is below that threshold, then the node decision is set to false (pointing to left child), and true otherwise (pooinnting to right child).

In NeuroTree, these 2 hard steps are translated into soft, differentiable ones.

Leaf weights

Computing the leaf weights consists of accumulating the weights through each tree branch. It's the technically more challenging part as such computation cannot be represented as a form of matrix multiplication, unlike other common operators like Dense, Conv or MultiHeadAttention / Transformer. Performing probability accumulation though a tree index naturally leads to in-place element wise operations, which are notoriously not friendly for auto-differentiation engines. Since NeuroTree was intended to integrate with the Flux.jl ecosystem, Zygote.jl acts as the underlying AD, the approach used was to manually implement backward / adjoint of the terminal leaf function and instruct the AD to use that custom rule rather than attempt to differentiate a non-AD compliant function.

Below are the algo and actual implementation of the forward and backward function that compute the leaf weights. For brevity, the loops over each observation of the batch and each tree are omitted. Parallelism, both on CPU and GPU, is obtained through parallelization over the tree and batch dimensions.

Forward

julia
function leaf_weights!(nw)
     cw = ones(eltype(nw), 2 * size(nw, 1) + 1)
 
     for i = 2:2:size(cw, 1)
@@ -47,8 +47,8 @@
     end
 
     return nothing
-end

Tree prediction

Composability

  • StackTree

  • General operator: Chain neurotree with MLP

Benchmarks

For each dataset and algo, the following methodology is followed:

  • Data is split in three parts: train, eval and test

  • A random grid of 16 hyper-parameters is generated

  • For each parameter configuration, a model is trained on train data until the evaluation metric tracked against the eval stops improving (early stopping)

  • The trained model is evaluated against the test data

  • The metric presented in below are the ones obtained on the test for the model that generated the best eval metric.

Source code available at MLBenchmarks.jl.

For performance assessment, benchmarks is run on the following selection of common Tabular datasets:

  • Year: min squared error regression

  • MSRank: ranking problem with min squared error regression

  • YahooRank: ranking problem with min squared error regression

  • Higgs: 2-level classification with logistic regression

  • Boston Housing: min squared error regression

  • Titanic: 2-level classification with logistic regression

Comparison is performed against the following algos (implementation in link) considered as state of the art on classification tasks:

Boston

model_typetrain_timemsegini
neurotrees12.818.90.947
evotrees0.20619.70.927
xgboost0.064819.40.935
lightgbm0.86525.40.926
catboost0.051113.90.946

Titanic

model_typetrain_timeloglossaccuracy
neurotrees7.580.4070.828
evotrees0.6730.3820.828
xgboost0.03790.3750.821
lightgbm0.6150.3900.836
catboost0.03260.3880.836

Year

model_typetrain_timemsegini
neurotrees280.076.40.652
evotrees18.680.10.627
xgboost17.280.20.626
lightgbm8.1180.30.624
catboost80.079.20.635

MSRank

model_typetrain_timemsendcg
neurotrees39.10.5780.462
evotrees37.00.5540.504
xgboost12.50.5540.503
lightgbm37.50.5530.503
catboost15.10.5580.497

Yahoo

model_typetrain_timemsendcg
neurotrees417.00.5840.781
evotrees687.00.5450.797
xgboost120.00.5470.798
lightgbm244.00.5400.796
catboost161.00.5610.794

Higgs

model_typetrain_timeloglossaccuracy
neurotrees12300.00.4520.781
evotrees2620.00.4640.776
xgboost1390.00.4620.776
lightgbm1330.00.4610.779
catboost7180.00.4640.775

References

- +end

Tree prediction

Composability

  • StackTree

  • General operator: Chain NeuroTree with MLP

Benchmarks

For each dataset and algo, the following methodology is followed:

  • Data is split in three parts: train, eval and test

  • A random grid of 16 hyper-parameters is generated

  • For each parameter configuration, a model is trained on train data until the evaluation metric tracked against the eval stops improving (early stopping)

  • The trained model is evaluated against the test data

  • The metric presented in below are the ones obtained on the test for the model that generated the best eval metric.

Source code available at MLBenchmarks.jl.

For performance assessment, benchmarks is run on the following selection of common Tabular datasets:

  • Year: min squared error regression. 515,345 observations, 90 features.

  • MSRank: ranking problem with min squared error regression. 1,200,192 observations, 136 features.

  • YahooRank: ranking problem with min squared error regression. 709,877 observations, 519 features.

  • Higgs: 2-level classification with logistic regression. 11,000,000 observations, 28 features.

  • Boston Housing: min squared error regression.

  • Titanic: 2-level classification with logistic regression. 891 observations, 7 features.

Comparison is performed against the following algos (implementation in link) considered as state of the art on classification tasks:

Boston

model_typetrain_timemsegini
neurotrees12.818.90.947
evotrees0.20619.70.927
xgboost0.064819.40.935
lightgbm0.86525.40.926
catboost0.051113.90.946

Titanic

model_typetrain_timeloglossaccuracy
neurotrees7.580.4070.828
evotrees0.6730.3820.828
xgboost0.03790.3750.821
lightgbm0.6150.3900.836
catboost0.03260.3880.836

Year

model_typetrain_timemsegini
neurotrees280.076.40.652
evotrees18.680.10.627
xgboost17.280.20.626
lightgbm8.1180.30.624
catboost80.079.20.635

MSRank

model_typetrain_timemsendcg
neurotrees39.10.5780.462
evotrees37.00.5540.504
xgboost12.50.5540.503
lightgbm37.50.5530.503
catboost15.10.5580.497

Yahoo

model_typetrain_timemsendcg
neurotrees417.00.5840.781
evotrees687.00.5450.797
xgboost120.00.5470.798
lightgbm244.00.5400.796
catboost161.00.5610.794

Higgs

model_typetrain_timeloglossaccuracy
neurotrees12300.00.4520.781
evotrees2620.00.4640.776
xgboost1390.00.4620.776
lightgbm1330.00.4610.779
catboost7180.00.4640.775

Discussion

NeuroTreeModels can achieve top tier performance on both small (Boston) and large (Higgs) datasets. Its performance trailed on the two ranking regression problems (MSRank and Yahoo). Although the large number of features is a distinguishing characteristic of the Yahoo dataset, the 136 features of MSRank are not materially different for the YEAR dataset (90 features), and on which NeuroTreeMoels outperform all other algos. Considering that no sparsity mechanism is present in the feature selection for the node conditions, datasets with a very large number of features may present a challenge. Substituting the default tanh activation with a sparsity inducing one such as hardsigmoid or EntrOpt has not resulted in improvement from the experiments.

Another potential weakness may stem from the soft nature of the decision criteria. Traditional trees can isolate the effect of a specific feature value. This can be notably meaningful in a situation where a numeric feature taking a value of 0 may carry a particular meaning (ex. missing, unknown value). Such stump the effect of a feature should be harder to pick with NeuroTree's soft condition.

References

+ \ No newline at end of file diff --git a/dev/hashmap.json b/dev/hashmap.json index 3810267..a5129ea 100644 --- a/dev/hashmap.json +++ b/dev/hashmap.json @@ -1 +1 @@ -{"quick-start.md":"BP9XKzHk","index.md":"CTJC3X05","tutorials-regression-boston.md":"CrsWgv-f","api.md":"CfF3NmNB","tutorials-logistic-titanic.md":"CGZ87Zr8","tutorials-classification-iris.md":"D9s1vaUF","design.md":"CXyLal5T","models.md":"BfCHGEUK"} +{"models.md":"CuUA2Mbx","tutorials-classification-iris.md":"B2d12MNu","quick-start.md":"BAS8qdd6","design.md":"0tBnC0I_","api.md":"DTVXxwSH","tutorials-logistic-titanic.md":"C6NYXUQN","index.md":"6G8I0lEX","tutorials-regression-boston.md":"nTriyBwB"} diff --git a/dev/index.html b/dev/index.html index d6711da..6fb7b1a 100644 --- a/dev/index.html +++ b/dev/index.html @@ -5,21 +5,21 @@ NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

NeuroTreeModels.jl

Differentiable tree-based models for tabular data

Evovest
- +
Skip to content

NeuroTreeModels.jl

Differentiable tree-based models for tabular data

Evovest
+ \ No newline at end of file diff --git a/dev/evo-chevron.png b/dev/logo.png similarity index 100% rename from dev/evo-chevron.png rename to dev/logo.png diff --git a/dev/models.html b/dev/models.html index 4f944b6..63b0aa0 100644 --- a/dev/models.html +++ b/dev/models.html @@ -5,20 +5,20 @@ Models | NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

Models

NeuroTreeRegressor

# NeuroTreeModels.NeuroTreeRegressorType.

NeuroTreeRegressor(;kwargs...)

A model type for constructing a NeuroTreeRegressor, based on NeuroTreeModels.jl, and implementing both an internal API and the MLJ model interface.

Hyper-parameters

  • loss=:mse: Loss to be be minimized during training. One of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • nrounds=10: Max number of rounds (epochs).

  • lr=1.0f-2: Learning rate. Must be > 0. A lower eta results in slower learning, typically requiring a higher nrounds.

  • wd=0.f0: Weight decay applied to the gradients by the optimizer.

  • batchsize=2048: Batch size.

  • actA=:tanh: Activation function applied to each of input variable for determination of split node weight. Can be one of:

    • :tanh

    • :identity

  • outsize=1: Number of predictions returned by the model. Typically only used for classification tasks and set to the number of target levels / classes.

  • depth=6: Depth of a tree. Must be >= 1. A tree of depth 1 has 2 prediction leaf nodes. A complete tree of depth N contains 2^N terminal leaves and 2^N - 1 split nodes. Compute cost is proportional to 2^depth. Typical optimal values are in the 3 to 5 range.

  • ntrees=64: Number of trees (per stack).

  • hidden_size=16: Size of hidden layers. Applicable only when stack_size > 1.

  • stack_size=1: Number of stacked NeuroTree blocks.

  • init_scale=1.0: Scaling factor applied to the predictions weights. Values in the ]0, 1] short result in best performance.

  • MLE_tree_split=false: Whether independent models are buillt for each of the 2 parameters (mu, sigma) of the the gaussian_mle loss.

  • rng=123: Either an integer used as a seed to the random number generator or an actual random number generator (::Random.AbstractRNG).

  • device=:cpu: Device to use. Either :cpu or :gpu (recommended as it improves significantly the training speed).

  • gpuID=0: ID of the GPU to use for training.

Internal API

Do config = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

A model is trained using fit:

julia
m = fit(config, dtrain; feature_names, target_name, kwargs...)

Inference

Models act as a functor. returning predictions when called as a function with features as argument:

julia
m(data)

MLJ Interface

From MLJ, the type can be imported using:

julia
NeuroTreeRegressor = @load NeuroTreeRegressor pkg=NeuroTreeModels

Do model = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

In MLJ or MLJBase, bind an instance model to data with mach = machine(model, X, y) where

  • X: any table of input features (eg, a DataFrame) whose columns each have one of the following element scitypes: Continuous, Count, or <:OrderedFactor; check column scitypes with schema(X)

  • y: is the target, which can be any AbstractVector whose element scitype is <:Continuous; check the scitype with scitype(y)

Train the machine using fit!(mach, rows=...).

Operations

  • predict(mach, Xnew): return predictions of the target given features Xnew having the same scitype as X above.

Fitted parameters

The fields of fitted_params(mach) are:

  • :fitresult: The NeuroTreeModel object.

Report

The fields of report(mach) are:

  • :features: The names of the features encountered in training.

Examples

Internal API

julia
using NeuroTreeModels, DataFrames
+    
Skip to content

Models

NeuroTreeRegressor

# NeuroTreeModels.NeuroTreeRegressorType.

NeuroTreeRegressor(;kwargs...)

A model type for constructing a NeuroTreeRegressor, based on NeuroTreeModels.jl, and implementing both an internal API and the MLJ model interface.

Hyper-parameters

  • loss=:mse: Loss to be be minimized during training. One of:

    • :mse

    • :mae

    • :logloss

    • :mlogloss

    • :gaussian_mle

  • nrounds=10: Max number of rounds (epochs).

  • lr=1.0f-2: Learning rate. Must be > 0. A lower eta results in slower learning, typically requiring a higher nrounds.

  • wd=0.f0: Weight decay applied to the gradients by the optimizer.

  • batchsize=2048: Batch size.

  • actA=:tanh: Activation function applied to each of input variable for determination of split node weight. Can be one of:

    • :tanh

    • :identity

  • outsize=1: Number of predictions returned by the model. Typically only used for classification tasks and set to the number of target levels / classes.

  • depth=6: Depth of a tree. Must be >= 1. A tree of depth 1 has 2 prediction leaf nodes. A complete tree of depth N contains 2^N terminal leaves and 2^N - 1 split nodes. Compute cost is proportional to 2^depth. Typical optimal values are in the 3 to 5 range.

  • ntrees=64: Number of trees (per stack).

  • hidden_size=16: Size of hidden layers. Applicable only when stack_size > 1.

  • stack_size=1: Number of stacked NeuroTree blocks.

  • init_scale=1.0: Scaling factor applied to the predictions weights. Values in the ]0, 1] short result in best performance.

  • MLE_tree_split=false: Whether independent models are buillt for each of the 2 parameters (mu, sigma) of the the gaussian_mle loss.

  • rng=123: Either an integer used as a seed to the random number generator or an actual random number generator (::Random.AbstractRNG).

  • device=:cpu: Device to use. Either :cpu or :gpu (recommended as it improves significantly the training speed).

  • gpuID=0: ID of the GPU to use for training.

Internal API

Do config = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

A model is trained using fit:

julia
m = fit(config, dtrain; feature_names, target_name, kwargs...)

Inference

Models act as a functor. returning predictions when called as a function with features as argument:

julia
m(data)

MLJ Interface

From MLJ, the type can be imported using:

julia
NeuroTreeRegressor = @load NeuroTreeRegressor pkg=NeuroTreeModels

Do model = NeuroTreeRegressor() to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in NeuroTreeRegressor(loss=...).

Training model

In MLJ or MLJBase, bind an instance model to data with mach = machine(model, X, y) where

  • X: any table of input features (eg, a DataFrame) whose columns each have one of the following element scitypes: Continuous, Count, or <:OrderedFactor; check column scitypes with schema(X)

  • y: is the target, which can be any AbstractVector whose element scitype is <:Continuous; check the scitype with scitype(y)

Train the machine using fit!(mach, rows=...).

Operations

  • predict(mach, Xnew): return predictions of the target given features Xnew having the same scitype as X above.

Fitted parameters

The fields of fitted_params(mach) are:

  • :fitresult: The NeuroTreeModel object.

Report

The fields of report(mach) are:

  • :features: The names of the features encountered in training.

Examples

Internal API

julia
using NeuroTreeModels, DataFrames
 config = NeuroTreeRegressor(depth=5, nrounds=10)
 nobs, nfeats = 1_000, 5
 dtrain = DataFrame(randn(nobs, nfeats), :auto)
@@ -29,8 +29,8 @@
 m = NeuroTreeRegressor(depth=5, nrounds=10)
 X, y = @load_boston
 mach = machine(m, X, y) |> fit!
-p = predict(mach, X)

source


NeuroTreeModel

# NeuroTreeModels.NeuroTreeModelType.
julia
NeuroTreeModel

A NeuroTreeModel is made of a collection of Tree, either regular NeuroTree or StackTree. Prediction is the sum of all the trees composing a NeuroTreeModel.

source


- +p = predict(mach, X)

source


NeuroTreeModel

# NeuroTreeModels.NeuroTreeModelType.
julia
NeuroTreeModel

A NeuroTreeModel is made of a collection of Tree, either regular NeuroTree or StackTree. Prediction is the sum of all the trees composing a NeuroTreeModel.

source


+ \ No newline at end of file diff --git a/dev/quick-start.html b/dev/quick-start.html index a76394d..db41e53 100644 --- a/dev/quick-start.html +++ b/dev/quick-start.html @@ -5,27 +5,27 @@ Getting started with NeuroTreeModels.jl | NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

Getting started with NeuroTreeModels.jl

Installation

julia
] add NeuroTreeModels

Configuring a model

A model configuration is defined with the NeuroTreeRegressor constructor:

julia
using NeuroTreeModels, DataFrames
+    
Skip to content

Getting started with NeuroTreeModels.jl

Installation

julia
] add NeuroTreeModels

Configuring a model

A model configuration is defined with the NeuroTreeRegressor constructor:

julia
using NeuroTreeModels, DataFrames
 
 config = NeuroTreeRegressor(
     loss = :mse,
     nrounds = 10,
     num_trees = 16,
     depth = 5,
-)

Training

Building and training a model according to the above config is done with NeuroTreeModels.fit. See the docs for additional features, notably early stopping support through the tracking of an evaluation metric.

julia
nobs, nfeats = 1_000, 5
+)

Training

Building and training a model according to the above config is done with NeuroTreeModels.fit. See the docs for additional features, notably early stopping support through the tracking of an evaluation metric.

julia
nobs, nfeats = 1_000, 5
 dtrain = DataFrame(randn(nobs, nfeats), :auto)
 dtrain.y = rand(nobs)
 feature_names, target_name = names(dtrain, r"x"), "y"
@@ -34,8 +34,8 @@
 m = NeuroTreeRegressor(depth=5, nrounds=10)
 X, y = @load_boston
 mach = machine(m, X, y) |> fit!
-p = predict(mach, X)

Benchmarks

Benchmarking against prominent ML libraries for tabular is performed at MLBenchmarks.jl.

- +p = predict(mach, X)

Benchmarks

Benchmarking against prominent ML libraries for tabular is performed at MLBenchmarks.jl.

+ \ No newline at end of file diff --git a/dev/tutorials-classification-iris.html b/dev/tutorials-classification-iris.html index 561c738..bdf7993 100644 --- a/dev/tutorials-classification-iris.html +++ b/dev/tutorials-classification-iris.html @@ -5,20 +5,20 @@ Classification on Iris dataset | NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

Classification on Iris dataset

We will use the iris dataset, which is included in the MLDatasets package. This dataset consists of measurements of the sepal length, sepal width, petal length, and petal width for three different types of iris flowers: Setosa, Versicolor, and Virginica.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
+    
Skip to content

Classification on Iris dataset

We will use the iris dataset, which is included in the MLDatasets package. This dataset consists of measurements of the sepal length, sepal width, petal length, and petal width for three different types of iris flowers: Setosa, Versicolor, and Virginica.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
 using MLDatasets
 using DataFrames
 using Statistics: mean
@@ -35,7 +35,7 @@
 train_indices = randperm(nrow(df))[1:Int(train_ratio * nrow(df))]
 
 dtrain = df[train_indices, :]
-deval = df[setdiff(1:nrow(df), train_indices), :]

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
+deval = df[setdiff(1:nrow(df), train_indices), :]

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
     device=:cpu,
     loss=:mlogloss,
     nrounds=400,
@@ -58,8 +58,8 @@
 0.9833333333333333
 
 julia> mean(deval[!, target_name] .== NeuroTreeModels.onecold(p_eval'))
-1.0
- +1.0
+ \ No newline at end of file diff --git a/dev/tutorials-logistic-titanic.html b/dev/tutorials-logistic-titanic.html index 97ec4a1..9fff0ce 100644 --- a/dev/tutorials-logistic-titanic.html +++ b/dev/tutorials-logistic-titanic.html @@ -5,20 +5,20 @@ Logistic Regression on Titanic Dataset | NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

Logistic Regression on Titanic Dataset

We will use the Titanic dataset, which is included in the MLDatasets package. It describes the survival status of individual passengers on the Titanic. The model will be approached as a logistic regression problem, although a Classifier model could also have been used (see the Classification - Iris tutorial).

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
+    
Skip to content

Logistic Regression on Titanic Dataset

We will use the Titanic dataset, which is included in the MLDatasets package. It describes the survival status of individual passengers on the Titanic. The model will be approached as a logistic regression problem, although a Classifier model could also have been used (see the Classification - Iris tutorial).

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
 using MLDatasets
 using DataFrames
 using Statistics: mean
@@ -43,7 +43,7 @@
 deval = df[setdiff(1:nrow(df), train_indices), :]
 
 target_name = "Survived"
-feature_names = setdiff(names(df), [target_name])

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
+feature_names = setdiff(names(df), [target_name])

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
     device=:cpu,
     loss=:logloss,
     nrounds=400,
@@ -65,8 +65,8 @@
 0.8527349228611
 
 julia> mean((p_eval .> 0.5) .== deval[!, target_name])
-0.8426966292134831
- +0.8426966292134831
+ \ No newline at end of file diff --git a/dev/tutorials-regression-boston.html b/dev/tutorials-regression-boston.html index 6a677c9..6b931d1 100644 --- a/dev/tutorials-regression-boston.html +++ b/dev/tutorials-regression-boston.html @@ -5,20 +5,20 @@ Regression on Boston Housing Dataset | NeuroTreeModels - - + + - + - - - - + + + + -
Skip to content

Regression on Boston Housing Dataset

We will use the Boston Housing dataset, which is included in the MLDatasets package. It's derived from information collected by the U.S. Census Service concerning housing in the area of Boston. Target variable represents the median housing value.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
+    
Skip to content

Regression on Boston Housing Dataset

We will use the Boston Housing dataset, which is included in the MLDatasets package. It's derived from information collected by the U.S. Census Service concerning housing in the area of Boston. Target variable represents the median housing value.

Getting started

To begin, we will load the required packages and the dataset:

julia
using NeuroTreeModels
 using MLDatasets
 using DataFrames
 using Statistics: mean, std
@@ -37,7 +37,7 @@
 transform!(dtrain, :MEDV => (x -> (x .- _mean) ./ _std) => "target")
 transform!(deval, :MEDV => (x -> (x .- _mean) ./ _std) => "target")
 
-target_name = "target"

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
+target_name = "target"

Training

Now we are ready to train our model. We first define a model configuration using the NeuroTreeRegressor model constructor. Then, we use NeuroTreeModels.fit to train a boosted tree model. We pass the optional deval argument to enable the usage of early stopping.

julia
config = NeuroTreeRegressor(
     device=:cpu,
     loss=:mse,
     nrounds=400,
@@ -59,8 +59,8 @@
 0.8985784079860025
 
 julia> mean(abs.(p_eval .- deval[!, "MEDV"]))
-2.3287859731914597
- +2.3287859731914597
+ \ No newline at end of file