3 order by time_added desc",limit:3}),f.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:3})])},set:function(s,e){s.recently_added=new E(e[0].data.albums),s.recently_played=e[1].data.tracks}},Or={name:"PageBrowse",components:{ContentWithHeading:R,TabsMusic:G,ListAlbums:j,ListTracks:V},beforeRouteEnter(s,e,a){rt.load(s).then(r=>{a(o=>rt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;rt.load(s).then(o=>{rt.set(r,o),a()})},data(){return{recently_added:[],recently_played:{items:[]},show_track_details_modal:!1,selected_track:{}}},methods:{open_browse:function(s){this.$router.push({path:"/music/browse/"+s})}}},Dr={class:"fd-page-with-tabs"},zr=t("p",{class:"title is-4"},"Recently added",-1),Nr=t("p",{class:"heading"},"albums",-1),Vr={class:"level"},Br={class:"level-item"},Mr=t("p",{class:"title is-4"},"Recently played",-1),Fr=t("p",{class:"heading"},"tracks",-1),Gr={class:"level"},jr={class:"level-item"};function Kr(s,e,a,r,o,i){const n=h("tabs-music"),c=h("list-albums"),p=h("content-with-heading"),g=h("list-tracks");return l(),_("div",Dr,[u(n),u(p,null,{"heading-left":d(()=>[zr,Nr]),content:d(()=>[u(c,{albums:o.recently_added},null,8,["albums"])]),footer:d(()=>[t("nav",Vr,[t("p",Br,[t("a",{class:"button is-light is-small is-rounded",onClick:e[0]||(e[0]=b=>i.open_browse("recently_added"))},"Show more")])])]),_:1}),u(p,null,{"heading-left":d(()=>[Mr,Fr]),content:d(()=>[u(g,{tracks:o.recently_played.items},null,8,["tracks"])]),footer:d(()=>[t("nav",Gr,[t("p",jr,[t("a",{class:"button is-light is-small is-rounded",onClick:e[1]||(e[1]=b=>i.open_browse("recently_played"))},"Show more")])])]),_:1})])}var Hr=k(Or,[["render",Kr]]);const dt={load:function(s){const e=A.getters.settings_option_recently_added_limit;return f.search({type:"album",expression:"media_kind is music having track_count > 3 order by time_added desc",limit:e})},set:function(s,e){s.recently_added=new E(e.data.albums),s.recently_added.group(Lr("time_added",{direction:"desc",defaultValue:"0000"}))}},Wr={name:"PageBrowseType",components:{ContentWithHeading:R,TabsMusic:G,ListAlbums:j},beforeRouteEnter(s,e,a){dt.load(s).then(r=>{a(o=>dt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.recently_added.isEmpty()){a();return}const r=this;dt.load(s).then(o=>{dt.set(r,o),a()})},data(){return{recently_added:new E}}},Yr={class:"fd-page-with-tabs"},Qr=t("p",{class:"title is-4"},"Recently added",-1),Jr=t("p",{class:"heading"},"albums",-1);function Zr(s,e,a,r,o,i){const n=h("tabs-music"),c=h("list-albums"),p=h("content-with-heading");return l(),_("div",Yr,[u(n),u(p,null,{"heading-left":d(()=>[Qr,Jr]),content:d(()=>[u(c,{albums:o.recently_added},null,8,["albums"])]),_:1})])}var Xr=k(Wr,[["render",Zr]]);const _t={load:function(s){return f.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:50})},set:function(s,e){s.recently_played=e.data.tracks}},td={name:"PageBrowseType",components:{ContentWithHeading:R,TabsMusic:G,ListTracks:V},beforeRouteEnter(s,e,a){_t.load(s).then(r=>{a(o=>_t.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;_t.load(s).then(o=>{_t.set(r,o),a()})},data(){return{recently_played:{}}}},sd={class:"fd-page-with-tabs"},ed=t("p",{class:"title is-4"},"Recently played",-1),id=t("p",{class:"heading"},"tracks",-1);function od(s,e,a,r,o,i){const n=h("tabs-music"),c=h("list-tracks"),p=h("content-with-heading");return l(),_("div",sd,[u(n),u(p,null,{"heading-left":d(()=>[ed,id]),content:d(()=>[u(c,{tracks:o.recently_played.items},null,8,["tracks"])]),_:1})])}var ad=k(td,[["render",od]]);const nd={name:"IndexButtonList",props:["index"],computed:{filtered_index(){if(!this.index)return[];const s="!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~";return this.index.filter(e=>!s.includes(e))}},methods:{nav:function(s){this.$router.push({hash:"#index_"+s})},scroll_to_top:function(){window.scrollTo({top:0,behavior:"smooth"})}}},ld={class:"buttons is-centered fd-is-square",style:{"margin-bottom":"16px"}},rd=["onClick"];function dd(s,e,a,r,o,i){return l(),_("section",null,[t("nav",ld,[(l(!0),_(T,null,I(i.filtered_index,n=>(l(),_("a",{key:n,class:"button is-small",onClick:c=>i.nav(n)},m(n),9,rd))),128))])])}var H=k(nd,[["render",dd]]);const _d={name:"ModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.artist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.artist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.artist.uri)},open_artist:function(){this.$emit("close"),this.$router.push({path:"/music/artists/"+this.artist.id})}}},cd={key:0,class:"modal is-active"},ud={class:"modal-content fd-modal-card"},md={class:"card"},hd={class:"card-content"},pd={class:"title is-4"},fd={class:"content is-small"},yd=t("span",{class:"heading"},"Albums",-1),gd={class:"title is-6"},bd=t("span",{class:"heading"},"Tracks",-1),kd={class:"title is-6"},wd=t("span",{class:"heading"},"Type",-1),vd={class:"title is-6"},$d=t("span",{class:"heading"},"Added at",-1),xd={class:"title is-6"},Cd={class:"card-footer"},qd=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Sd=t("span",{class:"is-size-7"},"Add",-1),Pd=[qd,Sd],Ad=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),Td=t("span",{class:"is-size-7"},"Add Next",-1),Rd=[Ad,Td],Ed=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Id=t("span",{class:"is-size-7"},"Play",-1),Ud=[Ed,Id];function Ld(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",cd,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",ud,[t("div",md,[t("div",hd,[t("p",pd,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.artist.name),1)]),t("div",fd,[t("p",null,[yd,t("span",gd,m(a.artist.album_count),1)]),t("p",null,[bd,t("span",kd,m(a.artist.track_count),1)]),t("p",null,[wd,t("span",vd,m(a.artist.data_kind),1)]),t("p",null,[$d,t("span",xd,m(s.$filters.time(a.artist.time_added,"L LT")),1)])])]),t("footer",Cd,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},Pd),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Rd),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},Ud)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Gt=k(_d,[["render",Ld]]);const Od={name:"ListArtists",components:{ModalDialogArtist:Gt},props:["artists","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_artist:{}}},computed:{media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_artist.media_kind}},methods:{open_artist:function(s){this.selected_artist=s,this.media_kind_resolved==="podcast"||(this.media_kind_resolved==="audiobook"?this.$router.push({path:"/audiobooks/artists/"+s.id}):this.$router.push({path:"/music/artists/"+s.id}))},open_dialog:function(s){this.selected_artist=s,this.show_details_modal=!0}}},Dd={key:0,class:"mt-6 mb-5 py-2"},zd={class:"media-content is-clipped"},Nd=["id"],Vd=["onClick"],Bd={class:"media-content fd-has-action is-clipped"},Md={class:"title is-6"},Fd={class:"media-right"},Gd=["onClick"],jd=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),Kd=[jd];function Hd(s,e,a,r,o,i){const n=h("modal-dialog-artist");return l(),_(T,null,[(l(!0),_(T,null,I(a.artists,c=>(l(),_(T,{key:c.itemId},[!c.isItem&&!a.hide_group_title?(l(),_("div",Dd,[t("div",zd,[t("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold"},m(c.groupKey),9,Nd)])])):c.isItem?(l(),_("div",{key:1,class:"media",onClick:p=>i.open_artist(c.item)},[t("div",Bd,[t("h1",Md,m(c.item.name),1)]),t("div",Fd,[t("a",{onClick:D(p=>i.open_dialog(c.item),["prevent","stop"])},Kd,8,Gd)])],8,Vd)):y("",!0)],64))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,artist:o.selected_artist,media_kind:a.media_kind,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","artist","media_kind"])]))],64)}var ds=k(Od,[["render",Hd]]);const Wd={name:"DropdownMenu",props:["modelValue","options"],emits:["update:modelValue"],data(){return{is_active:!1}},methods:{onClickOutside(s){this.is_active=!1},select(s){this.is_active=!1,this.$emit("update:modelValue",s)}}},Yd={class:"dropdown-trigger"},Qd=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-chevron-down","aria-hidden":"true"})],-1),Jd={id:"dropdown-menu",class:"dropdown-menu",role:"menu"},Zd={class:"dropdown-content"},Xd=["onClick"];function t_(s,e,a,r,o,i){const n=Zt("click-away");return U((l(),_("div",{class:C(["dropdown",{"is-active":o.is_active}])},[t("div",Yd,[t("button",{class:"button","aria-haspopup":"true","aria-controls":"dropdown-menu",onClick:e[0]||(e[0]=c=>o.is_active=!o.is_active)},[t("span",null,m(a.modelValue),1),Qd])]),t("div",Jd,[t("div",Zd,[(l(!0),_(T,null,I(a.options,c=>(l(),_("a",{key:c,class:C(["dropdown-item",{"is-active":a.modelValue===c}]),onClick:p=>i.select(c)},m(c),11,Xd))),128))])])],2)),[[n,i.onClickOutside]])}var _s=k(Wd,[["render",t_]]);const ct={load:function(s){return f.library_artists("music")},set:function(s,e){s.artists_list=new E(e.data)}},s_={name:"PageArtists",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListArtists:ds,DropdownMenu:_s},beforeRouteEnter(s,e,a){ct.load(s).then(r=>{a(o=>ct.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.artists_list.isEmpty()){a();return}const r=this;ct.load(s).then(o=>{ct.set(r,o),a()})},data(){return{artists_list:new E,groupby_options:[{name:"Name",options:tt("name_sort")},{name:"Recently added",options:Nt("time_added",{direction:"desc",defaultValue:"0000"})}]}},computed:{artists(){if(!this.artists_list)return[];const s=this.groupby_options.find(e=>e.name===this.selected_groupby_option_name);return this.artists_list.group(s.options,[e=>!this.hide_singles||e.track_count>e.album_count*2,e=>!this.hide_spotify||e.data_kind!=="spotify"]),this.artists_list},groupby_option_names(){return[...this.groupby_options].map(s=>s.name)},selected_groupby_option_name:{get(){return this.$store.state.artists_sort},set(s){this.$store.commit(Rs,s)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(s){this.$store.commit(Mt,s)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(s){this.$store.commit(ns,s)}}},methods:{}},e_={class:"fd-page-with-tabs"},i_={class:"columns"},o_={class:"column"},a_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Filter",-1),n_={class:"field"},l_={class:"control"},r_=t("label",{for:"switchHideSingles"},"Hide singles",-1),d_=t("p",{class:"help"}," If active, hides artists that only appear on singles or playlists. ",-1),__={key:0,class:"field"},c_={class:"control"},u_=t("label",{for:"switchHideSpotify"},"Hide artists from Spotify",-1),m_=t("p",{class:"help"}," If active, hides artists that only appear in your Spotify library. ",-1),h_={class:"column"},p_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Sort by",-1),f_=t("p",{class:"title is-4"},"Artists",-1),y_={class:"heading"};function g_(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("dropdown-menu"),g=h("list-artists"),b=h("content-with-heading");return l(),_("div",e_,[u(n),u(b,null,{options:d(()=>[u(c,{index:i.artists.indexList},null,8,["index"]),t("div",i_,[t("div",o_,[a_,t("div",n_,[t("div",l_,[U(t("input",{id:"switchHideSingles","onUpdate:modelValue":e[0]||(e[0]=x=>i.hide_singles=x),type:"checkbox",name:"switchHideSingles",class:"switch"},null,512),[[J,i.hide_singles]]),r_]),d_]),i.spotify_enabled?(l(),_("div",__,[t("div",c_,[U(t("input",{id:"switchHideSpotify","onUpdate:modelValue":e[1]||(e[1]=x=>i.hide_spotify=x),type:"checkbox",name:"switchHideSpotify",class:"switch"},null,512),[[J,i.hide_spotify]]),u_]),m_])):y("",!0)]),t("div",h_,[p_,u(p,{modelValue:i.selected_groupby_option_name,"onUpdate:modelValue":e[2]||(e[2]=x=>i.selected_groupby_option_name=x),options:i.groupby_option_names},null,8,["modelValue","options"])])])]),"heading-left":d(()=>[f_,t("p",y_,m(i.artists.count)+" Artists",1)]),"heading-right":d(()=>[]),content:d(()=>[u(g,{artists:i.artists},null,8,["artists"])]),_:1})])}var b_=k(s_,[["render",g_]]);const ut={load:function(s){return Promise.all([f.library_artist(s.params.artist_id),f.library_artist_albums(s.params.artist_id)])},set:function(s,e){s.artist=e[0].data,s.albums_list=new E(e[1].data)}},k_={name:"PageArtist",components:{ContentWithHeading:R,ListAlbums:j,ModalDialogArtist:Gt,DropdownMenu:_s},beforeRouteEnter(s,e,a){ut.load(s).then(r=>{a(o=>ut.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;ut.load(s).then(o=>{ut.set(r,o),a()})},data(){return{artist:{},albums_list:new E,groupby_options:[{name:"Name",options:tt("name_sort")},{name:"Release date",options:Nt("date_released",{direction:"asc",defaultValue:"0000"})}],show_artist_details_modal:!1}},computed:{albums(){const s=this.groupby_options.find(e=>e.name===this.selected_groupby_option_name);return this.albums_list.group(s.options),this.albums_list},groupby_option_names(){return[...this.groupby_options].map(s=>s.name)},selected_groupby_option_name:{get(){return this.$store.state.artist_albums_sort},set(s){this.$store.commit(Es,s)}}},methods:{open_tracks:function(){this.$router.push({path:"/music/artists/"+this.artist.id+"/tracks"})},play:function(){f.player_play_uri(this.albums.items.map(s=>s.uri).join(","),!0)}}},w_={class:"columns"},v_={class:"column"},$_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Sort by",-1),x_={class:"title is-4"},C_={class:"buttons is-centered"},q_=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),S_=[q_],P_=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),A_=t("span",null,"Shuffle",-1),T_=[P_,A_],R_={class:"heading has-text-centered-mobile"};function E_(s,e,a,r,o,i){const n=h("dropdown-menu"),c=h("list-albums"),p=h("modal-dialog-artist"),g=h("content-with-heading");return l(),w(g,null,{options:d(()=>[t("div",w_,[t("div",v_,[$_,u(n,{modelValue:i.selected_groupby_option_name,"onUpdate:modelValue":e[0]||(e[0]=b=>i.selected_groupby_option_name=b),options:i.groupby_option_names},null,8,["modelValue","options"])])])]),"heading-left":d(()=>[t("p",x_,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",C_,[t("a",{class:"button is-small is-light is-rounded",onClick:e[1]||(e[1]=b=>o.show_artist_details_modal=!0)},S_),t("a",{class:"button is-small is-dark is-rounded",onClick:e[2]||(e[2]=(...b)=>i.play&&i.play(...b))},T_)])]),content:d(()=>[t("p",R_,[$(m(o.artist.album_count)+" albums | ",1),t("a",{class:"has-text-link",onClick:e[3]||(e[3]=(...b)=>i.open_tracks&&i.open_tracks(...b))},m(o.artist.track_count)+" tracks",1)]),u(c,{albums:i.albums,hide_group_title:!0},null,8,["albums"]),u(p,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[4]||(e[4]=b=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})}var I_=k(k_,[["render",E_]]);const mt={load:function(s){return f.library_albums("music")},set:function(s,e){s.albums_list=new E(e.data)}},U_={name:"PageAlbums",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListAlbums:j,DropdownMenu:_s},beforeRouteEnter(s,e,a){mt.load(s).then(r=>{a(o=>mt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums_list.isEmpty()){a();return}const r=this;mt.load(s).then(o=>{mt.set(r,o),a()})},data(){return{albums_list:new E,groupby_options:[{name:"Name",options:tt("name_sort")},{name:"Recently added",options:Nt("time_added",{direction:"desc",defaultValue:"0000"})},{name:"Recently released",options:Nt("date_released",{direction:"desc",defaultValue:"0000"})}]}},computed:{albums(){const s=this.groupby_options.find(e=>e.name===this.selected_groupby_option_name);return this.albums_list.group(s.options,[e=>!this.hide_singles||e.track_count>2,e=>!this.hide_spotify||e.data_kind!=="spotify"]),this.albums_list},groupby_option_names(){return[...this.groupby_options].map(s=>s.name)},selected_groupby_option_name:{get(){return this.$store.state.albums_sort},set(s){this.$store.commit(Is,s)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(s){this.$store.commit(Mt,s)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(s){this.$store.commit(ns,s)}}},methods:{scrollToTop:function(){window.scrollTo({top:0,behavior:"smooth"})}}},L_={class:"fd-page-with-tabs"},O_={class:"columns"},D_={class:"column"},z_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Filter",-1),N_={class:"field"},V_={class:"control"},B_=t("label",{for:"switchHideSingles"},"Hide singles",-1),M_=t("p",{class:"help"}," If active, hides singles and albums with tracks that only appear in playlists. ",-1),F_={key:0,class:"field"},G_={class:"control"},j_=t("label",{for:"switchHideSpotify"},"Hide albums from Spotify",-1),K_=t("p",{class:"help"}," If active, hides albums that only appear in your Spotify library. ",-1),H_={class:"column"},W_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Sort by",-1),Y_=t("p",{class:"title is-4"},"Albums",-1),Q_={class:"heading"};function J_(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("dropdown-menu"),g=h("list-albums"),b=h("content-with-heading");return l(),_("div",L_,[u(n),u(b,null,{options:d(()=>[u(c,{index:i.albums.indexList},null,8,["index"]),t("div",O_,[t("div",D_,[z_,t("div",N_,[t("div",V_,[U(t("input",{id:"switchHideSingles","onUpdate:modelValue":e[0]||(e[0]=x=>i.hide_singles=x),type:"checkbox",name:"switchHideSingles",class:"switch"},null,512),[[J,i.hide_singles]]),B_]),M_]),i.spotify_enabled?(l(),_("div",F_,[t("div",G_,[U(t("input",{id:"switchHideSpotify","onUpdate:modelValue":e[1]||(e[1]=x=>i.hide_spotify=x),type:"checkbox",name:"switchHideSpotify",class:"switch"},null,512),[[J,i.hide_spotify]]),j_]),K_])):y("",!0)]),t("div",H_,[W_,u(p,{modelValue:i.selected_groupby_option_name,"onUpdate:modelValue":e[2]||(e[2]=x=>i.selected_groupby_option_name=x),options:i.groupby_option_names},null,8,["modelValue","options"])])])]),"heading-left":d(()=>[Y_,t("p",Q_,m(i.albums.count)+" Albums",1)]),"heading-right":d(()=>[]),content:d(()=>[u(g,{albums:i.albums},null,8,["albums"])]),_:1})])}var Z_=k(U_,[["render",J_]]);const X_={},tc={class:"hero is-light is-bold fd-content"},sc={class:"hero-body"},ec={class:"container"},ic={class:"columns is-centered"},oc={class:"column is-four-fifths"},ac={class:"columns",style:{"flex-direction":"row-reverse"}},nc={class:"column fd-has-cover"},lc={class:"column is-three-fifths has-text-centered-mobile",style:{margin:"auto 0"}},rc={class:"section fd-content"},dc={class:"container"},_c={class:"columns is-centered"},cc={class:"column is-four-fifths"},uc={style:{"margin-top":"16px"}};function mc(s,e){return l(),_("div",null,[t("section",tc,[t("div",sc,[t("div",ec,[t("div",ic,[t("div",oc,[t("div",ac,[t("div",nc,[O(s.$slots,"heading-right")]),t("div",lc,[O(s.$slots,"heading-left")])])])])])])]),t("section",rc,[t("div",dc,[t("div",_c,[t("div",cc,[O(s.$slots,"content"),t("div",uc,[O(s.$slots,"footer")])])])])])])}var cs=k(X_,[["render",mc]]);const ht={load:function(s){return Promise.all([f.library_album(s.params.album_id),f.library_album_tracks(s.params.album_id)])},set:function(s,e){s.album=e[0].data,s.tracks=e[1].data.items}},hc={name:"PageAlbum",components:{ContentWithHero:cs,ListTracks:V,ModalDialogAlbum:Ft,CoverArtwork:K},beforeRouteEnter(s,e,a){ht.load(s).then(r=>{a(o=>ht.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;ht.load(s).then(o=>{ht.set(r,o),a()})},data(){return{album:{},tracks:[],show_album_details_modal:!1}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/music/artists/"+this.album.artist_id})},play:function(){f.player_play_uri(this.album.uri,!0)}}},pc={class:"title is-5"},fc={class:"subtitle is-6 has-text-link has-text-weight-normal"},yc={class:"buttons fd-is-centered-mobile fd-has-margin-top"},gc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),bc=t("span",null,"Shuffle",-1),kc=[gc,bc],wc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),vc=[wc],$c={class:"image is-square fd-has-shadow fd-has-action"},xc={class:"heading is-7 has-text-centered-mobile fd-has-margin-top"};function Cc(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("list-tracks"),p=h("modal-dialog-album"),g=h("content-with-hero");return l(),w(g,null,{"heading-left":d(()=>[t("h1",pc,m(o.album.name),1),t("h2",fc,[t("a",{class:"has-text-link",onClick:e[0]||(e[0]=(...b)=>i.open_artist&&i.open_artist(...b))},m(o.album.artist),1)]),t("div",yc,[t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},kc),t("a",{class:"button is-small is-light is-rounded",onClick:e[2]||(e[2]=b=>o.show_album_details_modal=!0)},vc)])]),"heading-right":d(()=>[t("p",$c,[u(n,{artwork_url:o.album.artwork_url,artist:o.album.artist,album:o.album.name,onClick:e[3]||(e[3]=b=>o.show_album_details_modal=!0)},null,8,["artwork_url","artist","album"])])]),content:d(()=>[t("p",xc,m(o.album.track_count)+" tracks ",1),u(c,{tracks:o.tracks,uris:o.album.uri},null,8,["tracks","uris"]),u(p,{show:o.show_album_details_modal,album:o.album,onClose:e[4]||(e[4]=b=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})}var qc=k(hc,[["render",Cc]]);const Sc={name:"ModalDialogGenre",props:["show","genre"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_expression('genre is "'+this.genre.name+'" and media_kind is music',!1)},queue_add:function(){this.$emit("close"),f.queue_expression_add('genre is "'+this.genre.name+'" and media_kind is music')},queue_add_next:function(){this.$emit("close"),f.queue_expression_add_next('genre is "'+this.genre.name+'" and media_kind is music')},open_genre:function(){this.$emit("close"),this.$router.push({name:"Genre",params:{genre:this.genre.name}})}}},Pc={key:0,class:"modal is-active"},Ac={class:"modal-content fd-modal-card"},Tc={class:"card"},Rc={class:"card-content"},Ec={class:"title is-4"},Ic={class:"card-footer"},Uc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Lc=t("span",{class:"is-size-7"},"Add",-1),Oc=[Uc,Lc],Dc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),zc=t("span",{class:"is-size-7"},"Add Next",-1),Nc=[Dc,zc],Vc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Bc=t("span",{class:"is-size-7"},"Play",-1),Mc=[Vc,Bc];function Fc(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Pc,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Ac,[t("div",Tc,[t("div",Rc,[t("p",Ec,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_genre&&i.open_genre(...n))},m(a.genre.name),1)])]),t("footer",Ic,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},Oc),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Nc),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},Mc)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var us=k(Sc,[["render",Fc]]);const Gc={name:"ListGenres",components:{ModalDialogGenre:us},props:["genres","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_genre:{}}},computed:{media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_genre.media_kind}},methods:{open_genre:function(s){this.$router.push({name:"Genre",params:{genre:s.name}})},open_dialog:function(s){this.selected_genre=s,this.show_details_modal=!0}}},jc={key:0,class:"mt-6 mb-5 py-2"},Kc={class:"media-content is-clipped"},Hc=["id"],Wc=["onClick"],Yc={class:"media-content fd-has-action is-clipped"},Qc={class:"title is-6"},Jc={class:"media-right"},Zc=["onClick"],Xc=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),tu=[Xc];function su(s,e,a,r,o,i){const n=h("modal-dialog-genre");return l(),_(T,null,[(l(!0),_(T,null,I(a.genres,c=>(l(),_(T,{key:c.itemId},[!c.isItem&&!a.hide_group_title?(l(),_("div",jc,[t("div",Kc,[t("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold"},m(c.groupKey),9,Hc)])])):c.isItem?(l(),_("div",{key:1,class:"media",onClick:p=>i.open_genre(c.item)},[t("div",Yc,[t("h1",Qc,m(c.item.name),1)]),t("div",Jc,[t("a",{onClick:D(p=>i.open_dialog(c.item),["prevent","stop"])},tu,8,Zc)])],8,Wc)):y("",!0)],64))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,genre:o.selected_genre,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","genre"])]))],64)}var eu=k(Gc,[["render",su]]);const pt={load:function(s){return f.library_genres()},set:function(s,e){s.genres=e.data,s.genres=new E(e.data),s.genres.group(zs("name_sort"))}},iu={name:"PageGenres",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListGenres:eu},beforeRouteEnter(s,e,a){pt.load(s).then(r=>{a(o=>pt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;pt.load(s).then(o=>{pt.set(r,o),a()})},data(){return{genres:new E}},computed:{},methods:{}},ou={class:"fd-page-with-tabs"},au=t("p",{class:"title is-4"},"Genres",-1),nu={class:"heading"};function lu(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("list-genres"),g=h("content-with-heading");return l(),_("div",ou,[u(n),u(g,null,{options:d(()=>[u(c,{index:o.genres.indexList},null,8,["index"])]),"heading-left":d(()=>[au,t("p",nu,m(o.genres.total)+" genres",1)]),content:d(()=>[u(p,{genres:o.genres},null,8,["genres"])]),_:1})])}var ru=k(iu,[["render",lu]]);const ft={load:function(s){return f.library_genre(s.params.genre)},set:function(s,e){s.name=s.$route.params.genre,s.albums_list=new E(e.data.albums),s.albums_list.group(tt("name_sort"))}},du={name:"PageGenre",components:{ContentWithHeading:R,IndexButtonList:H,ListAlbums:j,ModalDialogGenre:us},beforeRouteEnter(s,e,a){ft.load(s).then(r=>{a(o=>ft.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums_list.isEmpty()){a();return}const r=this;ft.load(s).then(o=>{ft.set(r,o),a()})},data(){return{name:"",albums_list:new E,show_genre_details_modal:!1}},methods:{open_tracks:function(){this.show_details_modal=!1,this.$router.push({name:"GenreTracks",params:{genre:this.name}})},play:function(){f.player_play_expression('genre is "'+this.name+'" and media_kind is music',!0)}}},_u={class:"title is-4"},cu={class:"buttons is-centered"},uu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),mu=[uu],hu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),pu=t("span",null,"Shuffle",-1),fu=[hu,pu],yu={class:"heading has-text-centered-mobile"};function gu(s,e,a,r,o,i){const n=h("index-button-list"),c=h("list-albums"),p=h("modal-dialog-genre"),g=h("content-with-heading");return l(),_("div",null,[u(g,null,{options:d(()=>[u(n,{index:o.albums_list.indexList},null,8,["index"])]),"heading-left":d(()=>[t("p",_u,m(o.name),1)]),"heading-right":d(()=>[t("div",cu,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_genre_details_modal=!0)},mu),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},fu)])]),content:d(()=>[t("p",yu,[$(m(o.albums_list.total)+" albums | ",1),t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...b)=>i.open_tracks&&i.open_tracks(...b))},"tracks")]),u(c,{albums:o.albums_list},null,8,["albums"]),u(p,{show:o.show_genre_details_modal,genre:{name:o.name},onClose:e[3]||(e[3]=b=>o.show_genre_details_modal=!1)},null,8,["show","genre"])]),_:1})])}var bu=k(du,[["render",gu]]);const yt={load:function(s){return f.library_genre_tracks(s.params.genre)},set:function(s,e){s.genre=s.$route.params.genre,s.tracks=e.data.tracks}},ku={name:"PageGenreTracks",components:{ContentWithHeading:R,ListTracks:V,IndexButtonList:H,ModalDialogGenre:us},beforeRouteEnter(s,e,a){yt.load(s).then(r=>{a(o=>yt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;yt.load(s).then(o=>{yt.set(r,o),a()})},data(){return{tracks:{items:[]},genre:"",show_genre_details_modal:!1}},computed:{index_list(){return[...new Set(this.tracks.items.map(s=>s.title_sort.charAt(0).toUpperCase()))]},expression(){return'genre is "'+this.genre+'" and media_kind is music'}},methods:{open_genre:function(){this.show_details_modal=!1,this.$router.push({name:"Genre",params:{genre:this.genre}})},play:function(){f.player_play_expression(this.expression,!0)}}},wu={class:"title is-4"},vu={class:"buttons is-centered"},$u=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),xu=[$u],Cu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),qu=t("span",null,"Shuffle",-1),Su=[Cu,qu],Pu={class:"heading has-text-centered-mobile"};function Au(s,e,a,r,o,i){const n=h("index-button-list"),c=h("list-tracks"),p=h("modal-dialog-genre"),g=h("content-with-heading");return l(),_("div",null,[u(g,null,{options:d(()=>[u(n,{index:i.index_list},null,8,["index"])]),"heading-left":d(()=>[t("p",wu,m(o.genre),1)]),"heading-right":d(()=>[t("div",vu,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_genre_details_modal=!0)},xu),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},Su)])]),content:d(()=>[t("p",Pu,[t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...b)=>i.open_genre&&i.open_genre(...b))},"albums"),$(" | "+m(o.tracks.total)+" tracks ",1)]),u(c,{tracks:o.tracks.items,expression:i.expression},null,8,["tracks","expression"]),u(p,{show:o.show_genre_details_modal,genre:{name:o.genre},onClose:e[3]||(e[3]=b=>o.show_genre_details_modal=!1)},null,8,["show","genre"])]),_:1})])}var Tu=k(ku,[["render",Au]]);const gt={load:function(s){return Promise.all([f.library_artist(s.params.artist_id),f.library_artist_tracks(s.params.artist_id)])},set:function(s,e){s.artist=e[0].data,s.tracks=e[1].data.tracks}},Ru={name:"PageArtistTracks",components:{ContentWithHeading:R,ListTracks:V,IndexButtonList:H,ModalDialogArtist:Gt},beforeRouteEnter(s,e,a){gt.load(s).then(r=>{a(o=>gt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;gt.load(s).then(o=>{gt.set(r,o),a()})},data(){return{artist:{},tracks:{items:[]},show_artist_details_modal:!1}},computed:{index_list(){return[...new Set(this.tracks.items.map(s=>s.title_sort.charAt(0).toUpperCase()))]},track_uris(){return this.tracks.items.map(s=>s.uri).join(",")}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/music/artists/"+this.artist.id})},play:function(){f.player_play_uri(this.tracks.items.map(s=>s.uri).join(","),!0)}}},Eu={class:"title is-4"},Iu={class:"buttons is-centered"},Uu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Lu=[Uu],Ou=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Du=t("span",null,"Shuffle",-1),zu=[Ou,Du],Nu={class:"heading has-text-centered-mobile"};function Vu(s,e,a,r,o,i){const n=h("index-button-list"),c=h("list-tracks"),p=h("modal-dialog-artist"),g=h("content-with-heading");return l(),_("div",null,[u(g,null,{options:d(()=>[u(n,{index:i.index_list},null,8,["index"])]),"heading-left":d(()=>[t("p",Eu,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",Iu,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_artist_details_modal=!0)},Lu),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},zu)])]),content:d(()=>[t("p",Nu,[t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...b)=>i.open_artist&&i.open_artist(...b))},m(o.artist.album_count)+" albums",1),$(" | "+m(o.artist.track_count)+" tracks ",1)]),u(c,{tracks:o.tracks.items,uris:i.track_uris},null,8,["tracks","uris"]),u(p,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[3]||(e[3]=b=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})])}var Bu=k(Ru,[["render",Vu]]);const Mu={name:"ModalDialogComposer",props:["show","composer"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_expression('composer is "'+this.composer.name+'" and media_kind is music',!1)},queue_add:function(){this.$emit("close"),f.queue_expression_add('composer is "'+this.composer.name+'" and media_kind is music')},queue_add_next:function(){this.$emit("close"),f.queue_expression_add_next('composer is "'+this.composer.name+'" and media_kind is music')},open_albums:function(){this.$emit("close"),this.$router.push({name:"ComposerAlbums",params:{composer:this.composer.name}})},open_tracks:function(){this.show_details_modal=!1,this.$router.push({name:"ComposerTracks",params:{composer:this.composer.name}})}}},Fu={key:0,class:"modal is-active"},Gu={class:"modal-content fd-modal-card"},ju={class:"card"},Ku={class:"card-content"},Hu={class:"title is-4"},Wu=t("span",{class:"heading"},"Albums",-1),Yu=t("span",{class:"heading"},"Tracks",-1),Qu={class:"card-footer"},Ju=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Zu=t("span",{class:"is-size-7"},"Add",-1),Xu=[Ju,Zu],tm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),sm=t("span",{class:"is-size-7"},"Add Next",-1),em=[tm,sm],im=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),om=t("span",{class:"is-size-7"},"Play",-1),am=[im,om];function nm(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Fu,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Gu,[t("div",ju,[t("div",Ku,[t("p",Hu,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_albums&&i.open_albums(...n))},m(a.composer.name),1)]),t("p",null,[Wu,t("a",{class:"has-text-link is-6",onClick:e[2]||(e[2]=(...n)=>i.open_albums&&i.open_albums(...n))},m(a.composer.album_count),1)]),t("p",null,[Yu,t("a",{class:"has-text-link is-6",onClick:e[3]||(e[3]=(...n)=>i.open_tracks&&i.open_tracks(...n))},m(a.composer.track_count),1)])]),t("footer",Qu,[t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.queue_add&&i.queue_add(...n))},Xu),t("a",{class:"card-footer-item has-text-dark",onClick:e[5]||(e[5]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},em),t("a",{class:"card-footer-item has-text-dark",onClick:e[6]||(e[6]=(...n)=>i.play&&i.play(...n))},am)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[7]||(e[7]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var ms=k(Mu,[["render",nm]]);const lm={name:"ListComposers",components:{ModalDialogComposer:ms},props:["composers","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_composer:{}}},computed:{media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_composer.media_kind}},methods:{open_composer:function(s){this.selected_composer=s,this.$router.push({name:"ComposerTracks",params:{composer:s.name}})},open_dialog:function(s){this.selected_composer=s,this.show_details_modal=!0}}},rm={key:0,class:"mt-6 mb-5 py-2"},dm={class:"media-content is-clipped"},_m=["id"],cm=["onClick"],um={class:"media-content fd-has-action is-clipped"},mm={class:"title is-6"},hm={class:"media-right"},pm=["onClick"],fm=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ym=[fm];function gm(s,e,a,r,o,i){const n=h("modal-dialog-composer");return l(),_(T,null,[(l(!0),_(T,null,I(a.composers,c=>(l(),_(T,{key:c.itemId},[!c.isItem&&!a.hide_group_title?(l(),_("div",rm,[t("div",dm,[t("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold"},m(c.groupKey),9,_m)])])):c.isItem?(l(),_("div",{key:1,class:"media",onClick:p=>i.open_composer(c.item)},[t("div",um,[t("h1",mm,m(c.item.name),1)]),t("div",hm,[t("a",{onClick:D(p=>i.open_dialog(c.item),["prevent","stop"])},ym,8,pm)])],8,cm)):y("",!0)],64))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,composer:o.selected_composer,media_kind:a.media_kind,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","composer","media_kind"])]))],64)}var Ns=k(lm,[["render",gm]]);const bt={load:function(s){return f.library_composers()},set:function(s,e){s.composers=new E(e.data),s.composers.group(zs("name_sort"))}},bm={name:"PageComposers",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListComposers:Ns},beforeRouteEnter(s,e,a){bt.load(s).then(r=>{a(o=>bt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.composers.isEmpty()){a();return}const r=this;bt.load(s).then(o=>{bt.set(r,o),a()})},data(){return{composers:new E}},methods:{}},km=t("p",{class:"title is-4"},"Composers",-1),wm={class:"heading"};function vm(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("list-composers"),g=h("content-with-heading");return l(),_("div",null,[u(n),u(g,null,{options:d(()=>[u(c,{index:o.composers.indexList},null,8,["index"])]),"heading-left":d(()=>[km,t("p",wm,m(o.composers.total)+" composers",1)]),content:d(()=>[u(p,{composers:o.composers},null,8,["composers"])]),_:1})])}var $m=k(bm,[["render",vm]]);const kt={load:function(s){return f.library_composer(s.params.composer)},set:function(s,e){s.name=s.$route.params.composer,s.albums_list=new E(e.data.albums)}},xm={name:"PageComposer",components:{ContentWithHeading:R,ListAlbums:j,ModalDialogComposer:ms},beforeRouteEnter(s,e,a){kt.load(s).then(r=>{a(o=>kt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;kt.load(s).then(o=>{kt.set(r,o),a()})},data(){return{name:"",albums_list:new E,show_composer_details_modal:!1}},methods:{open_tracks:function(){this.$router.push({name:"ComposerTracks",params:{composer:this.name}})},play:function(){f.player_play_expression('composer is "'+this.name+'" and media_kind is music',!0)}}},Cm={class:"title is-4"},qm={class:"buttons is-centered"},Sm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Pm=[Sm],Am=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Tm=t("span",null,"Shuffle",-1),Rm=[Am,Tm],Em={class:"heading has-text-centered-mobile"};function Im(s,e,a,r,o,i){const n=h("list-albums"),c=h("modal-dialog-composer"),p=h("content-with-heading");return l(),_("div",null,[u(p,null,{"heading-left":d(()=>[t("p",Cm,m(o.name),1)]),"heading-right":d(()=>[t("div",qm,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_composer_details_modal=!0)},Pm),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Rm)])]),content:d(()=>[t("p",Em,[$(m(o.albums_list.total)+" albums | ",1),t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...g)=>i.open_tracks&&i.open_tracks(...g))},"tracks")]),u(n,{albums:o.albums_list,hide_group_title:!0},null,8,["albums"]),u(c,{show:o.show_composer_details_modal,composer:{name:o.name},onClose:e[3]||(e[3]=g=>o.show_composer_details_modal=!1)},null,8,["show","composer"])]),_:1})])}var Um=k(xm,[["render",Im]]);const wt={load:function(s){return f.library_composer_tracks(s.params.composer)},set:function(s,e){s.composer=s.$route.params.composer,s.tracks=e.data.tracks}},Lm={name:"PageComposerTracks",components:{ContentWithHeading:R,ListTracks:V,ModalDialogComposer:ms},beforeRouteEnter(s,e,a){wt.load(s).then(r=>{a(o=>wt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;wt.load(s).then(o=>{wt.set(r,o),a()})},data(){return{tracks:{items:[]},composer:"",show_composer_details_modal:!1}},computed:{play_expression(){return'composer is "'+this.composer+'" and media_kind is music'}},methods:{open_albums:function(){this.show_details_modal=!1,this.$router.push({name:"ComposerAlbums",params:{composer:this.composer}})},play:function(){f.player_play_expression(this.play_expression,!0)}}},Om={class:"title is-4"},Dm={class:"buttons is-centered"},zm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Nm=[zm],Vm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Bm=t("span",null,"Shuffle",-1),Mm=[Vm,Bm],Fm={class:"heading has-text-centered-mobile"};function Gm(s,e,a,r,o,i){const n=h("list-tracks"),c=h("modal-dialog-composer"),p=h("content-with-heading");return l(),_("div",null,[u(p,null,{"heading-left":d(()=>[t("p",Om,m(o.composer),1)]),"heading-right":d(()=>[t("div",Dm,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_composer_details_modal=!0)},Nm),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Mm)])]),content:d(()=>[t("p",Fm,[t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...g)=>i.open_albums&&i.open_albums(...g))},"albums"),$(" | "+m(o.tracks.total)+" tracks ",1)]),u(n,{tracks:o.tracks.items,expression:i.play_expression},null,8,["tracks","expression"]),u(c,{show:o.show_composer_details_modal,composer:{name:o.composer},onClose:e[3]||(e[3]=g=>o.show_composer_details_modal=!1)},null,8,["show","composer"])]),_:1})])}var jm=k(Lm,[["render",Gm]]);const Km={name:"ModalDialogAddRss",props:["show"],emits:["close","podcast-added"],data(){return{url:"",loading:!1}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.url_field.focus()},10))}},methods:{add_stream:function(){this.loading=!0,f.library_add(this.url).then(()=>{this.$emit("close"),this.$emit("podcast-added"),this.url=""}).catch(()=>{this.loading=!1})}}},Hm={key:0,class:"modal is-active"},Wm={class:"modal-content fd-modal-card"},Ym={class:"card"},Qm={class:"card-content"},Jm=t("p",{class:"title is-4"},"Add Podcast RSS feed URL",-1),Zm={class:"field"},Xm={class:"control is-expanded has-icons-left"},th=["disabled"],sh=t("span",{class:"icon is-left"},[t("i",{class:"mdi mdi-rss"})],-1),eh=t("p",{class:"help"}," Adding a podcast includes creating an RSS playlist, that will allow OwnTone to manage the podcast subscription. ",-1),ih={key:0,class:"card-footer"},oh=t("a",{class:"card-footer-item button is-loading"},[t("span",{class:"icon"},[t("i",{class:"mdi mdi-web"})]),t("span",{class:"is-size-7"},"Processing ...")],-1),ah=[oh],nh={key:1,class:"card-footer"},lh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-cancel"})],-1),rh=t("span",{class:"is-size-7"},"Cancel",-1),dh=[lh,rh],_h=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),ch=t("span",{class:"is-size-7"},"Add",-1),uh=[_h,ch];function mh(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Hm,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Wm,[t("div",Ym,[t("div",Qm,[Jm,t("form",{onSubmit:e[2]||(e[2]=D((...n)=>i.add_stream&&i.add_stream(...n),["prevent"]))},[t("div",Zm,[t("p",Xm,[U(t("input",{ref:"url_field","onUpdate:modelValue":e[1]||(e[1]=n=>o.url=n),class:"input is-shadowless",type:"text",placeholder:"http://url-to-rss",disabled:o.loading},null,8,th),[[M,o.url]]),sh]),eh])],32)]),o.loading?(l(),_("footer",ih,ah)):(l(),_("footer",nh,[t("a",{class:"card-footer-item has-text-danger",onClick:e[3]||(e[3]=n=>s.$emit("close"))},dh),t("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:e[4]||(e[4]=(...n)=>i.add_stream&&i.add_stream(...n))},uh)]))])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var hh=k(Km,[["render",mh]]);const vt={load:function(s){return Promise.all([f.library_albums("podcast"),f.library_podcasts_new_episodes()])},set:function(s,e){s.albums=new E(e[0].data),s.new_episodes=e[1].data.tracks}},ph={name:"PagePodcasts",components:{ContentWithHeading:R,ListTracks:V,ListAlbums:j,ModalDialogAddRss:hh},beforeRouteEnter(s,e,a){vt.load(s).then(r=>{a(o=>vt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;vt.load(s).then(o=>{vt.set(r,o),a()})},data(){return{albums:[],new_episodes:{items:[]},show_url_modal:!1}},computed:{rss(){return this.$store.state.rss_count}},methods:{mark_all_played:function(){this.new_episodes.items.forEach(s=>{f.library_track_update(s.id,{play_count:"increment"})}),this.new_episodes.items={}},open_add_podcast_dialog:function(s){this.show_url_modal=!0},reload_new_episodes:function(){f.library_podcasts_new_episodes().then(({data:s})=>{this.new_episodes=s.tracks})},reload_podcasts:function(){f.library_albums("podcast").then(({data:s})=>{this.albums=new E(s),this.reload_new_episodes()})},update_rss:function(){this.$store.commit(ls,"rss"),this.$store.commit(ot,!0)}}},fh=t("p",{class:"title is-4"},"New episodes",-1),yh={class:"buttons is-centered"},gh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-pencil"})],-1),bh=t("span",null,"Mark All Played",-1),kh=[gh,bh],wh=t("p",{class:"title is-4"},"Podcasts",-1),vh={class:"heading"},$h={class:"buttons is-centered"},xh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-refresh"})],-1),Ch=t("span",null,"Update",-1),qh=[xh,Ch],Sh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-rss"})],-1),Ph=t("span",null,"Add Podcast",-1),Ah=[Sh,Ph];function Th(s,e,a,r,o,i){const n=h("list-tracks"),c=h("content-with-heading"),p=h("list-albums"),g=h("modal-dialog-add-rss");return l(),_("div",null,[o.new_episodes.items.length>0?(l(),w(c,{key:0},{"heading-left":d(()=>[fh]),"heading-right":d(()=>[t("div",yh,[t("a",{class:"button is-small",onClick:e[0]||(e[0]=(...b)=>i.mark_all_played&&i.mark_all_played(...b))},kh)])]),content:d(()=>[u(n,{tracks:o.new_episodes.items,show_progress:!0,onPlayCountChanged:i.reload_new_episodes},null,8,["tracks","onPlayCountChanged"])]),_:1})):y("",!0),u(c,null,{"heading-left":d(()=>[wh,t("p",vh,m(o.albums.total)+" podcasts",1)]),"heading-right":d(()=>[t("div",$h,[i.rss.tracks>0?(l(),_("a",{key:0,class:"button is-small",onClick:e[1]||(e[1]=(...b)=>i.update_rss&&i.update_rss(...b))},qh)):y("",!0),t("a",{class:"button is-small",onClick:e[2]||(e[2]=(...b)=>i.open_add_podcast_dialog&&i.open_add_podcast_dialog(...b))},Ah)])]),content:d(()=>[u(p,{albums:o.albums,onPlayCountChanged:e[3]||(e[3]=b=>i.reload_new_episodes()),onPodcastDeleted:e[4]||(e[4]=b=>i.reload_podcasts())},null,8,["albums"]),u(g,{show:o.show_url_modal,onClose:e[5]||(e[5]=b=>o.show_url_modal=!1),onPodcastAdded:e[6]||(e[6]=b=>i.reload_podcasts())},null,8,["show"])]),_:1})])}var Rh=k(ph,[["render",Th]]);const $t={load:function(s){return Promise.all([f.library_album(s.params.album_id),f.library_podcast_episodes(s.params.album_id)])},set:function(s,e){s.album=e[0].data,s.tracks=e[1].data.tracks.items}},Eh={name:"PagePodcast",components:{ContentWithHeading:R,ListTracks:V,ModalDialogAlbum:Ft,ModalDialog:rs},beforeRouteEnter(s,e,a){$t.load(s).then(r=>{a(o=>$t.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;$t.load(s).then(o=>{$t.set(r,o),a()})},data(){return{album:{},tracks:[],show_album_details_modal:!1,show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{new_tracks(){return this.tracks.filter(s=>s.play_count===0).length}},methods:{play:function(){f.player_play_uri(this.album.uri,!1)},open_remove_podcast_dialog:function(){this.show_album_details_modal=!1,f.library_track_playlists(this.tracks[0].id).then(({data:s})=>{const e=s.items.filter(a=>a.type==="rss");if(e.length!==1){this.$store.dispatch("add_notification",{text:"Podcast cannot be removed. Probably it was not added as an RSS playlist.",type:"danger"});return}this.rss_playlist_to_remove=e[0],this.show_remove_podcast_modal=!0})},remove_podcast:function(){this.show_remove_podcast_modal=!1,f.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$router.replace({path:"/podcasts"})})},reload_tracks:function(){f.library_podcast_episodes(this.album.id).then(({data:s})=>{this.tracks=s.tracks.items})}}},Ih={class:"title is-4"},Uh={class:"buttons is-centered"},Lh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Oh=[Lh],Dh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),zh=t("span",null,"Play",-1),Nh=[Dh,zh],Vh={class:"heading has-text-centered-mobile"},Bh=t("p",null,"Permanently remove this podcast from your library?",-1),Mh={class:"is-size-7"},Fh=$(" (This will also remove the RSS playlist "),Gh=$(".) ");function jh(s,e,a,r,o,i){const n=h("list-tracks"),c=h("modal-dialog-album"),p=h("modal-dialog"),g=h("content-with-heading");return l(),w(g,null,{"heading-left":d(()=>[t("div",Ih,m(o.album.name),1)]),"heading-right":d(()=>[t("div",Uh,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_album_details_modal=!0)},Oh),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},Nh)])]),content:d(()=>[t("p",Vh,m(o.album.track_count)+" tracks ",1),u(n,{tracks:o.tracks,show_progress:!0,onPlayCountChanged:i.reload_tracks},null,8,["tracks","onPlayCountChanged"]),u(c,{show:o.show_album_details_modal,album:o.album,media_kind:"podcast",new_tracks:i.new_tracks,onClose:e[2]||(e[2]=b=>o.show_album_details_modal=!1),onPlayCountChanged:i.reload_tracks,onRemovePodcast:i.open_remove_podcast_dialog},null,8,["show","album","new_tracks","onPlayCountChanged","onRemovePodcast"]),u(p,{show:o.show_remove_podcast_modal,title:"Remove podcast",delete_action:"Remove",onClose:e[3]||(e[3]=b=>o.show_remove_podcast_modal=!1),onDelete:i.remove_podcast},{"modal-content":d(()=>[Bh,t("p",Mh,[Fh,t("b",null,m(o.rss_playlist_to_remove.name),1),Gh])]),_:1},8,["show","onDelete"])]),_:1})}var Kh=k(Eh,[["render",jh]]);const Hh={name:"TabsAudiobooks"},Wh={class:"section fd-tabs-section"},Yh={class:"container"},Qh={class:"columns is-centered"},Jh={class:"column is-four-fifths"},Zh={class:"tabs is-centered is-small"},Xh=["onClick","onKeypress"],tp=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-artist"})],-1),sp=t("span",{class:""},"Authors",-1),ep=[tp,sp],ip=["onClick","onKeypress"],op=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-album"})],-1),ap=t("span",{class:""},"Audiobooks",-1),np=[op,ap];function lp(s,e,a,r,o,i){const n=h("router-link");return l(),_("section",Wh,[t("div",Yh,[t("div",Qh,[t("div",Jh,[t("div",Zh,[t("ul",null,[u(n,{to:"/audiobooks/artists",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},ep,40,Xh)],2)]),_:1}),u(n,{to:"/audiobooks/albums",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},np,40,ip)],2)]),_:1})])])])])])])}var Vs=k(Hh,[["render",lp]]);const xt={load:function(s){return f.library_albums("audiobook")},set:function(s,e){s.albums=new E(e.data),s.albums.group(tt("name_sort"))}},rp={name:"PageAudiobooksAlbums",components:{TabsAudiobooks:Vs,ContentWithHeading:R,IndexButtonList:H,ListAlbums:j},beforeRouteEnter(s,e,a){xt.load(s).then(r=>{a(o=>xt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums.isEmpty()){a();return}const r=this;xt.load(s).then(o=>{xt.set(r,o),a()})},data(){return{albums:new E}},methods:{}},dp={class:"fd-page-with-tabs"},_p=t("p",{class:"title is-4"},"Audiobooks",-1),cp={class:"heading"};function up(s,e,a,r,o,i){const n=h("tabs-audiobooks"),c=h("index-button-list"),p=h("list-albums"),g=h("content-with-heading");return l(),_("div",dp,[u(n),u(g,null,{options:d(()=>[u(c,{index:o.albums.indexList},null,8,["index"])]),"heading-left":d(()=>[_p,t("p",cp,m(o.albums.count)+" Audiobooks",1)]),content:d(()=>[u(p,{albums:o.albums},null,8,["albums"])]),_:1})])}var mp=k(rp,[["render",up]]);const Ct={load:function(s){return f.library_artists("audiobook")},set:function(s,e){s.artists_list=new E(e.data)}},hp={name:"PageAudiobooksArtists",components:{ContentWithHeading:R,TabsAudiobooks:Vs,IndexButtonList:H,ListArtists:ds},beforeRouteEnter(s,e,a){Ct.load(s).then(r=>{a(o=>Ct.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.artists_list.isEmpty()){a();return}const r=this;Ct.load(s).then(o=>{Ct.set(r,o),a()})},data(){return{artists_list:new E}},computed:{artists(){return this.artists_list?(this.artists_list.group(tt("name_sort")),this.artists_list):[]}},methods:{}},pp={class:"fd-page-with-tabs"},fp=t("p",{class:"title is-4"},"Authors",-1),yp={class:"heading"};function gp(s,e,a,r,o,i){const n=h("tabs-audiobooks"),c=h("index-button-list"),p=h("list-artists"),g=h("content-with-heading");return l(),_("div",pp,[u(n),u(g,null,{options:d(()=>[u(c,{index:i.artists.indexList},null,8,["index"])]),"heading-left":d(()=>[fp,t("p",yp,m(i.artists.count)+" Authors",1)]),"heading-right":d(()=>[]),content:d(()=>[u(p,{artists:i.artists},null,8,["artists"])]),_:1})])}var bp=k(hp,[["render",gp]]);const qt={load:function(s){return Promise.all([f.library_artist(s.params.artist_id),f.library_artist_albums(s.params.artist_id)])},set:function(s,e){s.artist=e[0].data,s.albums=new E(e[1].data)}},kp={name:"PageAudiobooksArtist",components:{ContentWithHeading:R,ListAlbums:j,ModalDialogArtist:Gt},beforeRouteEnter(s,e,a){qt.load(s).then(r=>{a(o=>qt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums.isEmpty()){a();return}const r=this;qt.load(s).then(o=>{qt.set(r,o),a()})},data(){return{artist:{},albums:new E,show_artist_details_modal:!1}},methods:{play:function(){f.player_play_uri(this.albums.items.map(s=>s.uri).join(","),!1)}}},wp={class:"title is-4"},vp={class:"buttons is-centered"},$p=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),xp=[$p],Cp=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),qp=t("span",null,"Shuffle",-1),Sp=[Cp,qp],Pp={class:"heading has-text-centered-mobile"};function Ap(s,e,a,r,o,i){const n=h("list-albums"),c=h("modal-dialog-artist"),p=h("content-with-heading");return l(),w(p,null,{"heading-left":d(()=>[t("p",wp,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",vp,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_artist_details_modal=!0)},xp),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Sp)])]),content:d(()=>[t("p",Pp,m(o.artist.album_count)+" albums ",1),u(n,{albums:o.albums},null,8,["albums"]),u(c,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[2]||(e[2]=g=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})}var Tp=k(kp,[["render",Ap]]);const St={load:function(s){return Promise.all([f.library_album(s.params.album_id),f.library_album_tracks(s.params.album_id)])},set:function(s,e){s.album=e[0].data,s.tracks=e[1].data.items}},Rp={name:"PageAudiobooksAlbum",components:{ContentWithHero:cs,ListTracks:V,ModalDialogAlbum:Ft,CoverArtwork:K},beforeRouteEnter(s,e,a){St.load(s).then(r=>{a(o=>St.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;St.load(s).then(o=>{St.set(r,o),a()})},data(){return{album:{},tracks:[],show_album_details_modal:!1}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/audiobooks/artists/"+this.album.artist_id})},play:function(){f.player_play_uri(this.album.uri,!1)},play_track:function(s){f.player_play_uri(this.album.uri,!1,s)},open_dialog:function(s){this.selected_track=s,this.show_details_modal=!0}}},Ep={class:"title is-5"},Ip={class:"subtitle is-6 has-text-link has-text-weight-normal"},Up={class:"buttons fd-is-centered-mobile fd-has-margin-top"},Lp=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Op=t("span",null,"Play",-1),Dp=[Lp,Op],zp=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Np=[zp],Vp={class:"image is-square fd-has-shadow fd-has-action"},Bp={class:"heading is-7 has-text-centered-mobile fd-has-margin-top"};function Mp(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("list-tracks"),p=h("modal-dialog-album"),g=h("content-with-hero");return l(),w(g,null,{"heading-left":d(()=>[t("h1",Ep,m(o.album.name),1),t("h2",Ip,[t("a",{class:"has-text-link",onClick:e[0]||(e[0]=(...b)=>i.open_artist&&i.open_artist(...b))},m(o.album.artist),1)]),t("div",Up,[t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},Dp),t("a",{class:"button is-small is-light is-rounded",onClick:e[2]||(e[2]=b=>o.show_album_details_modal=!0)},Np)])]),"heading-right":d(()=>[t("p",Vp,[u(n,{artwork_url:o.album.artwork_url,artist:o.album.artist,album:o.album.name,onClick:e[3]||(e[3]=b=>o.show_album_details_modal=!0)},null,8,["artwork_url","artist","album"])])]),content:d(()=>[t("p",Bp,m(o.album.track_count)+" tracks ",1),u(c,{tracks:o.tracks,uris:o.album.uri},null,8,["tracks","uris"]),u(p,{show:o.show_album_details_modal,album:o.album,media_kind:"audiobook",onClose:e[4]||(e[4]=b=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})}var Fp=k(Rp,[["render",Mp]]);const Gp={name:"ModalDialogPlaylist",props:["show","playlist","uris"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.uris?this.uris:this.playlist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.uris?this.uris:this.playlist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.uris?this.uris:this.playlist.uri)},open_playlist:function(){this.$emit("close"),this.$router.push({path:"/playlists/"+this.playlist.id+"/tracks"})}}},jp={key:0,class:"modal is-active"},Kp={class:"modal-content fd-modal-card"},Hp={class:"card"},Wp={class:"card-content"},Yp={class:"title is-4"},Qp={class:"content is-small"},Jp=t("span",{class:"heading"},"Path",-1),Zp={class:"title is-6"},Xp=t("span",{class:"heading"},"Type",-1),tf={class:"title is-6"},sf={key:0,class:"card-footer"},ef=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),of=t("span",{class:"is-size-7"},"Add",-1),af=[ef,of],nf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),lf=t("span",{class:"is-size-7"},"Add Next",-1),rf=[nf,lf],df=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),_f=t("span",{class:"is-size-7"},"Play",-1),cf=[df,_f];function uf(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",jp,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Kp,[t("div",Hp,[t("div",Wp,[t("p",Yp,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_playlist&&i.open_playlist(...n))},m(a.playlist.name),1)]),t("div",Qp,[t("p",null,[Jp,t("span",Zp,m(a.playlist.path),1)]),t("p",null,[Xp,t("span",tf,m(a.playlist.type),1)])])]),a.playlist.folder?y("",!0):(l(),_("footer",sf,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},af),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},rf),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},cf)]))])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Bs=k(Gp,[["render",uf]]);const mf={name:"ListPlaylists",components:{ModalDialogPlaylist:Bs},props:["playlists"],data(){return{show_details_modal:!1,selected_playlist:{}}},methods:{open_playlist:function(s){s.type!=="folder"?this.$router.push({path:"/playlists/"+s.id+"/tracks"}):this.$router.push({path:"/playlists/"+s.id})},open_dialog:function(s){this.selected_playlist=s,this.show_details_modal=!0}}},hf=["playlist","onClick"],pf={class:"media-left fd-has-action"},ff={class:"icon"},yf={class:"media-content fd-has-action is-clipped"},gf={class:"title is-6"},bf={class:"media-right"},kf=["onClick"],wf=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),vf=[wf];function $f(s,e,a,r,o,i){const n=h("modal-dialog-playlist");return l(),_(T,null,[(l(!0),_(T,null,I(a.playlists,c=>(l(),_("div",{key:c.id,class:"media",playlist:c,onClick:p=>i.open_playlist(c)},[t("figure",pf,[t("span",ff,[t("i",{class:C(["mdi",{"mdi-library-music":c.type!=="folder","mdi-rss":c.type==="rss","mdi-folder":c.type==="folder"}])},null,2)])]),t("div",yf,[t("h1",gf,m(c.name),1)]),t("div",bf,[t("a",{onClick:D(p=>i.open_dialog(c),["prevent","stop"])},vf,8,kf)])],8,hf))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,playlist:o.selected_playlist,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","playlist"])]))],64)}var hs=k(mf,[["render",$f]]);const Pt={load:function(s){return Promise.all([f.library_playlist(s.params.playlist_id),f.library_playlist_folder(s.params.playlist_id)])},set:function(s,e){s.playlist=e[0].data,s.playlists=e[1].data}},xf={name:"PagePlaylists",components:{ContentWithHeading:R,ListPlaylists:hs},beforeRouteEnter(s,e,a){Pt.load(s).then(r=>{a(o=>Pt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Pt.load(s).then(o=>{Pt.set(r,o),a()})},data(){return{playlist:{},playlists:{}}}},Cf={class:"title is-4"},qf={class:"heading"};function Sf(s,e,a,r,o,i){const n=h("list-playlists"),c=h("content-with-heading");return l(),w(c,null,{"heading-left":d(()=>[t("p",Cf,m(o.playlist.name),1),t("p",qf,m(o.playlists.total)+" playlists",1)]),content:d(()=>[u(n,{playlists:o.playlists.items},null,8,["playlists"])]),_:1})}var Pf=k(xf,[["render",Sf]]);const At={load:function(s){return Promise.all([f.library_playlist(s.params.playlist_id),f.library_playlist_tracks(s.params.playlist_id)])},set:function(s,e){s.playlist=e[0].data,s.tracks=e[1].data.items}},Af={name:"PagePlaylist",components:{ContentWithHeading:R,ListTracks:V,ModalDialogPlaylist:Bs},beforeRouteEnter(s,e,a){At.load(s).then(r=>{a(o=>At.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;At.load(s).then(o=>{At.set(r,o),a()})},data(){return{playlist:{},tracks:[],show_playlist_details_modal:!1}},computed:{uris(){return this.playlist.random?this.tracks.map(s=>s.uri).join(","):this.playlist.uri}},methods:{play:function(){f.player_play_uri(this.uris,!0)}}},Tf={class:"title is-4"},Rf={class:"buttons is-centered"},Ef=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),If=[Ef],Uf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Lf=t("span",null,"Shuffle",-1),Of=[Uf,Lf],Df={class:"heading has-text-centered-mobile"};function zf(s,e,a,r,o,i){const n=h("list-tracks"),c=h("modal-dialog-playlist"),p=h("content-with-heading");return l(),w(p,null,{"heading-left":d(()=>[t("div",Tf,m(o.playlist.name),1)]),"heading-right":d(()=>[t("div",Rf,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_playlist_details_modal=!0)},If),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Of)])]),content:d(()=>[t("p",Df,m(o.tracks.length)+" tracks",1),u(n,{tracks:o.tracks,uris:i.uris},null,8,["tracks","uris"]),u(c,{show:o.show_playlist_details_modal,playlist:o.playlist,uris:i.uris,onClose:e[2]||(e[2]=g=>o.show_playlist_details_modal=!1)},null,8,["show","playlist","uris"])]),_:1})}var Nf=k(Af,[["render",zf]]);const Vf={name:"ModalDialogDirectory",props:["show","directory"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_expression('path starts with "'+this.directory.path+'" order by path asc',!1)},queue_add:function(){this.$emit("close"),f.queue_expression_add('path starts with "'+this.directory.path+'" order by path asc')},queue_add_next:function(){this.$emit("close"),f.queue_expression_add_next('path starts with "'+this.directory.path+'" order by path asc')}}},Bf={key:0,class:"modal is-active"},Mf={class:"modal-content fd-modal-card"},Ff={class:"card"},Gf={class:"card-content"},jf={class:"title is-4"},Kf={class:"card-footer"},Hf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Wf=t("span",{class:"is-size-7"},"Add",-1),Yf=[Hf,Wf],Qf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),Jf=t("span",{class:"is-size-7"},"Add Next",-1),Zf=[Qf,Jf],Xf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),ty=t("span",{class:"is-size-7"},"Play",-1),sy=[Xf,ty];function ey(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Bf,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Mf,[t("div",Ff,[t("div",Gf,[t("p",jf,m(a.directory.path),1)]),t("footer",Kf,[t("a",{class:"card-footer-item has-text-dark",onClick:e[1]||(e[1]=(...n)=>i.queue_add&&i.queue_add(...n))},Yf),t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Zf),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.play&&i.play(...n))},sy)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[4]||(e[4]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var iy=k(Vf,[["render",ey]]);const oy={name:"ListDirectories",components:{ModalDialogDirectory:iy},props:["directories"],data(){return{show_details_modal:!1,selected_directory:{}}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"}},methods:{open_parent_directory:function(){this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))===""||this.$store.state.config.directories.includes(this.current_directory)?this.$router.push({path:"/files"}):this.$router.push({path:"/files",query:{directory:this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))}})},open_directory:function(s){this.$router.push({path:"/files",query:{directory:s.path}})},open_dialog:function(s){this.selected_directory=s,this.show_details_modal=!0}}},ay=bs('..
',2),ny={class:"media-right"},ly=["onClick"],ry=t("figure",{class:"media-left fd-has-action"},[t("span",{class:"icon"},[t("i",{class:"mdi mdi-folder"})])],-1),dy={class:"media-content fd-has-action is-clipped"},_y={class:"title is-6"},cy={class:"subtitle is-7 has-text-grey-light"},uy={class:"media-right"},my=["onClick"],hy=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),py=[hy];function fy(s,e,a,r,o,i){const n=h("modal-dialog-directory");return l(),_(T,null,[s.$route.query.directory?(l(),_("div",{key:0,class:"media",onClick:e[0]||(e[0]=c=>i.open_parent_directory())},[ay,t("div",ny,[O(s.$slots,"actions")])])):y("",!0),(l(!0),_(T,null,I(a.directories,c=>(l(),_("div",{key:c.path,class:"media",onClick:p=>i.open_directory(c)},[ry,t("div",dy,[t("h1",_y,m(c.path.substring(c.path.lastIndexOf("/")+1)),1),t("h2",cy,m(c.path),1)]),t("div",uy,[t("a",{onClick:D(p=>i.open_dialog(c),["prevent","stop"])},py,8,my)])],8,ly))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,directory:o.selected_directory,onClose:e[1]||(e[1]=c=>o.show_details_modal=!1)},null,8,["show","directory"])]))],64)}var yy=k(oy,[["render",fy]]);const Tt={load:function(s){return s.query.directory?f.library_files(s.query.directory):Promise.resolve()},set:function(s,e){e?s.files=e.data:s.files={directories:s.$store.state.config.directories.map(a=>({path:a})),tracks:{items:[]},playlists:{items:[]}}}},gy={name:"PageFiles",components:{ContentWithHeading:R,ListDirectories:yy,ListPlaylists:hs,ListTracks:V},beforeRouteEnter(s,e,a){Tt.load(s).then(r=>{a(o=>Tt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Tt.load(s).then(o=>{Tt.set(r,o),a()})},data(){return{files:{directories:[],tracks:{items:[]},playlists:{items:[]}}}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"},play_expression(){return'path starts with "'+this.current_directory+'" order by path asc'}},methods:{play:function(){f.player_play_expression(this.play_expression,!1)}}},by=t("p",{class:"title is-4"},"Files",-1),ky={class:"title is-7 has-text-grey"},wy={class:"buttons is-centered"},vy=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),$y=[vy],xy=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Cy=t("span",null,"Play",-1),qy=[xy,Cy];function Sy(s,e,a,r,o,i){const n=h("list-directories"),c=h("list-playlists"),p=h("list-tracks"),g=h("modal-dialog-directory"),b=h("content-with-heading");return l(),_("div",null,[u(b,null,{"heading-left":d(()=>[by,t("p",ky,m(i.current_directory),1)]),"heading-right":d(()=>[t("div",wy,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=x=>s.open_directory_dialog({path:i.current_directory}))},$y),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...x)=>i.play&&i.play(...x))},qy)])]),content:d(()=>[u(n,{directories:o.files.directories},null,8,["directories"]),u(c,{playlists:o.files.playlists.items},null,8,["playlists"]),u(p,{tracks:o.files.tracks.items,expression:i.play_expression,show_icon:!0},null,8,["tracks","expression"]),u(g,{show:s.show_directory_details_modal,directory:s.selected_directory,onClose:e[2]||(e[2]=x=>s.show_directory_details_modal=!1)},null,8,["show","directory"])]),_:1})])}var Py=k(gy,[["render",Sy]]);const Rt={load:function(s){return f.library_radio_streams()},set:function(s,e){s.tracks=e.data.tracks}},Ay={name:"PageRadioStreams",components:{ContentWithHeading:R,ListTracks:V},beforeRouteEnter(s,e,a){Rt.load(s).then(r=>{a(o=>Rt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Rt.load(s).then(o=>{Rt.set(r,o),a()})},data(){return{tracks:{items:[]}}}},Ty=t("p",{class:"title is-4"},"Radio",-1),Ry={class:"heading has-text-centered-mobile"};function Ey(s,e,a,r,o,i){const n=h("list-tracks"),c=h("content-with-heading");return l(),_("div",null,[u(c,null,{"heading-left":d(()=>[Ty]),content:d(()=>[t("p",Ry,m(o.tracks.total)+" tracks ",1),u(n,{tracks:o.tracks.items},null,8,["tracks"])]),_:1})])}var Iy=k(Ay,[["render",Ey]]);const Uy={name:"ContentText"},Ly={class:"section fd-content py-3"},Oy={class:"container"},Dy={class:"columns is-centered"},zy={class:"column is-four-fifths"};function Ny(s,e,a,r,o,i){return l(),_("section",Ly,[t("div",Oy,[t("div",Dy,[t("div",zy,[O(s.$slots,"content")])])])])}var Ms=k(Uy,[["render",Ny]]);const Vy={name:"TabsSearch",props:["query"],computed:{spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},route_query:function(){return this.query?{type:"track,artist,album,playlist,audiobook,podcast",query:this.query,limit:3,offset:0}:null}},methods:{search_library:function(){this.$store.commit(Yt,"/search/library"),this.$router.push({path:this.$store.state.search_path,query:this.route_query})},search_spotify:function(){this.$store.commit(Yt,"/search/spotify"),this.$router.push({path:this.$store.state.search_path,query:this.route_query})}}},By={key:0,class:"section fd-remove-padding-bottom"},My={class:"container"},Fy={class:"columns is-centered"},Gy={class:"column is-four-fifths"},jy={class:"tabs is-centered is-small is-toggle is-toggle-rounded"},Ky=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-library-books"})],-1),Hy=t("span",{class:""},"Library",-1),Wy=[Ky,Hy],Yy=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-spotify"})],-1),Qy=t("span",{class:""},"Spotify",-1),Jy=[Yy,Qy];function Zy(s,e,a,r,o,i){return i.spotify_enabled?(l(),_("section",By,[t("div",My,[t("div",Fy,[t("div",Gy,[t("div",jy,[t("ul",null,[t("li",{class:C({"is-active":s.$store.state.search_path==="/search/library"})},[t("a",{onClick:e[0]||(e[0]=(...n)=>i.search_library&&i.search_library(...n))},Wy)],2),t("li",{class:C({"is-active":s.$store.state.search_path==="/search/spotify"})},[t("a",{onClick:e[1]||(e[1]=(...n)=>i.search_spotify&&i.search_spotify(...n))},Jy)],2)])])])])])])):y("",!0)}var Fs=k(Vy,[["render",Zy]]);const Xy={name:"PageSearch",components:{ContentWithHeading:R,ContentText:Ms,TabsSearch:Fs,ListTracks:V,ListArtists:ds,ListAlbums:j,ListPlaylists:hs,ListComposers:Ns},data(){return{search_query:"",tracks:{items:[],total:0},artists:new E,albums:new E,composers:{items:[],total:0},playlists:{items:[],total:0},audiobooks:new E,podcasts:new E}},computed:{recent_searches(){return this.$store.state.recent_searches},show_tracks(){return this.$route.query.type&&this.$route.query.type.includes("track")},show_all_tracks_button(){return this.tracks.total>this.tracks.items.length},show_artists(){return this.$route.query.type&&this.$route.query.type.includes("artist")},show_all_artists_button(){return this.artists.total>this.artists.items.length},show_albums(){return this.$route.query.type&&this.$route.query.type.includes("album")},show_all_albums_button(){return this.albums.total>this.albums.items.length},show_composers(){return this.$route.query.type&&this.$route.query.type.includes("composer")},show_all_composers_button(){return this.composers.total>this.composers.items.length},show_playlists(){return this.$route.query.type&&this.$route.query.type.includes("playlist")},show_all_playlists_button(){return this.playlists.total>this.playlists.items.length},show_audiobooks(){return this.$route.query.type&&this.$route.query.type.includes("audiobook")},show_all_audiobooks_button(){return this.audiobooks.total>this.audiobooks.items.length},show_podcasts(){return this.$route.query.type&&this.$route.query.type.includes("podcast")},show_all_podcasts_button(){return this.podcasts.total>this.podcasts.items.length},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},watch:{$route(s,e){this.search(s)}},mounted:function(){this.search(this.$route)},methods:{search:function(s){if(!s.query.query||s.query.query===""){this.search_query="",this.$refs.search_field.focus();return}this.search_query=s.query.query,this.searchMusic(s.query),this.searchAudiobooks(s.query),this.searchPodcasts(s.query),this.$store.commit(as,s.query.query)},searchMusic:function(s){if(s.type.indexOf("track")<0&&s.type.indexOf("artist")<0&&s.type.indexOf("album")<0&&s.type.indexOf("playlist")<0)return;const e={type:s.type,media_kind:"music"};s.query.startsWith("query:")?e.expression=s.query.replace(/^query:/,"").trim():e.query=s.query,s.limit&&(e.limit=s.limit,e.offset=s.offset),f.search(e).then(({data:a})=>{this.tracks=a.tracks?a.tracks:{items:[],total:0},this.artists=new E(a.artists),this.albums=new E(a.albums),this.composers=a.composers?a.composers:{items:[],total:0},this.playlists=a.playlists?a.playlists:{items:[],total:0}})},searchAudiobooks:function(s){if(s.type.indexOf("audiobook")<0)return;const e={type:"album",media_kind:"audiobook"};s.query.startsWith("query:")?e.expression=s.query.replace(/^query:/,"").trim():e.expression='((album includes "'+s.query+'" or artist includes "'+s.query+'") and media_kind is audiobook)',s.limit&&(e.limit=s.limit,e.offset=s.offset),f.search(e).then(({data:a})=>{this.audiobooks=new E(a.albums)})},searchPodcasts:function(s){if(s.type.indexOf("podcast")<0)return;const e={type:"album",media_kind:"podcast"};s.query.startsWith("query:")?e.expression=s.query.replace(/^query:/,"").trim():e.expression='((album includes "'+s.query+'" or artist includes "'+s.query+'") and media_kind is podcast)',s.limit&&(e.limit=s.limit,e.offset=s.offset),f.search(e).then(({data:a})=>{this.podcasts=new E(a.albums)})},new_search:function(){!this.search_query||(this.$router.push({path:this.$store.state.search_path,query:{type:"track,artist,album,playlist,audiobook,podcast,composer",query:this.search_query,limit:3,offset:0}}),this.$refs.search_field.blur())},open_search_tracks:function(){this.$router.push({path:"/search/library",query:{type:"track",query:this.$route.query.query}})},open_search_artists:function(){this.$router.push({path:"/search/library",query:{type:"artist",query:this.$route.query.query}})},open_search_albums:function(){this.$router.push({path:"/search/library",query:{type:"album",query:this.$route.query.query}})},open_search_composers:function(){this.$router.push({path:"/search/library",query:{type:"tracks",query:this.$route.query.query}})},open_search_playlists:function(){this.$router.push({path:"/search/library",query:{type:"playlist",query:this.$route.query.query}})},open_search_audiobooks:function(){this.$router.push({path:"/search/library",query:{type:"audiobook",query:this.$route.query.query}})},open_search_podcasts:function(){this.$router.push({path:"/search/library",query:{type:"podcast",query:this.$route.query.query}})},open_composer:function(s){this.$router.push({name:"ComposerAlbums",params:{composer:s.name}})},open_playlist:function(s){this.$router.push({path:"/playlists/"+s.id+"/tracks"})},open_recent_search:function(s){this.search_query=s,this.new_search()},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},open_artist_dialog:function(s){this.selected_artist=s,this.show_artist_details_modal=!0},open_composer_dialog:function(s){this.selected_composer=s,this.show_composer_details_modal=!0},open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0}}},tg={class:"section fd-remove-padding-bottom"},sg={class:"container"},eg={class:"columns is-centered"},ig={class:"column is-four-fifths"},og={class:"field"},ag={class:"control is-expanded has-icons-left"},ng=t("span",{class:"icon is-left"},[t("i",{class:"mdi mdi-magnify"})],-1),lg=t("p",{class:"help has-text-centered"},[$(" Tip: you can search by a smart playlist query language "),t("a",{href:"https://github.com/owntone/owntone-server/blob/master/README_SMARTPL.md",target:"_blank"},"expression"),$(" if you prefix it with "),t("code",null,"query:"),$(". ")],-1),rg={class:"tags",style:{"margin-top":"16px"}},dg=["onClick"],_g=t("p",{class:"title is-4"},"Tracks",-1),cg={key:0,class:"level"},ug={class:"level-item"},mg=t("p",null,[t("i",null,"No tracks found")],-1),hg=t("p",{class:"title is-4"},"Artists",-1),pg={key:0,class:"level"},fg={class:"level-item"},yg=t("p",null,[t("i",null,"No artists found")],-1),gg=t("p",{class:"title is-4"},"Albums",-1),bg={key:0,class:"level"},kg={class:"level-item"},wg=t("p",null,[t("i",null,"No albums found")],-1),vg=t("p",{class:"title is-4"},"Composers",-1),$g={key:0,class:"level"},xg={class:"level-item"},Cg=t("p",null,[t("i",null,"No composers found")],-1),qg=t("p",{class:"title is-4"},"Playlists",-1),Sg={key:0,class:"level"},Pg={class:"level-item"},Ag=t("p",null,[t("i",null,"No playlists found")],-1),Tg=t("p",{class:"title is-4"},"Podcasts",-1),Rg={key:0,class:"level"},Eg={class:"level-item"},Ig=t("p",null,[t("i",null,"No podcasts found")],-1),Ug=t("p",{class:"title is-4"},"Audiobooks",-1),Lg={key:0,class:"level"},Og={class:"level-item"},Dg=t("p",null,[t("i",null,"No audiobooks found")],-1);function zg(s,e,a,r,o,i){const n=h("tabs-search"),c=h("list-tracks"),p=h("content-with-heading"),g=h("content-text"),b=h("list-artists"),x=h("list-albums"),q=h("list-composers"),z=h("list-playlists");return l(),_("div",null,[t("section",tg,[t("div",sg,[t("div",eg,[t("div",ig,[t("form",{onSubmit:e[1]||(e[1]=D((...S)=>i.new_search&&i.new_search(...S),["prevent"]))},[t("div",og,[t("p",ag,[U(t("input",{ref:"search_field","onUpdate:modelValue":e[0]||(e[0]=S=>o.search_query=S),class:"input is-rounded is-shadowless",type:"text",placeholder:"Search",autocomplete:"off"},null,512),[[M,o.search_query]]),ng]),lg])],32),t("div",rg,[(l(!0),_(T,null,I(i.recent_searches,S=>(l(),_("a",{key:S,class:"tag",onClick:W=>i.open_recent_search(S)},m(S),9,dg))),128))])])])])]),u(n,{query:o.search_query},null,8,["query"]),i.show_tracks&&o.tracks.total?(l(),w(p,{key:0},{"heading-left":d(()=>[_g]),content:d(()=>[u(c,{tracks:o.tracks.items},null,8,["tracks"])]),footer:d(()=>[i.show_all_tracks_button?(l(),_("nav",cg,[t("p",ug,[t("a",{class:"button is-light is-small is-rounded",onClick:e[2]||(e[2]=(...S)=>i.open_search_tracks&&i.open_search_tracks(...S))},"Show all "+m(o.tracks.total.toLocaleString())+" tracks",1)])])):y("",!0)]),_:1})):y("",!0),i.show_tracks&&!o.tracks.total?(l(),w(g,{key:1,class:"mt-6"},{content:d(()=>[mg]),_:1})):y("",!0),i.show_artists&&o.artists.total?(l(),w(p,{key:2},{"heading-left":d(()=>[hg]),content:d(()=>[u(b,{artists:o.artists,hide_group_title:!0},null,8,["artists"])]),footer:d(()=>[i.show_all_artists_button?(l(),_("nav",pg,[t("p",fg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[3]||(e[3]=(...S)=>i.open_search_artists&&i.open_search_artists(...S))},"Show all "+m(o.artists.total.toLocaleString())+" artists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_artists&&!o.artists.total?(l(),w(g,{key:3},{content:d(()=>[yg]),_:1})):y("",!0),i.show_albums&&o.albums.total?(l(),w(p,{key:4},{"heading-left":d(()=>[gg]),content:d(()=>[u(x,{albums:o.albums,hide_group_title:!0},null,8,["albums"])]),footer:d(()=>[i.show_all_albums_button?(l(),_("nav",bg,[t("p",kg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[4]||(e[4]=(...S)=>i.open_search_albums&&i.open_search_albums(...S))},"Show all "+m(o.albums.total.toLocaleString())+" albums",1)])])):y("",!0)]),_:1})):y("",!0),i.show_albums&&!o.albums.total?(l(),w(g,{key:5},{content:d(()=>[wg]),_:1})):y("",!0),i.show_composers&&o.composers.total?(l(),w(p,{key:6},{"heading-left":d(()=>[vg]),content:d(()=>[u(q,{composers:o.composers.items},null,8,["composers"])]),footer:d(()=>[i.show_all_composers_button?(l(),_("nav",$g,[t("p",xg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[5]||(e[5]=(...S)=>i.open_search_composers&&i.open_search_composers(...S))},"Show all "+m(o.composers.total)+" composers",1)])])):y("",!0)]),_:1})):y("",!0),i.show_composers&&!o.composers.total?(l(),w(g,{key:7},{content:d(()=>[Cg]),_:1})):y("",!0),i.show_playlists&&o.playlists.total?(l(),w(p,{key:8},{"heading-left":d(()=>[qg]),content:d(()=>[u(z,{playlists:o.playlists.items},null,8,["playlists"])]),footer:d(()=>[i.show_all_playlists_button?(l(),_("nav",Sg,[t("p",Pg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[6]||(e[6]=(...S)=>i.open_search_playlists&&i.open_search_playlists(...S))},"Show all "+m(o.playlists.total.toLocaleString())+" playlists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_playlists&&!o.playlists.total?(l(),w(g,{key:9},{content:d(()=>[Ag]),_:1})):y("",!0),i.show_podcasts&&o.podcasts.total?(l(),w(p,{key:10},{"heading-left":d(()=>[Tg]),content:d(()=>[u(x,{albums:o.podcasts},null,8,["albums"])]),footer:d(()=>[i.show_all_podcasts_button?(l(),_("nav",Rg,[t("p",Eg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[7]||(e[7]=(...S)=>i.open_search_podcasts&&i.open_search_podcasts(...S))},"Show all "+m(o.podcasts.total.toLocaleString())+" podcasts",1)])])):y("",!0)]),_:1})):y("",!0),i.show_podcasts&&!o.podcasts.total?(l(),w(g,{key:11},{content:d(()=>[Ig]),_:1})):y("",!0),i.show_audiobooks&&o.audiobooks.total?(l(),w(p,{key:12},{"heading-left":d(()=>[Ug]),content:d(()=>[u(x,{albums:o.audiobooks},null,8,["albums"])]),footer:d(()=>[i.show_all_audiobooks_button?(l(),_("nav",Lg,[t("p",Og,[t("a",{class:"button is-light is-small is-rounded",onClick:e[8]||(e[8]=(...S)=>i.open_search_audiobooks&&i.open_search_audiobooks(...S))},"Show all "+m(o.audiobooks.total.toLocaleString())+" audiobooks",1)])])):y("",!0)]),_:1})):y("",!0),i.show_audiobooks&&!o.audiobooks.total?(l(),w(g,{key:13},{content:d(()=>[Dg]),_:1})):y("",!0)])}var Ng=k(Xy,[["render",zg]]);const Vg={name:"PageAbout",data(){return{show_update_dropdown:!1,show_update_library:!1}},computed:{config(){return this.$store.state.config},library(){return this.$store.state.library}},methods:{onClickOutside(s){this.show_update_dropdown=!1},showUpdateDialog(){this.$store.commit(ot,!0)}}},Bg={class:"section"},Mg={class:"container"},Fg={class:"columns is-centered"},Gg={class:"column is-four-fifths has-text-centered-mobile"},jg={class:"heading"},Kg=t("b",null,"OwnTone",-1),Hg={class:"title is-4"},Wg={class:"section"},Yg={class:"container"},Qg={class:"columns is-centered"},Jg={class:"column is-four-fifths"},Zg={class:"content"},Xg={class:"level is-mobile"},tb=t("div",{class:"level-left"},[t("div",{class:"level-item"},[t("h2",{class:"title is-5"},"Library")])],-1),sb={class:"level-right"},eb={key:0},ib=t("a",{class:"button is-small is-loading"},"Update",-1),ob=[ib],ab={key:1},nb={class:"table"},lb=t("th",null,"Artists",-1),rb={class:"has-text-right"},db=t("th",null,"Albums",-1),_b={class:"has-text-right"},cb=t("th",null,"Tracks",-1),ub={class:"has-text-right"},mb=t("th",null,"Total playtime",-1),hb={class:"has-text-right"},pb=t("th",null,"Library updated",-1),fb={class:"has-text-right"},yb={class:"has-text-grey"},gb=t("th",null,"Uptime",-1),bb={class:"has-text-right"},kb={class:"has-text-grey"},wb={class:"section"},vb={class:"container"},$b={class:"columns is-centered"},xb={class:"column is-four-fifths"},Cb={class:"content has-text-centered-mobile"},qb={class:"is-size-7"},Sb=bs(' Web interface built with Bulma, Material Design Icons, Vue.js, axios and more.
',1);function Pb(s,e,a,r,o,i){return l(),_("div",null,[t("section",Bg,[t("div",Mg,[t("div",Fg,[t("div",Gg,[t("p",jg,[Kg,$(" - version "+m(i.config.version),1)]),t("h1",Hg,m(i.config.library_name),1)])])])]),t("section",Wg,[t("div",Yg,[t("div",Qg,[t("div",Jg,[t("div",Zg,[t("nav",Xg,[tb,t("div",sb,[i.library.updating?(l(),_("div",eb,ob)):(l(),_("div",ab,[t("a",{class:"button is-small",onClick:e[0]||(e[0]=n=>i.showUpdateDialog())},"Update")]))])]),t("table",nb,[t("tbody",null,[t("tr",null,[lb,t("td",rb,m(s.$filters.number(i.library.artists)),1)]),t("tr",null,[db,t("td",_b,m(s.$filters.number(i.library.albums)),1)]),t("tr",null,[cb,t("td",ub,m(s.$filters.number(i.library.songs)),1)]),t("tr",null,[mb,t("td",hb,m(s.$filters.duration(i.library.db_playtime*1e3,"y [years], d [days], h [hours], m [minutes]")),1)]),t("tr",null,[pb,t("td",fb,[$(m(s.$filters.timeFromNow(i.library.updated_at))+" ",1),t("span",yb,"("+m(s.$filters.time(i.library.updated_at,"lll"))+")",1)])]),t("tr",null,[gb,t("td",bb,[$(m(s.$filters.timeFromNow(i.library.started_at,!0))+" ",1),t("span",kb,"("+m(s.$filters.time(i.library.started_at,"ll"))+")",1)])])])])])])])])]),t("section",wb,[t("div",vb,[t("div",$b,[t("div",xb,[t("div",Cb,[t("p",qb," Compiled with support for "+m(i.config.buildoptions.join(", "))+". ",1),Sb])])])])])])}var Ab=k(Vg,[["render",Pb]]);const Tb={name:"SpotifyListItemAlbum",props:["album"]},Rb={class:"media"},Eb={key:0,class:"media-left fd-has-action"},Ib={class:"media-content fd-has-action is-clipped"},Ub={class:"title is-6"},Lb={class:"subtitle is-7 has-text-grey"},Ob={class:"subtitle is-7 has-text-grey has-text-weight-normal"},Db={class:"media-right"};function zb(s,e,a,r,o,i){return l(),_("div",Rb,[s.$slots.artwork?(l(),_("div",Eb,[O(s.$slots,"artwork")])):y("",!0),t("div",Ib,[t("h1",Ub,m(a.album.name),1),t("h2",Lb,[t("b",null,m(a.album.artists[0].name),1)]),t("h2",Ob," ("+m(a.album.album_type)+", "+m(s.$filters.time(a.album.release_date,"L"))+") ",1)]),t("div",Db,[O(s.$slots,"actions")])])}var jt=k(Tb,[["render",zb]]);const Nb={name:"SpotifyListItemPlaylist",props:["playlist"],methods:{open_playlist:function(){this.$router.push({path:"/music/spotify/playlists/"+this.playlist.id})}}},Vb={class:"media"},Bb={class:"title is-6"},Mb={class:"subtitle is-7"},Fb={class:"media-right"};function Gb(s,e,a,r,o,i){return l(),_("div",Vb,[t("div",{class:"media-content fd-has-action is-clipped",onClick:e[0]||(e[0]=(...n)=>i.open_playlist&&i.open_playlist(...n))},[t("h1",Bb,m(a.playlist.name),1),t("h2",Mb,m(a.playlist.owner.display_name),1)]),t("div",Fb,[O(s.$slots,"actions")])])}var ps=k(Nb,[["render",Gb]]);const jb={name:"SpotifyModalDialogAlbum",props:["show","album"],emits:["close"],data(){return{artwork_visible:!1}},computed:{artwork_url:function(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{play:function(){this.$emit("close"),f.player_play_uri(this.album.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.album.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.album.uri)},open_album:function(){this.$router.push({path:"/music/spotify/albums/"+this.album.id})},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})},artwork_loaded:function(){this.artwork_visible=!0},artwork_error:function(){this.artwork_visible=!1}}},Kb={key:0,class:"modal is-active"},Hb={class:"modal-content fd-modal-card"},Wb={class:"card"},Yb={class:"card-content"},Qb={class:"image is-square fd-has-margin-bottom"},Jb=["src"],Zb={class:"title is-4"},Xb={class:"content is-small"},t1=t("span",{class:"heading"},"Album artist",-1),s1=t("span",{class:"heading"},"Release date",-1),e1={class:"title is-6"},i1=t("span",{class:"heading"},"Type",-1),o1={class:"title is-6"},a1={class:"card-footer"},n1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),l1=t("span",{class:"is-size-7"},"Add",-1),r1=[n1,l1],d1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),_1=t("span",{class:"is-size-7"},"Add Next",-1),c1=[d1,_1],u1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),m1=t("span",{class:"is-size-7"},"Play",-1),h1=[u1,m1];function p1(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Kb,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Hb,[t("div",Wb,[t("div",Yb,[U(t("figure",Qb,[t("img",{src:i.artwork_url,class:"fd-has-shadow",onLoad:e[1]||(e[1]=(...n)=>i.artwork_loaded&&i.artwork_loaded(...n)),onError:e[2]||(e[2]=(...n)=>i.artwork_error&&i.artwork_error(...n))},null,40,Jb)],512),[[zt,o.artwork_visible]]),t("p",Zb,[t("a",{class:"has-text-link",onClick:e[3]||(e[3]=(...n)=>i.open_album&&i.open_album(...n))},m(a.album.name),1)]),t("div",Xb,[t("p",null,[t1,t("a",{class:"title is-6 has-text-link",onClick:e[4]||(e[4]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.album.artists[0].name),1)]),t("p",null,[s1,t("span",e1,m(s.$filters.time(a.album.release_date,"L")),1)]),t("p",null,[i1,t("span",o1,m(a.album.album_type),1)])])]),t("footer",a1,[t("a",{class:"card-footer-item has-text-dark",onClick:e[5]||(e[5]=(...n)=>i.queue_add&&i.queue_add(...n))},r1),t("a",{class:"card-footer-item has-text-dark",onClick:e[6]||(e[6]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},c1),t("a",{class:"card-footer-item has-text-dark",onClick:e[7]||(e[7]=(...n)=>i.play&&i.play(...n))},h1)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[8]||(e[8]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var at=k(jb,[["render",p1]]);const f1={name:"SpotifyModalDialogPlaylist",props:["show","playlist"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.playlist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.playlist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.playlist.uri)},open_playlist:function(){this.$router.push({path:"/music/spotify/playlists/"+this.playlist.id})}}},y1={key:0,class:"modal is-active"},g1={class:"modal-content fd-modal-card"},b1={class:"card"},k1={class:"card-content"},w1={class:"title is-4"},v1={class:"content is-small"},$1=t("span",{class:"heading"},"Owner",-1),x1={class:"title is-6"},C1=t("span",{class:"heading"},"Tracks",-1),q1={class:"title is-6"},S1=t("span",{class:"heading"},"Path",-1),P1={class:"title is-6"},A1={class:"card-footer"},T1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),R1=t("span",{class:"is-size-7"},"Add",-1),E1=[T1,R1],I1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),U1=t("span",{class:"is-size-7"},"Add Next",-1),L1=[I1,U1],O1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),D1=t("span",{class:"is-size-7"},"Play",-1),z1=[O1,D1];function N1(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",y1,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",g1,[t("div",b1,[t("div",k1,[t("p",w1,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_playlist&&i.open_playlist(...n))},m(a.playlist.name),1)]),t("div",v1,[t("p",null,[$1,t("span",x1,m(a.playlist.owner.display_name),1)]),t("p",null,[C1,t("span",q1,m(a.playlist.tracks.total),1)]),t("p",null,[S1,t("span",P1,m(a.playlist.uri),1)])])]),t("footer",A1,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},E1),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},L1),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},z1)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Kt=k(f1,[["render",N1]]);const Et={load:function(s){if(A.state.spotify_new_releases.length>0&&A.state.spotify_featured_playlists.length>0)return Promise.resolve();const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),Promise.all([e.getNewReleases({country:A.state.spotify.webapi_country,limit:50}),e.getFeaturedPlaylists({country:A.state.spotify.webapi_country,limit:50})])},set:function(s,e){e&&(A.commit(is,e[0].albums.items),A.commit(os,e[1].playlists.items))}},V1={name:"SpotifyPageBrowse",components:{ContentWithHeading:R,TabsMusic:G,SpotifyListItemAlbum:jt,SpotifyListItemPlaylist:ps,SpotifyModalDialogAlbum:at,SpotifyModalDialogPlaylist:Kt,CoverArtwork:K},beforeRouteEnter(s,e,a){Et.load(s).then(r=>{a(o=>Et.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Et.load(s).then(o=>{Et.set(r,o),a()})},data(){return{show_album_details_modal:!1,selected_album:{},show_playlist_details_modal:!1,selected_playlist:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases.slice(0,3)},featured_playlists(){return this.$store.state.spotify_featured_playlists.slice(0,3)},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},B1={class:"fd-page-with-tabs"},M1=t("p",{class:"title is-4"},"New Releases",-1),F1={class:"image is-64x64 fd-has-shadow fd-has-action"},G1=["onClick"],j1=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),K1=[j1],H1={class:"level"},W1={class:"level-item"},Y1=$(" Show more "),Q1=t("p",{class:"title is-4"},"Featured Playlists",-1),J1=["onClick"],Z1=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),X1=[Z1],tk={class:"level"},sk={class:"level-item"},ek=$(" Show more ");function ik(s,e,a,r,o,i){const n=h("tabs-music"),c=h("cover-artwork"),p=h("spotify-list-item-album"),g=h("spotify-modal-dialog-album"),b=h("router-link"),x=h("content-with-heading"),q=h("spotify-list-item-playlist"),z=h("spotify-modal-dialog-playlist");return l(),_("div",B1,[u(n),u(x,null,{"heading-left":d(()=>[M1]),content:d(()=>[(l(!0),_(T,null,I(i.new_releases,S=>(l(),w(p,{key:S.id,album:S,onClick:W=>i.open_album(S)},Vt({actions:d(()=>[t("a",{onClick:W=>i.open_album_dialog(S)},K1,8,G1)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",F1,[u(c,{artwork_url:i.artwork_url(S),artist:S.artist,album:S.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),u(g,{show:o.show_album_details_modal,album:o.selected_album,onClose:e[0]||(e[0]=S=>o.show_album_details_modal=!1)},null,8,["show","album"])]),footer:d(()=>[t("nav",H1,[t("p",W1,[u(b,{to:"/music/spotify/new-releases",class:"button is-light is-small is-rounded"},{default:d(()=>[Y1]),_:1})])])]),_:1}),u(x,null,{"heading-left":d(()=>[Q1]),content:d(()=>[(l(!0),_(T,null,I(i.featured_playlists,S=>(l(),w(q,{key:S.id,playlist:S},{actions:d(()=>[t("a",{onClick:W=>i.open_playlist_dialog(S)},X1,8,J1)]),_:2},1032,["playlist"]))),128)),u(z,{show:o.show_playlist_details_modal,playlist:o.selected_playlist,onClose:e[1]||(e[1]=S=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:d(()=>[t("nav",tk,[t("p",sk,[u(b,{to:"/music/spotify/featured-playlists",class:"button is-light is-small is-rounded"},{default:d(()=>[ek]),_:1})])])]),_:1})])}var ok=k(V1,[["render",ik]]);const It={load:function(s){if(A.state.spotify_new_releases.length>0)return Promise.resolve();const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),e.getNewReleases({country:A.state.spotify.webapi_country,limit:50})},set:function(s,e){e&&A.commit(is,e.albums.items)}},ak={name:"SpotifyPageBrowseNewReleases",components:{ContentWithHeading:R,TabsMusic:G,SpotifyListItemAlbum:jt,SpotifyModalDialogAlbum:at,CoverArtwork:K},beforeRouteEnter(s,e,a){It.load(s).then(r=>{a(o=>It.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;It.load(s).then(o=>{It.set(r,o),a()})},data(){return{show_album_details_modal:!1,selected_album:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},nk={class:"fd-page-with-tabs"},lk=t("p",{class:"title is-4"},"New Releases",-1),rk={class:"image is-64x64 fd-has-shadow fd-has-action"},dk=["onClick"],_k=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ck=[_k];function uk(s,e,a,r,o,i){const n=h("tabs-music"),c=h("cover-artwork"),p=h("spotify-list-item-album"),g=h("spotify-modal-dialog-album"),b=h("content-with-heading");return l(),_("div",nk,[u(n),u(b,null,{"heading-left":d(()=>[lk]),content:d(()=>[(l(!0),_(T,null,I(i.new_releases,x=>(l(),w(p,{key:x.id,album:x,onClick:q=>i.open_album(x)},Vt({actions:d(()=>[t("a",{onClick:q=>i.open_album_dialog(x)},ck,8,dk)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",rk,[u(c,{artwork_url:i.artwork_url(x),artist:x.artist,album:x.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),u(g,{show:o.show_album_details_modal,album:o.selected_album,onClose:e[0]||(e[0]=x=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})])}var mk=k(ak,[["render",uk]]);const Ut={load:function(s){if(A.state.spotify_featured_playlists.length>0)return Promise.resolve();const e=new F;e.setAccessToken(A.state.spotify.webapi_token),e.getFeaturedPlaylists({country:A.state.spotify.webapi_country,limit:50})},set:function(s,e){e&&A.commit(os,e.playlists.items)}},hk={name:"SpotifyPageBrowseFeaturedPlaylists",components:{ContentWithHeading:R,TabsMusic:G,SpotifyListItemPlaylist:ps,SpotifyModalDialogPlaylist:Kt},beforeRouteEnter(s,e,a){Ut.load(s).then(r=>{a(o=>Ut.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Ut.load(s).then(o=>{Ut.set(r,o),a()})},data(){return{show_playlist_details_modal:!1,selected_playlist:{}}},computed:{featured_playlists(){return this.$store.state.spotify_featured_playlists}},methods:{open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0}}},pk={class:"fd-page-with-tabs"},fk=t("p",{class:"title is-4"},"Featured Playlists",-1),yk=["onClick"],gk=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),bk=[gk];function kk(s,e,a,r,o,i){const n=h("tabs-music"),c=h("spotify-list-item-playlist"),p=h("spotify-modal-dialog-playlist"),g=h("content-with-heading");return l(),_("div",pk,[u(n),u(g,null,{"heading-left":d(()=>[fk]),content:d(()=>[(l(!0),_(T,null,I(i.featured_playlists,b=>(l(),w(c,{key:b.id,playlist:b},{actions:d(()=>[t("a",{onClick:x=>i.open_playlist_dialog(b)},bk,8,yk)]),_:2},1032,["playlist"]))),128)),u(p,{show:o.show_playlist_details_modal,playlist:o.selected_playlist,onClose:e[0]||(e[0]=b=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}var wk=k(hk,[["render",kk]]);const vk={name:"SpotifyModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.artist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.artist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.artist.uri)},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.artist.id})}}},$k={key:0,class:"modal is-active"},xk={class:"modal-content fd-modal-card"},Ck={class:"card"},qk={class:"card-content"},Sk={class:"title is-4"},Pk={class:"content is-small"},Ak=t("span",{class:"heading"},"Popularity / Followers",-1),Tk={class:"title is-6"},Rk=t("span",{class:"heading"},"Genres",-1),Ek={class:"title is-6"},Ik={class:"card-footer"},Uk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Lk=t("span",{class:"is-size-7"},"Add",-1),Ok=[Uk,Lk],Dk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),zk=t("span",{class:"is-size-7"},"Add Next",-1),Nk=[Dk,zk],Vk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Bk=t("span",{class:"is-size-7"},"Play",-1),Mk=[Vk,Bk];function Fk(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",$k,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",xk,[t("div",Ck,[t("div",qk,[t("p",Sk,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.artist.name),1)]),t("div",Pk,[t("p",null,[Ak,t("span",Tk,m(a.artist.popularity)+" / "+m(a.artist.followers.total),1)]),t("p",null,[Rk,t("span",Ek,m(a.artist.genres.join(", ")),1)])])]),t("footer",Ik,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},Ok),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Nk),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},Mk)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Gs=k(vk,[["render",Fk]]);const Qt=50,Lt={load:function(s){const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),Promise.all([e.getArtist(s.params.artist_id),e.getArtistAlbums(s.params.artist_id,{limit:Qt,offset:0,include_groups:"album,single",market:A.state.spotify.webapi_country})])},set:function(s,e){s.artist=e[0],s.albums=[],s.total=0,s.offset=0,s.append_albums(e[1])}},Gk={name:"SpotifyPageArtist",components:{ContentWithHeading:R,SpotifyListItemAlbum:jt,SpotifyModalDialogAlbum:at,SpotifyModalDialogArtist:Gs,VueEternalLoading:ss.exports.VueEternalLoading,CoverArtwork:K},beforeRouteEnter(s,e,a){Lt.load(s).then(r=>{a(o=>Lt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Lt.load(s).then(o=>{Lt.set(r,o),a()})},data(){return{artist:{},albums:[],total:0,offset:0,show_details_modal:!1,selected_album:{},show_artist_details_modal:!1}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{load_next:function({loaded:s}){const e=new F;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getArtistAlbums(this.artist.id,{limit:Qt,offset:this.offset,include_groups:"album,single"}).then(a=>{this.append_albums(a),s(a.items.length,Qt)})},append_albums:function(s){this.albums=this.albums.concat(s.items),this.total=s.total,this.offset+=s.limit},play:function(){this.show_details_modal=!1,f.player_play_uri(this.artist.uri,!0)},open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},open_dialog:function(s){this.selected_album=s,this.show_details_modal=!0},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},jk={class:"title is-4"},Kk={class:"buttons is-centered"},Hk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Wk=[Hk],Yk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Qk=t("span",null,"Shuffle",-1),Jk=[Yk,Qk],Zk={class:"heading has-text-centered-mobile"},Xk={class:"image is-64x64 fd-has-shadow fd-has-action"},tw=["onClick"],sw=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ew=[sw],iw=$(" . ");function ow(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("spotify-list-item-album"),p=h("VueEternalLoading"),g=h("spotify-modal-dialog-album"),b=h("spotify-modal-dialog-artist"),x=h("content-with-heading");return l(),w(x,null,{"heading-left":d(()=>[t("p",jk,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",Kk,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=q=>o.show_artist_details_modal=!0)},Wk),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...q)=>i.play&&i.play(...q))},Jk)])]),content:d(()=>[t("p",Zk,m(o.total)+" albums",1),(l(!0),_(T,null,I(o.albums,q=>(l(),w(c,{key:q.id,album:q,onClick:z=>i.open_album(q)},Vt({actions:d(()=>[t("a",{onClick:D(z=>i.open_dialog(q),["prevent","stop"])},ew,8,tw)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",Xk,[u(n,{artwork_url:i.artwork_url(q),artist:q.artist,album:q.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),o.offset[iw]),_:1},8,["load"])):y("",!0),u(g,{show:o.show_details_modal,album:o.selected_album,onClose:e[2]||(e[2]=q=>o.show_details_modal=!1)},null,8,["show","album"]),u(b,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[3]||(e[3]=q=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})}var aw=k(Gk,[["render",ow]]);const nw={name:"SpotifyListItemTrack",props:["track","position","album","context_uri"],methods:{play:function(){f.player_play_uri(this.context_uri,!1,this.position)}}},lw={class:"media"},rw={key:0,class:"subtitle is-7"},dw=$(" (Track is not playable"),_w={key:0},cw=$(") "),uw={class:"media-right"};function mw(s,e,a,r,o,i){return l(),_("div",lw,[t("div",{class:"media-content fd-has-action is-clipped",onClick:e[0]||(e[0]=(...n)=>i.play&&i.play(...n))},[t("h1",{class:C(["title is-6",{"has-text-grey-light":a.track.is_playable===!1}])},m(a.track.name),3),t("h2",{class:C(["subtitle is-7",{"has-text-grey":a.track.is_playable,"has-text-grey-light":a.track.is_playable===!1}])},[t("b",null,m(a.track.artists[0].name),1)],2),a.track.is_playable===!1?(l(),_("h2",rw,[dw,a.track.restrictions&&a.track.restrictions.reason?(l(),_("span",_w,", restriction reason: "+m(a.track.restrictions.reason),1)):y("",!0),cw])):y("",!0)]),t("div",uw,[O(s.$slots,"actions")])])}var fs=k(nw,[["render",mw]]);const hw={name:"SpotifyModalDialogTrack",props:["show","track","album"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.track.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.track.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.track.uri)},open_album:function(){this.$router.push({path:"/music/spotify/albums/"+this.album.id})},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})}}},pw={key:0,class:"modal is-active"},fw={class:"modal-content fd-modal-card"},yw={class:"card"},gw={class:"card-content"},bw={class:"title is-4"},kw={class:"subtitle"},ww={class:"content is-small"},vw=t("span",{class:"heading"},"Album",-1),$w=t("span",{class:"heading"},"Album artist",-1),xw=t("span",{class:"heading"},"Release date",-1),Cw={class:"title is-6"},qw=t("span",{class:"heading"},"Track / Disc",-1),Sw={class:"title is-6"},Pw=t("span",{class:"heading"},"Length",-1),Aw={class:"title is-6"},Tw=t("span",{class:"heading"},"Path",-1),Rw={class:"title is-6"},Ew={class:"card-footer"},Iw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Uw=t("span",{class:"is-size-7"},"Add",-1),Lw=[Iw,Uw],Ow=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),Dw=t("span",{class:"is-size-7"},"Add Next",-1),zw=[Ow,Dw],Nw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Vw=t("span",{class:"is-size-7"},"Play",-1),Bw=[Nw,Vw];function Mw(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",pw,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",fw,[t("div",yw,[t("div",gw,[t("p",bw,m(a.track.name),1),t("p",kw,m(a.track.artists[0].name),1),t("div",ww,[t("p",null,[vw,t("a",{class:"title is-6 has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_album&&i.open_album(...n))},m(a.album.name),1)]),t("p",null,[$w,t("a",{class:"title is-6 has-text-link",onClick:e[2]||(e[2]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.album.artists[0].name),1)]),t("p",null,[xw,t("span",Cw,m(s.$filters.time(a.album.release_date,"L")),1)]),t("p",null,[qw,t("span",Sw,m(a.track.track_number)+" / "+m(a.track.disc_number),1)]),t("p",null,[Pw,t("span",Aw,m(s.$filters.duration(a.track.duration_ms)),1)]),t("p",null,[Tw,t("span",Rw,m(a.track.uri),1)])])]),t("footer",Ew,[t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add&&i.queue_add(...n))},Lw),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},zw),t("a",{class:"card-footer-item has-text-dark",onClick:e[5]||(e[5]=(...n)=>i.play&&i.play(...n))},Bw)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[6]||(e[6]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var ys=k(hw,[["render",Mw]]);const Ot={load:function(s){const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),e.getAlbum(s.params.album_id,{market:A.state.spotify.webapi_country})},set:function(s,e){s.album=e}},Fw={name:"PageAlbum",components:{ContentWithHero:cs,SpotifyListItemTrack:fs,SpotifyModalDialogTrack:ys,SpotifyModalDialogAlbum:at,CoverArtwork:K},beforeRouteEnter(s,e,a){Ot.load(s).then(r=>{a(o=>Ot.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Ot.load(s).then(o=>{Ot.set(r,o),a()})},data(){return{album:{artists:[{}],tracks:{}},show_track_details_modal:!1,selected_track:{},show_album_details_modal:!1}},computed:{artwork_url:function(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})},play:function(){this.show_details_modal=!1,f.player_play_uri(this.album.uri,!0)},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0}}},Gw={class:"title is-5"},jw={class:"subtitle is-6 has-text-link has-text-weight-normal"},Kw={class:"buttons fd-is-centered-mobile fd-has-margin-top"},Hw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Ww=t("span",null,"Shuffle",-1),Yw=[Hw,Ww],Qw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Jw=[Qw],Zw={class:"image is-square fd-has-shadow fd-has-action"},Xw={class:"heading is-7 has-text-centered-mobile fd-has-margin-top"},tv=["onClick"],sv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ev=[sv];function iv(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("spotify-list-item-track"),p=h("spotify-modal-dialog-track"),g=h("spotify-modal-dialog-album"),b=h("content-with-hero");return l(),w(b,null,{"heading-left":d(()=>[t("h1",Gw,m(o.album.name),1),t("h2",jw,[t("a",{class:"has-text-link",onClick:e[0]||(e[0]=(...x)=>i.open_artist&&i.open_artist(...x))},m(o.album.artists[0].name),1)]),t("div",Kw,[t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...x)=>i.play&&i.play(...x))},Yw),t("a",{class:"button is-small is-light is-rounded",onClick:e[2]||(e[2]=x=>o.show_album_details_modal=!0)},Jw)])]),"heading-right":d(()=>[t("p",Zw,[u(n,{artwork_url:i.artwork_url,artist:o.album.artist,album:o.album.name,onClick:e[3]||(e[3]=x=>o.show_album_details_modal=!0)},null,8,["artwork_url","artist","album"])])]),content:d(()=>[t("p",Xw,m(o.album.tracks.total)+" tracks ",1),(l(!0),_(T,null,I(o.album.tracks.items,(x,q)=>(l(),w(c,{key:x.id,track:x,position:q,album:o.album,context_uri:o.album.uri},{actions:d(()=>[t("a",{onClick:z=>i.open_track_dialog(x)},ev,8,tv)]),_:2},1032,["track","position","album","context_uri"]))),128)),u(p,{show:o.show_track_details_modal,track:o.selected_track,album:o.album,onClose:e[4]||(e[4]=x=>o.show_track_details_modal=!1)},null,8,["show","track","album"]),u(g,{show:o.show_album_details_modal,album:o.album,onClose:e[5]||(e[5]=x=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})}var ov=k(Fw,[["render",iv]]);const Jt=50,Dt={load:function(s){const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),Promise.all([e.getPlaylist(s.params.playlist_id),e.getPlaylistTracks(s.params.playlist_id,{limit:Jt,offset:0})])},set:function(s,e){s.playlist=e[0],s.tracks=[],s.total=0,s.offset=0,s.append_tracks(e[1])}},av={name:"SpotifyPagePlaylist",components:{ContentWithHeading:R,SpotifyListItemTrack:fs,SpotifyModalDialogTrack:ys,SpotifyModalDialogPlaylist:Kt,VueEternalLoading:ss.exports.VueEternalLoading},beforeRouteEnter(s,e,a){Dt.load(s).then(r=>{a(o=>Dt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Dt.load(s).then(o=>{Dt.set(r,o),a()})},data(){return{playlist:{tracks:{}},tracks:[],total:0,offset:0,show_track_details_modal:!1,selected_track:{},show_playlist_details_modal:!1}},methods:{load_next:function({loaded:s}){const e=new F;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getPlaylistTracks(this.playlist.id,{limit:Jt,offset:this.offset}).then(a=>{this.append_tracks(a),s(a.items.length,Jt)})},append_tracks:function(s){this.tracks=this.tracks.concat(s.items),this.total=s.total,this.offset+=s.limit},play:function(){this.show_details_modal=!1,f.player_play_uri(this.playlist.uri,!0)},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0}}},nv={class:"title is-4"},lv={class:"buttons is-centered"},rv=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),dv=[rv],_v=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),cv=t("span",null,"Shuffle",-1),uv=[_v,cv],mv={class:"heading has-text-centered-mobile"},hv=["onClick"],pv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),fv=[pv],yv=$(" . ");function gv(s,e,a,r,o,i){const n=h("spotify-list-item-track"),c=h("VueEternalLoading"),p=h("spotify-modal-dialog-track"),g=h("spotify-modal-dialog-playlist"),b=h("content-with-heading");return l(),w(b,null,{"heading-left":d(()=>[t("div",nv,m(o.playlist.name),1)]),"heading-right":d(()=>[t("div",lv,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=x=>o.show_playlist_details_modal=!0)},dv),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...x)=>i.play&&i.play(...x))},uv)])]),content:d(()=>[t("p",mv,m(o.playlist.tracks.total)+" tracks ",1),(l(!0),_(T,null,I(o.tracks,(x,q)=>(l(),w(n,{key:x.track.id,track:x.track,album:x.track.album,position:q,context_uri:o.playlist.uri},{actions:d(()=>[t("a",{onClick:z=>i.open_track_dialog(x.track)},fv,8,hv)]),_:2},1032,["track","album","position","context_uri"]))),128)),o.offset[yv]),_:1},8,["load"])):y("",!0),u(p,{show:o.show_track_details_modal,track:o.selected_track,album:o.selected_track.album,onClose:e[2]||(e[2]=x=>o.show_track_details_modal=!1)},null,8,["show","track","album"]),u(g,{show:o.show_playlist_details_modal,playlist:o.playlist,onClose:e[3]||(e[3]=x=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),_:1})}var bv=k(av,[["render",gv]]);const kv={name:"SpotifyListItemArtist",props:["artist"],methods:{open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.artist.id})}}},wv={class:"media"},vv={class:"title is-6"},$v={class:"media-right"};function xv(s,e,a,r,o,i){return l(),_("div",wv,[t("div",{class:"media-content fd-has-action is-clipped",onClick:e[0]||(e[0]=(...n)=>i.open_artist&&i.open_artist(...n))},[t("h1",vv,m(a.artist.name),1)]),t("div",$v,[O(s.$slots,"actions")])])}var Cv=k(kv,[["render",xv]]);const et=50,qv={name:"SpotifyPageSearch",components:{ContentWithHeading:R,ContentText:Ms,TabsSearch:Fs,SpotifyListItemTrack:fs,SpotifyListItemArtist:Cv,SpotifyListItemAlbum:jt,SpotifyListItemPlaylist:ps,SpotifyModalDialogTrack:ys,SpotifyModalDialogArtist:Gs,SpotifyModalDialogAlbum:at,SpotifyModalDialogPlaylist:Kt,VueEternalLoading:ss.exports.VueEternalLoading,CoverArtwork:K},data(){return{search_query:"",tracks:{items:[],total:0},artists:{items:[],total:0},albums:{items:[],total:0},playlists:{items:[],total:0},query:{},search_param:{},show_track_details_modal:!1,selected_track:{},show_album_details_modal:!1,selected_album:{},show_artist_details_modal:!1,selected_artist:{},show_playlist_details_modal:!1,selected_playlist:{},validSearchTypes:["track","artist","album","playlist"]}},computed:{recent_searches(){return this.$store.state.recent_searches.filter(s=>!s.startsWith("query:"))},show_tracks(){return this.$route.query.type&&this.$route.query.type.includes("track")},show_all_tracks_button(){return this.tracks.total>this.tracks.items.length},show_artists(){return this.$route.query.type&&this.$route.query.type.includes("artist")},show_all_artists_button(){return this.artists.total>this.artists.items.length},show_albums(){return this.$route.query.type&&this.$route.query.type.includes("album")},show_all_albums_button(){return this.albums.total>this.albums.items.length},show_playlists(){return this.$route.query.type&&this.$route.query.type.includes("playlist")},show_all_playlists_button(){return this.playlists.total>this.playlists.items.length},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},watch:{$route(s,e){this.query=s.query,this.search()}},mounted:function(){this.query=this.$route.query,this.search()},methods:{reset:function(){this.tracks={items:[],total:0},this.artists={items:[],total:0},this.albums={items:[],total:0},this.playlists={items:[],total:0}},search:function(){if(this.reset(),!this.query.query||this.query.query===""||this.query.query.startsWith("query:")){this.search_query="",this.$refs.search_field.focus();return}this.search_query=this.query.query,this.search_param.limit=this.query.limit?this.query.limit:et,this.search_param.offset=this.query.offset?this.query.offset:0,this.$store.commit(as,this.query.query),this.search_all()},spotify_search:function(){return f.spotify().then(({data:s})=>{this.search_param.market=s.webapi_country;const e=new F;e.setAccessToken(s.webapi_token);const a=this.query.type.split(",").filter(r=>this.validSearchTypes.includes(r));return e.search(this.query.query,a,this.search_param)})},search_all:function(){this.spotify_search().then(s=>{this.tracks=s.tracks?s.tracks:{items:[],total:0},this.artists=s.artists?s.artists:{items:[],total:0},this.albums=s.albums?s.albums:{items:[],total:0},this.playlists=s.playlists?s.playlists:{items:[],total:0}})},search_tracks_next:function({loaded:s}){this.spotify_search().then(e=>{this.tracks.items=this.tracks.items.concat(e.tracks.items),this.tracks.total=e.tracks.total,this.search_param.offset+=e.tracks.limit,s(e.tracks.items.length,et)})},search_artists_next:function({loaded:s}){this.spotify_search().then(e=>{this.artists.items=this.artists.items.concat(e.artists.items),this.artists.total=e.artists.total,this.search_param.offset+=e.artists.limit,s(e.artists.items.length,et)})},search_albums_next:function({loaded:s}){this.spotify_search().then(e=>{this.albums.items=this.albums.items.concat(e.albums.items),this.albums.total=e.albums.total,this.search_param.offset+=e.albums.limit,s(e.albums.items.length,et)})},search_playlists_next:function({loaded:s}){this.spotify_search().then(e=>{this.playlists.items=this.playlists.items.concat(e.playlists.items),this.playlists.total=e.playlists.total,this.search_param.offset+=e.playlists.limit,s(e.playlists.items.length,et)})},new_search:function(){!this.search_query||(this.$router.push({path:"/search/spotify",query:{type:"track,artist,album,playlist,audiobook,podcast",query:this.search_query,limit:3,offset:0}}),this.$refs.search_field.blur())},open_search_tracks:function(){this.$router.push({path:"/search/spotify",query:{type:"track",query:this.$route.query.query}})},open_search_artists:function(){this.$router.push({path:"/search/spotify",query:{type:"artist",query:this.$route.query.query}})},open_search_albums:function(){this.$router.push({path:"/search/spotify",query:{type:"album",query:this.$route.query.query}})},open_search_playlists:function(){this.$router.push({path:"/search/spotify",query:{type:"playlist",query:this.$route.query.query}})},open_recent_search:function(s){this.search_query=s,this.new_search()},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},open_artist_dialog:function(s){this.selected_artist=s,this.show_artist_details_modal=!0},open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0},open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},Sv={class:"section fd-remove-padding-bottom"},Pv={class:"container"},Av={class:"columns is-centered"},Tv={class:"column is-four-fifths"},Rv={class:"field"},Ev={class:"control is-expanded has-icons-left"},Iv=t("span",{class:"icon is-left"},[t("i",{class:"mdi mdi-magnify"})],-1),Uv={class:"tags",style:{"margin-top":"16px"}},Lv=["onClick"],Ov=t("p",{class:"title is-4"},"Tracks",-1),Dv=["onClick"],zv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),Nv=[zv],Vv=$(" . "),Bv={key:0,class:"level"},Mv={class:"level-item"},Fv=t("p",null,[t("i",null,"No tracks found")],-1),Gv=t("p",{class:"title is-4"},"Artists",-1),jv=["onClick"],Kv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),Hv=[Kv],Wv=$(" . "),Yv={key:0,class:"level"},Qv={class:"level-item"},Jv=t("p",null,[t("i",null,"No artists found")],-1),Zv=t("p",{class:"title is-4"},"Albums",-1),Xv={class:"image is-64x64 fd-has-shadow fd-has-action"},t$=["onClick"],s$=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),e$=[s$],i$=$(" . "),o$={key:0,class:"level"},a$={class:"level-item"},n$=t("p",null,[t("i",null,"No albums found")],-1),l$=t("p",{class:"title is-4"},"Playlists",-1),r$=["onClick"],d$=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),_$=[d$],c$=$(" . "),u$={key:0,class:"level"},m$={class:"level-item"},h$=t("p",null,[t("i",null,"No playlists found")],-1);function p$(s,e,a,r,o,i){const n=h("tabs-search"),c=h("spotify-list-item-track"),p=h("VueEternalLoading"),g=h("spotify-modal-dialog-track"),b=h("content-with-heading"),x=h("content-text"),q=h("spotify-list-item-artist"),z=h("spotify-modal-dialog-artist"),S=h("cover-artwork"),W=h("spotify-list-item-album"),nt=h("spotify-modal-dialog-album"),lt=h("spotify-list-item-playlist"),L=h("spotify-modal-dialog-playlist");return l(),_("div",null,[t("section",Sv,[t("div",Pv,[t("div",Av,[t("div",Tv,[t("form",{onSubmit:e[1]||(e[1]=D((...P)=>i.new_search&&i.new_search(...P),["prevent"]))},[t("div",Rv,[t("p",Ev,[U(t("input",{ref:"search_field","onUpdate:modelValue":e[0]||(e[0]=P=>o.search_query=P),class:"input is-rounded is-shadowless",type:"text",placeholder:"Search",autocomplete:"off"},null,512),[[M,o.search_query]]),Iv])])],32),t("div",Uv,[(l(!0),_(T,null,I(i.recent_searches,P=>(l(),_("a",{key:P,class:"tag",onClick:st=>i.open_recent_search(P)},m(P),9,Lv))),128))])])])])]),u(n,{query:o.search_query},null,8,["query"]),i.show_tracks&&o.tracks.total?(l(),w(b,{key:0},{"heading-left":d(()=>[Ov]),content:d(()=>[(l(!0),_(T,null,I(o.tracks.items,P=>(l(),w(c,{key:P.id,track:P,album:P.album,position:0,context_uri:P.uri},{actions:d(()=>[t("a",{onClick:st=>i.open_track_dialog(P)},Nv,8,Dv)]),_:2},1032,["track","album","context_uri"]))),128)),o.query.type==="track"?(l(),w(p,{key:0,load:i.search_tracks_next},{"no-more":d(()=>[Vv]),_:1},8,["load"])):y("",!0),u(g,{show:o.show_track_details_modal,track:o.selected_track,album:o.selected_track.album,onClose:e[2]||(e[2]=P=>o.show_track_details_modal=!1)},null,8,["show","track","album"])]),footer:d(()=>[i.show_all_tracks_button?(l(),_("nav",Bv,[t("p",Mv,[t("a",{class:"button is-light is-small is-rounded",onClick:e[3]||(e[3]=(...P)=>i.open_search_tracks&&i.open_search_tracks(...P))},"Show all "+m(o.tracks.total.toLocaleString())+" tracks",1)])])):y("",!0)]),_:1})):y("",!0),i.show_tracks&&!o.tracks.total?(l(),w(x,{key:1,class:"mt-6"},{content:d(()=>[Fv]),_:1})):y("",!0),i.show_artists&&o.artists.total?(l(),w(b,{key:2},{"heading-left":d(()=>[Gv]),content:d(()=>[(l(!0),_(T,null,I(o.artists.items,P=>(l(),w(q,{key:P.id,artist:P},{actions:d(()=>[t("a",{onClick:st=>i.open_artist_dialog(P)},Hv,8,jv)]),_:2},1032,["artist"]))),128)),o.query.type==="artist"?(l(),w(p,{key:0,load:i.search_artists_next},{"no-more":d(()=>[Wv]),_:1},8,["load"])):y("",!0),u(z,{show:o.show_artist_details_modal,artist:o.selected_artist,onClose:e[4]||(e[4]=P=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),footer:d(()=>[i.show_all_artists_button?(l(),_("nav",Yv,[t("p",Qv,[t("a",{class:"button is-light is-small is-rounded",onClick:e[5]||(e[5]=(...P)=>i.open_search_artists&&i.open_search_artists(...P))},"Show all "+m(o.artists.total.toLocaleString())+" artists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_artists&&!o.artists.total?(l(),w(x,{key:3},{content:d(()=>[Jv]),_:1})):y("",!0),i.show_albums&&o.albums.total?(l(),w(b,{key:4},{"heading-left":d(()=>[Zv]),content:d(()=>[(l(!0),_(T,null,I(o.albums.items,P=>(l(),w(W,{key:P.id,album:P,onClick:st=>i.open_album(P)},Vt({actions:d(()=>[t("a",{onClick:st=>i.open_album_dialog(P)},e$,8,t$)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",Xv,[u(S,{artwork_url:i.artwork_url(P),artist:P.artist,album:P.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),o.query.type==="album"?(l(),w(p,{key:0,load:i.search_albums_next},{"no-more":d(()=>[i$]),_:1},8,["load"])):y("",!0),u(nt,{show:o.show_album_details_modal,album:o.selected_album,onClose:e[6]||(e[6]=P=>o.show_album_details_modal=!1)},null,8,["show","album"])]),footer:d(()=>[i.show_all_albums_button?(l(),_("nav",o$,[t("p",a$,[t("a",{class:"button is-light is-small is-rounded",onClick:e[7]||(e[7]=(...P)=>i.open_search_albums&&i.open_search_albums(...P))},"Show all "+m(o.albums.total.toLocaleString())+" albums",1)])])):y("",!0)]),_:1})):y("",!0),i.show_albums&&!o.albums.total?(l(),w(x,{key:5},{content:d(()=>[n$]),_:1})):y("",!0),i.show_playlists&&o.playlists.total?(l(),w(b,{key:6},{"heading-left":d(()=>[l$]),content:d(()=>[(l(!0),_(T,null,I(o.playlists.items,P=>(l(),w(lt,{key:P.id,playlist:P},{actions:d(()=>[t("a",{onClick:st=>i.open_playlist_dialog(P)},_$,8,r$)]),_:2},1032,["playlist"]))),128)),o.query.type==="playlist"?(l(),w(p,{key:0,load:i.search_playlists_next},{"no-more":d(()=>[c$]),_:1},8,["load"])):y("",!0),u(L,{show:o.show_playlist_details_modal,playlist:o.selected_playlist,onClose:e[8]||(e[8]=P=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:d(()=>[i.show_all_playlists_button?(l(),_("nav",u$,[t("p",m$,[t("a",{class:"button is-light is-small is-rounded",onClick:e[9]||(e[9]=(...P)=>i.open_search_playlists&&i.open_search_playlists(...P))},"Show all "+m(o.playlists.total.toLocaleString())+" playlists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_playlists&&!o.playlists.total?(l(),w(x,{key:7},{content:d(()=>[h$]),_:1})):y("",!0)])}var f$=k(qv,[["render",p$]]);const y$={name:"TabsSettings",computed:{}},g$={class:"section fd-tabs-section"},b$={class:"container"},k$={class:"columns is-centered"},w$={class:"column is-four-fifths"},v$={class:"tabs is-centered is-small"},$$=["onClick","onKeypress"],x$=t("span",{class:""},"Webinterface",-1),C$=[x$],q$=["onClick","onKeypress"],S$=t("span",{class:""},"Remotes & Outputs",-1),P$=[S$],A$=["onClick","onKeypress"],T$=t("span",{class:""},"Artwork",-1),R$=[T$],E$=["onClick","onKeypress"],I$=t("span",{class:""},"Online Services",-1),U$=[I$];function L$(s,e,a,r,o,i){const n=h("router-link");return l(),_("section",g$,[t("div",b$,[t("div",k$,[t("div",w$,[t("div",v$,[t("ul",null,[u(n,{to:"/settings/webinterface",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},C$,40,$$)],2)]),_:1}),u(n,{to:"/settings/remotes-outputs",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},P$,40,q$)],2)]),_:1}),u(n,{to:"/settings/artwork",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},R$,40,A$)],2)]),_:1}),u(n,{to:"/settings/online-services",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},U$,40,E$)],2)]),_:1})])])])])])])}var Ht=k(y$,[["render",L$]]);const O$={name:"SettingsCheckbox",props:["category_name","option_name"],data(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category(){return this.$store.state.settings.categories.find(s=>s.name===this.category_name)},option(){return this.category?this.category.options.find(s=>s.name===this.option_name):{}},value(){return this.option.value},info(){return this.statusUpdate==="success"?"(setting saved)":this.statusUpdate==="error"?"(error saving setting)":""}},methods:{set_update_timer(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="",this.$refs.settings_checkbox.checked!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting(){this.timerId=-1;const s=this.$refs.settings_checkbox.checked;if(console.log(this.$refs.settings_checkbox),s===this.value){this.statusUpdate="";return}const e={category:this.category.name,name:this.option_name,value:s};f.settings_update(this.category.name,e).then(()=>{this.$store.commit(Bt,e),this.statusUpdate="success"}).catch(()=>{this.statusUpdate="error",this.$refs.settings_checkbox.checked=this.value}).finally(()=>{this.timerId=window.setTimeout(this.clear_status,this.timerDelay)})},clear_status:function(){this.statusUpdate=""}}},D$={class:"field"},z$={class:"checkbox"},N$=["checked"],V$={key:0,class:"help"};function B$(s,e,a,r,o,i){return l(),_("div",D$,[t("label",z$,[t("input",{ref:"settings_checkbox",type:"checkbox",checked:i.value,onChange:e[0]||(e[0]=(...n)=>i.set_update_timer&&i.set_update_timer(...n))},null,40,N$),O(s.$slots,"label"),t("i",{class:C(["is-size-7",{"has-text-info":o.statusUpdate==="success","has-text-danger":o.statusUpdate==="error"}])},m(i.info),3)]),s.$slots.info?(l(),_("p",V$,[O(s.$slots,"info")])):y("",!0)])}var js=k(O$,[["render",B$]]);const M$={name:"SettingsTextfield",props:["category_name","option_name","placeholder","disabled"],data(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category(){return this.$store.state.settings.categories.find(s=>s.name===this.category_name)},option(){return this.category?this.category.options.find(s=>s.name===this.option_name):{}},value(){return this.option.value},info(){return this.statusUpdate==="success"?"(setting saved)":this.statusUpdate==="error"?"(error saving setting)":""}},methods:{set_update_timer(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="",this.$refs.settings_text.value!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting(){this.timerId=-1;const s=this.$refs.settings_text.value;if(s===this.value){this.statusUpdate="";return}const e={category:this.category.name,name:this.option_name,value:s};f.settings_update(this.category.name,e).then(()=>{this.$store.commit(Bt,e),this.statusUpdate="success"}).catch(()=>{this.statusUpdate="error",this.$refs.settings_text.value=this.value}).finally(()=>{this.timerId=window.setTimeout(this.clear_status,this.timerDelay)})},clear_status:function(){this.statusUpdate=""}}},F$=["disabled"],G$={class:"field"},j$={class:"label has-text-weight-normal"},K$={class:"control"},H$=["placeholder","value"],W$={key:0,class:"help"};function Y$(s,e,a,r,o,i){return l(),_("fieldset",{disabled:a.disabled},[t("div",G$,[t("label",j$,[O(s.$slots,"label"),t("i",{class:C(["is-size-7",{"has-text-info":o.statusUpdate==="success","has-text-danger":o.statusUpdate==="error"}])},m(i.info),3)]),t("div",K$,[t("input",{ref:"settings_text",class:"input",type:"text",placeholder:a.placeholder,value:i.value,onInput:e[0]||(e[0]=(...n)=>i.set_update_timer&&i.set_update_timer(...n))},null,40,H$)]),s.$slots.info?(l(),_("p",W$,[O(s.$slots,"info")])):y("",!0)])],8,F$)}var Q$=k(M$,[["render",Y$]]);const J$={name:"SettingsIntfield",props:["category_name","option_name","placeholder","disabled"],data(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category(){return this.$store.state.settings.categories.find(s=>s.name===this.category_name)},option(){return this.category?this.category.options.find(s=>s.name===this.option_name):{}},value(){return this.option.value},info(){return this.statusUpdate==="success"?"(setting saved)":this.statusUpdate==="error"?"(error saving setting)":""}},methods:{set_update_timer(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="",this.$refs.settings_number.value!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting(){this.timerId=-1;const s=this.$refs.settings_number.value;if(s===this.value){this.statusUpdate="";return}const e={category:this.category.name,name:this.option_name,value:parseInt(s,10)};f.settings_update(this.category.name,e).then(()=>{this.$store.commit(Bt,e),this.statusUpdate="success"}).catch(()=>{this.statusUpdate="error",this.$refs.settings_number.value=this.value}).finally(()=>{this.timerId=window.setTimeout(this.clear_status,this.timerDelay)})},clear_status:function(){this.statusUpdate=""}}},Z$=["disabled"],X$={class:"field"},t0={class:"label has-text-weight-normal"},s0={class:"control"},e0=["placeholder","value"],i0={key:0,class:"help"};function o0(s,e,a,r,o,i){return l(),_("fieldset",{disabled:a.disabled},[t("div",X$,[t("label",t0,[O(s.$slots,"label"),t("i",{class:C(["is-size-7",{"has-text-info":o.statusUpdate==="success","has-text-danger":o.statusUpdate==="error"}])},m(i.info),3)]),t("div",s0,[t("input",{ref:"settings_number",class:"input",type:"number",min:"0",style:{width:"10em"},placeholder:a.placeholder,value:i.value,onInput:e[0]||(e[0]=(...n)=>i.set_update_timer&&i.set_update_timer(...n))},null,40,e0)]),s.$slots.info?(l(),_("p",i0,[O(s.$slots,"info")])):y("",!0)])],8,Z$)}var a0=k(J$,[["render",o0]]);const n0={name:"SettingsPageWebinterface",components:{ContentWithHeading:R,TabsSettings:Ht,SettingsCheckbox:js,SettingsTextfield:Q$,SettingsIntfield:a0},computed:{settings_option_show_composer_now_playing(){return this.$store.getters.settings_option_show_composer_now_playing}}},l0={class:"fd-page-with-tabs"},r0=t("div",{class:"title is-4"},"Navbar items",-1),d0=t("p",{class:"content"},"Select the top navigation bar menu items",-1),_0=t("div",{class:"notification is-size-7"}," If you select more items than can be shown on your screen then the burger menu will disappear. ",-1),c0=$(" Playlists "),u0=$(" Music "),m0=$(" Podcasts "),h0=$(" Audiobooks "),p0=$(" Radio "),f0=$(" Files "),y0=$(" Search "),g0=t("div",{class:"title is-4"},"Album lists",-1),b0=$(" Show cover artwork in album list "),k0=t("div",{class:"title is-4"},"Now playing page",-1),w0=$(" Show composer "),v0=$(' If enabled the composer of the current playing track is shown on the "now playing page" '),$0=$(" Show composer only for listed genres "),x0=t("p",{class:"help"},' Comma separated list of genres the composer should be displayed on the "now playing page". ',-1),C0=t("p",{class:"help"},"Leave empty to always show the composer.",-1),q0=t("p",{class:"help"},[$(" The genre tag of the current track is matched by checking, if one of the defined genres are included. For example setting to "),t("code",null,"classical, soundtrack"),$(' will show the composer for tracks with a genre tag of "Contemporary Classical".'),t("br")],-1),S0=t("div",{class:"title is-4"},"Recently added page",-1),P0=$(' Limit the number of albums shown on the "Recently Added" page ');function A0(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("settings-checkbox"),p=h("content-with-heading"),g=h("settings-textfield"),b=h("settings-intfield");return l(),_("div",l0,[u(n),u(p,null,{"heading-left":d(()=>[r0]),content:d(()=>[d0,_0,u(c,{category_name:"webinterface",option_name:"show_menu_item_playlists"},{label:d(()=>[c0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_music"},{label:d(()=>[u0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_podcasts"},{label:d(()=>[m0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_audiobooks"},{label:d(()=>[h0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_radio"},{label:d(()=>[p0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_files"},{label:d(()=>[f0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_search"},{label:d(()=>[y0]),_:1})]),_:1}),u(p,null,{"heading-left":d(()=>[g0]),content:d(()=>[u(c,{category_name:"webinterface",option_name:"show_cover_artwork_in_album_lists"},{label:d(()=>[b0]),_:1})]),_:1}),u(p,null,{"heading-left":d(()=>[k0]),content:d(()=>[u(c,{category_name:"webinterface",option_name:"show_composer_now_playing"},{label:d(()=>[w0]),info:d(()=>[v0]),_:1}),u(g,{category_name:"webinterface",option_name:"show_composer_for_genre",disabled:!i.settings_option_show_composer_now_playing,placeholder:"Genres"},{label:d(()=>[$0]),info:d(()=>[x0,C0,q0]),_:1},8,["disabled"])]),_:1}),u(p,null,{"heading-left":d(()=>[S0]),content:d(()=>[u(b,{category_name:"webinterface",option_name:"recently_added_limit"},{label:d(()=>[P0]),_:1})]),_:1})])}var T0=k(n0,[["render",A0]]);const R0={name:"SettingsPageArtwork",components:{ContentWithHeading:R,TabsSettings:Ht,SettingsCheckbox:js},computed:{spotify(){return this.$store.state.spotify}}},E0={class:"fd-page-with-tabs"},I0=t("div",{class:"title is-4"},"Artwork",-1),U0=t("div",{class:"content"},[t("p",null," OwnTone supports PNG and JPEG artwork which is either placed as separate image files in the library, embedded in the media files or made available online by radio stations. "),t("p",null," In addition to that, you can enable fetching artwork from the following artwork providers: ")],-1),L0=$(" Spotify "),O0=$(" Discogs ("),D0=t("a",{href:"https://www.discogs.com/"},"https://www.discogs.com/",-1),z0=$(") "),N0=$(" Cover Art Archive ("),V0=t("a",{href:"https://coverartarchive.org/"},"https://coverartarchive.org/",-1),B0=$(") ");function M0(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("settings-checkbox"),p=h("content-with-heading");return l(),_("div",E0,[u(n),u(p,null,{"heading-left":d(()=>[I0]),content:d(()=>[U0,i.spotify.libspotify_logged_in?(l(),w(c,{key:0,category_name:"artwork",option_name:"use_artwork_source_spotify"},{label:d(()=>[L0]),_:1})):y("",!0),u(c,{category_name:"artwork",option_name:"use_artwork_source_discogs"},{label:d(()=>[O0,D0,z0]),_:1}),u(c,{category_name:"artwork",option_name:"use_artwork_source_coverartarchive"},{label:d(()=>[N0,V0,B0]),_:1})]),_:1})])}var F0=k(R0,[["render",M0]]);const G0={name:"SettingsPageOnlineServices",components:{ContentWithHeading:R,TabsSettings:Ht},filters:{join(s){return s.join(", ")}},data(){return{libspotify:{user:"",password:"",errors:{user:"",password:"",error:""}},lastfm_login:{user:"",password:"",errors:{user:"",password:"",error:""}}}},computed:{lastfm(){return this.$store.state.lastfm},spotify(){return this.$store.state.spotify},spotify_required_scope(){return this.spotify.webapi_required_scope?this.spotify.webapi_required_scope.split(" "):[]},spotify_missing_scope(){return this.spotify.webapi_token_valid&&this.spotify.webapi_granted_scope&&this.spotify.webapi_required_scope?this.spotify.webapi_required_scope.split(" ").filter(s=>this.spotify.webapi_granted_scope.indexOf(s)<0):[]},use_libspotify(){return this.$store.state.config.use_libspotify}},methods:{login_libspotify(){f.spotify_login(this.libspotify).then(s=>{this.libspotify.user="",this.libspotify.password="",this.libspotify.errors.user="",this.libspotify.errors.password="",this.libspotify.errors.error="",s.data.success||(this.libspotify.errors.user=s.data.errors.user,this.libspotify.errors.password=s.data.errors.password,this.libspotify.errors.error=s.data.errors.error)})},logout_spotify(){f.spotify_logout()},login_lastfm(){f.lastfm_login(this.lastfm_login).then(s=>{this.lastfm_login.user="",this.lastfm_login.password="",this.lastfm_login.errors.user="",this.lastfm_login.errors.password="",this.lastfm_login.errors.error="",s.data.success||(this.lastfm_login.errors.user=s.data.errors.user,this.lastfm_login.errors.password=s.data.errors.password,this.lastfm_login.errors.error=s.data.errors.error)})},logoutLastfm(){f.lastfm_logout()}}},j0={class:"fd-page-with-tabs"},K0=t("div",{class:"title is-4"},"Spotify",-1),H0={key:0,class:"notification is-size-7"},W0=t("p",null," OwnTone was either built without support for Spotify or libspotify is not installed. ",-1),Y0=[W0],Q0={key:1},J0={class:"notification is-size-7"},Z0=t("b",null,"You must have a Spotify premium account",-1),X0=$(". "),tx={key:0},sx={key:0},ex=t("p",{class:"content"},[t("b",null,"libspotify"),$(" - Login with your Spotify username and password ")],-1),ix={key:0,class:"fd-has-margin-bottom"},ox=$(" Logged in as "),ax={class:"field is-grouped"},nx={class:"control is-expanded"},lx={class:"help is-danger"},rx={class:"control is-expanded"},dx={class:"help is-danger"},_x=t("div",{class:"control"},[t("button",{class:"button is-info"},"Login")],-1),cx={class:"help is-danger"},ux=t("p",{class:"help"}," libspotify enables OwnTone to play Spotify tracks. ",-1),mx=t("p",{class:"help"}," OwnTone will not store your password, but will still be able to log you in automatically afterwards, because libspotify saves a login token. ",-1),hx={class:"fd-has-margin-top"},px=t("p",{class:"content"},[t("b",null,"Spotify Web API"),$(" - Grant access to the Spotify Web API ")],-1),fx={key:0},yx=$(" Access granted for "),gx={key:1,class:"help is-danger"},bx=$(" Please reauthorize Web API access to grant OwnTone the following additional access rights: "),kx={class:"field fd-has-margin-top"},wx={class:"control"},vx=["href"],$x={class:"help"},xx=$(" Access to the Spotify Web API enables scanning of your Spotify library. Required scopes are "),Cx=$(". "),qx={key:2,class:"field fd-has-margin-top"},Sx={class:"control"},Px=t("div",{class:"title is-4"},"Last.fm",-1),Ax={key:0,class:"notification is-size-7"},Tx=t("p",null,"OwnTone was built without support for Last.fm.",-1),Rx=[Tx],Ex={key:1},Ix=t("p",{class:"content"},[t("b",null,"Last.fm"),$(" - Login with your Last.fm username and password to enable scrobbling ")],-1),Ux={key:0},Lx={key:1},Ox={class:"field is-grouped"},Dx={class:"control is-expanded"},zx={class:"help is-danger"},Nx={class:"control is-expanded"},Vx={class:"help is-danger"},Bx=t("div",{class:"control"},[t("button",{class:"button is-info",type:"submit"},"Login")],-1),Mx={class:"help is-danger"},Fx=t("p",{class:"help"}," OwnTone will not store your Last.fm username/password, only the session key. The session key does not expire. ",-1);function Gx(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("content-with-heading");return l(),_("div",j0,[u(n),u(c,null,{"heading-left":d(()=>[K0]),content:d(()=>[i.spotify.spotify_installed?y("",!0):(l(),_("div",H0,Y0)),i.spotify.spotify_installed?(l(),_("div",Q0,[t("div",J0,[Z0,X0,s.use_libspotity?(l(),_("span",tx,"If you normally log into Spotify with your Facebook account you must first go to Spotify's web site where you can get the Spotify username and password that matches your account.")):y("",!0)]),s.use_libspotity?(l(),_("div",sx,[ex,i.spotify.libspotify_logged_in?(l(),_("p",ix,[ox,t("b",null,[t("code",null,m(i.spotify.libspotify_user),1)])])):y("",!0),i.spotify.spotify_installed&&!i.spotify.libspotify_logged_in?(l(),_("form",{key:1,onSubmit:e[2]||(e[2]=D((...p)=>i.login_libspotify&&i.login_libspotify(...p),["prevent"]))},[t("div",ax,[t("div",nx,[U(t("input",{"onUpdate:modelValue":e[0]||(e[0]=p=>o.libspotify.user=p),class:"input",type:"text",placeholder:"Username"},null,512),[[M,o.libspotify.user]]),t("p",lx,m(o.libspotify.errors.user),1)]),t("div",rx,[U(t("input",{"onUpdate:modelValue":e[1]||(e[1]=p=>o.libspotify.password=p),class:"input",type:"password",placeholder:"Password"},null,512),[[M,o.libspotify.password]]),t("p",dx,m(o.libspotify.errors.password),1)]),_x])],32)):y("",!0),t("p",cx,m(o.libspotify.errors.error),1),ux,mx])):y("",!0),t("div",hx,[px,i.spotify.webapi_token_valid?(l(),_("p",fx,[yx,t("b",null,[t("code",null,m(i.spotify.webapi_user),1)])])):y("",!0),i.spotify_missing_scope.length>0?(l(),_("p",gx,[bx,t("b",null,[t("code",null,m(i.spotify_missing_scope.join()),1)])])):y("",!0),t("div",kx,[t("div",wx,[t("a",{class:C(["button",{"is-info":!i.spotify.webapi_token_valid||i.spotify_missing_scope.length>0}]),href:i.spotify.oauth_uri},"Authorize Web API access",10,vx)])]),t("p",$x,[xx,t("code",null,m(i.spotify_required_scope.join()),1),Cx]),i.spotify.webapi_token_valid?(l(),_("div",qx,[t("div",Sx,[t("a",{class:"button is-danger",onClick:e[3]||(e[3]=(...p)=>i.logout_spotify&&i.logout_spotify(...p))},"Logout")])])):y("",!0)])])):y("",!0)]),_:1}),u(c,null,{"heading-left":d(()=>[Px]),content:d(()=>[i.lastfm.enabled?y("",!0):(l(),_("div",Ax,Rx)),i.lastfm.enabled?(l(),_("div",Ex,[Ix,i.lastfm.scrobbling_enabled?(l(),_("div",Ux,[t("a",{class:"button",onClick:e[4]||(e[4]=(...p)=>i.logoutLastfm&&i.logoutLastfm(...p))},"Stop scrobbling")])):y("",!0),i.lastfm.scrobbling_enabled?y("",!0):(l(),_("div",Lx,[t("form",{onSubmit:e[7]||(e[7]=D((...p)=>i.login_lastfm&&i.login_lastfm(...p),["prevent"]))},[t("div",Ox,[t("div",Dx,[U(t("input",{"onUpdate:modelValue":e[5]||(e[5]=p=>o.lastfm_login.user=p),class:"input",type:"text",placeholder:"Username"},null,512),[[M,o.lastfm_login.user]]),t("p",zx,m(o.lastfm_login.errors.user),1)]),t("div",Nx,[U(t("input",{"onUpdate:modelValue":e[6]||(e[6]=p=>o.lastfm_login.password=p),class:"input",type:"password",placeholder:"Password"},null,512),[[M,o.lastfm_login.password]]),t("p",Vx,m(o.lastfm_login.errors.password),1)]),Bx]),t("p",Mx,m(o.lastfm_login.errors.error),1),Fx],32)]))])):y("",!0)]),_:1})])}var jx=k(G0,[["render",Gx]]);const Kx={name:"SettingsPageRemotesOutputs",components:{ContentWithHeading:R,TabsSettings:Ht},filters:{},data(){return{pairing_req:{pin:""},verification_req:{pin:""}}},computed:{pairing(){return this.$store.state.pairing},outputs(){return this.$store.state.outputs}},methods:{kickoff_pairing(){f.pairing_kickoff(this.pairing_req)},output_toggle(s){f.output_toggle(s)},kickoff_verification(s){f.output_update(s,this.verification_req)}}},Hx={class:"fd-page-with-tabs"},Wx=t("div",{class:"title is-4"},"Remote Pairing",-1),Yx={key:0,class:"notification"},Qx={class:"label has-text-weight-normal"},Jx=$(" Remote pairing request from "),Zx={class:"field is-grouped"},Xx={class:"control"},t2=t("div",{class:"control"},[t("button",{class:"button is-info",type:"submit"},"Send")],-1),s2={key:1,class:"content"},e2=t("p",null,"No active pairing request.",-1),i2=[e2],o2=t("div",{class:"title is-4"},"Speaker pairing and device verification",-1),a2=t("p",{class:"content"}," If your speaker requires pairing then activate it below and enter the PIN that it displays. ",-1),n2={class:"field"},l2={class:"control"},r2={class:"checkbox"},d2=["onUpdate:modelValue","onChange"],_2=["onSubmit"],c2={class:"field is-grouped"},u2={class:"control"},m2=t("div",{class:"control"},[t("button",{class:"button is-info",type:"submit"},"Verify")],-1);function h2(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("content-with-heading");return l(),_("div",Hx,[u(n),u(c,null,{"heading-left":d(()=>[Wx]),content:d(()=>[i.pairing.active?(l(),_("div",Yx,[t("form",{onSubmit:e[1]||(e[1]=D((...p)=>i.kickoff_pairing&&i.kickoff_pairing(...p),["prevent"]))},[t("label",Qx,[Jx,t("b",null,m(i.pairing.remote),1)]),t("div",Zx,[t("div",Xx,[U(t("input",{"onUpdate:modelValue":e[0]||(e[0]=p=>o.pairing_req.pin=p),class:"input",type:"text",placeholder:"Enter pairing code"},null,512),[[M,o.pairing_req.pin]])]),t2])],32)])):y("",!0),i.pairing.active?y("",!0):(l(),_("div",s2,i2))]),_:1}),u(c,null,{"heading-left":d(()=>[o2]),content:d(()=>[a2,(l(!0),_(T,null,I(i.outputs,p=>(l(),_("div",{key:p.id},[t("div",n2,[t("div",l2,[t("label",r2,[U(t("input",{"onUpdate:modelValue":g=>p.selected=g,type:"checkbox",onChange:g=>i.output_toggle(p.id)},null,40,d2),[[J,p.selected]]),$(" "+m(p.name),1)])])]),p.needs_auth_key?(l(),_("form",{key:0,class:"fd-has-margin-bottom",onSubmit:D(g=>i.kickoff_verification(p.id),["prevent"])},[t("div",c2,[t("div",u2,[U(t("input",{"onUpdate:modelValue":e[2]||(e[2]=g=>o.verification_req.pin=g),class:"input",type:"text",placeholder:"Enter verification code"},null,512),[[M,o.verification_req.pin]])]),m2])],40,_2)):y("",!0)]))),128))]),_:1})])}var p2=k(Kx,[["render",h2]]);const Ks=Zs({history:Xs(),routes:[{path:"/",name:"PageQueue",component:Yo},{path:"/about",name:"About",component:Ab},{path:"/now-playing",name:"Now playing",component:ga},{path:"/music",redirect:"/music/browse"},{path:"/music/browse",name:"Browse",component:Hr,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/browse/recently_added",name:"Browse Recently Added",component:Xr,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/browse/recently_played",name:"Browse Recently Played",component:ad,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/artists",name:"Artists",component:b_,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/artists/:artist_id",name:"Artist",component:I_,meta:{show_progress:!0,has_index:!0}},{path:"/music/artists/:artist_id/tracks",name:"Tracks",component:Bu,meta:{show_progress:!0,has_index:!0}},{path:"/music/albums",name:"Albums",component:Z_,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/albums/:album_id",name:"Album",component:qc,meta:{show_progress:!0}},{path:"/music/genres",name:"Genres",component:ru,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/genres/:genre",name:"Genre",component:bu,meta:{show_progress:!0,has_index:!0}},{path:"/music/genres/:genre/tracks",name:"GenreTracks",component:Tu,meta:{show_progress:!0,has_index:!0}},{path:"/music/composers",name:"Composers",component:$m,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/composers/:composer/albums",name:"ComposerAlbums",component:Um,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/composers/:composer/tracks",name:"ComposerTracks",component:jm,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/podcasts",name:"Podcasts",component:Rh,meta:{show_progress:!0}},{path:"/podcasts/:album_id",name:"Podcast",component:Kh,meta:{show_progress:!0}},{path:"/audiobooks",redirect:"/audiobooks/artists"},{path:"/audiobooks/artists",name:"AudiobooksArtists",component:bp,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/audiobooks/artists/:artist_id",name:"AudiobooksArtist",component:Tp,meta:{show_progress:!0}},{path:"/audiobooks/albums",name:"AudiobooksAlbums",component:mp,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/audiobooks/:album_id",name:"Audiobook",component:Fp,meta:{show_progress:!0}},{path:"/radio",name:"Radio",component:Iy,meta:{show_progress:!0}},{path:"/files",name:"Files",component:Py,meta:{show_progress:!0}},{path:"/playlists",redirect:"/playlists/0"},{path:"/playlists/:playlist_id",name:"Playlists",component:Pf,meta:{show_progress:!0}},{path:"/playlists/:playlist_id/tracks",name:"Playlist",component:Nf,meta:{show_progress:!0}},{path:"/search",redirect:"/search/library"},{path:"/search/library",name:"Search Library",component:Ng},{path:"/music/spotify",name:"Spotify",component:ok,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/new-releases",name:"Spotify Browse New Releases",component:mk,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/featured-playlists",name:"Spotify Browse Featured Playlists",component:wk,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/artists/:artist_id",name:"Spotify Artist",component:aw,meta:{show_progress:!0}},{path:"/music/spotify/albums/:album_id",name:"Spotify Album",component:ov,meta:{show_progress:!0}},{path:"/music/spotify/playlists/:playlist_id",name:"Spotify Playlist",component:bv,meta:{show_progress:!0}},{path:"/search/spotify",name:"Spotify Search",component:f$},{path:"/settings/webinterface",name:"Settings Webinterface",component:T0},{path:"/settings/artwork",name:"Settings Artwork",component:F0},{path:"/settings/online-services",name:"Settings Online Services",component:jx},{path:"/settings/remotes-outputs",name:"Settings Remotes Outputs",component:p2}],scrollBehavior(s,e,a){return a?new Promise((o,i)=>{setTimeout(()=>{o(a)},0)}):s.path===e.path&&s.hash?{el:s.hash,top:120}:s.hash?new Promise((o,i)=>{setTimeout(()=>{o({el:s.hash,top:120})},0)}):s.meta.has_index?new Promise((o,i)=>{setTimeout(()=>{s.meta.has_tabs?o({el:"#top",top:140}):o({el:"#top",top:110})},0)}):{left:0,top:0}}});Ks.beforeEach((s,e,a)=>{if(A.state.show_burger_menu){A.commit(Z,!1),a(!1);return}if(A.state.show_player_menu){A.commit(X,!1),a(!1);return}a(!0)});te(Y);const f2={duration:function(s,e){return e?Y.duration(s).format(e):Y.duration(s).format("hh:*mm:ss")},time:function(s,e){return e?Y(s).format(e):Y(s).format()},timeFromNow:function(s,e){return Y(s).fromNow(e)},number:function(s){return s.toLocaleString()},channels:function(s){return s===1?"mono":s===2?"stereo":s?s+" channels":""}},y2={name:"NavbarItemLink",props:{to:String,exact:Boolean},computed:{is_active(){return this.exact?this.$route.path===this.to:this.$route.path.startsWith(this.to)},show_player_menu:{get(){return this.$store.state.show_player_menu},set(s){this.$store.commit(X,s)}},show_burger_menu:{get(){return this.$store.state.show_burger_menu},set(s){this.$store.commit(Z,s)}}},methods:{open_link:function(){this.show_burger_menu&&this.$store.commit(Z,!1),this.show_player_menu&&this.$store.commit(X,!1),this.$router.push({path:this.to})},full_path:function(){return this.$router.resolve(this.to).href}}},g2=["href"];function b2(s,e,a,r,o,i){return l(),_("a",{class:C(["navbar-item",{"is-active":i.is_active}]),href:i.full_path(),onClick:e[0]||(e[0]=D(n=>i.open_link(),["stop","prevent"]))},[O(s.$slots,"default")],10,g2)}var Hs=k(y2,[["render",b2]]);const k2={name:"NavbarTop",components:{NavbarItemLink:Hs},data(){return{show_settings_menu:!1}},computed:{is_visible_playlists(){return this.$store.getters.settings_option("webinterface","show_menu_item_playlists").value},is_visible_music(){return this.$store.getters.settings_option("webinterface","show_menu_item_music").value},is_visible_podcasts(){return this.$store.getters.settings_option("webinterface","show_menu_item_podcasts").value},is_visible_audiobooks(){return this.$store.getters.settings_option("webinterface","show_menu_item_audiobooks").value},is_visible_radio(){return this.$store.getters.settings_option("webinterface","show_menu_item_radio").value},is_visible_files(){return this.$store.getters.settings_option("webinterface","show_menu_item_files").value},is_visible_search(){return this.$store.getters.settings_option("webinterface","show_menu_item_search").value},player(){return this.$store.state.player},config(){return this.$store.state.config},library(){return this.$store.state.library},audiobooks(){return this.$store.state.audiobooks_count},podcasts(){return this.$store.state.podcasts_count},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},show_burger_menu:{get(){return this.$store.state.show_burger_menu},set(s){this.$store.commit(Z,s)}},show_player_menu(){return this.$store.state.show_player_menu},show_update_dialog:{get(){return this.$store.state.show_update_dialog},set(s){this.$store.commit(ot,s)}},zindex(){return this.show_player_menu?"z-index: 20":""}},watch:{$route(s,e){this.show_settings_menu=!1}},methods:{on_click_outside_settings(){this.show_settings_menu=!this.show_settings_menu},open_update_dialog(){this.show_update_dialog=!0,this.show_settings_menu=!1,this.show_burger_menu=!1}}},w2={class:"navbar-brand"},v2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-library-music"})],-1),$2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-music"})],-1),x2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-microphone"})],-1),C2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-book-open-variant"})],-1),q2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-radio"})],-1),S2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-folder-open"})],-1),P2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-magnify"})],-1),A2=t("span",null,null,-1),T2=t("span",null,null,-1),R2=t("span",null,null,-1),E2=[A2,T2,R2],I2=t("div",{class:"navbar-start"},null,-1),U2={class:"navbar-end"},L2=t("a",{class:"navbar-link is-arrowless"},[t("span",{class:"icon is-hidden-touch"},[t("i",{class:"mdi mdi-24px mdi-menu"})]),t("span",{class:"is-hidden-desktop has-text-weight-bold"},"OwnTone")],-1),O2={class:"navbar-dropdown is-right"},D2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-library-music"})],-1),z2=t("b",null,"Playlists",-1),N2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-music"})],-1),V2=t("b",null,"Music",-1),B2=t("span",{class:"fd-navbar-item-level2"},"Artists",-1),M2=t("span",{class:"fd-navbar-item-level2"},"Albums",-1),F2=t("span",{class:"fd-navbar-item-level2"},"Genres",-1),G2=t("span",{class:"fd-navbar-item-level2"},"Spotify",-1),j2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-microphone"})],-1),K2=t("b",null,"Podcasts",-1),H2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-book-open-variant"})],-1),W2=t("b",null,"Audiobooks",-1),Y2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-radio"})],-1),Q2=t("b",null,"Radio",-1),J2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-folder-open"})],-1),Z2=t("b",null,"Files",-1),X2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-magnify"})],-1),tC=t("b",null,"Search",-1),sC=t("hr",{class:"fd-navbar-divider"},null,-1),eC=$(" Settings "),iC=$(" About "),oC=t("div",{class:"navbar-item is-hidden-desktop",style:{"margin-bottom":"2.5rem"}},null,-1);function aC(s,e,a,r,o,i){const n=h("navbar-item-link");return l(),_("nav",{class:"fd-top-navbar navbar is-light is-fixed-top",style:ts(i.zindex),role:"navigation","aria-label":"main navigation"},[t("div",w2,[i.is_visible_playlists?(l(),w(n,{key:0,to:"/playlists"},{default:d(()=>[v2]),_:1})):y("",!0),i.is_visible_music?(l(),w(n,{key:1,to:"/music"},{default:d(()=>[$2]),_:1})):y("",!0),i.is_visible_podcasts?(l(),w(n,{key:2,to:"/podcasts"},{default:d(()=>[x2]),_:1})):y("",!0),i.is_visible_audiobooks?(l(),w(n,{key:3,to:"/audiobooks"},{default:d(()=>[C2]),_:1})):y("",!0),i.is_visible_radio?(l(),w(n,{key:4,to:"/radio"},{default:d(()=>[q2]),_:1})):y("",!0),i.is_visible_files?(l(),w(n,{key:5,to:"/files"},{default:d(()=>[S2]),_:1})):y("",!0),i.is_visible_search?(l(),w(n,{key:6,to:"/search"},{default:d(()=>[P2]),_:1})):y("",!0),t("div",{class:C(["navbar-burger",{"is-active":i.show_burger_menu}]),onClick:e[0]||(e[0]=c=>i.show_burger_menu=!i.show_burger_menu)},E2,2)]),t("div",{class:C(["navbar-menu",{"is-active":i.show_burger_menu}])},[I2,t("div",U2,[t("div",{class:C(["navbar-item has-dropdown is-hoverable",{"is-active":o.show_settings_menu}]),onClick:e[2]||(e[2]=(...c)=>i.on_click_outside_settings&&i.on_click_outside_settings(...c))},[L2,t("div",O2,[u(n,{to:"/playlists"},{default:d(()=>[D2,z2]),_:1}),u(n,{to:"/music",exact:""},{default:d(()=>[N2,V2]),_:1}),u(n,{to:"/music/artists"},{default:d(()=>[B2]),_:1}),u(n,{to:"/music/albums"},{default:d(()=>[M2]),_:1}),u(n,{to:"/music/genres"},{default:d(()=>[F2]),_:1}),i.spotify_enabled?(l(),w(n,{key:0,to:"/music/spotify"},{default:d(()=>[G2]),_:1})):y("",!0),u(n,{to:"/podcasts"},{default:d(()=>[j2,K2]),_:1}),u(n,{to:"/audiobooks"},{default:d(()=>[H2,W2]),_:1}),u(n,{to:"/radio"},{default:d(()=>[Y2,Q2]),_:1}),u(n,{to:"/files"},{default:d(()=>[J2,Z2]),_:1}),u(n,{to:"/search"},{default:d(()=>[X2,tC]),_:1}),sC,u(n,{to:"/settings/webinterface"},{default:d(()=>[eC]),_:1}),t("a",{class:"navbar-item",onClick:e[1]||(e[1]=D(c=>i.open_update_dialog(),["stop","prevent"]))}," Update Library "),u(n,{to:"/about"},{default:d(()=>[iC]),_:1}),oC])],2)])],2),U(t("div",{class:"is-overlay",style:{"z-index":"10",width:"100vw",height:"100vh"},onClick:e[3]||(e[3]=c=>o.show_settings_menu=!1)},null,512),[[zt,o.show_settings_menu]])],4)}var nC=k(k2,[["render",aC]]),it={_audio:new Audio,_context:null,_source:null,_gain:null,setupAudio(){const s=window.AudioContext||window.webkitAudioContext;return this._context=new s,this._source=this._context.createMediaElementSource(this._audio),this._gain=this._context.createGain(),this._source.connect(this._gain),this._gain.connect(this._context.destination),this._audio.addEventListener("canplaythrough",e=>{this._audio.play()}),this._audio.addEventListener("canplay",e=>{this._audio.play()}),this._audio},setVolume(s){!this._gain||(s=parseFloat(s)||0,s=s<0?0:s,s=s>1?1:s,this._gain.gain.value=s)},playSource(s){this.stopAudio(),this._context.resume().then(()=>{this._audio.src=String(s||"")+"?x="+Date.now(),this._audio.crossOrigin="anonymous",this._audio.load()})},stopAudio(){try{this._audio.pause()}catch{}try{this._audio.stop()}catch{}try{this._audio.close()}catch{}}};const lC={name:"NavbarItemOutput",components:{Slider:Xt},props:["output"],computed:{type_class(){return this.output.type.startsWith("AirPlay")?"mdi-airplay":this.output.type==="Chromecast"?"mdi-cast":this.output.type==="fifo"?"mdi-pipe":"mdi-server"},volume(){return this.output.selected?this.output.volume:0}},methods:{play_next:function(){f.player_next()},set_volume:function(s){f.player_output_volume(this.output.id,s)},set_enabled:function(){const s={selected:!this.output.selected};f.output_update(this.output.id,s)}}},rC={class:"navbar-item"},dC={class:"level is-mobile"},_C={class:"level-left fd-expanded"},cC={class:"level-item",style:{"flex-grow":"0"}},uC={class:"button is-white is-small"},mC=["title"],hC={class:"level-item fd-expanded"},pC={class:"fd-expanded"};function fC(s,e,a,r,o,i){const n=h("Slider");return l(),_("div",rC,[t("div",dC,[t("div",_C,[t("div",cC,[t("a",uC,[t("span",{class:C(["icon fd-has-action",{"has-text-grey-light":!a.output.selected}]),onClick:e[0]||(e[0]=(...c)=>i.set_enabled&&i.set_enabled(...c))},[t("i",{class:C(["mdi mdi-18px",i.type_class]),title:a.output.type},null,10,mC)],2)])]),t("div",hC,[t("div",pC,[t("p",{class:C(["heading",{"has-text-grey-light":!a.output.selected}])},m(a.output.name),3),u(n,{modelValue:i.volume,"onUpdate:modelValue":e[1]||(e[1]=c=>i.volume=c),min:0,max:100,step:1,tooltips:!1,disabled:!a.output.selected,classes:{target:"slider"},onChange:i.set_volume},null,8,["modelValue","disabled","onChange"])])])])])])}var yC=k(lC,[["render",fC]]);const gC={name:"PlayerButtonPlayPause",props:{icon_style:String,show_disabled_message:Boolean},computed:{is_playing(){return this.$store.state.player.state==="play"},is_pause_allowed(){return this.$store.getters.now_playing&&this.$store.getters.now_playing.data_kind!=="pipe"},disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{toggle_play_pause:function(){if(this.disabled){this.show_disabled_message&&this.$store.dispatch("add_notification",{text:"Queue is empty",type:"info",topic:"connection",timeout:2e3});return}this.is_playing&&this.is_pause_allowed?f.player_pause():this.is_playing&&!this.is_pause_allowed?f.player_stop():f.player_play()}}},bC=["disabled"],kC={class:"icon"};function wC(s,e,a,r,o,i){return l(),_("a",{disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.toggle_play_pause&&i.toggle_play_pause(...n))},[t("span",kC,[t("i",{class:C(["mdi",[a.icon_style,{"mdi-play":!i.is_playing,"mdi-pause":i.is_playing&&i.is_pause_allowed,"mdi-stop":i.is_playing&&!i.is_pause_allowed}]])},null,2)])],8,bC)}var vC=k(gC,[["render",wC]]);const $C={name:"PlayerButtonNext",props:{icon_style:String},computed:{disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{play_next:function(){this.disabled||f.player_next()}}},xC=["disabled"],CC={class:"icon"};function qC(s,e,a,r,o,i){return l(),_("a",{disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.play_next&&i.play_next(...n))},[t("span",CC,[t("i",{class:C(["mdi mdi-skip-forward",a.icon_style])},null,2)])],8,xC)}var SC=k($C,[["render",qC]]);const PC={name:"PlayerButtonPrevious",props:{icon_style:String},computed:{disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{play_previous:function(){this.disabled||f.player_previous()}}},AC=["disabled"],TC={class:"icon"};function RC(s,e,a,r,o,i){return l(),_("a",{disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.play_previous&&i.play_previous(...n))},[t("span",TC,[t("i",{class:C(["mdi mdi-skip-backward",a.icon_style])},null,2)])],8,AC)}var EC=k(PC,[["render",RC]]);const IC={name:"PlayerButtonShuffle",props:{icon_style:String},computed:{is_shuffle(){return this.$store.state.player.shuffle}},methods:{toggle_shuffle_mode:function(){f.player_shuffle(!this.is_shuffle)}}},UC={class:"icon"};function LC(s,e,a,r,o,i){return l(),_("a",{class:C({"is-warning":i.is_shuffle}),onClick:e[0]||(e[0]=(...n)=>i.toggle_shuffle_mode&&i.toggle_shuffle_mode(...n))},[t("span",UC,[t("i",{class:C(["mdi",[a.icon_style,{"mdi-shuffle":i.is_shuffle,"mdi-shuffle-disabled":!i.is_shuffle}]])},null,2)])],2)}var OC=k(IC,[["render",LC]]);const DC={name:"PlayerButtonConsume",props:{icon_style:String},computed:{is_consume(){return this.$store.state.player.consume}},methods:{toggle_consume_mode:function(){f.player_consume(!this.is_consume)}}},zC={class:"icon"};function NC(s,e,a,r,o,i){return l(),_("a",{class:C({"is-warning":i.is_consume}),onClick:e[0]||(e[0]=(...n)=>i.toggle_consume_mode&&i.toggle_consume_mode(...n))},[t("span",zC,[t("i",{class:C(["mdi mdi-fire",a.icon_style])},null,2)])],2)}var VC=k(DC,[["render",NC]]);const BC={name:"PlayerButtonRepeat",props:{icon_style:String},computed:{is_repeat_all(){return this.$store.state.player.repeat==="all"},is_repeat_single(){return this.$store.state.player.repeat==="single"},is_repeat_off(){return!this.is_repeat_all&&!this.is_repeat_single}},methods:{toggle_repeat_mode:function(){this.is_repeat_all?f.player_repeat("single"):this.is_repeat_single?f.player_repeat("off"):f.player_repeat("all")}}},MC={class:"icon"};function FC(s,e,a,r,o,i){return l(),_("a",{class:C({"is-warning":!i.is_repeat_off}),onClick:e[0]||(e[0]=(...n)=>i.toggle_repeat_mode&&i.toggle_repeat_mode(...n))},[t("span",MC,[t("i",{class:C(["mdi",[a.icon_style,{"mdi-repeat":i.is_repeat_all,"mdi-repeat-once":i.is_repeat_single,"mdi-repeat-off":i.is_repeat_off}]])},null,2)])],2)}var GC=k(BC,[["render",FC]]);const jC={name:"PlayerButtonSeekBack",props:["seek_ms","icon_style"],computed:{now_playing(){return this.$store.getters.now_playing},is_stopped(){return this.$store.state.player.state==="stop"},disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0||this.is_stopped||this.now_playing.data_kind==="pipe"},visible(){return["podcast","audiobook"].includes(this.now_playing.media_kind)}},methods:{seek:function(){this.disabled||f.player_seek(this.seek_ms*-1)}}},KC=["disabled"],HC={class:"icon"};function WC(s,e,a,r,o,i){return i.visible?(l(),_("a",{key:0,disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.seek&&i.seek(...n))},[t("span",HC,[t("i",{class:C(["mdi mdi-rewind",a.icon_style])},null,2)])],8,KC)):y("",!0)}var YC=k(jC,[["render",WC]]);const QC={name:"PlayerButtonSeekForward",props:["seek_ms","icon_style"],computed:{now_playing(){return this.$store.getters.now_playing},is_stopped(){return this.$store.state.player.state==="stop"},disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0||this.is_stopped||this.now_playing.data_kind==="pipe"},visible(){return["podcast","audiobook"].includes(this.now_playing.media_kind)}},methods:{seek:function(){this.disabled||f.player_seek(this.seek_ms)}}},JC=["disabled"],ZC={class:"icon"};function XC(s,e,a,r,o,i){return i.visible?(l(),_("a",{key:0,disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.seek&&i.seek(...n))},[t("span",ZC,[t("i",{class:C(["mdi mdi-fast-forward",a.icon_style])},null,2)])],8,JC)):y("",!0)}var t4=k(QC,[["render",XC]]);const s4={name:"NavbarBottom",components:{NavbarItemLink:Hs,NavbarItemOutput:yC,Slider:Xt,PlayerButtonPlayPause:vC,PlayerButtonNext:SC,PlayerButtonPrevious:EC,PlayerButtonShuffle:OC,PlayerButtonConsume:VC,PlayerButtonRepeat:GC,PlayerButtonSeekForward:t4,PlayerButtonSeekBack:YC},data(){return{old_volume:0,playing:!1,loading:!1,stream_volume:10,show_outputs_menu:!1,show_desktop_outputs_menu:!1}},computed:{show_player_menu:{get(){return this.$store.state.show_player_menu},set(s){this.$store.commit(X,s)}},show_burger_menu(){return this.$store.state.show_burger_menu},zindex(){return this.show_burger_menu?"z-index: 20":""},state(){return this.$store.state.player},now_playing(){return this.$store.getters.now_playing},is_now_playing_page(){return this.$route.path==="/now-playing"},outputs(){return this.$store.state.outputs},player(){return this.$store.state.player},config(){return this.$store.state.config}},watch:{"$store.state.player.volume"(){this.player.volume>0&&(this.old_volume=this.player.volume)}},mounted(){this.setupAudio()},unmounted(){this.closeAudio()},methods:{on_click_outside_outputs(){this.show_outputs_menu=!1},set_volume:function(s){f.player_volume(s)},toggle_mute_volume:function(){this.player.volume>0?this.set_volume(0):this.set_volume(this.old_volume)},setupAudio:function(){const s=it.setupAudio();s.addEventListener("waiting",e=>{this.playing=!1,this.loading=!0}),s.addEventListener("playing",e=>{this.playing=!0,this.loading=!1}),s.addEventListener("ended",e=>{this.playing=!1,this.loading=!1}),s.addEventListener("error",e=>{this.closeAudio(),this.$store.dispatch("add_notification",{text:"HTTP stream error: failed to load stream or stopped loading due to network problem",type:"danger"}),this.playing=!1,this.loading=!1})},closeAudio:function(){it.stopAudio(),this.playing=!1},playChannel:function(){if(this.playing)return;const s="/stream.mp3";this.loading=!0,it.playSource(s),it.setVolume(this.stream_volume/100)},togglePlay:function(){if(!this.loading)return this.playing?this.closeAudio():this.playChannel()},set_stream_volume:function(s){this.stream_volume=s,it.setVolume(this.stream_volume/100)}}},e4={class:"navbar-brand fd-expanded"},i4=t("span",{class:"icon"},[t("i",{class:"mdi mdi-24px mdi-playlist-play"})],-1),o4={class:"is-clipped"},a4={class:"is-size-7 fd-is-text-clipped"},n4=t("br",null,null,-1),l4={key:0},r4={class:"icon"},d4={class:"icon"},_4={class:"navbar-dropdown is-right is-boxed",style:{"margin-right":"6px","margin-bottom":"6px","border-radius":"6px"}},c4={class:"navbar-item"},u4={class:"level is-mobile"},m4={class:"level-left fd-expanded"},h4={class:"level-item",style:{"flex-grow":"0"}},p4={class:"icon"},f4={class:"level-item fd-expanded"},y4={class:"fd-expanded"},g4=t("p",{class:"heading"},"Volume",-1),b4=t("hr",{class:"fd-navbar-divider"},null,-1),k4=t("hr",{class:"fd-navbar-divider"},null,-1),w4={class:"navbar-item"},v4={class:"level is-mobile"},$4={class:"level-left fd-expanded"},x4={class:"level-item",style:{"flex-grow":"0"}},C4=t("i",{class:"mdi mdi-18px mdi-radio-tower"},null,-1),q4=[C4],S4={class:"level-item fd-expanded"},P4={class:"fd-expanded"},A4=$(" HTTP stream "),T4=t("a",{href:"stream.mp3"},[t("span",{class:"is-lowercase"},"(stream.mp3)")],-1),R4=[A4,T4],E4=t("hr",{class:"fd-navbar-divider"},null,-1),I4={class:"navbar-item"},U4={class:"level is-mobile fd-expanded"},L4={class:"level-item"},O4={class:"buttons has-addons"},D4=t("div",{class:"navbar-start"},null,-1),z4={class:"navbar-end"},N4={class:"navbar-item"},V4={class:"buttons is-centered"},B4=t("hr",{class:"fd-navbar-divider"},null,-1),M4={class:"navbar-item"},F4={class:"level is-mobile"},G4={class:"level-left fd-expanded"},j4={class:"level-item",style:{"flex-grow":"0"}},K4={class:"icon"},H4={class:"level-item fd-expanded"},W4={class:"fd-expanded"},Y4=t("p",{class:"heading"},"Volume",-1),Q4=t("hr",{class:"fd-navbar-divider"},null,-1),J4={class:"navbar-item fd-has-margin-bottom"},Z4={class:"level is-mobile"},X4={class:"level-left fd-expanded"},t3={class:"level-item",style:{"flex-grow":"0"}},s3=t("i",{class:"mdi mdi-18px mdi-radio-tower"},null,-1),e3=[s3],i3={class:"level-item fd-expanded"},o3={class:"fd-expanded"},a3=$(" HTTP stream "),n3=t("a",{href:"stream.mp3"},[t("span",{class:"is-lowercase"},"(stream.mp3)")],-1),l3=[a3,n3];function r3(s,e,a,r,o,i){const n=h("navbar-item-link"),c=h("router-link"),p=h("player-button-previous"),g=h("player-button-seek-back"),b=h("player-button-play-pause"),x=h("player-button-seek-forward"),q=h("player-button-next"),z=h("Slider"),S=h("navbar-item-output"),W=h("player-button-repeat"),nt=h("player-button-shuffle"),lt=h("player-button-consume");return l(),_("nav",{class:C(["fd-bottom-navbar navbar is-white is-fixed-bottom",{"is-transparent":i.is_now_playing_page,"is-dark":!i.is_now_playing_page}]),style:ts(i.zindex),role:"navigation","aria-label":"player controls"},[t("div",e4,[u(n,{to:"/",exact:""},{default:d(()=>[i4]),_:1}),i.is_now_playing_page?y("",!0):(l(),w(c,{key:0,to:"/now-playing",class:"navbar-item is-expanded is-clipped","active-class":"is-active",exact:""},{default:d(()=>[t("div",o4,[t("p",a4,[t("strong",null,m(i.now_playing.title),1),n4,$(" "+m(i.now_playing.artist),1),i.now_playing.data_kind==="url"?(l(),_("span",l4," - "+m(i.now_playing.album),1)):y("",!0)])])]),_:1})),i.is_now_playing_page?(l(),w(p,{key:1,class:"navbar-item fd-margin-left-auto",icon_style:"mdi-24px"})):y("",!0),i.is_now_playing_page?(l(),w(g,{key:2,seek_ms:"10000",class:"navbar-item",icon_style:"mdi-24px"})):y("",!0),u(b,{class:"navbar-item",icon_style:"mdi-36px",show_disabled_message:""}),i.is_now_playing_page?(l(),w(x,{key:3,seek_ms:"30000",class:"navbar-item",icon_style:"mdi-24px"})):y("",!0),i.is_now_playing_page?(l(),w(q,{key:4,class:"navbar-item",icon_style:"mdi-24px"})):y("",!0),t("a",{class:"navbar-item fd-margin-left-auto is-hidden-desktop",onClick:e[0]||(e[0]=L=>i.show_player_menu=!i.show_player_menu)},[t("span",r4,[t("i",{class:C(["mdi mdi-18px",{"mdi-chevron-up":!i.show_player_menu,"mdi-chevron-down":i.show_player_menu}])},null,2)])]),t("div",{class:C(["navbar-item has-dropdown has-dropdown-up fd-margin-left-auto is-hidden-touch",{"is-active":i.show_player_menu}])},[t("a",{class:"navbar-link is-arrowless",onClick:e[1]||(e[1]=L=>i.show_player_menu=!i.show_player_menu)},[t("span",d4,[t("i",{class:C(["mdi mdi-18px",{"mdi-chevron-up":!i.show_player_menu,"mdi-chevron-down":i.show_player_menu}])},null,2)])]),t("div",_4,[t("div",c4,[t("div",u4,[t("div",m4,[t("div",h4,[t("a",{class:"button is-white is-small",onClick:e[2]||(e[2]=(...L)=>i.toggle_mute_volume&&i.toggle_mute_volume(...L))},[t("span",p4,[t("i",{class:C(["mdi mdi-18px",{"mdi-volume-off":i.player.volume<=0,"mdi-volume-high":i.player.volume>0}])},null,2)])])]),t("div",f4,[t("div",y4,[g4,u(z,{modelValue:i.player.volume,"onUpdate:modelValue":e[3]||(e[3]=L=>i.player.volume=L),min:0,max:100,step:1,tooltips:!1,classes:{target:"slider"},onChange:i.set_volume},null,8,["modelValue","onChange"])])])])])]),b4,(l(!0),_(T,null,I(i.outputs,L=>(l(),w(S,{key:L.id,output:L},null,8,["output"]))),128)),k4,t("div",w4,[t("div",v4,[t("div",$4,[t("div",x4,[t("a",{class:C(["button is-white is-small",{"is-loading":o.loading}])},[t("span",{class:C(["icon fd-has-action",{"has-text-grey-light":!o.playing&&!o.loading,"is-loading":o.loading}]),onClick:e[4]||(e[4]=(...L)=>i.togglePlay&&i.togglePlay(...L))},q4,2)],2)]),t("div",S4,[t("div",P4,[t("p",{class:C(["heading",{"has-text-grey-light":!o.playing}])},R4,2),u(z,{modelValue:o.stream_volume,"onUpdate:modelValue":e[5]||(e[5]=L=>o.stream_volume=L),min:0,max:100,step:1,tooltips:!1,disabled:!o.playing,classes:{target:"slider"},onChange:i.set_stream_volume},null,8,["modelValue","disabled","onChange"])])])])])]),E4,t("div",I4,[t("div",U4,[t("div",L4,[t("div",O4,[u(W,{class:"button"}),u(nt,{class:"button"}),u(lt,{class:"button"})])])])])])],2)]),t("div",{class:C(["navbar-menu is-hidden-desktop",{"is-active":i.show_player_menu}])},[D4,t("div",z4,[t("div",N4,[t("div",V4,[u(W,{class:"button",icon_style:"mdi-18px"}),u(nt,{class:"button",icon_style:"mdi-18px"}),u(lt,{class:"button",icon_style:"mdi-18px"})])]),B4,t("div",M4,[t("div",F4,[t("div",G4,[t("div",j4,[t("a",{class:"button is-white is-small",onClick:e[6]||(e[6]=(...L)=>i.toggle_mute_volume&&i.toggle_mute_volume(...L))},[t("span",K4,[t("i",{class:C(["mdi mdi-18px",{"mdi-volume-off":i.player.volume<=0,"mdi-volume-high":i.player.volume>0}])},null,2)])])]),t("div",H4,[t("div",W4,[Y4,u(z,{modelValue:i.player.volume,"onUpdate:modelValue":e[7]||(e[7]=L=>i.player.volume=L),min:0,max:100,step:1,tooltips:!1,classes:{target:"slider"},onChange:i.set_volume},null,8,["modelValue","onChange"])])])])])]),(l(!0),_(T,null,I(i.outputs,L=>(l(),w(S,{key:L.id,output:L},null,8,["output"]))),128)),Q4,t("div",J4,[t("div",Z4,[t("div",X4,[t("div",t3,[t("a",{class:C(["button is-white is-small",{"is-loading":o.loading}])},[t("span",{class:C(["icon fd-has-action",{"has-text-grey-light":!o.playing&&!o.loading,"is-loading":o.loading}]),onClick:e[8]||(e[8]=(...L)=>i.togglePlay&&i.togglePlay(...L))},e3,2)],2)]),t("div",i3,[t("div",o3,[t("p",{class:C(["heading",{"has-text-grey-light":!o.playing}])},l3,2),u(z,{modelValue:o.stream_volume,"onUpdate:modelValue":e[9]||(e[9]=L=>o.stream_volume=L),min:0,max:100,step:1,tooltips:!1,disabled:!o.playing,classes:{target:"slider"},onChange:i.set_stream_volume},null,8,["modelValue","disabled","onChange"])])])])])])])],2)],6)}var d3=k(s4,[["render",r3]]);const _3={name:"NotificationList",components:{},data(){return{showNav:!1}},computed:{notifications(){return this.$store.state.notifications.list}},methods:{remove:function(s){this.$store.commit(Wt,s)}}},c3={key:0,class:"fd-notifications"},u3={class:"columns is-centered"},m3={class:"column is-half"},h3=["onClick"];function p3(s,e,a,r,o,i){return i.notifications.length>0?(l(),_("section",c3,[t("div",u3,[t("div",m3,[(l(!0),_(T,null,I(i.notifications,n=>(l(),_("div",{key:n.id,class:C(["notification has-shadow",["notification",n.type?`is-${n.type}`:""]])},[t("button",{class:"delete",onClick:c=>i.remove(n)},null,8,h3),$(" "+m(n.text),1)],2))),128))])])])):y("",!0)}var f3=k(_3,[["render",p3]]);const y3={name:"ModalDialogRemotePairing",props:["show"],emits:["close"],data(){return{pairing_req:{pin:""}}},computed:{pairing(){return this.$store.state.pairing}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.pin_field.focus()},10))}},methods:{kickoff_pairing(){f.pairing_kickoff(this.pairing_req).then(()=>{this.pairing_req.pin=""})}}},g3={key:0,class:"modal is-active"},b3={class:"modal-content fd-modal-card"},k3={class:"card"},w3={class:"card-content"},v3=t("p",{class:"title is-4"},"Remote pairing request",-1),$3={class:"label"},x3={class:"field"},C3={class:"control"},q3={class:"card-footer"},S3=t("span",{class:"icon"},[t("i",{class:"mdi mdi-cancel"})],-1),P3=t("span",{class:"is-size-7"},"Cancel",-1),A3=[S3,P3],T3=t("span",{class:"icon"},[t("i",{class:"mdi mdi-cellphone-iphone"})],-1),R3=t("span",{class:"is-size-7"},"Pair Remote",-1),E3=[T3,R3];function I3(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",g3,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",b3,[t("div",k3,[t("div",w3,[v3,t("form",{onSubmit:e[2]||(e[2]=D((...n)=>i.kickoff_pairing&&i.kickoff_pairing(...n),["prevent"]))},[t("label",$3,m(i.pairing.remote),1),t("div",x3,[t("div",C3,[U(t("input",{ref:"pin_field","onUpdate:modelValue":e[1]||(e[1]=n=>o.pairing_req.pin=n),class:"input",type:"text",placeholder:"Enter pairing code"},null,512),[[M,o.pairing_req.pin]])])])],32)]),t("footer",q3,[t("a",{class:"card-footer-item has-text-danger",onClick:e[3]||(e[3]=n=>s.$emit("close"))},A3),t("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:e[4]||(e[4]=(...n)=>i.kickoff_pairing&&i.kickoff_pairing(...n))},E3)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var U3=k(y3,[["render",I3]]);const L3={name:"ModalDialogUpdate",components:{ModalDialog:rs},props:["show"],emits:["close"],data(){return{rescan_metadata:!1}},computed:{library(){return this.$store.state.library},rss(){return this.$store.state.rss_count},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},update_dialog_scan_kind:{get(){return this.$store.state.update_dialog_scan_kind},set(s){this.$store.commit(ls,s)}}},methods:{update_library(){this.rescan_metadata?f.library_rescan(this.update_dialog_scan_kind):f.library_update(this.update_dialog_scan_kind)},close(){this.update_dialog_scan_kind="",this.$emit("close")}}},O3={key:0},D3=t("p",{class:"mb-3"},"Scan for new, deleted and modified files",-1),z3={key:0,class:"field"},N3={class:"control"},V3={class:"select is-small"},B3=t("option",{value:""},"Update everything",-1),M3=t("option",{value:"files"},"Only update local library",-1),F3={key:0,value:"spotify"},G3={key:1,value:"rss"},j3={class:"field"},K3={class:"checkbox is-size-7 is-small"},H3=$(" Rescan metadata for unmodified files "),W3={key:1},Y3=t("p",{class:"mb-3"},"Library update in progress ...",-1),Q3=[Y3];function J3(s,e,a,r,o,i){const n=h("modal-dialog");return l(),w(n,{show:a.show,title:"Update library",ok_action:i.library.updating?"":"Rescan",close_action:"Close",onOk:i.update_library,onClose:e[2]||(e[2]=c=>i.close())},{"modal-content":d(()=>[i.library.updating?(l(),_("div",W3,Q3)):(l(),_("div",O3,[D3,i.spotify_enabled||i.rss.tracks>0?(l(),_("div",z3,[t("div",N3,[t("div",V3,[U(t("select",{"onUpdate:modelValue":e[0]||(e[0]=c=>i.update_dialog_scan_kind=c)},[B3,M3,i.spotify_enabled?(l(),_("option",F3," Only update Spotify ")):y("",!0),i.rss.tracks>0?(l(),_("option",G3," Only update RSS feeds ")):y("",!0)],512),[[se,i.update_dialog_scan_kind]])])])])):y("",!0),t("div",j3,[t("label",K3,[U(t("input",{"onUpdate:modelValue":e[1]||(e[1]=c=>o.rescan_metadata=c),type:"checkbox"},null,512),[[J,o.rescan_metadata]]),H3])])]))]),_:1},8,["show","ok_action","onOk"])}var Z3=k(L3,[["render",J3]]);const X3={name:"App",components:{NavbarTop:nC,NavbarBottom:d3,NotificationList:f3,ModalDialogRemotePairing:U3,ModalDialogUpdate:Z3},data(){return{token_timer_id:0,reconnect_attempts:0,pairing_active:!1}},computed:{show_burger_menu:{get(){return this.$store.state.show_burger_menu},set(s){this.$store.commit(Z,s)}},show_player_menu:{get(){return this.$store.state.show_player_menu},set(s){this.$store.commit(X,s)}},show_update_dialog:{get(){return this.$store.state.show_update_dialog},set(s){this.$store.commit(ot,s)}}},watch:{show_burger_menu(){this.update_is_clipped()},show_player_menu(){this.update_is_clipped()}},created:function(){Y.locale(navigator.language),this.connect(),this.$Progress.start(),this.$router.beforeEach((s,e,a)=>{if(s.meta.show_progress){if(s.meta.progress!==void 0){const r=s.meta.progress;this.$Progress.parseMeta(r)}this.$Progress.start()}a()}),this.$router.afterEach((s,e)=>{s.meta.show_progress&&this.$Progress.finish()})},methods:{connect:function(){f.config().then(({data:s})=>{this.$store.commit(ks,s),this.$store.commit(Mt,s.hide_singles),document.title=s.library_name,this.open_ws(),this.$Progress.finish()}).catch(()=>{this.$store.dispatch("add_notification",{text:"Failed to connect to OwnTone server",type:"danger",topic:"connection"})})},open_ws:function(){if(this.$store.state.config.websocket_port<=0){this.$store.dispatch("add_notification",{text:"Missing websocket port",type:"danger"});return}const s=this;let e="ws://";window.location.protocol==="https:"&&(e="wss://");let a=e+window.location.hostname+":"+s.$store.state.config.websocket_port;const r=new ee(a,"notify",{reconnectInterval:1e3,maxReconnectInterval:2e3});r.onopen=function(){s.reconnect_attempts=0,r.send(JSON.stringify({notify:["update","database","player","options","outputs","volume","queue","spotify","lastfm","pairing"]})),s.update_outputs(),s.update_player_status(),s.update_library_stats(),s.update_settings(),s.update_queue(),s.update_spotify(),s.update_lastfm(),s.update_pairing()},r.onclose=function(){};var o=!1;function i(){o||(s.update_outputs(),s.update_player_status(),s.update_library_stats(),s.update_settings(),s.update_queue(),s.update_spotify(),s.update_lastfm(),s.update_pairing(),o=!0,setTimeout(function(){o=!1},500))}window.addEventListener("focus",i),document.addEventListener("visibilitychange",function(){document.visibilityState==="visible"&&i()}),r.onmessage=function(n){const c=JSON.parse(n.data);(c.notify.includes("update")||c.notify.includes("database"))&&s.update_library_stats(),(c.notify.includes("player")||c.notify.includes("options")||c.notify.includes("volume"))&&s.update_player_status(),(c.notify.includes("outputs")||c.notify.includes("volume"))&&s.update_outputs(),c.notify.includes("queue")&&s.update_queue(),c.notify.includes("spotify")&&s.update_spotify(),c.notify.includes("lastfm")&&s.update_lastfm(),c.notify.includes("pairing")&&s.update_pairing()}},update_library_stats:function(){f.library_stats().then(({data:s})=>{this.$store.commit(vs,s)}),f.library_count("media_kind is audiobook").then(({data:s})=>{this.$store.commit($s,s)}),f.library_count("media_kind is podcast").then(({data:s})=>{this.$store.commit(xs,s)}),f.library_count("scan_kind is rss").then(({data:s})=>{this.$store.commit(Cs,s)})},update_outputs:function(){f.outputs().then(({data:s})=>{this.$store.commit(qs,s.outputs)})},update_player_status:function(){f.player_status().then(({data:s})=>{this.$store.commit(es,s)})},update_queue:function(){f.queue().then(({data:s})=>{this.$store.commit(Ss,s)})},update_settings:function(){f.settings().then(({data:s})=>{this.$store.commit(ws,s)})},update_lastfm:function(){f.lastfm().then(({data:s})=>{this.$store.commit(Ps,s)})},update_spotify:function(){f.spotify().then(({data:s})=>{this.$store.commit(As,s),this.token_timer_id>0&&(window.clearTimeout(this.token_timer_id),this.token_timer_id=0),s.webapi_token_expires_in>0&&s.webapi_token&&(this.token_timer_id=window.setTimeout(this.update_spotify,1e3*s.webapi_token_expires_in))})},update_pairing:function(){f.pairing().then(({data:s})=>{this.$store.commit(Ts,s),this.pairing_active=s.active})},update_is_clipped:function(){this.show_burger_menu||this.show_player_menu?document.querySelector("html").classList.add("is-clipped"):document.querySelector("html").classList.remove("is-clipped")}},template:""},t8={id:"app"};function s8(s,e,a,r,o,i){const n=h("navbar-top"),c=h("vue-progress-bar"),p=h("router-view"),g=h("modal-dialog-remote-pairing"),b=h("modal-dialog-update"),x=h("notification-list"),q=h("navbar-bottom");return l(),_("div",t8,[u(n),u(c,{class:"fd-progress-bar"}),u(p,null,{default:d(({Component:z})=>[(l(),w(ie(z),{class:"fd-page"}))]),_:1}),u(g,{show:o.pairing_active,onClose:e[0]||(e[0]=z=>o.pairing_active=!1)},null,8,["show"]),u(b,{show:i.show_update_dialog,onClose:e[1]||(e[1]=z=>i.show_update_dialog=!1)},null,8,["show"]),U(u(x,null,null,512),[[zt,!i.show_burger_menu]]),u(q),U(t("div",{class:"fd-overlay-fullscreen",onClick:e[2]||(e[2]=z=>i.show_burger_menu=i.show_player_menu=!1)},null,512),[[zt,i.show_burger_menu||i.show_player_menu]])])}var e8=k(X3,[["render",s8]]);const Ws=oe(e8).use(A).use(Ks).use(ae,{color:"hsl(204, 86%, 53%)",failedColor:"red",height:"1px"}).use(ne).use(le,{log:!1}).use(re);Ws.config.globalProperties.$filters=f2;Ws.mount("#app");
diff --git a/htdocs/player/fonts/materialdesignicons-webfont.eot b/htdocs/assets/materialdesignicons-webfont.eot
similarity index 100%
rename from htdocs/player/fonts/materialdesignicons-webfont.eot
rename to htdocs/assets/materialdesignicons-webfont.eot
diff --git a/htdocs/player/img/materialdesignicons-webfont.svg b/htdocs/assets/materialdesignicons-webfont.svg
similarity index 100%
rename from htdocs/player/img/materialdesignicons-webfont.svg
rename to htdocs/assets/materialdesignicons-webfont.svg
diff --git a/htdocs/player/fonts/materialdesignicons-webfont.ttf b/htdocs/assets/materialdesignicons-webfont.ttf
similarity index 100%
rename from htdocs/player/fonts/materialdesignicons-webfont.ttf
rename to htdocs/assets/materialdesignicons-webfont.ttf
diff --git a/htdocs/player/fonts/materialdesignicons-webfont.woff b/htdocs/assets/materialdesignicons-webfont.woff
similarity index 100%
rename from htdocs/player/fonts/materialdesignicons-webfont.woff
rename to htdocs/assets/materialdesignicons-webfont.woff
diff --git a/htdocs/player/fonts/materialdesignicons-webfont.woff2 b/htdocs/assets/materialdesignicons-webfont.woff2
similarity index 100%
rename from htdocs/player/fonts/materialdesignicons-webfont.woff2
rename to htdocs/assets/materialdesignicons-webfont.woff2
diff --git a/htdocs/assets/vendor.js b/htdocs/assets/vendor.js
new file mode 100644
index 00000000..7df86a85
--- /dev/null
+++ b/htdocs/assets/vendor.js
@@ -0,0 +1,56 @@
+var Zg=Object.defineProperty;var Pf=Object.getOwnPropertySymbols;var Qg=Object.prototype.hasOwnProperty,qg=Object.prototype.propertyIsEnumerable;var Mf=(e,t,n)=>t in e?Zg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pi=(e,t)=>{for(var n in t||(t={}))Qg.call(t,n)&&Mf(e,n,t[n]);if(Pf)for(var n of Pf(t))qg.call(t,n)&&Mf(e,n,t[n]);return e};function Rs(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const ey="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",ty=Rs(ey),ny="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ry=Rs(ny);function Ah(e){return!!e||e===""}function si(e){if(je(e)){const t={};for(let n=0;n{if(n){const r=n.split(ay);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function li(e){let t="";if(yt(e))t=e;else if(je(e))for(let n=0;njr(n,t))}const uy=e=>yt(e)?e:e==null?"":je(e)||Ot(e)&&(e.toString===Fh||!Ve(e.toString))?JSON.stringify(e,Th,2):String(e),Th=(e,t)=>t&&t.__v_isRef?Th(e,t.value):Yo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o])=>(n[`${r} =>`]=o,n),{})}:co(t)?{[`Set(${t.size})`]:[...t.values()]}:Ot(t)&&!je(t)&&!Ph(t)?String(t):t,at={},Ho=[],Ln=()=>{},cy=()=>!1,fy=/^on[^a-z]/,ui=e=>fy.test(e),Xu=e=>e.startsWith("onUpdate:"),xt=Object.assign,Ju=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},dy=Object.prototype.hasOwnProperty,nt=(e,t)=>dy.call(e,t),je=Array.isArray,Yo=e=>Ns(e)==="[object Map]",co=e=>Ns(e)==="[object Set]",Rf=e=>e instanceof Date,Ve=e=>typeof e=="function",yt=e=>typeof e=="string",Zu=e=>typeof e=="symbol",Ot=e=>e!==null&&typeof e=="object",Qu=e=>Ot(e)&&Ve(e.then)&&Ve(e.catch),Fh=Object.prototype.toString,Ns=e=>Fh.call(e),hy=e=>Ns(e).slice(8,-1),Ph=e=>Ns(e)==="[object Object]",qu=e=>yt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Fa=Rs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ls=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},py=/-(\w)/g,gn=Ls(e=>e.replace(py,(t,n)=>n?n.toUpperCase():"")),my=/\B([A-Z])/g,Wn=Ls(e=>e.replace(my,"-$1").toLowerCase()),ci=Ls(e=>e.charAt(0).toUpperCase()+e.slice(1)),Pa=Ls(e=>e?`on${ci(e)}`:""),Ja=(e,t)=>!Object.is(e,t),Wo=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},kr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let If;const vy=()=>If||(If=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let xn;class ec{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&xn&&(this.parent=xn,this.index=(xn.scopes||(xn.scopes=[])).push(this)-1)}run(t){if(this.active)try{return xn=this,t()}finally{xn=this.parent}}on(){xn=this}off(){xn=this.parent}stop(t){if(this.active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Rh=e=>(e.w&Br)>0,Ih=e=>(e.n&Br)>0,Sy=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(u==="length"||u>=r)&&s.push(l)});else switch(n!==void 0&&s.push(a.get(n)),t){case"add":je(e)?qu(n)&&s.push(a.get("length")):(s.push(a.get(oo)),Yo(e)&&s.push(a.get(iu)));break;case"delete":je(e)||(s.push(a.get(oo)),Yo(e)&&s.push(a.get(iu)));break;case"set":Yo(e)&&s.push(a.get(oo));break}if(s.length===1)s[0]&&su(s[0]);else{const l=[];for(const u of s)u&&l.push(...u);su(tc(l))}}function su(e,t){for(const n of je(e)?e:[...e])(n!==Yn||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const Oy=Rs("__proto__,__v_isRef,__isVue"),jh=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(Zu)),Cy=js(),Dy=js(!1,!0),Ay=js(!0),Ty=js(!0,!0),Lf=Fy();function Fy(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=qe(this);for(let i=0,a=this.length;i{e[t]=function(...n){fo();const r=qe(this)[t].apply(this,n);return ho(),r}}),e}function js(e=!1,t=!1){return function(r,o,i){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&i===(e?t?Hh:Vh:t?_h:$h).get(r))return r;const a=je(r);if(!e&&a&&nt(Lf,o))return Reflect.get(Lf,o,i);const s=Reflect.get(r,o,i);return(Zu(o)?jh.has(o):Oy(o))||(e||yn(r,"get",o),t)?s:Mt(s)?!a||!qu(o)?s.value:s:Ot(s)?e?rc(s):po(s):s}}const Py=kh(),My=kh(!0);function kh(e=!1){return function(n,r,o,i){let a=n[r];if(Zo(a)&&Mt(a)&&!Mt(o))return!1;if(!e&&!Zo(o)&&(oc(o)||(o=qe(o),a=qe(a)),!je(n)&&Mt(a)&&!Mt(o)))return a.value=o,!0;const s=je(n)&&qu(r)?Number(r)e,ks=e=>Reflect.getPrototypeOf(e);function Mi(e,t,n=!1,r=!1){e=e.__v_raw;const o=qe(e),i=qe(t);t!==i&&!n&&yn(o,"get",t),!n&&yn(o,"get",i);const{has:a}=ks(o),s=r?nc:n?sc:Za;if(a.call(o,t))return s(e.get(t));if(a.call(o,i))return s(e.get(i));e!==o&&e.get(t)}function Ri(e,t=!1){const n=this.__v_raw,r=qe(n),o=qe(e);return e!==o&&!t&&yn(r,"has",e),!t&&yn(r,"has",o),e===o?n.has(e):n.has(e)||n.has(o)}function Ii(e,t=!1){return e=e.__v_raw,!t&&yn(qe(e),"iterate",oo),Reflect.get(e,"size",e)}function jf(e){e=qe(e);const t=qe(this);return ks(t).has.call(t,e)||(t.add(e),dr(t,"add",e,e)),this}function kf(e,t){t=qe(t);const n=qe(this),{has:r,get:o}=ks(n);let i=r.call(n,e);i||(e=qe(e),i=r.call(n,e));const a=o.call(n,e);return n.set(e,t),i?Ja(t,a)&&dr(n,"set",e,t):dr(n,"add",e,t),this}function Bf(e){const t=qe(this),{has:n,get:r}=ks(t);let o=n.call(t,e);o||(e=qe(e),o=n.call(t,e)),r&&r.call(t,e);const i=t.delete(e);return o&&dr(t,"delete",e,void 0),i}function Uf(){const e=qe(this),t=e.size!==0,n=e.clear();return t&&dr(e,"clear",void 0,void 0),n}function Ni(e,t){return function(r,o){const i=this,a=i.__v_raw,s=qe(a),l=t?nc:e?sc:Za;return!e&&yn(s,"iterate",oo),a.forEach((u,c)=>r.call(o,l(u),l(c),i))}}function Li(e,t,n){return function(...r){const o=this.__v_raw,i=qe(o),a=Yo(i),s=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,u=o[e](...r),c=n?nc:t?sc:Za;return!t&&yn(i,"iterate",l?iu:oo),{next(){const{value:d,done:f}=u.next();return f?{value:d,done:f}:{value:s?[c(d[0]),c(d[1])]:c(d),done:f}},[Symbol.iterator](){return this}}}}function Sr(e){return function(...t){return e==="delete"?!1:this}}function ky(){const e={get(i){return Mi(this,i)},get size(){return Ii(this)},has:Ri,add:jf,set:kf,delete:Bf,clear:Uf,forEach:Ni(!1,!1)},t={get(i){return Mi(this,i,!1,!0)},get size(){return Ii(this)},has:Ri,add:jf,set:kf,delete:Bf,clear:Uf,forEach:Ni(!1,!0)},n={get(i){return Mi(this,i,!0)},get size(){return Ii(this,!0)},has(i){return Ri.call(this,i,!0)},add:Sr("add"),set:Sr("set"),delete:Sr("delete"),clear:Sr("clear"),forEach:Ni(!0,!1)},r={get(i){return Mi(this,i,!0,!0)},get size(){return Ii(this,!0)},has(i){return Ri.call(this,i,!0)},add:Sr("add"),set:Sr("set"),delete:Sr("delete"),clear:Sr("clear"),forEach:Ni(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Li(i,!1,!1),n[i]=Li(i,!0,!1),t[i]=Li(i,!1,!0),r[i]=Li(i,!0,!0)}),[e,n,t,r]}const[By,Uy,$y,_y]=ky();function Bs(e,t){const n=t?e?_y:$y:e?Uy:By;return(r,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(nt(n,o)&&o in r?n:r,o,i)}const Vy={get:Bs(!1,!1)},Hy={get:Bs(!1,!0)},Yy={get:Bs(!0,!1)},Wy={get:Bs(!0,!0)},$h=new WeakMap,_h=new WeakMap,Vh=new WeakMap,Hh=new WeakMap;function Gy(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zy(e){return e.__v_skip||!Object.isExtensible(e)?0:Gy(hy(e))}function po(e){return Zo(e)?e:Us(e,!1,Bh,Vy,$h)}function Yh(e){return Us(e,!1,Ly,Hy,_h)}function rc(e){return Us(e,!0,Uh,Yy,Vh)}function Ky(e){return Us(e,!0,jy,Wy,Hh)}function Us(e,t,n,r,o){if(!Ot(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=o.get(e);if(i)return i;const a=zy(e);if(a===0)return e;const s=new Proxy(e,a===2?r:n);return o.set(e,s),s}function ao(e){return Zo(e)?ao(e.__v_raw):!!(e&&e.__v_isReactive)}function Zo(e){return!!(e&&e.__v_isReadonly)}function oc(e){return!!(e&&e.__v_isShallow)}function ac(e){return ao(e)||Zo(e)}function qe(e){const t=e&&e.__v_raw;return t?qe(t):e}function ic(e){return ls(e,"__v_skip",!0),e}const Za=e=>Ot(e)?po(e):e,sc=e=>Ot(e)?rc(e):e;function lc(e){Ir&&Yn&&(e=qe(e),Lh(e.dep||(e.dep=tc())))}function $s(e,t){e=qe(e),e.dep&&su(e.dep)}function Mt(e){return!!(e&&e.__v_isRef===!0)}function sr(e){return Gh(e,!1)}function Wh(e){return Gh(e,!0)}function Gh(e,t){return Mt(e)?e:new Xy(e,t)}class Xy{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:qe(t),this._value=n?t:Za(t)}get value(){return lc(this),this._value}set value(t){t=this.__v_isShallow?t:qe(t),Ja(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Za(t),$s(this))}}function Jy(e){$s(e)}function Go(e){return Mt(e)?e.value:e}const Zy={get:(e,t,n)=>Go(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Mt(o)&&!Mt(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function uc(e){return ao(e)?e:new Proxy(e,Zy)}class Qy{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>lc(this),()=>$s(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function qy(e){return new Qy(e)}function Ma(e){const t=je(e)?new Array(e.length):{};for(const n in e)t[n]=zh(e,n);return t}class e0{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}}function zh(e,t,n){const r=e[t];return Mt(r)?r:new e0(e,t,n)}class t0{constructor(t,n,r,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new fi(t,()=>{this._dirty||(this._dirty=!0,$s(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=qe(this);return lc(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function n0(e,t,n=!1){let r,o;const i=Ve(e);return i?(r=e,o=Ln):(r=e.get,o=e.set),new t0(r,o,i||!o,n)}Promise.resolve();const Ra=[];function Kh(e,...t){fo();const n=Ra.length?Ra[Ra.length-1].component:null,r=n&&n.appContext.config.warnHandler,o=r0();if(r)Gn(r,n,11,[e+t.join(""),n&&n.proxy,o.map(({vnode:i})=>`at <${Bp(n,i.type)}>`).join(`
+`),o]);else{const i=[`[Vue warn]: ${e}`,...t];o.length&&i.push(`
+`,...o0(o)),console.warn(...i)}ho()}function r0(){let e=Ra[Ra.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const r=e.component&&e.component.parent;e=r&&r.vnode}return t}function o0(e){const t=[];return e.forEach((n,r)=>{t.push(...r===0?[]:[`
+`],...a0(n))}),t}function a0({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",r=e.component?e.component.parent==null:!1,o=` at <${Bp(e.component,e.type,r)}`,i=">"+n;return e.props?[o,...i0(e.props),i]:[o+i]}function i0(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(r=>{t.push(...Xh(r,e[r]))}),n.length>3&&t.push(" ..."),t}function Xh(e,t,n){return yt(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Mt(t)?(t=Xh(e,qe(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Ve(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=qe(t),n?t:[`${e}=`,t])}function Gn(e,t,n,r){let o;try{o=r?e(...r):e()}catch(i){mo(i,t,n)}return o}function vn(e,t,n,r){if(Ve(e)){const i=Gn(e,t,n,r);return i&&Qu(i)&&i.catch(a=>{mo(a,t,n)}),i}const o=[];for(let i=0;i>>1;Qa(pn[r])ar&&pn.splice(t,1)}function Qh(e,t,n,r){je(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?r+1:r))&&n.push(e),Zh()}function c0(e){Qh(e,xa,Ia,No)}function dc(e){Qh(e,Cr,Na,Lo)}function hc(e,t=null){if(Ia.length){for(uu=t,xa=[...new Set(Ia)],Ia.length=0,No=0;NoQa(n)-Qa(r)),Lo=0;Loe.id==null?1/0:e.id;function qh(e){lu=!1,us=!0,hc(e),pn.sort((n,r)=>Qa(n)-Qa(r));const t=Ln;try{for(ar=0;arjo.emit(o,...i)),ji=[]):typeof window!="undefined"&&window.HTMLElement&&!((r=(n=window.navigator)===null||n===void 0?void 0:n.userAgent)===null||r===void 0?void 0:r.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ep(i,t)}),setTimeout(()=>{jo||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,ji=[])},3e3)):ji=[]}function f0(e,t,...n){const r=e.vnode.props||at;let o=n;const i=t.startsWith("update:"),a=i&&t.slice(7);if(a&&a in r){const c=`${a==="modelValue"?"model":a}Modifiers`,{number:d,trim:f}=r[c]||at;f?o=n.map(h=>h.trim()):d&&(o=n.map(kr))}let s,l=r[s=Pa(t)]||r[s=Pa(gn(t))];!l&&i&&(l=r[s=Pa(Wn(t))]),l&&vn(l,e,6,o);const u=r[s+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,vn(u,e,6,o)}}function tp(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const i=e.emits;let a={},s=!1;if(!Ve(e)){const l=u=>{const c=tp(u,t,!0);c&&(s=!0,xt(a,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!s?(r.set(e,null),null):(je(i)?i.forEach(l=>a[l]=null):xt(a,i),r.set(e,a),a)}function pc(e,t){return!e||!ui(t)?!1:(t=t.slice(2).replace(/Once$/,""),nt(e,t[0].toLowerCase()+t.slice(1))||nt(e,Wn(t))||nt(e,t))}let mn=null,Vs=null;function qa(e){const t=mn;return mn=e,Vs=e&&e.type.__scopeId||null,t}function d0(e){Vs=e}function h0(){Vs=null}const p0=e=>mc;function mc(e,t=mn,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&pu(-1);const i=qa(t),a=e(...o);return qa(i),r._d&&pu(1),a};return r._n=!0,r._c=!0,r._d=!0,r}function Ji(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:i,propsOptions:[a],slots:s,attrs:l,emit:u,render:c,renderCache:d,data:f,setupState:h,ctx:p,inheritAttrs:m}=e;let g,y;const b=qa(e);try{if(n.shapeFlag&4){const x=o||r;g=dn(c.call(x,x,d,i,h,f,p)),y=l}else{const x=t;g=dn(x.length>1?x(i,{attrs:l,slots:s,emit:u}):x(i,null)),y=t.props?l:v0(l)}}catch(x){ka.length=0,mo(x,e,1),g=ft(Zt)}let E=g;if(y&&m!==!1){const x=Object.keys(y),{shapeFlag:O}=E;x.length&&O&7&&(a&&x.some(Xu)&&(y=g0(y,a)),E=$r(E,y))}return n.dirs&&(E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&(E.transition=n.transition),g=E,qa(b),g}function m0(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||ui(n))&&((t||(t={}))[n]=e[n]);return t},g0=(e,t)=>{const n={};for(const r in e)(!Xu(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function y0(e,t,n){const{props:r,children:o,component:i}=e,{props:a,children:s,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?$f(r,a,u):!!a;if(l&8){const c=t.dynamicProps;for(let d=0;de.__isSuspense,S0={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,i,a,s,l,u){e==null?w0(t,n,r,o,i,a,s,l,u):x0(e,t,n,r,o,a,s,l,u)},hydrate:O0,create:gc,normalize:C0},E0=S0;function ei(e,t){const n=e.props&&e.props[t];Ve(n)&&n()}function w0(e,t,n,r,o,i,a,s,l){const{p:u,o:{createElement:c}}=l,d=c("div"),f=e.suspense=gc(e,o,r,t,d,n,i,a,s,l);u(null,f.pendingBranch=e.ssContent,d,null,r,f,i,a),f.deps>0?(ei(e,"onPending"),ei(e,"onFallback"),u(null,e.ssFallback,t,n,r,null,i,a),zo(f,e.ssFallback)):f.resolve()}function x0(e,t,n,r,o,i,a,s,{p:l,um:u,o:{createElement:c}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const f=t.ssContent,h=t.ssFallback,{activeBranch:p,pendingBranch:m,isInFallback:g,isHydrating:y}=d;if(m)d.pendingBranch=f,Vn(f,m)?(l(m,f,d.hiddenContainer,null,o,d,i,a,s),d.deps<=0?d.resolve():g&&(l(p,h,n,r,o,null,i,a,s),zo(d,h))):(d.pendingId++,y?(d.isHydrating=!1,d.activeBranch=m):u(m,o,d),d.deps=0,d.effects.length=0,d.hiddenContainer=c("div"),g?(l(null,f,d.hiddenContainer,null,o,d,i,a,s),d.deps<=0?d.resolve():(l(p,h,n,r,o,null,i,a,s),zo(d,h))):p&&Vn(f,p)?(l(p,f,n,r,o,d,i,a,s),d.resolve(!0)):(l(null,f,d.hiddenContainer,null,o,d,i,a,s),d.deps<=0&&d.resolve()));else if(p&&Vn(f,p))l(p,f,n,r,o,d,i,a,s),zo(d,f);else if(ei(t,"onPending"),d.pendingBranch=f,d.pendingId++,l(null,f,d.hiddenContainer,null,o,d,i,a,s),d.deps<=0)d.resolve();else{const{timeout:b,pendingId:E}=d;b>0?setTimeout(()=>{d.pendingId===E&&d.fallback(h)},b):b===0&&d.fallback(h)}}function gc(e,t,n,r,o,i,a,s,l,u,c=!1){const{p:d,m:f,um:h,n:p,o:{parentNode:m,remove:g}}=u,y=kr(e.props&&e.props.timeout),b={vnode:e,parent:t,parentComponent:n,isSVG:a,container:r,hiddenContainer:o,anchor:i,deps:0,pendingId:0,timeout:typeof y=="number"?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:c,isUnmounted:!1,effects:[],resolve(E=!1){const{vnode:x,activeBranch:O,pendingBranch:C,pendingId:M,effects:L,parentComponent:D,container:N}=b;if(b.isHydrating)b.isHydrating=!1;else if(!E){const j=O&&C.transition&&C.transition.mode==="out-in";j&&(O.transition.afterLeave=()=>{M===b.pendingId&&f(C,N,V,0)});let{anchor:V}=b;O&&(V=p(O),h(O,D,b,!0)),j||f(C,N,V,0)}zo(b,C),b.pendingBranch=null,b.isInFallback=!1;let $=b.parent,P=!1;for(;$;){if($.pendingBranch){$.effects.push(...L),P=!0;break}$=$.parent}P||dc(L),b.effects=[],ei(x,"onResolve")},fallback(E){if(!b.pendingBranch)return;const{vnode:x,activeBranch:O,parentComponent:C,container:M,isSVG:L}=b;ei(x,"onFallback");const D=p(O),N=()=>{!b.isInFallback||(d(null,E,M,D,C,null,L,s,l),zo(b,E))},$=E.transition&&E.transition.mode==="out-in";$&&(O.transition.afterLeave=N),b.isInFallback=!0,h(O,C,null,!0),$||N()},move(E,x,O){b.activeBranch&&f(b.activeBranch,E,x,O),b.container=E},next(){return b.activeBranch&&p(b.activeBranch)},registerDep(E,x){const O=!!b.pendingBranch;O&&b.deps++;const C=E.vnode.el;E.asyncDep.catch(M=>{mo(M,E,0)}).then(M=>{if(E.isUnmounted||b.isUnmounted||b.pendingId!==E.suspenseId)return;E.asyncResolved=!0;const{vnode:L}=E;gu(E,M,!1),C&&(L.el=C);const D=!C&&E.subTree.el;x(E,L,m(C||E.subTree.el),C?null:p(E.subTree),b,a,l),D&&g(D),vc(E,L.el),O&&--b.deps===0&&b.resolve()})},unmount(E,x){b.isUnmounted=!0,b.activeBranch&&h(b.activeBranch,n,E,x),b.pendingBranch&&h(b.pendingBranch,n,E,x)}};return b}function O0(e,t,n,r,o,i,a,s,l){const u=t.suspense=gc(t,r,n,e.parentNode,document.createElement("div"),null,o,i,a,s,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,i,a);return u.deps===0&&u.resolve(),c}function C0(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=_f(r?n.default:n),e.ssFallback=r?_f(n.fallback):ft(Zt)}function _f(e){let t;if(Ve(e)){const n=ea&&e._c;n&&(e._d=!1,vi()),e=e(),n&&(e._d=!0,t=Kn,Ap())}return je(e)&&(e=m0(e)),e=dn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function np(e,t){t&&t.pendingBranch?je(e)?t.effects.push(...e):t.effects.push(e):dc(e)}function zo(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e,o=n.el=t.el;r&&r.subTree===n&&(r.vnode.el=o,vc(r,o))}function La(e,t){if(It){let n=It.provides;const r=It.parent&&It.parent.provides;r===n&&(n=It.provides=Object.create(r)),n[e]=t}}function zn(e,t,n=!1){const r=It||mn;if(r){const o=r.parent==null?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Ve(t)?t.call(r.proxy):t}}function D0(e,t){return di(e,null,t)}function rp(e,t){return di(e,null,{flush:"post"})}function A0(e,t){return di(e,null,{flush:"sync"})}const Vf={};function Pt(e,t,n){return di(e,t,n)}function di(e,t,{immediate:n,deep:r,flush:o,onTrack:i,onTrigger:a}=at){const s=It;let l,u=!1,c=!1;if(Mt(e)?(l=()=>e.value,u=oc(e)):ao(e)?(l=()=>e,r=!0):je(e)?(c=!0,u=e.some(ao),l=()=>e.map(y=>{if(Mt(y))return y.value;if(ao(y))return no(y);if(Ve(y))return Gn(y,s,2)})):Ve(e)?t?l=()=>Gn(e,s,2):l=()=>{if(!(s&&s.isUnmounted))return d&&d(),vn(e,s,3,[f])}:l=Ln,t&&r){const y=l;l=()=>no(y())}let d,f=y=>{d=g.onStop=()=>{Gn(y,s,4)}};if(ta)return f=Ln,t?n&&vn(t,s,3,[l(),c?[]:void 0,f]):l(),Ln;let h=c?[]:Vf;const p=()=>{if(!!g.active)if(t){const y=g.run();(r||u||(c?y.some((b,E)=>Ja(b,h[E])):Ja(y,h)))&&(d&&d(),vn(t,s,3,[y,h===Vf?void 0:h,f]),h=y)}else g.run()};p.allowRecurse=!!t;let m;o==="sync"?m=p:o==="post"?m=()=>kt(p,s&&s.suspense):m=()=>{!s||s.isMounted?c0(p):p()};const g=new fi(l,m);return t?n?p():h=g.run():o==="post"?kt(g.run.bind(g),s&&s.suspense):g.run(),()=>{g.stop(),s&&s.scope&&Ju(s.scope.effects,g)}}function T0(e,t,n){const r=this.proxy,o=yt(e)?e.includes(".")?op(r,e):()=>r[e]:e.bind(r,r);let i;Ve(t)?i=t:(i=t.handler,n=t);const a=It;_r(this);const s=di(o,i.bind(r),n);return a?_r(a):Nr(),s}function op(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{no(n,t)});else if(Ph(e))for(const n in e)no(e[n],t);return e}function yc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return sa(()=>{e.isMounted=!0}),Gs(()=>{e.isUnmounting=!0}),e}const En=[Function,Array],F0={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:En,onEnter:En,onAfterEnter:En,onEnterCancelled:En,onBeforeLeave:En,onLeave:En,onAfterLeave:En,onLeaveCancelled:En,onBeforeAppear:En,onAppear:En,onAfterAppear:En,onAppearCancelled:En},setup(e,{slots:t}){const n=Hr(),r=yc();let o;return()=>{const i=t.default&&Hs(t.default(),!0);if(!i||!i.length)return;const a=qe(e),{mode:s}=a,l=i[0];if(r.isLeaving)return Ol(l);const u=Hf(l);if(!u)return Ol(l);const c=Qo(u,a,r,n);uo(u,c);const d=n.subTree,f=d&&Hf(d);let h=!1;const{getTransitionKey:p}=u.type;if(p){const m=p();o===void 0?o=m:m!==o&&(o=m,h=!0)}if(f&&f.type!==Zt&&(!Vn(u,f)||h)){const m=Qo(f,a,r,n);if(uo(f,m),s==="out-in")return r.isLeaving=!0,m.afterLeave=()=>{r.isLeaving=!1,n.update()},Ol(l);s==="in-out"&&u.type!==Zt&&(m.delayLeave=(g,y,b)=>{const E=ap(r,f);E[String(f.key)]=f,g._leaveCb=()=>{y(),g._leaveCb=void 0,delete c.delayedLeave},c.delayedLeave=b})}return l}}},bc=F0;function ap(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 Qo(e,t,n,r){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:s,onEnter:l,onAfterEnter:u,onEnterCancelled:c,onBeforeLeave:d,onLeave:f,onAfterLeave:h,onLeaveCancelled:p,onBeforeAppear:m,onAppear:g,onAfterAppear:y,onAppearCancelled:b}=t,E=String(e.key),x=ap(n,e),O=(M,L)=>{M&&vn(M,r,9,L)},C={mode:i,persisted:a,beforeEnter(M){let L=s;if(!n.isMounted)if(o)L=m||s;else return;M._leaveCb&&M._leaveCb(!0);const D=x[E];D&&Vn(e,D)&&D.el._leaveCb&&D.el._leaveCb(),O(L,[M])},enter(M){let L=l,D=u,N=c;if(!n.isMounted)if(o)L=g||l,D=y||u,N=b||c;else return;let $=!1;const P=M._enterCb=j=>{$||($=!0,j?O(N,[M]):O(D,[M]),C.delayedLeave&&C.delayedLeave(),M._enterCb=void 0)};L?(L(M,P),L.length<=1&&P()):P()},leave(M,L){const D=String(e.key);if(M._enterCb&&M._enterCb(!0),n.isUnmounting)return L();O(d,[M]);let N=!1;const $=M._leaveCb=P=>{N||(N=!0,L(),P?O(p,[M]):O(h,[M]),M._leaveCb=void 0,x[D]===e&&delete x[D])};x[D]=e,f?(f(M,$),f.length<=1&&$()):$()},clone(M){return Qo(M,t,n,r)}};return C}function Ol(e){if(pi(e))return e=$r(e),e.children=null,e}function Hf(e){return pi(e)?e.children?e.children[0]:void 0:e}function uo(e,t){e.shapeFlag&6&&e.component?uo(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 Hs(e,t=!1){let n=[],r=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;function P0(e){Ve(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:i,suspensible:a=!0,onError:s}=e;let l=null,u,c=0;const d=()=>(c++,l=null,f()),f=()=>{let h;return l||(h=l=t().catch(p=>{if(p=p instanceof Error?p:new Error(String(p)),s)return new Promise((m,g)=>{s(p,()=>m(d()),()=>g(p),c+1)});throw p}).then(p=>h!==l&&l?l:(p&&(p.__esModule||p[Symbol.toStringTag]==="Module")&&(p=p.default),u=p,p)))};return hi({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return u},setup(){const h=It;if(u)return()=>Cl(u,h);const p=b=>{l=null,mo(b,h,13,!r)};if(a&&h.suspense||ta)return f().then(b=>()=>Cl(b,h)).catch(b=>(p(b),()=>r?ft(r,{error:b}):null));const m=sr(!1),g=sr(),y=sr(!!o);return o&&setTimeout(()=>{y.value=!1},o),i!=null&&setTimeout(()=>{if(!m.value&&!g.value){const b=new Error(`Async component timed out after ${i}ms.`);p(b),g.value=b}},i),f().then(()=>{m.value=!0,h.parent&&pi(h.parent.vnode)&&fc(h.parent.update)}).catch(b=>{p(b),g.value=b}),()=>{if(m.value&&u)return Cl(u,h);if(g.value&&r)return ft(r,{error:g.value});if(n&&!y.value)return ft(n)}}})}function Cl(e,{vnode:{ref:t,props:n,children:r}}){const o=ft(e,n,r);return o.ref=t,o}const pi=e=>e.type.__isKeepAlive,M0={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Hr(),r=n.ctx;if(!r.renderer)return t.default;const o=new Map,i=new Set;let a=null;const s=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:d}}}=r,f=d("div");r.activate=(b,E,x,O,C)=>{const M=b.component;u(b,E,x,0,s),l(M.vnode,b,E,x,M,s,O,b.slotScopeIds,C),kt(()=>{M.isDeactivated=!1,M.a&&Wo(M.a);const L=b.props&&b.props.onVnodeMounted;L&&rn(L,M.parent,b)},s)},r.deactivate=b=>{const E=b.component;u(b,f,null,1,s),kt(()=>{E.da&&Wo(E.da);const x=b.props&&b.props.onVnodeUnmounted;x&&rn(x,E.parent,b),E.isDeactivated=!0},s)};function h(b){Dl(b),c(b,n,s,!0)}function p(b){o.forEach((E,x)=>{const O=ms(E.type);O&&(!b||!b(O))&&m(x)})}function m(b){const E=o.get(b);!a||E.type!==a.type?h(E):a&&Dl(a),o.delete(b),i.delete(b)}Pt(()=>[e.include,e.exclude],([b,E])=>{b&&p(x=>Oa(b,x)),E&&p(x=>!Oa(E,x))},{flush:"post",deep:!0});let g=null;const y=()=>{g!=null&&o.set(g,Al(n.subTree))};return sa(y),Ws(y),Gs(()=>{o.forEach(b=>{const{subTree:E,suspense:x}=n,O=Al(E);if(b.type===O.type){Dl(O);const C=O.component.da;C&&kt(C,x);return}h(b)})}),()=>{if(g=null,!t.default)return null;const b=t.default(),E=b[0];if(b.length>1)return a=null,b;if(!Ur(E)||!(E.shapeFlag&4)&&!(E.shapeFlag&128))return a=null,E;let x=Al(E);const O=x.type,C=ms(ti(x)?x.type.__asyncResolved||{}:O),{include:M,exclude:L,max:D}=e;if(M&&(!C||!Oa(M,C))||L&&C&&Oa(L,C))return a=x,E;const N=x.key==null?O:x.key,$=o.get(N);return x.el&&(x=$r(x),E.shapeFlag&128&&(E.ssContent=x)),g=N,$?(x.el=$.el,x.component=$.component,x.transition&&uo(x,x.transition),x.shapeFlag|=512,i.delete(N),i.add(N)):(i.add(N),D&&i.size>parseInt(D,10)&&m(i.values().next().value)),x.shapeFlag|=256,a=x,E}}},R0=M0;function Oa(e,t){return je(e)?e.some(n=>Oa(n,t)):yt(e)?e.split(",").includes(t):e.test?e.test(t):!1}function ip(e,t){lp(e,"a",t)}function sp(e,t){lp(e,"da",t)}function lp(e,t,n=It){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Ys(t,r,n),n){let o=n.parent;for(;o&&o.parent;)pi(o.parent.vnode)&&I0(r,t,n,o),o=o.parent}}function I0(e,t,n,r){const o=Ys(t,e,r,!0);mi(()=>{Ju(r[t],o)},n)}function Dl(e){let t=e.shapeFlag;t&256&&(t-=256),t&512&&(t-=512),e.shapeFlag=t}function Al(e){return e.shapeFlag&128?e.ssContent:e}function Ys(e,t,n=It,r=!1){if(n){const o=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...a)=>{if(n.isUnmounted)return;fo(),_r(n);const s=vn(t,n,e,a);return Nr(),ho(),s});return r?o.unshift(i):o.push(i),i}}const pr=e=>(t,n=It)=>(!ta||e==="sp")&&Ys(e,t,n),up=pr("bm"),sa=pr("m"),cp=pr("bu"),Ws=pr("u"),Gs=pr("bum"),mi=pr("um"),fp=pr("sp"),dp=pr("rtg"),hp=pr("rtc");function pp(e,t=It){Ys("ec",e,t)}let cu=!0;function N0(e){const t=vp(e),n=e.proxy,r=e.ctx;cu=!1,t.beforeCreate&&Yf(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:a,watch:s,provide:l,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:h,updated:p,activated:m,deactivated:g,beforeDestroy:y,beforeUnmount:b,destroyed:E,unmounted:x,render:O,renderTracked:C,renderTriggered:M,errorCaptured:L,serverPrefetch:D,expose:N,inheritAttrs:$,components:P,directives:j,filters:V}=t;if(u&&L0(u,r,null,e.appContext.config.unwrapInjectedRef),a)for(const ae in a){const me=a[ae];Ve(me)&&(r[ae]=me.bind(n))}if(o){const ae=o.call(n,n);Ot(ae)&&(e.data=po(ae))}if(cu=!0,i)for(const ae in i){const me=i[ae],Te=Ve(me)?me.bind(n,n):Ve(me.get)?me.get.bind(n,n):Ln,Ie=!Ve(me)&&Ve(me.set)?me.set.bind(n):Ln,de=Lt({get:Te,set:Ie});Object.defineProperty(r,ae,{enumerable:!0,configurable:!0,get:()=>de.value,set:H=>de.value=H})}if(s)for(const ae in s)mp(s[ae],r,n,ae);if(l){const ae=Ve(l)?l.call(n):l;Reflect.ownKeys(ae).forEach(me=>{La(me,ae[me])})}c&&Yf(c,e,"c");function Z(ae,me){je(me)?me.forEach(Te=>ae(Te.bind(n))):me&&ae(me.bind(n))}if(Z(up,d),Z(sa,f),Z(cp,h),Z(Ws,p),Z(ip,m),Z(sp,g),Z(pp,L),Z(hp,C),Z(dp,M),Z(Gs,b),Z(mi,x),Z(fp,D),je(N))if(N.length){const ae=e.exposed||(e.exposed={});N.forEach(me=>{Object.defineProperty(ae,me,{get:()=>n[me],set:Te=>n[me]=Te})})}else e.exposed||(e.exposed={});O&&e.render===Ln&&(e.render=O),$!=null&&(e.inheritAttrs=$),P&&(e.components=P),j&&(e.directives=j)}function L0(e,t,n=Ln,r=!1){je(e)&&(e=fu(e));for(const o in e){const i=e[o];let a;Ot(i)?"default"in i?a=zn(i.from||o,i.default,!0):a=zn(i.from||o):a=zn(i),Mt(a)&&r?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>a.value,set:s=>a.value=s}):t[o]=a}}function Yf(e,t,n){vn(je(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function mp(e,t,n,r){const o=r.includes(".")?op(n,r):()=>n[r];if(yt(e)){const i=t[e];Ve(i)&&Pt(o,i)}else if(Ve(e))Pt(o,e.bind(n));else if(Ot(e))if(je(e))e.forEach(i=>mp(i,t,n,r));else{const i=Ve(e.handler)?e.handler.bind(n):t[e.handler];Ve(i)&&Pt(o,i,e)}}function vp(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,s=i.get(t);let l;return s?l=s:!o.length&&!n&&!r?l=t:(l={},o.length&&o.forEach(u=>fs(l,u,a,!0)),fs(l,t,a)),i.set(t,l),l}function fs(e,t,n,r=!1){const{mixins:o,extends:i}=t;i&&fs(e,i,n,!0),o&&o.forEach(a=>fs(e,a,n,!0));for(const a in t)if(!(r&&a==="expose")){const s=j0[a]||n&&n[a];e[a]=s?s(e[a],t[a]):t[a]}return e}const j0={data:Wf,props:Qr,emits:Qr,methods:Qr,computed:Qr,beforeCreate:Xt,created:Xt,beforeMount:Xt,mounted:Xt,beforeUpdate:Xt,updated:Xt,beforeDestroy:Xt,beforeUnmount:Xt,destroyed:Xt,unmounted:Xt,activated:Xt,deactivated:Xt,errorCaptured:Xt,serverPrefetch:Xt,components:Qr,directives:Qr,watch:B0,provide:Wf,inject:k0};function Wf(e,t){return t?e?function(){return xt(Ve(e)?e.call(this,this):e,Ve(t)?t.call(this,this):t)}:t:e}function k0(e,t){return Qr(fu(e),fu(t))}function fu(e){if(je(e)){const t={};for(let n=0;n0)&&!(a&16)){if(a&8){const c=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,h]=yp(d,t,!0);xt(a,f),h&&s.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!l)return r.set(e,Ho),Ho;if(je(i))for(let c=0;c-1,h[1]=m<0||p-1||nt(h,"default"))&&s.push(d)}}}const u=[a,s];return r.set(e,u),u}function Gf(e){return e[0]!=="$"}function zf(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Kf(e,t){return zf(e)===zf(t)}function Xf(e,t){return je(t)?t.findIndex(n=>Kf(n,e)):Ve(t)&&Kf(t,e)?0:-1}const bp=e=>e[0]==="_"||e==="$stable",Sc=e=>je(e)?e.map(dn):[dn(e)],_0=(e,t,n)=>{const r=mc((...o)=>Sc(t(...o)),n);return r._c=!1,r},Sp=(e,t,n)=>{const r=e._ctx;for(const o in e){if(bp(o))continue;const i=e[o];if(Ve(i))t[o]=_0(o,i,r);else if(i!=null){const a=Sc(i);t[o]=()=>a}}},Ep=(e,t)=>{const n=Sc(t);e.slots.default=()=>n},V0=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=qe(t),ls(t,"_",n)):Sp(t,e.slots={})}else e.slots={},t&&Ep(e,t);ls(e.slots,zs,1)},H0=(e,t,n)=>{const{vnode:r,slots:o}=e;let i=!0,a=at;if(r.shapeFlag&32){const s=t._;s?n&&s===1?i=!1:(xt(o,t),!n&&s===1&&delete o._):(i=!t.$stable,Sp(t,o)),a=t}else t&&(Ep(e,t),a={default:1});if(i)for(const s in o)!bp(s)&&!(s in a)&&delete o[s]};function Y0(e,t){const n=mn;if(n===null)return e;const r=n.proxy,o=e.dirs||(e.dirs=[]);for(let i=0;ids(f,t&&(je(t)?t[h]:t),n,r,o));return}if(ti(r)&&!o)return;const i=r.shapeFlag&4?Fc(r.component)||r.component.proxy:r.el,a=o?null:i,{i:s,r:l}=e,u=t&&t.r,c=s.refs===at?s.refs={}:s.refs,d=s.setupState;if(u!=null&&u!==l&&(yt(u)?(c[u]=null,nt(d,u)&&(d[u]=null)):Mt(u)&&(u.value=null)),Ve(l))Gn(l,s,12,[a,c]);else{const f=yt(l),h=Mt(l);if(f||h){const p=()=>{if(e.f){const m=f?c[l]:l.value;o?je(m)&&Ju(m,i):je(m)?m.includes(i)||m.push(i):f?c[l]=[i]:(l.value=[i],e.k&&(c[e.k]=l.value))}else f?(c[l]=a,nt(d,l)&&(d[l]=a)):Mt(l)&&(l.value=a,e.k&&(c[e.k]=a))};a?(p.id=-1,kt(p,n)):p()}}}let Er=!1;const ki=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Tl=e=>e.nodeType===8;function z0(e){const{mt:t,p:n,o:{patchProp:r,nextSibling:o,parentNode:i,remove:a,insert:s,createComment:l}}=e,u=(g,y)=>{if(!y.hasChildNodes()){n(null,g,y),cs();return}Er=!1,c(y.firstChild,g,null,null,null),cs(),Er&&console.error("Hydration completed but contains mismatches.")},c=(g,y,b,E,x,O=!1)=>{const C=Tl(g)&&g.data==="[",M=()=>p(g,y,b,E,x,C),{type:L,ref:D,shapeFlag:N}=y,$=g.nodeType;y.el=g;let P=null;switch(L){case qo:$!==3?P=M():(g.data!==y.children&&(Er=!0,g.data=y.children),P=o(g));break;case Zt:$!==8||C?P=M():P=o(g);break;case io:if($!==1)P=M();else{P=g;const j=!y.children.length;for(let V=0;V{O=O||!!y.dynamicChildren;const{type:C,props:M,patchFlag:L,shapeFlag:D,dirs:N}=y,$=C==="input"&&N||C==="option";if($||L!==-1){if(N&&_n(y,null,b,"created"),M)if($||!O||L&48)for(const j in M)($&&j.endsWith("value")||ui(j)&&!Fa(j))&&r(g,j,null,M[j],!1,void 0,b);else M.onClick&&r(g,"onClick",null,M.onClick,!1,void 0,b);let P;if((P=M&&M.onVnodeBeforeMount)&&rn(P,b,y),N&&_n(y,null,b,"beforeMount"),((P=M&&M.onVnodeMounted)||N)&&np(()=>{P&&rn(P,b,y),N&&_n(y,null,b,"mounted")},E),D&16&&!(M&&(M.innerHTML||M.textContent))){let j=f(g.firstChild,y,g,b,E,x,O);for(;j;){Er=!0;const V=j;j=j.nextSibling,a(V)}}else D&8&&g.textContent!==y.children&&(Er=!0,g.textContent=y.children)}return g.nextSibling},f=(g,y,b,E,x,O,C)=>{C=C||!!y.dynamicChildren;const M=y.children,L=M.length;for(let D=0;D{const{slotScopeIds:C}=y;C&&(x=x?x.concat(C):C);const M=i(g),L=f(o(g),y,M,b,E,x,O);return L&&Tl(L)&&L.data==="]"?o(y.anchor=L):(Er=!0,s(y.anchor=l("]"),M,L),L)},p=(g,y,b,E,x,O)=>{if(Er=!0,y.el=null,O){const L=m(g);for(;;){const D=o(g);if(D&&D!==L)a(D);else break}}const C=o(g),M=i(g);return a(g),n(null,y,M,C,b,E,ki(M),x),C},m=g=>{let y=0;for(;g;)if(g=o(g),g&&Tl(g)&&(g.data==="["&&y++,g.data==="]")){if(y===0)return o(g);y--}return g};return[u,c]}const kt=np;function xp(e){return Cp(e)}function Op(e){return Cp(e,z0)}function Cp(e,t){const n=vy();n.__VUE__=!0;const{insert:r,remove:o,patchProp:i,createElement:a,createText:s,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:f,setScopeId:h=Ln,cloneNode:p,insertStaticContent:m}=e,g=(w,R,_,Q=null,te=null,fe=null,he=!1,le=null,oe=!!R.dynamicChildren)=>{if(w===R)return;w&&!Vn(w,R)&&(Q=A(w),se(w,te,fe,!0),w=null),R.patchFlag===-2&&(oe=!1,R.dynamicChildren=null);const{type:X,ref:Ee,shapeFlag:be}=R;switch(X){case qo:y(w,R,_,Q);break;case Zt:b(w,R,_,Q);break;case io:w==null&&E(R,_,Q,he);break;case Ut:j(w,R,_,Q,te,fe,he,le,oe);break;default:be&1?C(w,R,_,Q,te,fe,he,le,oe):be&6?V(w,R,_,Q,te,fe,he,le,oe):(be&64||be&128)&&X.process(w,R,_,Q,te,fe,he,le,oe,ue)}Ee!=null&&te&&ds(Ee,w&&w.ref,fe,R||w,!R)},y=(w,R,_,Q)=>{if(w==null)r(R.el=s(R.children),_,Q);else{const te=R.el=w.el;R.children!==w.children&&u(te,R.children)}},b=(w,R,_,Q)=>{w==null?r(R.el=l(R.children||""),_,Q):R.el=w.el},E=(w,R,_,Q)=>{[w.el,w.anchor]=m(w.children,R,_,Q,w.el,w.anchor)},x=({el:w,anchor:R},_,Q)=>{let te;for(;w&&w!==R;)te=f(w),r(w,_,Q),w=te;r(R,_,Q)},O=({el:w,anchor:R})=>{let _;for(;w&&w!==R;)_=f(w),o(w),w=_;o(R)},C=(w,R,_,Q,te,fe,he,le,oe)=>{he=he||R.type==="svg",w==null?M(R,_,Q,te,fe,he,le,oe):N(w,R,te,fe,he,le,oe)},M=(w,R,_,Q,te,fe,he,le)=>{let oe,X;const{type:Ee,props:be,shapeFlag:we,transition:Re,patchFlag:Ne,dirs:$e}=w;if(w.el&&p!==void 0&&Ne===-1)oe=w.el=p(w.el);else{if(oe=w.el=a(w.type,fe,be&&be.is,be),we&8?c(oe,w.children):we&16&&D(w.children,oe,null,Q,te,fe&&Ee!=="foreignObject",he,le),$e&&_n(w,null,Q,"created"),be){for(const v in be)v!=="value"&&!Fa(v)&&i(oe,v,null,be[v],fe,w.children,Q,te,F);"value"in be&&i(oe,"value",null,be.value),(X=be.onVnodeBeforeMount)&&rn(X,Q,w)}L(oe,w,w.scopeId,he,Q)}$e&&_n(w,null,Q,"beforeMount");const S=(!te||te&&!te.pendingBranch)&&Re&&!Re.persisted;S&&Re.beforeEnter(oe),r(oe,R,_),((X=be&&be.onVnodeMounted)||S||$e)&&kt(()=>{X&&rn(X,Q,w),S&&Re.enter(oe),$e&&_n(w,null,Q,"mounted")},te)},L=(w,R,_,Q,te)=>{if(_&&h(w,_),Q)for(let fe=0;fe{for(let X=oe;X{const le=R.el=w.el;let{patchFlag:oe,dynamicChildren:X,dirs:Ee}=R;oe|=w.patchFlag&16;const be=w.props||at,we=R.props||at;let Re;_&&zr(_,!1),(Re=we.onVnodeBeforeUpdate)&&rn(Re,_,R,w),Ee&&_n(R,w,_,"beforeUpdate"),_&&zr(_,!0);const Ne=te&&R.type!=="foreignObject";if(X?$(w.dynamicChildren,X,le,_,Q,Ne,fe):he||Te(w,R,le,null,_,Q,Ne,fe,!1),oe>0){if(oe&16)P(le,R,be,we,_,Q,te);else if(oe&2&&be.class!==we.class&&i(le,"class",null,we.class,te),oe&4&&i(le,"style",be.style,we.style,te),oe&8){const $e=R.dynamicProps;for(let S=0;S<$e.length;S++){const v=$e[S],T=be[v],B=we[v];(B!==T||v==="value")&&i(le,v,T,B,te,w.children,_,Q,F)}}oe&1&&w.children!==R.children&&c(le,R.children)}else!he&&X==null&&P(le,R,be,we,_,Q,te);((Re=we.onVnodeUpdated)||Ee)&&kt(()=>{Re&&rn(Re,_,R,w),Ee&&_n(R,w,_,"updated")},Q)},$=(w,R,_,Q,te,fe,he)=>{for(let le=0;le{if(_!==Q){for(const le in Q){if(Fa(le))continue;const oe=Q[le],X=_[le];oe!==X&&le!=="value"&&i(w,le,X,oe,he,R.children,te,fe,F)}if(_!==at)for(const le in _)!Fa(le)&&!(le in Q)&&i(w,le,_[le],null,he,R.children,te,fe,F);"value"in Q&&i(w,"value",_.value,Q.value)}},j=(w,R,_,Q,te,fe,he,le,oe)=>{const X=R.el=w?w.el:s(""),Ee=R.anchor=w?w.anchor:s("");let{patchFlag:be,dynamicChildren:we,slotScopeIds:Re}=R;Re&&(le=le?le.concat(Re):Re),w==null?(r(X,_,Q),r(Ee,_,Q),D(R.children,_,Ee,te,fe,he,le,oe)):be>0&&be&64&&we&&w.dynamicChildren?($(w.dynamicChildren,we,_,te,fe,he,le),(R.key!=null||te&&R===te.subTree)&&Ec(w,R,!0)):Te(w,R,_,Ee,te,fe,he,le,oe)},V=(w,R,_,Q,te,fe,he,le,oe)=>{R.slotScopeIds=le,w==null?R.shapeFlag&512?te.ctx.activate(R,_,Q,he,oe):re(R,_,Q,te,fe,he,oe):Z(w,R,oe)},re=(w,R,_,Q,te,fe,he)=>{const le=w.component=Ip(w,Q,te);if(pi(w)&&(le.ctx.renderer=ue),Lp(le),le.asyncDep){if(te&&te.registerDep(le,ae),!w.el){const oe=le.subTree=ft(Zt);b(null,oe,R,_)}return}ae(le,w,R,_,te,fe,he)},Z=(w,R,_)=>{const Q=R.component=w.component;if(y0(w,R,_))if(Q.asyncDep&&!Q.asyncResolved){me(Q,R,_);return}else Q.next=R,u0(Q.update),Q.update();else R.component=w.component,R.el=w.el,Q.vnode=R},ae=(w,R,_,Q,te,fe,he)=>{const le=()=>{if(w.isMounted){let{next:Ee,bu:be,u:we,parent:Re,vnode:Ne}=w,$e=Ee,S;zr(w,!1),Ee?(Ee.el=Ne.el,me(w,Ee,he)):Ee=Ne,be&&Wo(be),(S=Ee.props&&Ee.props.onVnodeBeforeUpdate)&&rn(S,Re,Ee,Ne),zr(w,!0);const v=Ji(w),T=w.subTree;w.subTree=v,g(T,v,d(T.el),A(T),w,te,fe),Ee.el=v.el,$e===null&&vc(w,v.el),we&&kt(we,te),(S=Ee.props&&Ee.props.onVnodeUpdated)&&kt(()=>rn(S,Re,Ee,Ne),te)}else{let Ee;const{el:be,props:we}=R,{bm:Re,m:Ne,parent:$e}=w,S=ti(R);if(zr(w,!1),Re&&Wo(Re),!S&&(Ee=we&&we.onVnodeBeforeMount)&&rn(Ee,$e,R),zr(w,!0),be&&ye){const v=()=>{w.subTree=Ji(w),ye(be,w.subTree,w,te,null)};S?R.type.__asyncLoader().then(()=>!w.isUnmounted&&v()):v()}else{const v=w.subTree=Ji(w);g(null,v,_,Q,w,te,fe),R.el=v.el}if(Ne&&kt(Ne,te),!S&&(Ee=we&&we.onVnodeMounted)){const v=R;kt(()=>rn(Ee,$e,v),te)}R.shapeFlag&256&&w.a&&kt(w.a,te),w.isMounted=!0,R=_=Q=null}},oe=w.effect=new fi(le,()=>fc(w.update),w.scope),X=w.update=oe.run.bind(oe);X.id=w.uid,zr(w,!0),X()},me=(w,R,_)=>{R.component=w;const Q=w.vnode.props;w.vnode=R,w.next=null,$0(w,R.props,Q,_),H0(w,R.children,_),fo(),hc(void 0,w.update),ho()},Te=(w,R,_,Q,te,fe,he,le,oe=!1)=>{const X=w&&w.children,Ee=w?w.shapeFlag:0,be=R.children,{patchFlag:we,shapeFlag:Re}=R;if(we>0){if(we&128){de(X,be,_,Q,te,fe,he,le,oe);return}else if(we&256){Ie(X,be,_,Q,te,fe,he,le,oe);return}}Re&8?(Ee&16&&F(X,te,fe),be!==X&&c(_,be)):Ee&16?Re&16?de(X,be,_,Q,te,fe,he,le,oe):F(X,te,fe,!0):(Ee&8&&c(_,""),Re&16&&D(be,_,Q,te,fe,he,le,oe))},Ie=(w,R,_,Q,te,fe,he,le,oe)=>{w=w||Ho,R=R||Ho;const X=w.length,Ee=R.length,be=Math.min(X,Ee);let we;for(we=0;weEe?F(w,te,fe,!0,!1,be):D(R,_,Q,te,fe,he,le,oe,be)},de=(w,R,_,Q,te,fe,he,le,oe)=>{let X=0;const Ee=R.length;let be=w.length-1,we=Ee-1;for(;X<=be&&X<=we;){const Re=w[X],Ne=R[X]=oe?Dr(R[X]):dn(R[X]);if(Vn(Re,Ne))g(Re,Ne,_,null,te,fe,he,le,oe);else break;X++}for(;X<=be&&X<=we;){const Re=w[be],Ne=R[we]=oe?Dr(R[we]):dn(R[we]);if(Vn(Re,Ne))g(Re,Ne,_,null,te,fe,he,le,oe);else break;be--,we--}if(X>be){if(X<=we){const Re=we+1,Ne=Rewe)for(;X<=be;)se(w[X],te,fe,!0),X++;else{const Re=X,Ne=X,$e=new Map;for(X=Ne;X<=we;X++){const Oe=R[X]=oe?Dr(R[X]):dn(R[X]);Oe.key!=null&&$e.set(Oe.key,X)}let S,v=0;const T=we-Ne+1;let B=!1,G=0;const ie=new Array(T);for(X=0;X=T){se(Oe,te,fe,!0);continue}let z;if(Oe.key!=null)z=$e.get(Oe.key);else for(S=Ne;S<=we;S++)if(ie[S-Ne]===0&&Vn(Oe,R[S])){z=S;break}z===void 0?se(Oe,te,fe,!0):(ie[z-Ne]=X+1,z>=G?G=z:B=!0,g(Oe,R[z],_,null,te,fe,he,le,oe),v++)}const Se=B?K0(ie):Ho;for(S=Se.length-1,X=T-1;X>=0;X--){const Oe=Ne+X,z=R[Oe],ne=Oe+1{const{el:fe,type:he,transition:le,children:oe,shapeFlag:X}=w;if(X&6){H(w.component.subTree,R,_,Q);return}if(X&128){w.suspense.move(R,_,Q);return}if(X&64){he.move(w,R,_,ue);return}if(he===Ut){r(fe,R,_);for(let be=0;bele.enter(fe),te);else{const{leave:be,delayLeave:we,afterLeave:Re}=le,Ne=()=>r(fe,R,_),$e=()=>{be(fe,()=>{Ne(),Re&&Re()})};we?we(fe,Ne,$e):$e()}else r(fe,R,_)},se=(w,R,_,Q=!1,te=!1)=>{const{type:fe,props:he,ref:le,children:oe,dynamicChildren:X,shapeFlag:Ee,patchFlag:be,dirs:we}=w;if(le!=null&&ds(le,null,_,w,!0),Ee&256){R.ctx.deactivate(w);return}const Re=Ee&1&&we,Ne=!ti(w);let $e;if(Ne&&($e=he&&he.onVnodeBeforeUnmount)&&rn($e,R,w),Ee&6)ee(w.component,_,Q);else{if(Ee&128){w.suspense.unmount(_,Q);return}Re&&_n(w,null,R,"beforeUnmount"),Ee&64?w.type.remove(w,R,_,te,ue,Q):X&&(fe!==Ut||be>0&&be&64)?F(X,R,_,!1,!0):(fe===Ut&&be&384||!te&&Ee&16)&&F(oe,R,_),Q&&ve(w)}(Ne&&($e=he&&he.onVnodeUnmounted)||Re)&&kt(()=>{$e&&rn($e,R,w),Re&&_n(w,null,R,"unmounted")},_)},ve=w=>{const{type:R,el:_,anchor:Q,transition:te}=w;if(R===Ut){k(_,Q);return}if(R===io){O(w);return}const fe=()=>{o(_),te&&!te.persisted&&te.afterLeave&&te.afterLeave()};if(w.shapeFlag&1&&te&&!te.persisted){const{leave:he,delayLeave:le}=te,oe=()=>he(_,fe);le?le(w.el,fe,oe):oe()}else fe()},k=(w,R)=>{let _;for(;w!==R;)_=f(w),o(w),w=_;o(R)},ee=(w,R,_)=>{const{bum:Q,scope:te,update:fe,subTree:he,um:le}=w;Q&&Wo(Q),te.stop(),fe&&(fe.active=!1,se(he,w,R,_)),le&&kt(le,R),kt(()=>{w.isUnmounted=!0},R),R&&R.pendingBranch&&!R.isUnmounted&&w.asyncDep&&!w.asyncResolved&&w.suspenseId===R.pendingId&&(R.deps--,R.deps===0&&R.resolve())},F=(w,R,_,Q=!1,te=!1,fe=0)=>{for(let he=fe;hew.shapeFlag&6?A(w.component.subTree):w.shapeFlag&128?w.suspense.next():f(w.anchor||w.el),W=(w,R,_)=>{w==null?R._vnode&&se(R._vnode,null,null,!0):g(R._vnode||null,w,R,null,null,null,_),cs(),R._vnode=w},ue={p:g,um:se,m:H,r:ve,mt:re,mc:D,pc:Te,pbc:$,n:A,o:e};let ce,ye;return t&&([ce,ye]=t(ue)),{render:W,hydrate:ce,createApp:G0(W,ce)}}function zr({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ec(e,t,n=!1){const r=e.children,o=t.children;if(je(r)&&je(o))for(let i=0;i>1,e[n[s]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,a=n[i-1];i-- >0;)n[i]=a,a=t[a];return n}const X0=e=>e.__isTeleport,ja=e=>e&&(e.disabled||e.disabled===""),Jf=e=>typeof SVGElement!="undefined"&&e instanceof SVGElement,hu=(e,t)=>{const n=e&&e.to;return yt(n)?t?t(n):null:n},J0={__isTeleport:!0,process(e,t,n,r,o,i,a,s,l,u){const{mc:c,pc:d,pbc:f,o:{insert:h,querySelector:p,createText:m,createComment:g}}=u,y=ja(t.props);let{shapeFlag:b,children:E,dynamicChildren:x}=t;if(e==null){const O=t.el=m(""),C=t.anchor=m("");h(O,n,r),h(C,n,r);const M=t.target=hu(t.props,p),L=t.targetAnchor=m("");M&&(h(L,M),a=a||Jf(M));const D=(N,$)=>{b&16&&c(E,N,$,o,i,a,s,l)};y?D(n,C):M&&D(M,L)}else{t.el=e.el;const O=t.anchor=e.anchor,C=t.target=e.target,M=t.targetAnchor=e.targetAnchor,L=ja(e.props),D=L?n:C,N=L?O:M;if(a=a||Jf(C),x?(f(e.dynamicChildren,x,D,o,i,a,s),Ec(e,t,!0)):l||d(e,t,D,N,o,i,a,s,!1),y)L||Bi(t,n,O,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const $=t.target=hu(t.props,p);$&&Bi(t,$,null,u,0)}else L&&Bi(t,C,M,u,1)}},remove(e,t,n,r,{um:o,o:{remove:i}},a){const{shapeFlag:s,children:l,anchor:u,targetAnchor:c,target:d,props:f}=e;if(d&&i(c),(a||!ja(f))&&(i(u),s&16))for(let h=0;h0?Kn||Ho:null,Ap(),ea>0&&Kn&&Kn.push(e),e}function Fp(e,t,n,r,o,i){return Tp(Cc(e,t,n,r,o,i,!0))}function Oc(e,t,n,r,o){return Tp(ft(e,t,n,r,o,!0))}function Ur(e){return e?e.__v_isVNode===!0:!1}function Vn(e,t){return e.type===t.type&&e.key===t.key}function rb(e){}const zs="__vInternal",Pp=({key:e})=>e!=null?e:null,Zi=({ref:e,ref_key:t,ref_for:n})=>e!=null?yt(e)||Mt(e)||Ve(e)?{i:mn,r:e,k:t,f:!!n}:e:null;function Cc(e,t=null,n=null,r=0,o=null,i=e===Ut?0:1,a=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pp(t),ref:t&&Zi(t),scopeId:Vs,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:i,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};return s?(Ac(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=yt(n)?8:16),ea>0&&!a&&Kn&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&Kn.push(l),l}const ft=ob;function ob(e,t=null,n=null,r=0,o=null,i=!1){if((!e||e===Dp)&&(e=Zt),Ur(e)){const s=$r(e,t,!0);return n&&Ac(s,n),s}if(Sb(e)&&(e=e.__vccOpts),t){t=Mp(t);let{class:s,style:l}=t;s&&!yt(s)&&(t.class=li(s)),Ot(l)&&(ac(l)&&!je(l)&&(l=xt({},l)),t.style=si(l))}const a=yt(e)?1:b0(e)?128:X0(e)?64:Ot(e)?4:Ve(e)?2:0;return Cc(e,t,n,r,o,a,i,!0)}function Mp(e){return e?ac(e)||zs in e?xt({},e):e:null}function $r(e,t,n=!1){const{props:r,ref:o,patchFlag:i,children:a}=e,s=t?Tc(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:s,key:s&&Pp(s),ref:t&&t.ref?n&&o?je(o)?o.concat(Zi(t)):[o,Zi(t)]:Zi(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ut?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&$r(e.ssContent),ssFallback:e.ssFallback&&$r(e.ssFallback),el:e.el,anchor:e.anchor}}function Dc(e=" ",t=0){return ft(qo,null,e,t)}function ab(e,t){const n=ft(io,null,e);return n.staticCount=t,n}function ib(e="",t=!1){return t?(vi(),Oc(Zt,null,e)):ft(Zt,null,e)}function dn(e){return e==null||typeof e=="boolean"?ft(Zt):je(e)?ft(Ut,null,e.slice()):typeof e=="object"?Dr(e):ft(qo,null,String(e))}function Dr(e){return e.el===null||e.memo?e:$r(e)}function Ac(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(je(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Ac(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(zs in t)?t._ctx=mn:o===3&&mn&&(mn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ve(t)?(t={default:t,_ctx:mn},n=32):(t=String(t),r&64?(n=16,t=[Dc(t)]):n=8);e.children=t,e.shapeFlag|=n}function Tc(...e){const t={};for(let n=0;nt(a,s,void 0,i&&i[s]));else{const a=Object.keys(e);o=new Array(a.length);for(let s=0,l=a.length;sUr(t)?!(t.type===Zt||t.type===Ut&&!Rp(t.children)):!0)?e:null}function cb(e){const t={};for(const n in e)t[Pa(n)]=e[n];return t}const mu=e=>e?Np(e)?Fc(e)||e.proxy:mu(e.parent):null,hs=xt(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=>mu(e.parent),$root:e=>mu(e.root),$emit:e=>e.emit,$options:e=>vp(e),$forceUpdate:e=>()=>fc(e.update),$nextTick:e=>_s.bind(e.proxy),$watch:e=>T0.bind(e)}),vu={get({_:e},t){const{ctx:n,setupState:r,data:o,props:i,accessCache:a,type:s,appContext:l}=e;let u;if(t[0]!=="$"){const h=a[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return i[t]}else{if(r!==at&&nt(r,t))return a[t]=1,r[t];if(o!==at&&nt(o,t))return a[t]=2,o[t];if((u=e.propsOptions[0])&&nt(u,t))return a[t]=3,i[t];if(n!==at&&nt(n,t))return a[t]=4,n[t];cu&&(a[t]=0)}}const c=hs[t];let d,f;if(c)return t==="$attrs"&&yn(e,"get",t),c(e);if((d=s.__cssModules)&&(d=d[t]))return d;if(n!==at&&nt(n,t))return a[t]=4,n[t];if(f=l.config.globalProperties,nt(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:i}=e;return o!==at&&nt(o,t)?(o[t]=n,!0):r!==at&&nt(r,t)?(r[t]=n,!0):nt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:i}},a){let s;return!!n[a]||e!==at&&nt(e,a)||t!==at&&nt(t,a)||(s=i[0])&&nt(s,a)||nt(r,a)||nt(hs,a)||nt(o.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?this.set(e,t,n.get(),null):n.value!=null&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},fb=xt({},vu,{get(e,t){if(t!==Symbol.unscopables)return vu.get(e,t,e)},has(e,t){return t[0]!=="_"&&!ty(t)}}),db=wp();let hb=0;function Ip(e,t,n){const r=e.type,o=(t?t.appContext:e.appContext)||db,i={uid:hb++,vnode:e,type:r,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,scope:new ec(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:yp(r,o),emitsOptions:tp(r,o),emit:null,emitted:null,propsDefaults:at,inheritAttrs:r.inheritAttrs,ctx:at,data:at,props:at,attrs:at,slots:at,refs:at,setupState:at,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=f0.bind(null,i),e.ce&&e.ce(i),i}let It=null;const Hr=()=>It||mn,_r=e=>{It=e,e.scope.on()},Nr=()=>{It&&It.scope.off(),It=null};function Np(e){return e.vnode.shapeFlag&4}let ta=!1;function Lp(e,t=!1){ta=t;const{props:n,children:r}=e.vnode,o=Np(e);U0(e,n,o,t),V0(e,r);const i=o?pb(e,t):void 0;return ta=!1,i}function pb(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=ic(new Proxy(e.ctx,vu));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?kp(e):null;_r(e),fo();const i=Gn(r,e,0,[e.props,o]);if(ho(),Nr(),Qu(i)){if(i.then(Nr,Nr),t)return i.then(a=>{gu(e,a,t)}).catch(a=>{mo(a,e,0)});e.asyncDep=i}else gu(e,i,t)}else jp(e,t)}function gu(e,t,n){Ve(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ot(t)&&(e.setupState=uc(t)),jp(e,n)}let ps,yu;function mb(e){ps=e,yu=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,fb))}}const vb=()=>!ps;function jp(e,t,n){const r=e.type;if(!e.render){if(!t&&ps&&!r.render){const o=r.template;if(o){const{isCustomElement:i,compilerOptions:a}=e.appContext.config,{delimiters:s,compilerOptions:l}=r,u=xt(xt({isCustomElement:i,delimiters:s},a),l);r.render=ps(o,u)}}e.render=r.render||Ln,yu&&yu(e)}_r(e),fo(),N0(e),ho(),Nr()}function gb(e){return new Proxy(e.attrs,{get(t,n){return yn(e,"get","$attrs"),t[n]}})}function kp(e){const t=r=>{e.exposed=r||{}};let n;return{get attrs(){return n||(n=gb(e))},slots:e.slots,emit:e.emit,expose:t}}function Fc(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(uc(ic(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hs)return hs[n](e)}}))}const yb=/(?:^|[-_])(\w)/g,bb=e=>e.replace(yb,t=>t.toUpperCase()).replace(/[-_]/g,"");function ms(e){return Ve(e)&&e.displayName||e.name}function Bp(e,t,n=!1){let r=ms(t);if(!r&&t.__file){const o=t.__file.match(/([^/\\]+)\.\w+$/);o&&(r=o[1])}if(!r&&e&&e.parent){const o=i=>{for(const a in i)if(i[a]===t)return a};r=o(e.components||e.parent.type.components)||o(e.appContext.components)}return r?bb(r):n?"App":"Anonymous"}function Sb(e){return Ve(e)&&"__vccOpts"in e}const Lt=(e,t)=>n0(e,t,ta);function Eb(){return null}function wb(){return null}function xb(e){}function Ob(e,t){return null}function Cb(){return Up().slots}function Db(){return Up().attrs}function Up(){const e=Hr();return e.setupContext||(e.setupContext=kp(e))}function Ab(e,t){const n=je(e)?e.reduce((r,o)=>(r[o]={},r),{}):e;for(const r in t){const o=n[r];o?je(o)||Ve(o)?n[r]={type:o,default:t[r]}:o.default=t[r]:o===null&&(n[r]={default:t[r]})}return n}function Tb(e,t){const n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Fb(e){const t=Hr();let n=e();return Nr(),Qu(n)&&(n=n.catch(r=>{throw _r(t),r})),[n,()=>_r(t)]}function Ks(e,t,n){const r=arguments.length;return r===2?Ot(t)&&!je(t)?Ur(t)?ft(e,null,[t]):ft(e,t):ft(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ur(n)&&(n=[n]),ft(e,t,n))}const $p=Symbol(""),Pb=()=>{{const e=zn($p);return e||Kh("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function Mb(){}function Rb(e,t,n,r){const o=n[r];if(o&&_p(o,e))return o;const i=t();return i.memo=e.slice(),n[r]=i}function _p(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r0&&Kn&&Kn.push(e),!0}const Vp="3.2.31",Ib={createComponentInstance:Ip,setupComponent:Lp,renderComponentRoot:Ji,setCurrentRenderingInstance:qa,isVNode:Ur,normalizeVNode:dn},Nb=Ib,Lb=null,jb=null,kb="http://www.w3.org/2000/svg",to=typeof document!="undefined"?document:null,Qf=to&&to.createElement("template"),Bb={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 o=t?to.createElementNS(kb,e):to.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>to.createTextNode(e),createComment:e=>to.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>to.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,o,i){const a=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===i||!(o=o.nextSibling)););else{Qf.innerHTML=r?``:e;const s=Qf.content;if(r){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Ub(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function $b(e,t,n){const r=e.style,o=yt(n);if(n&&!o){for(const i in n)bu(r,i,n[i]);if(t&&!yt(t))for(const i in t)n[i]==null&&bu(r,i,"")}else{const i=r.display;o?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(r.display=i)}}const qf=/\s*!important$/;function bu(e,t,n){if(je(n))n.forEach(r=>bu(e,t,r));else if(t.startsWith("--"))e.setProperty(t,n);else{const r=_b(e,t);qf.test(n)?e.setProperty(Wn(r),n.replace(qf,""),"important"):e[r]=n}}const ed=["Webkit","Moz","ms"],Fl={};function _b(e,t){const n=Fl[t];if(n)return n;let r=gn(t);if(r!=="filter"&&r in e)return Fl[t]=r;r=ci(r);for(let o=0;odocument.createEvent("Event").timeStamp&&(vs=()=>performance.now());const e=navigator.userAgent.match(/firefox\/(\d+)/i);Hp=!!(e&&Number(e[1])<=53)}let Su=0;const Yb=Promise.resolve(),Wb=()=>{Su=0},Gb=()=>Su||(Yb.then(Wb),Su=vs());function ir(e,t,n,r){e.addEventListener(t,n,r)}function zb(e,t,n,r){e.removeEventListener(t,n,r)}function Kb(e,t,n,r,o=null){const i=e._vei||(e._vei={}),a=i[t];if(r&&a)a.value=r;else{const[s,l]=Xb(t);if(r){const u=i[t]=Jb(r,o);ir(e,s,u,l)}else a&&(zb(e,s,a,l),i[t]=void 0)}}const nd=/(?:Once|Passive|Capture)$/;function Xb(e){let t;if(nd.test(e)){t={};let n;for(;n=e.match(nd);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[Wn(e.slice(2)),t]}function Jb(e,t){const n=r=>{const o=r.timeStamp||vs();(Hp||o>=n.attached-1)&&vn(Zb(r,n.value),t,5,[r])};return n.value=e,n.attached=Gb(),n}function Zb(e,t){if(je(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const rd=/^on[a-z]/,Qb=(e,t,n,r,o=!1,i,a,s,l)=>{t==="class"?Ub(e,r,o):t==="style"?$b(e,n,r):ui(t)?Xu(t)||Kb(e,t,n,r,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qb(e,t,r,o))?Hb(e,t,r,i,a,s,l):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Vb(e,t,r,o))};function qb(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&rd.test(t)&&Ve(n)):t==="spellcheck"||t==="draggable"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||rd.test(t)&&yt(n)?!1:t in e}function Yp(e,t){const n=hi(e);class r extends Xs{constructor(i){super(n,i,t)}}return r.def=n,r}const eS=e=>Yp(e,rm),tS=typeof HTMLElement!="undefined"?HTMLElement:class{};class Xs extends tS{constructor(t,n={},r){super();this._def=t,this._props=n,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&r?r(this._createVNode(),this.shadowRoot):this.attachShadow({mode:"open"})}connectedCallback(){this._connected=!0,this._instance||this._resolveDef()}disconnectedCallback(){this._connected=!1,_s(()=>{this._connected||(wu(null,this.shadowRoot),this._instance=null)})}_resolveDef(){if(this._resolved)return;this._resolved=!0;for(let r=0;r{for(const o of r)this._setAttr(o.attributeName)}).observe(this,{attributes:!0});const t=r=>{const{props:o,styles:i}=r,a=!je(o),s=o?a?Object.keys(o):o:[];let l;if(a)for(const u in this._props){const c=o[u];(c===Number||c&&c.type===Number)&&(this._props[u]=kr(this._props[u]),(l||(l=Object.create(null)))[u]=!0)}this._numberProps=l;for(const u of Object.keys(this))u[0]!=="_"&&this._setProp(u,this[u],!0,!1);for(const u of s.map(gn))Object.defineProperty(this,u,{get(){return this._getProp(u)},set(c){this._setProp(u,c)}});this._applyStyles(i),this._update()},n=this._def.__asyncLoader;n?n().then(t):t(this._def)}_setAttr(t){let n=this.getAttribute(t);this._numberProps&&this._numberProps[t]&&(n=kr(n)),this._setProp(gn(t),n,!1)}_getProp(t){return this._props[t]}_setProp(t,n,r=!0,o=!0){n!==this._props[t]&&(this._props[t]=n,o&&this._instance&&this._update(),r&&(n===!0?this.setAttribute(Wn(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Wn(t),n+""):n||this.removeAttribute(Wn(t))))}_update(){wu(this._createVNode(),this.shadowRoot)}_createVNode(){const t=ft(this._def,xt({},this._props));return this._instance||(t.ce=n=>{this._instance=n,n.isCE=!0,n.emit=(o,...i)=>{this.dispatchEvent(new CustomEvent(o,{detail:i}))};let r=this;for(;r=r&&(r.parentNode||r.host);)if(r instanceof Xs){n.parent=r._instance;break}}),t}_applyStyles(t){t&&t.forEach(n=>{const r=document.createElement("style");r.textContent=n,this.shadowRoot.appendChild(r)})}}function nS(e="$style"){{const t=Hr();if(!t)return at;const n=t.type.__cssModules;if(!n)return at;const r=n[e];return r||at}}function rS(e){const t=Hr();if(!t)return;const n=()=>Eu(t.subTree,e(t.proxy));rp(n),sa(()=>{const r=new MutationObserver(n);r.observe(t.subTree.el.parentNode,{childList:!0}),mi(()=>r.disconnect())})}function Eu(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Eu(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)od(e.el,t);else if(e.type===Ut)e.children.forEach(n=>Eu(n,t));else if(e.type===io){let{el:n,anchor:r}=e;for(;n&&(od(n,t),n!==r);)n=n.nextSibling}}function od(e,t){if(e.nodeType===1){const n=e.style;for(const r in t)n.setProperty(`--${r}`,t[r])}}const wr="transition",pa="animation",Pc=(e,{slots:t})=>Ks(bc,Gp(e),t);Pc.displayName="Transition";const Wp={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},oS=Pc.props=xt({},bc.props,Wp),Kr=(e,t=[])=>{je(e)?e.forEach(n=>n(...t)):e&&e(...t)},ad=e=>e?je(e)?e.some(t=>t.length>1):e.length>1:!1;function Gp(e){const t={};for(const P in e)P in Wp||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=a,appearToClass:c=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,p=aS(o),m=p&&p[0],g=p&&p[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:E,onLeave:x,onLeaveCancelled:O,onBeforeAppear:C=y,onAppear:M=b,onAppearCancelled:L=E}=t,D=(P,j,V)=>{qr(P,j?c:s),qr(P,j?u:a),V&&V()},N=(P,j)=>{qr(P,h),qr(P,f),j&&j()},$=P=>(j,V)=>{const re=P?M:b,Z=()=>D(j,P,V);Kr(re,[j,Z]),id(()=>{qr(j,P?l:i),rr(j,P?c:s),ad(re)||sd(j,r,m,Z)})};return xt(t,{onBeforeEnter(P){Kr(y,[P]),rr(P,i),rr(P,a)},onBeforeAppear(P){Kr(C,[P]),rr(P,l),rr(P,u)},onEnter:$(!1),onAppear:$(!0),onLeave(P,j){const V=()=>N(P,j);rr(P,d),Kp(),rr(P,f),id(()=>{qr(P,d),rr(P,h),ad(x)||sd(P,r,g,V)}),Kr(x,[P,V])},onEnterCancelled(P){D(P,!1),Kr(E,[P])},onAppearCancelled(P){D(P,!0),Kr(L,[P])},onLeaveCancelled(P){N(P),Kr(O,[P])}})}function aS(e){if(e==null)return null;if(Ot(e))return[Pl(e.enter),Pl(e.leave)];{const t=Pl(e);return[t,t]}}function Pl(e){return kr(e)}function rr(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function qr(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function id(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let iS=0;function sd(e,t,n,r){const o=e._endId=++iS,i=()=>{o===e._endId&&r()};if(n)return setTimeout(i,n);const{type:a,timeout:s,propCount:l}=zp(e,t);if(!a)return r();const u=a+"end";let c=0;const d=()=>{e.removeEventListener(u,f),i()},f=h=>{h.target===e&&++c>=l&&d()};setTimeout(()=>{c(n[p]||"").split(", "),o=r(wr+"Delay"),i=r(wr+"Duration"),a=ld(o,i),s=r(pa+"Delay"),l=r(pa+"Duration"),u=ld(s,l);let c=null,d=0,f=0;t===wr?a>0&&(c=wr,d=a,f=i.length):t===pa?u>0&&(c=pa,d=u,f=l.length):(d=Math.max(a,u),c=d>0?a>u?wr:pa:null,f=c?c===wr?i.length:l.length:0);const h=c===wr&&/\b(transform|all)(,|$)/.test(n[wr+"Property"]);return{type:c,timeout:d,propCount:f,hasTransform:h}}function ld(e,t){for(;e.lengthud(n)+ud(e[r])))}function ud(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Kp(){return document.body.offsetHeight}const Xp=new WeakMap,Jp=new WeakMap,sS={name:"TransitionGroup",props:xt({},oS,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Hr(),r=yc();let o,i;return Ws(()=>{if(!o.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!dS(o[0].el,n.vnode.el,a))return;o.forEach(uS),o.forEach(cS);const s=o.filter(fS);Kp(),s.forEach(l=>{const u=l.el,c=u.style;rr(u,a),c.transform=c.webkitTransform=c.transitionDuration="";const d=u._moveCb=f=>{f&&f.target!==u||(!f||/transform$/.test(f.propertyName))&&(u.removeEventListener("transitionend",d),u._moveCb=null,qr(u,a))};u.addEventListener("transitionend",d)})}),()=>{const a=qe(e),s=Gp(a);let l=a.tag||Ut;o=i,i=t.default?Hs(t.default()):[];for(let u=0;u{a.split(/\s+/).forEach(s=>s&&r.classList.remove(s))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:i}=zp(r);return o.removeChild(r),i}const Vr=e=>{const t=e.props["onUpdate:modelValue"];return je(t)?n=>Wo(t,n):t};function hS(e){e.target.composing=!0}function cd(e){const t=e.target;t.composing&&(t.composing=!1,pS(t,"input"))}function pS(e,t){const n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}const gs={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e._assign=Vr(o);const i=r||o.props&&o.props.type==="number";ir(e,t?"change":"input",a=>{if(a.target.composing)return;let s=e.value;n?s=s.trim():i&&(s=kr(s)),e._assign(s)}),n&&ir(e,"change",()=>{e.value=e.value.trim()}),t||(ir(e,"compositionstart",hS),ir(e,"compositionend",cd),ir(e,"change",cd))},mounted(e,{value:t}){e.value=t==null?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},i){if(e._assign=Vr(i),e.composing||document.activeElement===e&&(n||r&&e.value.trim()===t||(o||e.type==="number")&&kr(e.value)===t))return;const a=t==null?"":t;e.value!==a&&(e.value=a)}},Mc={deep:!0,created(e,t,n){e._assign=Vr(n),ir(e,"change",()=>{const r=e._modelValue,o=na(e),i=e.checked,a=e._assign;if(je(r)){const s=Is(r,o),l=s!==-1;if(i&&!l)a(r.concat(o));else if(!i&&l){const u=[...r];u.splice(s,1),a(u)}}else if(co(r)){const s=new Set(r);i?s.add(o):s.delete(o),a(s)}else a(Qp(e,i))})},mounted:fd,beforeUpdate(e,t,n){e._assign=Vr(n),fd(e,t,n)}};function fd(e,{value:t,oldValue:n},r){e._modelValue=t,je(t)?e.checked=Is(t,r.props.value)>-1:co(t)?e.checked=t.has(r.props.value):t!==n&&(e.checked=jr(t,Qp(e,!0)))}const Rc={created(e,{value:t},n){e.checked=jr(t,n.props.value),e._assign=Vr(n),ir(e,"change",()=>{e._assign(na(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e._assign=Vr(r),t!==n&&(e.checked=jr(t,r.props.value))}},Zp={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const o=co(t);ir(e,"change",()=>{const i=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?kr(na(a)):na(a));e._assign(e.multiple?o?new Set(i):i:i[0])}),e._assign=Vr(r)},mounted(e,{value:t}){dd(e,t)},beforeUpdate(e,t,n){e._assign=Vr(n)},updated(e,{value:t}){dd(e,t)}};function dd(e,t){const n=e.multiple;if(!(n&&!je(t)&&!co(t))){for(let r=0,o=e.options.length;r-1:i.selected=t.has(a);else if(jr(na(i),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function na(e){return"_value"in e?e._value:e.value}function Qp(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const mS={created(e,t,n){Ui(e,t,n,null,"created")},mounted(e,t,n){Ui(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){Ui(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){Ui(e,t,n,r,"updated")}};function Ui(e,t,n,r,o){let i;switch(e.tagName){case"SELECT":i=Zp;break;case"TEXTAREA":i=gs;break;default:switch(n.props&&n.props.type){case"checkbox":i=Mc;break;case"radio":i=Rc;break;default:i=gs}}const a=i[o];a&&a(e,t,n,r)}function vS(){gs.getSSRProps=({value:e})=>({value:e}),Rc.getSSRProps=({value:e},t)=>{if(t.props&&jr(t.props.value,e))return{checked:!0}},Mc.getSSRProps=({value:e},t)=>{if(je(e)){if(t.props&&Is(e,t.props.value)>-1)return{checked:!0}}else if(co(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}}}const gS=["ctrl","shift","alt","meta"],yS={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)=>gS.some(n=>e[`${n}Key`]&&!t.includes(n))},bS=(e,t)=>(n,...r)=>{for(let o=0;on=>{if(!("key"in n))return;const r=Wn(n.key);if(t.some(o=>o===r||SS[o]===r))return e(n)},qp={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):ma(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),ma(e,!0),r.enter(e)):r.leave(e,()=>{ma(e,!1)}):ma(e,t))},beforeUnmount(e,{value:t}){ma(e,t)}};function ma(e,t){e.style.display=t?e._vod:"none"}function wS(){qp.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const em=xt({patchProp:Qb},Bb);let Ba,hd=!1;function tm(){return Ba||(Ba=xp(em))}function nm(){return Ba=hd?Ba:Op(em),hd=!0,Ba}const wu=(...e)=>{tm().render(...e)},rm=(...e)=>{nm().hydrate(...e)},xS=(...e)=>{const t=tm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=om(r);if(!o)return;const i=t._component;!Ve(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.innerHTML="";const a=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),a},t},OS=(...e)=>{const t=nm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=om(r);if(o)return n(o,!0,o instanceof SVGElement)},t};function om(e){return yt(e)?document.querySelector(e):e}let pd=!1;const CS=()=>{pd||(pd=!0,vS(),wS())},DS=()=>{};var AS=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",compile:DS,EffectScope:ec,ReactiveEffect:fi,customRef:qy,effect:wy,effectScope:gy,getCurrentScope:yy,isProxy:ac,isReactive:ao,isReadonly:Zo,isRef:Mt,isShallow:oc,markRaw:ic,onScopeDispose:by,proxyRefs:uc,reactive:po,readonly:rc,ref:sr,shallowReactive:Yh,shallowReadonly:Ky,shallowRef:Wh,stop:xy,toRaw:qe,toRef:zh,toRefs:Ma,triggerRef:Jy,unref:Go,camelize:gn,capitalize:ci,normalizeClass:li,normalizeProps:sy,normalizeStyle:si,toDisplayString:uy,toHandlerKey:Pa,BaseTransition:bc,Comment:Zt,Fragment:Ut,KeepAlive:R0,Static:io,Suspense:E0,Teleport:Q0,Text:qo,callWithAsyncErrorHandling:vn,callWithErrorHandling:Gn,cloneVNode:$r,compatUtils:jb,computed:Lt,createBlock:Oc,createCommentVNode:ib,createElementBlock:Fp,createElementVNode:Cc,createHydrationRenderer:Op,createPropsRestProxy:Tb,createRenderer:xp,createSlots:lb,createStaticVNode:ab,createTextVNode:Dc,createVNode:ft,defineAsyncComponent:P0,defineComponent:hi,defineEmits:wb,defineExpose:xb,defineProps:Eb,get devtools(){return jo},getCurrentInstance:Hr,getTransitionRawChildren:Hs,guardReactiveProps:Mp,h:Ks,handleError:mo,initCustomFormatter:Mb,inject:zn,isMemoSame:_p,isRuntimeOnly:vb,isVNode:Ur,mergeDefaults:Ab,mergeProps:Tc,nextTick:_s,onActivated:ip,onBeforeMount:up,onBeforeUnmount:Gs,onBeforeUpdate:cp,onDeactivated:sp,onErrorCaptured:pp,onMounted:sa,onRenderTracked:hp,onRenderTriggered:dp,onServerPrefetch:fp,onUnmounted:mi,onUpdated:Ws,openBlock:vi,popScopeId:h0,provide:La,pushScopeId:d0,queuePostFlushCb:dc,registerRuntimeCompiler:mb,renderList:sb,renderSlot:ub,resolveComponent:eb,resolveDirective:nb,resolveDynamicComponent:tb,resolveFilter:Lb,resolveTransitionHooks:Qo,setBlockTracking:pu,setDevtoolsHook:ep,setTransitionHooks:uo,ssrContextKey:$p,ssrUtils:Nb,toHandlers:cb,transformVNodeArgs:rb,useAttrs:Db,useSSRContext:Pb,useSlots:Cb,useTransitionState:yc,version:Vp,warn:Kh,watch:Pt,watchEffect:D0,watchPostEffect:rp,watchSyncEffect:A0,withAsyncContext:Fb,withCtx:mc,withDefaults:Ob,withDirectives:Y0,withMemo:Rb,withScopeId:p0,Transition:Pc,TransitionGroup:lS,VueElement:Xs,createApp:xS,createSSRApp:OS,defineCustomElement:Yp,defineSSRCustomElement:eS,hydrate:rm,initDirectivesForSSR:CS,render:wu,useCssModule:nS,useCssVars:rS,vModelCheckbox:Mc,vModelDynamic:mS,vModelRadio:Rc,vModelSelect:Zp,vModelText:gs,vShow:qp,withKeys:ES,withModifiers:bS});function TS(){return am().__VUE_DEVTOOLS_GLOBAL_HOOK__}function am(){return typeof navigator!="undefined"&&typeof window!="undefined"?window:typeof global!="undefined"?global:{}}const FS=typeof Proxy=="function",PS="devtools-plugin:setup",MS="plugin:settings:set";let Co,xu;function RS(){var e;return Co!==void 0||(typeof window!="undefined"&&window.performance?(Co=!0,xu=window.performance):typeof global!="undefined"&&((e=global.perf_hooks)===null||e===void 0?void 0:e.performance)?(Co=!0,xu=global.perf_hooks.performance):Co=!1),Co}function IS(){return RS()?xu.now():Date.now()}class NS{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const r={};if(t.settings)for(const a in t.settings){const s=t.settings[a];r[a]=s.defaultValue}const o=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},r);try{const a=localStorage.getItem(o),s=JSON.parse(a);Object.assign(i,s)}catch{}this.fallbacks={getSettings(){return i},setSettings(a){try{localStorage.setItem(o,JSON.stringify(a))}catch{}i=a},now(){return IS()}},n&&n.on(MS,(a,s)=>{a===this.plugin.id&&this.fallbacks.setSettings(s)}),this.proxiedOn=new Proxy({},{get:(a,s)=>this.target?this.target.on[s]:(...l)=>{this.onQueue.push({method:s,args:l})}}),this.proxiedTarget=new Proxy({},{get:(a,s)=>this.target?this.target[s]:s==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(s)?(...l)=>(this.targetQueue.push({method:s,args:l,resolve:()=>{}}),this.fallbacks[s](...l)):(...l)=>new Promise(u=>{this.targetQueue.push({method:s,args:l,resolve:u})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function LS(e,t){const n=e,r=am(),o=TS(),i=FS&&n.enableEarlyProxy;if(o&&(r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!i))o.emit(PS,e,t);else{const a=i?new NS(n,o):null;(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:a}),a&&t(a.proxiedTarget)}}/*!
+ * vuex v4.0.2
+ * (c) 2021 Evan You
+ * @license MIT
+ */var jS="store";function la(e,t){Object.keys(e).forEach(function(n){return t(e[n],n)})}function kS(e){return e!==null&&typeof e=="object"}function BS(e){return e&&typeof e.then=="function"}function US(e,t){return function(){return e(t)}}function im(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function sm(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;Js(e,n,[],e._modules.root,!0),Ic(e,n,t)}function Ic(e,t,n){var r=e._state;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,i={};la(o,function(a,s){i[s]=US(a,e),Object.defineProperty(e.getters,s,{get:function(){return i[s]()},enumerable:!0})}),e._state=po({data:t}),e.strict&&YS(e),r&&n&&e._withCommit(function(){r.data=null})}function Js(e,t,n,r,o){var i=!n.length,a=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!i&&!o){var s=Nc(t,n.slice(0,-1)),l=n[n.length-1];e._withCommit(function(){s[l]=r.state})}var u=r.context=$S(e,a,n);r.forEachMutation(function(c,d){var f=a+d;_S(e,f,c,u)}),r.forEachAction(function(c,d){var f=c.root?d:a+d,h=c.handler||c;VS(e,f,h,u)}),r.forEachGetter(function(c,d){var f=a+d;HS(e,f,c,u)}),r.forEachChild(function(c,d){Js(e,t,n.concat(d),c,o)})}function $S(e,t,n){var r=t==="",o={dispatch:r?e.dispatch:function(i,a,s){var l=ys(i,a,s),u=l.payload,c=l.options,d=l.type;return(!c||!c.root)&&(d=t+d),e.dispatch(d,u)},commit:r?e.commit:function(i,a,s){var l=ys(i,a,s),u=l.payload,c=l.options,d=l.type;(!c||!c.root)&&(d=t+d),e.commit(d,u,c)}};return Object.defineProperties(o,{getters:{get:r?function(){return e.getters}:function(){return lm(e,t)}},state:{get:function(){return Nc(e.state,n)}}}),o}function lm(e,t){if(!e._makeLocalGettersCache[t]){var n={},r=t.length;Object.keys(e.getters).forEach(function(o){if(o.slice(0,r)===t){var i=o.slice(r);Object.defineProperty(n,i,{get:function(){return e.getters[o]},enumerable:!0})}}),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function _S(e,t,n,r){var o=e._mutations[t]||(e._mutations[t]=[]);o.push(function(a){n.call(e,r.state,a)})}function VS(e,t,n,r){var o=e._actions[t]||(e._actions[t]=[]);o.push(function(a){var s=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},a);return BS(s)||(s=Promise.resolve(s)),e._devtoolHook?s.catch(function(l){throw e._devtoolHook.emit("vuex:error",l),l}):s})}function HS(e,t,n,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(i){return n(r.state,r.getters,i.state,i.getters)})}function YS(e){Pt(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function Nc(e,t){return t.reduce(function(n,r){return n[r]},e)}function ys(e,t,n){return kS(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}var WS="vuex bindings",md="vuex:mutations",Ml="vuex:actions",Do="vuex",GS=0;function zS(e,t){LS({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[WS]},function(n){n.addTimelineLayer({id:md,label:"Vuex Mutations",color:vd}),n.addTimelineLayer({id:Ml,label:"Vuex Actions",color:vd}),n.addInspector({id:Do,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree(function(r){if(r.app===e&&r.inspectorId===Do)if(r.filter){var o=[];dm(o,t._modules.root,r.filter,""),r.rootNodes=o}else r.rootNodes=[fm(t._modules.root,"")]}),n.on.getInspectorState(function(r){if(r.app===e&&r.inspectorId===Do){var o=r.nodeId;lm(t,o),r.state=JS(QS(t._modules,o),o==="root"?t.getters:t._makeLocalGettersCache,o)}}),n.on.editInspectorState(function(r){if(r.app===e&&r.inspectorId===Do){var o=r.nodeId,i=r.path;o!=="root"&&(i=o.split("/").filter(Boolean).concat(i)),t._withCommit(function(){r.set(t._state.data,i,r.state.value)})}}),t.subscribe(function(r,o){var i={};r.payload&&(i.payload=r.payload),i.state=o,n.notifyComponentUpdate(),n.sendInspectorTree(Do),n.sendInspectorState(Do),n.addTimelineEvent({layerId:md,event:{time:Date.now(),title:r.type,data:i}})}),t.subscribeAction({before:function(r,o){var i={};r.payload&&(i.payload=r.payload),r._id=GS++,r._time=Date.now(),i.state=o,n.addTimelineEvent({layerId:Ml,event:{time:r._time,title:r.type,groupId:r._id,subtitle:"start",data:i}})},after:function(r,o){var i={},a=Date.now()-r._time;i.duration={_custom:{type:"duration",display:a+"ms",tooltip:"Action duration",value:a}},r.payload&&(i.payload=r.payload),i.state=o,n.addTimelineEvent({layerId:Ml,event:{time:Date.now(),title:r.type,groupId:r._id,subtitle:"end",data:i}})}})})}var vd=8702998,KS=6710886,XS=16777215,um={label:"namespaced",textColor:XS,backgroundColor:KS};function cm(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function fm(e,t){return{id:t||"root",label:cm(t),tags:e.namespaced?[um]:[],children:Object.keys(e._children).map(function(n){return fm(e._children[n],t+n+"/")})}}function dm(e,t,n,r){r.includes(n)&&e.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:t.namespaced?[um]:[]}),Object.keys(t._children).forEach(function(o){dm(e,t._children[o],n,r+o+"/")})}function JS(e,t,n){t=n==="root"?t:t[n];var r=Object.keys(t),o={state:Object.keys(e.state).map(function(a){return{key:a,editable:!0,value:e.state[a]}})};if(r.length){var i=ZS(t);o.getters=Object.keys(i).map(function(a){return{key:a.endsWith("/")?cm(a):a,editable:!1,value:Ou(function(){return i[a]})}})}return o}function ZS(e){var t={};return Object.keys(e).forEach(function(n){var r=n.split("/");if(r.length>1){var o=t,i=r.pop();r.forEach(function(a){o[a]||(o[a]={_custom:{value:{},display:a,tooltip:"Module",abstract:!0}}),o=o[a]._custom.value}),o[i]=Ou(function(){return e[n]})}else t[n]=Ou(function(){return e[n]})}),t}function QS(e,t){var n=t.split("/").filter(function(r){return r});return n.reduce(function(r,o,i){var a=r[o];if(!a)throw new Error('Missing module "'+o+'" for path "'+t+'".');return i===n.length-1?a:a._children},t==="root"?e:e.root._children)}function Ou(e){try{return e()}catch(t){return t}}var Bn=function(t,n){this.runtime=n,this._children=Object.create(null),this._rawModule=t;var r=t.state;this.state=(typeof r=="function"?r():r)||{}},hm={namespaced:{configurable:!0}};hm.namespaced.get=function(){return!!this._rawModule.namespaced};Bn.prototype.addChild=function(t,n){this._children[t]=n};Bn.prototype.removeChild=function(t){delete this._children[t]};Bn.prototype.getChild=function(t){return this._children[t]};Bn.prototype.hasChild=function(t){return t in this._children};Bn.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};Bn.prototype.forEachChild=function(t){la(this._children,t)};Bn.prototype.forEachGetter=function(t){this._rawModule.getters&&la(this._rawModule.getters,t)};Bn.prototype.forEachAction=function(t){this._rawModule.actions&&la(this._rawModule.actions,t)};Bn.prototype.forEachMutation=function(t){this._rawModule.mutations&&la(this._rawModule.mutations,t)};Object.defineProperties(Bn.prototype,hm);var vo=function(t){this.register([],t,!1)};vo.prototype.get=function(t){return t.reduce(function(n,r){return n.getChild(r)},this.root)};vo.prototype.getNamespace=function(t){var n=this.root;return t.reduce(function(r,o){return n=n.getChild(o),r+(n.namespaced?o+"/":"")},"")};vo.prototype.update=function(t){pm([],this.root,t)};vo.prototype.register=function(t,n,r){var o=this;r===void 0&&(r=!0);var i=new Bn(n,r);if(t.length===0)this.root=i;else{var a=this.get(t.slice(0,-1));a.addChild(t[t.length-1],i)}n.modules&&la(n.modules,function(s,l){o.register(t.concat(l),s,r)})};vo.prototype.unregister=function(t){var n=this.get(t.slice(0,-1)),r=t[t.length-1],o=n.getChild(r);!o||!o.runtime||n.removeChild(r)};vo.prototype.isRegistered=function(t){var n=this.get(t.slice(0,-1)),r=t[t.length-1];return n?n.hasChild(r):!1};function pm(e,t,n){if(t.update(n),n.modules)for(var r in n.modules){if(!t.getChild(r))return;pm(e.concat(r),t.getChild(r),n.modules[r])}}function xF(e){return new on(e)}var on=function(t){var n=this;t===void 0&&(t={});var r=t.plugins;r===void 0&&(r=[]);var o=t.strict;o===void 0&&(o=!1);var i=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new vo(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=i;var a=this,s=this,l=s.dispatch,u=s.commit;this.dispatch=function(f,h){return l.call(a,f,h)},this.commit=function(f,h,p){return u.call(a,f,h,p)},this.strict=o;var c=this._modules.root.state;Js(this,c,[],this._modules.root),Ic(this,c),r.forEach(function(d){return d(n)})},Lc={state:{configurable:!0}};on.prototype.install=function(t,n){t.provide(n||jS,this),t.config.globalProperties.$store=this;var r=this._devtools!==void 0?this._devtools:!1;r&&zS(t,this)};Lc.state.get=function(){return this._state.data};Lc.state.set=function(e){};on.prototype.commit=function(t,n,r){var o=this,i=ys(t,n,r),a=i.type,s=i.payload,l={type:a,payload:s},u=this._mutations[a];!u||(this._withCommit(function(){u.forEach(function(d){d(s)})}),this._subscribers.slice().forEach(function(c){return c(l,o.state)}))};on.prototype.dispatch=function(t,n){var r=this,o=ys(t,n),i=o.type,a=o.payload,s={type:i,payload:a},l=this._actions[i];if(!!l){try{this._actionSubscribers.slice().filter(function(c){return c.before}).forEach(function(c){return c.before(s,r.state)})}catch{}var u=l.length>1?Promise.all(l.map(function(c){return c(a)})):l[0](a);return new Promise(function(c,d){u.then(function(f){try{r._actionSubscribers.filter(function(h){return h.after}).forEach(function(h){return h.after(s,r.state)})}catch{}c(f)},function(f){try{r._actionSubscribers.filter(function(h){return h.error}).forEach(function(h){return h.error(s,r.state,f)})}catch{}d(f)})})}};on.prototype.subscribe=function(t,n){return im(t,this._subscribers,n)};on.prototype.subscribeAction=function(t,n){var r=typeof t=="function"?{before:t}:t;return im(r,this._actionSubscribers,n)};on.prototype.watch=function(t,n,r){var o=this;return Pt(function(){return t(o.state,o.getters)},n,Object.assign({},r))};on.prototype.replaceState=function(t){var n=this;this._withCommit(function(){n._state.data=t})};on.prototype.registerModule=function(t,n,r){r===void 0&&(r={}),typeof t=="string"&&(t=[t]),this._modules.register(t,n),Js(this,this.state,t,this._modules.get(t),r.preserveState),Ic(this,this.state)};on.prototype.unregisterModule=function(t){var n=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var r=Nc(n.state,t.slice(0,-1));delete r[t[t.length-1]]}),sm(this)};on.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};on.prototype.hotUpdate=function(t){this._modules.update(t),sm(this,!0)};on.prototype._withCommit=function(t){var n=this._committing;this._committing=!0,t(),this._committing=n};Object.defineProperties(on.prototype,Lc);/*!
+ * vue-router v4.0.14
+ * (c) 2022 Eduardo San Martin Morote
+ * @license MIT
+ */const mm=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",ua=e=>mm?Symbol(e):"_vr_"+e,qS=ua("rvlm"),gd=ua("rvd"),jc=ua("r"),vm=ua("rl"),Cu=ua("rvl"),ko=typeof window!="undefined";function eE(e){return e.__esModule||mm&&e[Symbol.toStringTag]==="Module"}const ut=Object.assign;function Rl(e,t){const n={};for(const r in t){const o=t[r];n[r]=Array.isArray(o)?o.map(e):e(o)}return n}const Ua=()=>{},tE=/\/$/,nE=e=>e.replace(tE,"");function Il(e,t,n="/"){let r,o={},i="",a="";const s=t.indexOf("?"),l=t.indexOf("#",s>-1?s:0);return s>-1&&(r=t.slice(0,s),i=t.slice(s+1,l>-1?l:t.length),o=e(i)),l>-1&&(r=r||t.slice(0,l),a=t.slice(l,t.length)),r=iE(r!=null?r:t,n),{fullPath:r+(i&&"?")+i+a,path:r,query:o,hash:a}}function rE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function yd(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function oE(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&ra(t.matched[r],n.matched[o])&&gm(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ra(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function gm(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!aE(e[n],t[n]))return!1;return!0}function aE(e,t){return Array.isArray(e)?bd(e,t):Array.isArray(t)?bd(t,e):e===t}function bd(e,t){return Array.isArray(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function iE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let o=n.length-1,i,a;for(i=0;i({left:window.pageXOffset,top:window.pageYOffset});function fE(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=cE(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Sd(e,t){return(history.state?history.state.position-t:-1)+e}const Du=new Map;function dE(e,t){Du.set(e,t)}function hE(e){const t=Du.get(e);return Du.delete(e),t}let pE=()=>location.protocol+"//"+location.host;function ym(e,t){const{pathname:n,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let s=o.includes(e.slice(i))?e.slice(i).length:1,l=o.slice(s);return l[0]!=="/"&&(l="/"+l),yd(l,"")}return yd(n,e)+r+o}function mE(e,t,n,r){let o=[],i=[],a=null;const s=({state:f})=>{const h=ym(e,location),p=n.value,m=t.value;let g=0;if(f){if(n.value=h,t.value=f,a&&a===p){a=null;return}g=m?f.position-m.position:0}else r(h);o.forEach(y=>{y(n.value,p,{delta:g,type:ni.pop,direction:g?g>0?$a.forward:$a.back:$a.unknown})})};function l(){a=n.value}function u(f){o.push(f);const h=()=>{const p=o.indexOf(f);p>-1&&o.splice(p,1)};return i.push(h),h}function c(){const{history:f}=window;!f.state||f.replaceState(ut({},f.state,{scroll:Zs()}),"")}function d(){for(const f of i)f();i=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",c),{pauseListeners:l,listen:u,destroy:d}}function Ed(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Zs():null}}function vE(e){const{history:t,location:n}=window,r={value:ym(e,n)},o={value:t.state};o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,u,c){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:pE()+e+l;try{t[c?"replaceState":"pushState"](u,"",f),o.value=u}catch(h){console.error(h),n[c?"replace":"assign"](f)}}function a(l,u){const c=ut({},t.state,Ed(o.value.back,l,o.value.forward,!0),u,{position:o.value.position});i(l,c,!0),r.value=l}function s(l,u){const c=ut({},o.value,t.state,{forward:l,scroll:Zs()});i(c.current,c,!0);const d=ut({},Ed(r.value,l,null),{position:c.position+1},u);i(l,d,!1),r.value=l}return{location:r,state:o,push:s,replace:a}}function gE(e){e=sE(e);const t=vE(e),n=mE(e,t.state,t.location,t.replace);function r(i,a=!0){a||n.pauseListeners(),history.go(i)}const o=ut({location:"",base:e,go:r,createHref:uE.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function OF(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),gE(e)}function yE(e){return typeof e=="string"||e&&typeof e=="object"}function bm(e){return typeof e=="string"||typeof e=="symbol"}const xr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Sm=ua("nf");var wd;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(wd||(wd={}));function oa(e,t){return ut(new Error,{type:e,[Sm]:!0},t)}function Or(e,t){return e instanceof Error&&Sm in e&&(t==null||!!(e.type&t))}const xd="[^/]+?",bE={sensitive:!1,strict:!1,start:!0,end:!0},SE=/[.+*?^${}()[\]/\\]/g;function EE(e,t){const n=ut({},bE,t),r=[];let o=n.start?"^":"";const i=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===40+40?1:-1:0}function xE(e,t){let n=0;const r=e.score,o=t.score;for(;n1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function f(){u+=l}for(;s{a(b)}:Ua}function a(c){if(bm(c)){const d=r.get(c);d&&(r.delete(c),n.splice(n.indexOf(d),1),d.children.forEach(a),d.alias.forEach(a))}else{const d=n.indexOf(c);d>-1&&(n.splice(d,1),c.record.name&&r.delete(c.record.name),c.children.forEach(a),c.alias.forEach(a))}}function s(){return n}function l(c){let d=0;for(;d=0&&(c.record.path!==n[d].record.path||!Em(c,n[d]));)d++;n.splice(d,0,c),c.record.name&&!Od(c)&&r.set(c.record.name,c)}function u(c,d){let f,h={},p,m;if("name"in c&&c.name){if(f=r.get(c.name),!f)throw oa(1,{location:c});m=f.record.name,h=ut(FE(d.params,f.keys.filter(b=>!b.optional).map(b=>b.name)),c.params),p=f.stringify(h)}else if("path"in c)p=c.path,f=n.find(b=>b.re.test(p)),f&&(h=f.parse(p),m=f.record.name);else{if(f=d.name?r.get(d.name):n.find(b=>b.re.test(d.path)),!f)throw oa(1,{location:c,currentLocation:d});m=f.record.name,h=ut({},d.params,c.params),p=f.stringify(h)}const g=[];let y=f;for(;y;)g.unshift(y.record),y=y.parent;return{name:m,path:p,params:h,matched:g,meta:RE(g)}}return e.forEach(c=>i(c)),{addRoute:i,resolve:u,removeRoute:a,getRoutes:s,getRecordMatcher:o}}function FE(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function PE(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:ME(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||{}:{default:e.component}}}function ME(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="boolean"?n:n[r];return t}function Od(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function RE(e){return e.reduce((t,n)=>ut(t,n.meta),{})}function Cd(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Em(e,t){return t.children.some(n=>n===e||Em(e,n))}const wm=/#/g,IE=/&/g,NE=/\//g,LE=/=/g,jE=/\?/g,xm=/\+/g,kE=/%5B/g,BE=/%5D/g,Om=/%5E/g,UE=/%60/g,Cm=/%7B/g,$E=/%7C/g,Dm=/%7D/g,_E=/%20/g;function kc(e){return encodeURI(""+e).replace($E,"|").replace(kE,"[").replace(BE,"]")}function VE(e){return kc(e).replace(Cm,"{").replace(Dm,"}").replace(Om,"^")}function Au(e){return kc(e).replace(xm,"%2B").replace(_E,"+").replace(wm,"%23").replace(IE,"%26").replace(UE,"`").replace(Cm,"{").replace(Dm,"}").replace(Om,"^")}function HE(e){return Au(e).replace(LE,"%3D")}function YE(e){return kc(e).replace(wm,"%23").replace(jE,"%3F")}function WE(e){return e==null?"":YE(e).replace(NE,"%2F")}function bs(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function GE(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;oi&&Au(i)):[r&&Au(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function zE(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Array.isArray(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}function va(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function Ar(e,t,n,r,o){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,s)=>{const l=d=>{d===!1?s(oa(4,{from:n,to:t})):d instanceof Error?s(d):yE(d)?s(oa(2,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),a())},u=e.call(r&&r.instances[o],t,n,l);let c=Promise.resolve(u);e.length<3&&(c=c.then(l)),c.catch(d=>s(d))})}function Nl(e,t,n,r){const o=[];for(const i of e)for(const a in i.components){let s=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(KE(s)){const u=(s.__vccOpts||s)[t];u&&o.push(Ar(u,n,r,i,a))}else{let l=s();o.push(()=>l.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const c=eE(u)?u.default:u;i.components[a]=c;const f=(c.__vccOpts||c)[t];return f&&Ar(f,n,r,i,a)()}))}}return o}function KE(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ad(e){const t=zn(jc),n=zn(vm),r=Lt(()=>t.resolve(Go(e.to))),o=Lt(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],d=n.matched;if(!c||!d.length)return-1;const f=d.findIndex(ra.bind(null,c));if(f>-1)return f;const h=Td(l[u-2]);return u>1&&Td(c)===h&&d[d.length-1].path!==h?d.findIndex(ra.bind(null,l[u-2])):f}),i=Lt(()=>o.value>-1&&QE(n.params,r.value.params)),a=Lt(()=>o.value>-1&&o.value===n.matched.length-1&&gm(n.params,r.value.params));function s(l={}){return ZE(l)?t[Go(e.replace)?"replace":"push"](Go(e.to)).catch(Ua):Promise.resolve()}return{route:r,href:Lt(()=>r.value.href),isActive:i,isExactActive:a,navigate:s}}const XE=hi({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ad,setup(e,{slots:t}){const n=po(Ad(e)),{options:r}=zn(jc),o=Lt(()=>({[Fd(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Fd(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:Ks("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},i)}}}),JE=XE;function ZE(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function QE(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!Array.isArray(o)||o.length!==r.length||r.some((i,a)=>i!==o[a]))return!1}return!0}function Td(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Fd=(e,t,n)=>e!=null?e:t!=null?t:n,qE=hi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},setup(e,{attrs:t,slots:n}){const r=zn(Cu),o=Lt(()=>e.route||r.value),i=zn(gd,0),a=Lt(()=>o.value.matched[i]);La(gd,i+1),La(qS,a),La(Cu,o);const s=sr();return Pt(()=>[s.value,a.value,e.name],([l,u,c],[d,f,h])=>{u&&(u.instances[c]=l,f&&f!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),l&&u&&(!f||!ra(u,f)||!d)&&(u.enterCallbacks[c]||[]).forEach(p=>p(l))},{flush:"post"}),()=>{const l=o.value,u=a.value,c=u&&u.components[e.name],d=e.name;if(!c)return Pd(n.default,{Component:c,route:l});const f=u.props[e.name],h=f?f===!0?l.params:typeof f=="function"?f(l):f:null,m=Ks(c,ut({},h,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(u.instances[d]=null)},ref:s}));return Pd(n.default,{Component:m,route:l})||m}}});function Pd(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const e1=qE;function CF(e){const t=TE(e.routes,e),n=e.parseQuery||GE,r=e.stringifyQuery||Dd,o=e.history,i=va(),a=va(),s=va(),l=Wh(xr);let u=xr;ko&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Rl.bind(null,k=>""+k),d=Rl.bind(null,WE),f=Rl.bind(null,bs);function h(k,ee){let F,A;return bm(k)?(F=t.getRecordMatcher(k),A=ee):A=k,t.addRoute(A,F)}function p(k){const ee=t.getRecordMatcher(k);ee&&t.removeRoute(ee)}function m(){return t.getRoutes().map(k=>k.record)}function g(k){return!!t.getRecordMatcher(k)}function y(k,ee){if(ee=ut({},ee||l.value),typeof k=="string"){const ye=Il(n,k,ee.path),w=t.resolve({path:ye.path},ee),R=o.createHref(ye.fullPath);return ut(ye,w,{params:f(w.params),hash:bs(ye.hash),redirectedFrom:void 0,href:R})}let F;if("path"in k)F=ut({},k,{path:Il(n,k.path,ee.path).path});else{const ye=ut({},k.params);for(const w in ye)ye[w]==null&&delete ye[w];F=ut({},k,{params:d(k.params)}),ee.params=d(ee.params)}const A=t.resolve(F,ee),W=k.hash||"";A.params=c(f(A.params));const ue=rE(r,ut({},k,{hash:VE(W),path:A.path})),ce=o.createHref(ue);return ut({fullPath:ue,hash:W,query:r===Dd?zE(k.query):k.query||{}},A,{redirectedFrom:void 0,href:ce})}function b(k){return typeof k=="string"?Il(n,k,l.value.path):ut({},k)}function E(k,ee){if(u!==k)return oa(8,{from:ee,to:k})}function x(k){return M(k)}function O(k){return x(ut(b(k),{replace:!0}))}function C(k){const ee=k.matched[k.matched.length-1];if(ee&&ee.redirect){const{redirect:F}=ee;let A=typeof F=="function"?F(k):F;return typeof A=="string"&&(A=A.includes("?")||A.includes("#")?A=b(A):{path:A},A.params={}),ut({query:k.query,hash:k.hash,params:k.params},A)}}function M(k,ee){const F=u=y(k),A=l.value,W=k.state,ue=k.force,ce=k.replace===!0,ye=C(F);if(ye)return M(ut(b(ye),{state:W,force:ue,replace:ce}),ee||F);const w=F;w.redirectedFrom=ee;let R;return!ue&&oE(r,A,F)&&(R=oa(16,{to:w,from:A}),Ie(A,A,!0,!1)),(R?Promise.resolve(R):D(w,A)).catch(_=>Or(_)?Or(_,2)?_:Te(_):ae(_,w,A)).then(_=>{if(_){if(Or(_,2))return M(ut(b(_.to),{state:W,force:ue,replace:ce}),ee||w)}else _=$(w,A,!0,ce,W);return N(w,A,_),_})}function L(k,ee){const F=E(k,ee);return F?Promise.reject(F):Promise.resolve()}function D(k,ee){let F;const[A,W,ue]=t1(k,ee);F=Nl(A.reverse(),"beforeRouteLeave",k,ee);for(const ye of A)ye.leaveGuards.forEach(w=>{F.push(Ar(w,k,ee))});const ce=L.bind(null,k,ee);return F.push(ce),Ao(F).then(()=>{F=[];for(const ye of i.list())F.push(Ar(ye,k,ee));return F.push(ce),Ao(F)}).then(()=>{F=Nl(W,"beforeRouteUpdate",k,ee);for(const ye of W)ye.updateGuards.forEach(w=>{F.push(Ar(w,k,ee))});return F.push(ce),Ao(F)}).then(()=>{F=[];for(const ye of k.matched)if(ye.beforeEnter&&!ee.matched.includes(ye))if(Array.isArray(ye.beforeEnter))for(const w of ye.beforeEnter)F.push(Ar(w,k,ee));else F.push(Ar(ye.beforeEnter,k,ee));return F.push(ce),Ao(F)}).then(()=>(k.matched.forEach(ye=>ye.enterCallbacks={}),F=Nl(ue,"beforeRouteEnter",k,ee),F.push(ce),Ao(F))).then(()=>{F=[];for(const ye of a.list())F.push(Ar(ye,k,ee));return F.push(ce),Ao(F)}).catch(ye=>Or(ye,8)?ye:Promise.reject(ye))}function N(k,ee,F){for(const A of s.list())A(k,ee,F)}function $(k,ee,F,A,W){const ue=E(k,ee);if(ue)return ue;const ce=ee===xr,ye=ko?history.state:{};F&&(A||ce?o.replace(k.fullPath,ut({scroll:ce&&ye&&ye.scroll},W)):o.push(k.fullPath,W)),l.value=k,Ie(k,ee,F,ce),Te()}let P;function j(){P=o.listen((k,ee,F)=>{const A=y(k),W=C(A);if(W){M(ut(W,{replace:!0}),A).catch(Ua);return}u=A;const ue=l.value;ko&&dE(Sd(ue.fullPath,F.delta),Zs()),D(A,ue).catch(ce=>Or(ce,12)?ce:Or(ce,2)?(M(ce.to,A).then(ye=>{Or(ye,20)&&!F.delta&&F.type===ni.pop&&o.go(-1,!1)}).catch(Ua),Promise.reject()):(F.delta&&o.go(-F.delta,!1),ae(ce,A,ue))).then(ce=>{ce=ce||$(A,ue,!1),ce&&(F.delta?o.go(-F.delta,!1):F.type===ni.pop&&Or(ce,20)&&o.go(-1,!1)),N(A,ue,ce)}).catch(Ua)})}let V=va(),re=va(),Z;function ae(k,ee,F){Te(k);const A=re.list();return A.length?A.forEach(W=>W(k,ee,F)):console.error(k),Promise.reject(k)}function me(){return Z&&l.value!==xr?Promise.resolve():new Promise((k,ee)=>{V.add([k,ee])})}function Te(k){return Z||(Z=!k,j(),V.list().forEach(([ee,F])=>k?F(k):ee()),V.reset()),k}function Ie(k,ee,F,A){const{scrollBehavior:W}=e;if(!ko||!W)return Promise.resolve();const ue=!F&&hE(Sd(k.fullPath,0))||(A||!F)&&history.state&&history.state.scroll||null;return _s().then(()=>W(k,ee,ue)).then(ce=>ce&&fE(ce)).catch(ce=>ae(ce,k,ee))}const de=k=>o.go(k);let H;const se=new Set;return{currentRoute:l,addRoute:h,removeRoute:p,hasRoute:g,getRoutes:m,resolve:y,options:e,push:x,replace:O,go:de,back:()=>de(-1),forward:()=>de(1),beforeEach:i.add,beforeResolve:a.add,afterEach:s.add,onError:re.add,isReady:me,install(k){const ee=this;k.component("RouterLink",JE),k.component("RouterView",e1),k.config.globalProperties.$router=ee,Object.defineProperty(k.config.globalProperties,"$route",{enumerable:!0,get:()=>Go(l)}),ko&&!H&&l.value===xr&&(H=!0,x(o.location).catch(W=>{}));const F={};for(const W in xr)F[W]=Lt(()=>l.value[W]);k.provide(jc,ee),k.provide(vm,po(F)),k.provide(Cu,l);const A=k.unmount;se.add(k),k.unmount=function(){se.delete(k),se.size<1&&(u=xr,P&&P(),l.value=xr,H=!1,Z=!1),A()}}}}function Ao(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function t1(e,t){const n=[],r=[],o=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;ara(u,s))?r.push(s):n.push(s));const l=e.matched[a];l&&(t.matched.find(u=>ra(u,l))||o.push(l))}return[n,r,o]}var $t=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Am(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Tm(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}),t}var Bc={exports:{}},Fm=function(t,n){return function(){for(var o=new Array(arguments.length),i=0;i=0)return;r==="set-cookie"?n[r]=(n[r]?n[r]:[]).concat([o]):n[r]=n[r]?n[r]+", "+o:o}}),n},Rd=an,R1=Rd.isStandardBrowserEnv()?function(){var t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a"),r;function o(i){var a=i;return t&&(n.setAttribute("href",a),a=n.href),n.setAttribute("href",a),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=o(window.location.href),function(a){var s=Rd.isString(a)?o(a):a;return s.protocol===r.protocol&&s.host===r.host}}():function(){return function(){return!0}}();function _c(e){this.message=e}_c.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")};_c.prototype.__CANCEL__=!0;var qs=_c,_i=an,I1=x1,N1=O1,L1=Im,j1=F1,k1=M1,B1=R1,jl=jm,U1=Lm,$1=qs,Id=function(t){return new Promise(function(r,o){var i=t.data,a=t.headers,s=t.responseType,l;function u(){t.cancelToken&&t.cancelToken.unsubscribe(l),t.signal&&t.signal.removeEventListener("abort",l)}_i.isFormData(i)&&delete a["Content-Type"];var c=new XMLHttpRequest;if(t.auth){var d=t.auth.username||"",f=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";a.Authorization="Basic "+btoa(d+":"+f)}var h=j1(t.baseURL,t.url);c.open(t.method.toUpperCase(),L1(h,t.params,t.paramsSerializer),!0),c.timeout=t.timeout;function p(){if(!!c){var g="getAllResponseHeaders"in c?k1(c.getAllResponseHeaders()):null,y=!s||s==="text"||s==="json"?c.responseText:c.response,b={data:y,status:c.status,statusText:c.statusText,headers:g,config:t,request:c};I1(function(x){r(x),u()},function(x){o(x),u()},b),c=null}}if("onloadend"in c?c.onloadend=p:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(p)},c.onabort=function(){!c||(o(jl("Request aborted",t,"ECONNABORTED",c)),c=null)},c.onerror=function(){o(jl("Network Error",t,null,c)),c=null},c.ontimeout=function(){var y=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",b=t.transitional||U1;t.timeoutErrorMessage&&(y=t.timeoutErrorMessage),o(jl(y,t,b.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",c)),c=null},_i.isStandardBrowserEnv()){var m=(t.withCredentials||B1(h))&&t.xsrfCookieName?N1.read(t.xsrfCookieName):void 0;m&&(a[t.xsrfHeaderName]=m)}"setRequestHeader"in c&&_i.forEach(a,function(y,b){typeof i=="undefined"&&b.toLowerCase()==="content-type"?delete a[b]:c.setRequestHeader(b,y)}),_i.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),s&&s!=="json"&&(c.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&c.addEventListener("progress",t.onDownloadProgress),typeof t.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(l=function(g){!c||(o(!g||g&&g.type?new $1("canceled"):g),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(l),t.signal&&(t.signal.aborted?l():t.signal.addEventListener("abort",l))),i||(i=null),c.send(i)})},Bt=an,Nd=S1,_1=Nm,V1=Lm,H1={"Content-Type":"application/x-www-form-urlencoded"};function Ld(e,t){!Bt.isUndefined(e)&&Bt.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function Y1(){var e;return(typeof XMLHttpRequest!="undefined"||typeof process!="undefined"&&Object.prototype.toString.call(process)==="[object process]")&&(e=Id),e}function W1(e,t,n){if(Bt.isString(e))try{return(t||JSON.parse)(e),Bt.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}var el={transitional:V1,adapter:Y1(),transformRequest:[function(t,n){return Nd(n,"Accept"),Nd(n,"Content-Type"),Bt.isFormData(t)||Bt.isArrayBuffer(t)||Bt.isBuffer(t)||Bt.isStream(t)||Bt.isFile(t)||Bt.isBlob(t)?t:Bt.isArrayBufferView(t)?t.buffer:Bt.isURLSearchParams(t)?(Ld(n,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):Bt.isObject(t)||n&&n["Content-Type"]==="application/json"?(Ld(n,"application/json"),W1(t)):t}],transformResponse:[function(t){var n=this.transitional||el.transitional,r=n&&n.silentJSONParsing,o=n&&n.forcedJSONParsing,i=!r&&this.responseType==="json";if(i||o&&Bt.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(i)throw a.name==="SyntaxError"?_1(a,this,"E_JSON_PARSE"):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};Bt.forEach(["delete","get","head"],function(t){el.headers[t]={}});Bt.forEach(["post","put","patch"],function(t){el.headers[t]=Bt.merge(H1)});var Vc=el,G1=an,z1=Vc,K1=function(t,n,r){var o=this||z1;return G1.forEach(r,function(a){t=a.call(o,t,n)}),t},km=function(t){return!!(t&&t.__CANCEL__)},jd=an,kl=K1,X1=km,J1=Vc,Z1=qs;function Bl(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Z1("canceled")}var Q1=function(t){Bl(t),t.headers=t.headers||{},t.data=kl.call(t,t.data,t.headers,t.transformRequest),t.headers=jd.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),jd.forEach(["delete","get","head","post","put","patch","common"],function(o){delete t.headers[o]});var n=t.adapter||J1.adapter;return n(t).then(function(o){return Bl(t),o.data=kl.call(t,o.data,o.headers,t.transformResponse),o},function(o){return X1(o)||(Bl(t),o&&o.response&&(o.response.data=kl.call(t,o.response.data,o.response.headers,t.transformResponse))),Promise.reject(o)})},un=an,Bm=function(t,n){n=n||{};var r={};function o(c,d){return un.isPlainObject(c)&&un.isPlainObject(d)?un.merge(c,d):un.isPlainObject(d)?un.merge({},d):un.isArray(d)?d.slice():d}function i(c){if(un.isUndefined(n[c])){if(!un.isUndefined(t[c]))return o(void 0,t[c])}else return o(t[c],n[c])}function a(c){if(!un.isUndefined(n[c]))return o(void 0,n[c])}function s(c){if(un.isUndefined(n[c])){if(!un.isUndefined(t[c]))return o(void 0,t[c])}else return o(void 0,n[c])}function l(c){if(c in n)return o(t[c],n[c]);if(c in t)return o(void 0,t[c])}var u={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return un.forEach(Object.keys(t).concat(Object.keys(n)),function(d){var f=u[d]||i,h=f(d);un.isUndefined(h)&&f!==l||(r[d]=h)}),r},Um={version:"0.26.1"},q1=Um.version,Hc={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){Hc[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});var kd={};Hc.transitional=function(t,n,r){function o(i,a){return"[Axios v"+q1+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return function(i,a,s){if(t===!1)throw new Error(o(a," has been removed"+(n?" in "+n:"")));return n&&!kd[a]&&(kd[a]=!0,console.warn(o(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,s):!0}};function ew(e,t,n){if(typeof e!="object")throw new TypeError("options must be an object");for(var r=Object.keys(e),o=r.length;o-- >0;){var i=r[o],a=t[i];if(a){var s=e[i],l=s===void 0||a(s,i,e);if(l!==!0)throw new TypeError("option "+i+" must be "+l);continue}if(n!==!0)throw Error("Unknown option "+i)}}var tw={assertOptions:ew,validators:Hc},$m=an,nw=Im,Bd=y1,Ud=Q1,tl=Bm,_m=tw,Fo=_m.validators;function gi(e){this.defaults=e,this.interceptors={request:new Bd,response:new Bd}}gi.prototype.request=function(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=tl(this.defaults,n),n.method?n.method=n.method.toLowerCase():this.defaults.method?n.method=this.defaults.method.toLowerCase():n.method="get";var r=n.transitional;r!==void 0&&_m.assertOptions(r,{silentJSONParsing:Fo.transitional(Fo.boolean),forcedJSONParsing:Fo.transitional(Fo.boolean),clarifyTimeoutError:Fo.transitional(Fo.boolean)},!1);var o=[],i=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(i=i&&h.synchronous,o.unshift(h.fulfilled,h.rejected))});var a=[];this.interceptors.response.forEach(function(h){a.push(h.fulfilled,h.rejected)});var s;if(!i){var l=[Ud,void 0];for(Array.prototype.unshift.apply(l,o),l=l.concat(a),s=Promise.resolve(n);l.length;)s=s.then(l.shift(),l.shift());return s}for(var u=n;o.length;){var c=o.shift(),d=o.shift();try{u=c(u)}catch(f){d(f);break}}try{s=Ud(u)}catch(f){return Promise.reject(f)}for(;a.length;)s=s.then(a.shift(),a.shift());return s};gi.prototype.getUri=function(t){return t=tl(this.defaults,t),nw(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")};$m.forEach(["delete","get","head","options"],function(t){gi.prototype[t]=function(n,r){return this.request(tl(r||{},{method:t,url:n,data:(r||{}).data}))}});$m.forEach(["post","put","patch"],function(t){gi.prototype[t]=function(n,r,o){return this.request(tl(o||{},{method:t,url:n,data:r}))}});var rw=gi,ow=qs;function aa(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(o){t=o});var n=this;this.promise.then(function(r){if(!!n._listeners){var o,i=n._listeners.length;for(o=0;o0&&(p=p.substring(0,p.length-1),f=f+"?"+p),f},u=function(f,h){var p=new XMLHttpRequest,m=function(g,y){function b(C){g&&g(C),h&&h(null,C)}function E(){y&&y(p),h&&h(p,null)}var x=f.type||"GET";if(p.open(x,l(f.url,f.params)),r&&p.setRequestHeader("Authorization","Bearer "+r),p.onreadystatechange=function(){if(p.readyState===4){var C=null;try{C=p.responseText?JSON.parse(p.responseText):""}catch(M){console.error(M)}p.status>=200&&p.status<300?b(C):E()}},x==="GET")p.send(null);else{var O=null;f.postData&&(f.contentType==="image/jpeg"?(O=f.postData,p.setRequestHeader("Content-Type",f.contentType)):(O=JSON.stringify(f.postData),p.setRequestHeader("Content-Type","application/json"))),p.send(O)}};return h?(m(),null):a(m,function(){p.abort()})},c=function(f,h,p,m){var g={},y=null;typeof h=="object"?(g=h,y=p):typeof h=="function"&&(y=h);var b=f.type||"GET";return b!=="GET"&&f.postData&&!m?f.postData=s(f.postData,g):f.params=s(f.params,g),u(f,y)},d=function(){};return d.prototype={constructor:t},d.prototype.getGeneric=function(f,h){var p={url:f};return c(p,h)},d.prototype.getMe=function(f,h){var p={url:n+"/me"};return c(p,f,h)},d.prototype.getMySavedTracks=function(f,h){var p={url:n+"/me/tracks"};return c(p,f,h)},d.prototype.addToMySavedTracks=function(f,h,p){var m={url:n+"/me/tracks",type:"PUT",postData:f};return c(m,h,p)},d.prototype.removeFromMySavedTracks=function(f,h,p){var m={url:n+"/me/tracks",type:"DELETE",postData:f};return c(m,h,p)},d.prototype.containsMySavedTracks=function(f,h,p){var m={url:n+"/me/tracks/contains",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getMySavedAlbums=function(f,h){var p={url:n+"/me/albums"};return c(p,f,h)},d.prototype.addToMySavedAlbums=function(f,h,p){var m={url:n+"/me/albums",type:"PUT",postData:f};return c(m,h,p)},d.prototype.removeFromMySavedAlbums=function(f,h,p){var m={url:n+"/me/albums",type:"DELETE",postData:f};return c(m,h,p)},d.prototype.containsMySavedAlbums=function(f,h,p){var m={url:n+"/me/albums/contains",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getMyTopArtists=function(f,h){var p={url:n+"/me/top/artists"};return c(p,f,h)},d.prototype.getMyTopTracks=function(f,h){var p={url:n+"/me/top/tracks"};return c(p,f,h)},d.prototype.getMyRecentlyPlayedTracks=function(f,h){var p={url:n+"/me/player/recently-played"};return c(p,f,h)},d.prototype.followUsers=function(f,h){var p={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"user"}};return c(p,h)},d.prototype.followArtists=function(f,h){var p={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"artist"}};return c(p,h)},d.prototype.followPlaylist=function(f,h,p){var m={url:n+"/playlists/"+f+"/followers",type:"PUT",postData:{}};return c(m,h,p)},d.prototype.unfollowUsers=function(f,h){var p={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"user"}};return c(p,h)},d.prototype.unfollowArtists=function(f,h){var p={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"artist"}};return c(p,h)},d.prototype.unfollowPlaylist=function(f,h){var p={url:n+"/playlists/"+f+"/followers",type:"DELETE"};return c(p,h)},d.prototype.isFollowingUsers=function(f,h){var p={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"user"}};return c(p,h)},d.prototype.isFollowingArtists=function(f,h){var p={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"artist"}};return c(p,h)},d.prototype.areFollowingPlaylist=function(f,h,p){var m={url:n+"/playlists/"+f+"/followers/contains",type:"GET",params:{ids:h.join(",")}};return c(m,p)},d.prototype.getFollowedArtists=function(f,h){var p={url:n+"/me/following",type:"GET",params:{type:"artist"}};return c(p,f,h)},d.prototype.getUser=function(f,h,p){var m={url:n+"/users/"+encodeURIComponent(f)};return c(m,h,p)},d.prototype.getUserPlaylists=function(f,h,p){var m;return typeof f=="string"?m={url:n+"/users/"+encodeURIComponent(f)+"/playlists"}:(m={url:n+"/me/playlists"},p=h,h=f),c(m,h,p)},d.prototype.getPlaylist=function(f,h,p){var m={url:n+"/playlists/"+f};return c(m,h,p)},d.prototype.getPlaylistTracks=function(f,h,p){var m={url:n+"/playlists/"+f+"/tracks"};return c(m,h,p)},d.prototype.getPlaylistCoverImage=function(f,h){var p={url:n+"/playlists/"+f+"/images"};return c(p,h)},d.prototype.createPlaylist=function(f,h,p){var m={url:n+"/users/"+encodeURIComponent(f)+"/playlists",type:"POST",postData:h};return c(m,h,p)},d.prototype.changePlaylistDetails=function(f,h,p){var m={url:n+"/playlists/"+f,type:"PUT",postData:h};return c(m,h,p)},d.prototype.addTracksToPlaylist=function(f,h,p,m){var g={url:n+"/playlists/"+f+"/tracks",type:"POST",postData:{uris:h}};return c(g,p,m,!0)},d.prototype.replaceTracksInPlaylist=function(f,h,p){var m={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{uris:h}};return c(m,{},p)},d.prototype.reorderTracksInPlaylist=function(f,h,p,m,g){var y={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{range_start:h,insert_before:p}};return c(y,m,g)},d.prototype.removeTracksFromPlaylist=function(f,h,p){var m=h.map(function(y){return typeof y=="string"?{uri:y}:y}),g={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:m}};return c(g,{},p)},d.prototype.removeTracksFromPlaylistWithSnapshotId=function(f,h,p,m){var g=h.map(function(b){return typeof b=="string"?{uri:b}:b}),y={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:g,snapshot_id:p}};return c(y,{},m)},d.prototype.removeTracksFromPlaylistInPositions=function(f,h,p,m){var g={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{positions:h,snapshot_id:p}};return c(g,{},m)},d.prototype.uploadCustomPlaylistCoverImage=function(f,h,p){var m={url:n+"/playlists/"+f+"/images",type:"PUT",postData:h.replace(/^data:image\/jpeg;base64,/,""),contentType:"image/jpeg"};return c(m,{},p)},d.prototype.getAlbum=function(f,h,p){var m={url:n+"/albums/"+f};return c(m,h,p)},d.prototype.getAlbumTracks=function(f,h,p){var m={url:n+"/albums/"+f+"/tracks"};return c(m,h,p)},d.prototype.getAlbums=function(f,h,p){var m={url:n+"/albums/",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getTrack=function(f,h,p){var m={};return m.url=n+"/tracks/"+f,c(m,h,p)},d.prototype.getTracks=function(f,h,p){var m={url:n+"/tracks/",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getArtist=function(f,h,p){var m={url:n+"/artists/"+f};return c(m,h,p)},d.prototype.getArtists=function(f,h,p){var m={url:n+"/artists/",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getArtistAlbums=function(f,h,p){var m={url:n+"/artists/"+f+"/albums"};return c(m,h,p)},d.prototype.getArtistTopTracks=function(f,h,p,m){var g={url:n+"/artists/"+f+"/top-tracks",params:{country:h}};return c(g,p,m)},d.prototype.getArtistRelatedArtists=function(f,h,p){var m={url:n+"/artists/"+f+"/related-artists"};return c(m,h,p)},d.prototype.getFeaturedPlaylists=function(f,h){var p={url:n+"/browse/featured-playlists"};return c(p,f,h)},d.prototype.getNewReleases=function(f,h){var p={url:n+"/browse/new-releases"};return c(p,f,h)},d.prototype.getCategories=function(f,h){var p={url:n+"/browse/categories"};return c(p,f,h)},d.prototype.getCategory=function(f,h,p){var m={url:n+"/browse/categories/"+f};return c(m,h,p)},d.prototype.getCategoryPlaylists=function(f,h,p){var m={url:n+"/browse/categories/"+f+"/playlists"};return c(m,h,p)},d.prototype.search=function(f,h,p,m){var g={url:n+"/search/",params:{q:f,type:h.join(",")}};return c(g,p,m)},d.prototype.searchAlbums=function(f,h,p){return this.search(f,["album"],h,p)},d.prototype.searchArtists=function(f,h,p){return this.search(f,["artist"],h,p)},d.prototype.searchTracks=function(f,h,p){return this.search(f,["track"],h,p)},d.prototype.searchPlaylists=function(f,h,p){return this.search(f,["playlist"],h,p)},d.prototype.searchShows=function(f,h,p){return this.search(f,["show"],h,p)},d.prototype.searchEpisodes=function(f,h,p){return this.search(f,["episode"],h,p)},d.prototype.getAudioFeaturesForTrack=function(f,h){var p={};return p.url=n+"/audio-features/"+f,c(p,{},h)},d.prototype.getAudioFeaturesForTracks=function(f,h){var p={url:n+"/audio-features",params:{ids:f}};return c(p,{},h)},d.prototype.getAudioAnalysisForTrack=function(f,h){var p={};return p.url=n+"/audio-analysis/"+f,c(p,{},h)},d.prototype.getRecommendations=function(f,h){var p={url:n+"/recommendations"};return c(p,f,h)},d.prototype.getAvailableGenreSeeds=function(f){var h={url:n+"/recommendations/available-genre-seeds"};return c(h,{},f)},d.prototype.getMyDevices=function(f){var h={url:n+"/me/player/devices"};return c(h,{},f)},d.prototype.getMyCurrentPlaybackState=function(f,h){var p={url:n+"/me/player"};return c(p,f,h)},d.prototype.getMyCurrentPlayingTrack=function(f,h){var p={url:n+"/me/player/currently-playing"};return c(p,f,h)},d.prototype.transferMyPlayback=function(f,h,p){var m=h||{};m.device_ids=f;var g={type:"PUT",url:n+"/me/player",postData:m};return c(g,h,p)},d.prototype.play=function(f,h){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,m={};["context_uri","uris","offset","position_ms"].forEach(function(b){b in f&&(m[b]=f[b])});var g={type:"PUT",url:n+"/me/player/play",params:p,postData:m},y=typeof f=="function"?f:{};return c(g,y,h)},d.prototype.queue=function(f,h,p){h=h||{};var m="device_id"in h?{uri:f,device_id:h.device_id}:{uri:f},g={type:"POST",url:n+"/me/player/queue",params:m};return c(g,h,p)},d.prototype.pause=function(f,h){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,m={type:"PUT",url:n+"/me/player/pause",params:p};return c(m,f,h)},d.prototype.skipToNext=function(f,h){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,m={type:"POST",url:n+"/me/player/next",params:p};return c(m,f,h)},d.prototype.skipToPrevious=function(f,h){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,m={type:"POST",url:n+"/me/player/previous",params:p};return c(m,f,h)},d.prototype.seek=function(f,h,p){h=h||{};var m={position_ms:f};"device_id"in h&&(m.device_id=h.device_id);var g={type:"PUT",url:n+"/me/player/seek",params:m};return c(g,h,p)},d.prototype.setRepeat=function(f,h,p){h=h||{};var m={state:f};"device_id"in h&&(m.device_id=h.device_id);var g={type:"PUT",url:n+"/me/player/repeat",params:m};return c(g,h,p)},d.prototype.setVolume=function(f,h,p){h=h||{};var m={volume_percent:f};"device_id"in h&&(m.device_id=h.device_id);var g={type:"PUT",url:n+"/me/player/volume",params:m};return c(g,h,p)},d.prototype.setShuffle=function(f,h,p){h=h||{};var m={state:f};"device_id"in h&&(m.device_id=h.device_id);var g={type:"PUT",url:n+"/me/player/shuffle",params:m};return c(g,h,p)},d.prototype.getShow=function(f,h,p){var m={};return m.url=n+"/shows/"+f,c(m,h,p)},d.prototype.getShows=function(f,h,p){var m={url:n+"/shows/",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getMySavedShows=function(f,h){var p={url:n+"/me/shows"};return c(p,f,h)},d.prototype.addToMySavedShows=function(f,h,p){var m={url:n+"/me/shows",type:"PUT",postData:f};return c(m,h,p)},d.prototype.removeFromMySavedShows=function(f,h,p){var m={url:n+"/me/shows",type:"DELETE",postData:f};return c(m,h,p)},d.prototype.containsMySavedShows=function(f,h,p){var m={url:n+"/me/shows/contains",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getShowEpisodes=function(f,h,p){var m={url:n+"/shows/"+f+"/episodes"};return c(m,h,p)},d.prototype.getEpisode=function(f,h,p){var m={};return m.url=n+"/episodes/"+f,c(m,h,p)},d.prototype.getEpisodes=function(f,h,p){var m={url:n+"/episodes/",params:{ids:f.join(",")}};return c(m,h,p)},d.prototype.getAccessToken=function(){return r},d.prototype.setAccessToken=function(f){r=f},d.prototype.setPromiseImplementation=function(f){var h=!1;try{var p=new f(function(m){m()});typeof p.then=="function"&&typeof p.catch=="function"&&(h=!0)}catch(m){console.error(m)}if(h)o=f;else throw new Error("Unsupported implementation of Promises/A+")},d}();e.exports=t})(Hm);var AF=Hm.exports,Ym={exports:{}},Yc=Tm(AS);/**!
+ * Sortable 1.14.0
+ * @author RubaXa
+ * @author owenm
+ * @license MIT
+ */function _d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Jn(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}function pw(e,t){if(e==null)return{};var n=hw(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function mw(e){return vw(e)||gw(e)||yw(e)||bw()}function vw(e){if(Array.isArray(e))return Pu(e)}function gw(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function yw(e,t){if(!!e){if(typeof e=="string")return Pu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pu(e,t)}}function Pu(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function ww(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function In(e,t,n,r){if(e){n=n||document;do{if(t!=null&&(t[0]===">"?e.parentNode===n&&Ss(e,t):Ss(e,t))||r&&e===n)return e;if(e===n)break}while(e=ww(e))}return null}var Hd=/\s+/g;function gt(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(Hd," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(Hd," ")}}function Le(e,t,n){var r=e&&e.style;if(r){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),t===void 0?n:n[t];!(t in r)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),r[t]=n+(typeof n=="string"?"":"px")}}function so(e,t){var n="";if(typeof e=="string")n=e;else do{var r=Le(e,"transform");r&&r!=="none"&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function zm(e,t,n){if(e){var r=e.getElementsByTagName(t),o=0,i=r.length;if(n)for(;o=i:a=o<=i,!a)return r;if(r===Xn())break;r=Pr(r,!1)}return!1}function ia(e,t,n,r){for(var o=0,i=0,a=e.children;i2&&arguments[2]!==void 0?arguments[2]:{},o=r.evt,i=pw(r,Fw);bi.pluginEvent.bind(_e)(t,n,Jn({dragEl:xe,parentEl:St,ghostEl:ze,rootEl:pt,nextEl:eo,lastDownEl:ts,cloneEl:Et,cloneHidden:Fr,dragStarted:Da,putSortable:jt,activeSortable:_e.active,originalEvent:o,oldIndex:_o,oldDraggableIndex:Ha,newIndex:fn,newDraggableIndex:Tr,hideGhostForTarget:qm,unhideGhostForTarget:ev,cloneNowHidden:function(){Fr=!0},cloneNowShown:function(){Fr=!1},dispatchSortableEvent:function(s){Jt({sortable:n,name:s,originalEvent:o})}},i))};function Jt(e){Ca(Jn({putSortable:jt,cloneEl:Et,targetEl:xe,rootEl:pt,oldIndex:_o,oldDraggableIndex:Ha,newIndex:fn,newDraggableIndex:Tr},e))}var xe,St,ze,pt,eo,ts,Et,Fr,_o,fn,Ha,Tr,Vi,jt,Bo=!1,Es=!1,ws=[],Xr,Pn,Vl,Hl,zd,Kd,Da,Mo,Ya,Wa=!1,Hi=!1,ns,Ht,Yl=[],Mu=!1,xs=[],nl=typeof document!="undefined",Yi=Wm,Xd=yi||mr?"cssFloat":"float",Pw=nl&&!Ew&&!Wm&&"draggable"in document.createElement("div"),Jm=function(){if(!!nl){if(mr)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",e.style.pointerEvents==="auto"}}(),Zm=function(t,n){var r=Le(t),o=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),i=ia(t,0,n),a=ia(t,1,n),s=i&&Le(i),l=a&&Le(a),u=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+vt(i).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+vt(a).width;if(r.display==="flex")return r.flexDirection==="column"||r.flexDirection==="column-reverse"?"vertical":"horizontal";if(r.display==="grid")return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&s.float&&s.float!=="none"){var d=s.float==="left"?"left":"right";return a&&(l.clear==="both"||l.clear===d)?"vertical":"horizontal"}return i&&(s.display==="block"||s.display==="flex"||s.display==="table"||s.display==="grid"||u>=o&&r[Xd]==="none"||a&&r[Xd]==="none"&&u+c>o)?"vertical":"horizontal"},Mw=function(t,n,r){var o=r?t.left:t.top,i=r?t.right:t.bottom,a=r?t.width:t.height,s=r?n.left:n.top,l=r?n.right:n.bottom,u=r?n.width:n.height;return o===s||i===l||o+a/2===s+u/2},Rw=function(t,n){var r;return ws.some(function(o){var i=o[Yt].options.emptyInsertThreshold;if(!(!i||Wc(o))){var a=vt(o),s=t>=a.left-i&&t<=a.right+i,l=n>=a.top-i&&n<=a.bottom+i;if(s&&l)return r=o}}),r},Qm=function(t){function n(i,a){return function(s,l,u,c){var d=s.options.group.name&&l.options.group.name&&s.options.group.name===l.options.group.name;if(i==null&&(a||d))return!0;if(i==null||i===!1)return!1;if(a&&i==="clone")return i;if(typeof i=="function")return n(i(s,l,u,c),a)(s,l,u,c);var f=(a?s:l).options.group.name;return i===!0||typeof i=="string"&&i===f||i.join&&i.indexOf(f)>-1}}var r={},o=t.group;(!o||es(o)!="object")&&(o={name:o}),r.name=o.name,r.checkPull=n(o.pull,!0),r.checkPut=n(o.put),r.revertClone=o.revertClone,t.group=r},qm=function(){!Jm&&ze&&Le(ze,"display","none")},ev=function(){!Jm&&ze&&Le(ze,"display","")};nl&&document.addEventListener("click",function(e){if(Es)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Es=!1,!1},!0);var Jr=function(t){if(xe){t=t.touches?t.touches[0]:t;var n=Rw(t.clientX,t.clientY);if(n){var r={};for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o]);r.target=r.rootEl=n,r.preventDefault=void 0,r.stopPropagation=void 0,n[Yt]._onDragOver(r)}}},Iw=function(t){xe&&xe.parentNode[Yt]._isOutsideThisEl(t.target)};function _e(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=Cn({},t),e[Yt]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Zm(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,s){a.setData("Text",s.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:_e.supportPointer!==!1&&"PointerEvent"in window&&!_a,emptyInsertThreshold:5};bi.initializePlugins(this,e,n);for(var r in n)!(r in t)&&(t[r]=n[r]);Qm(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:Pw,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?Qe(e,"pointerdown",this._onTapStart):(Qe(e,"mousedown",this._onTapStart),Qe(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(Qe(e,"dragover",this),Qe(e,"dragenter",this)),ws.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),Cn(this,Dw())}_e.prototype={constructor:_e,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Mo=null)},_getDirection:function(t,n){return typeof this.options.direction=="function"?this.options.direction.call(this,t,n,xe):this.options.direction},_onTapStart:function(t){if(!!t.cancelable){var n=this,r=this.el,o=this.options,i=o.preventOnFilter,a=t.type,s=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,l=(s||t).target,u=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,c=o.filter;if(_w(r),!xe&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||o.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&_a&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=In(l,o.draggable,r,!1),!(l&&l.animated)&&ts!==l)){if(_o=wt(l),Ha=wt(l,o.draggable),typeof c=="function"){if(c.call(this,t,l,this)){Jt({sortable:n,rootEl:u,name:"filter",targetEl:l,toEl:r,fromEl:r}),en("filter",n,{evt:t}),i&&t.cancelable&&t.preventDefault();return}}else if(c&&(c=c.split(",").some(function(d){if(d=In(u,d.trim(),r,!1),d)return Jt({sortable:n,rootEl:d,name:"filter",targetEl:l,fromEl:r,toEl:r}),en("filter",n,{evt:t}),!0}),c)){i&&t.cancelable&&t.preventDefault();return}o.handle&&!In(u,o.handle,r,!1)||this._prepareDragStart(t,s,l)}}},_prepareDragStart:function(t,n,r){var o=this,i=o.el,a=o.options,s=i.ownerDocument,l;if(r&&!xe&&r.parentNode===i){var u=vt(r);if(pt=i,xe=r,St=xe.parentNode,eo=xe.nextSibling,ts=r,Vi=a.group,_e.dragged=xe,Xr={target:xe,clientX:(n||t).clientX,clientY:(n||t).clientY},zd=Xr.clientX-u.left,Kd=Xr.clientY-u.top,this._lastX=(n||t).clientX,this._lastY=(n||t).clientY,xe.style["will-change"]="all",l=function(){if(en("delayEnded",o,{evt:t}),_e.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Vd&&o.nativeDraggable&&(xe.draggable=!0),o._triggerDragStart(t,n),Jt({sortable:o,name:"choose",originalEvent:t}),gt(xe,a.chosenClass,!0)},a.ignore.split(",").forEach(function(c){zm(xe,c.trim(),Wl)}),Qe(s,"dragover",Jr),Qe(s,"mousemove",Jr),Qe(s,"touchmove",Jr),Qe(s,"mouseup",o._onDrop),Qe(s,"touchend",o._onDrop),Qe(s,"touchcancel",o._onDrop),Vd&&this.nativeDraggable&&(this.options.touchStartThreshold=4,xe.draggable=!0),en("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(yi||mr))){if(_e.eventCanceled){this._onDrop();return}Qe(s,"mouseup",o._disableDelayedDrag),Qe(s,"touchend",o._disableDelayedDrag),Qe(s,"touchcancel",o._disableDelayedDrag),Qe(s,"mousemove",o._delayedDragTouchMoveHandler),Qe(s,"touchmove",o._delayedDragTouchMoveHandler),a.supportPointer&&Qe(s,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(l,a.delay)}else l()}},_delayedDragTouchMoveHandler:function(t){var n=t.touches?t.touches[0]:t;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){xe&&Wl(xe),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;Je(t,"mouseup",this._disableDelayedDrag),Je(t,"touchend",this._disableDelayedDrag),Je(t,"touchcancel",this._disableDelayedDrag),Je(t,"mousemove",this._delayedDragTouchMoveHandler),Je(t,"touchmove",this._delayedDragTouchMoveHandler),Je(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,n){n=n||t.pointerType=="touch"&&t,!this.nativeDraggable||n?this.options.supportPointer?Qe(document,"pointermove",this._onTouchMove):n?Qe(document,"touchmove",this._onTouchMove):Qe(document,"mousemove",this._onTouchMove):(Qe(xe,"dragend",this),Qe(pt,"dragstart",this._onDragStart));try{document.selection?rs(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,n){if(Bo=!1,pt&&xe){en("dragStarted",this,{evt:n}),this.nativeDraggable&&Qe(document,"dragover",Iw);var r=this.options;!t&>(xe,r.dragClass,!1),gt(xe,r.ghostClass,!0),_e.active=this,t&&this._appendGhost(),Jt({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(Pn){this._lastX=Pn.clientX,this._lastY=Pn.clientY,qm();for(var t=document.elementFromPoint(Pn.clientX,Pn.clientY),n=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Pn.clientX,Pn.clientY),t!==n);)n=t;if(xe.parentNode[Yt]._isOutsideThisEl(t),n)do{if(n[Yt]){var r=void 0;if(r=n[Yt]._onDragOver({clientX:Pn.clientX,clientY:Pn.clientY,target:t,rootEl:n}),r&&!this.options.dragoverBubble)break}t=n}while(n=n.parentNode);ev()}},_onTouchMove:function(t){if(Xr){var n=this.options,r=n.fallbackTolerance,o=n.fallbackOffset,i=t.touches?t.touches[0]:t,a=ze&&so(ze,!0),s=ze&&a&&a.a,l=ze&&a&&a.d,u=Yi&&Ht&&Wd(Ht),c=(i.clientX-Xr.clientX+o.x)/(s||1)+(u?u[0]-Yl[0]:0)/(s||1),d=(i.clientY-Xr.clientY+o.y)/(l||1)+(u?u[1]-Yl[1]:0)/(l||1);if(!_e.active&&!Bo){if(r&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(Jt({rootEl:St,name:"add",toEl:St,fromEl:pt,originalEvent:t}),Jt({sortable:this,name:"remove",toEl:St,originalEvent:t}),Jt({rootEl:St,name:"sort",toEl:St,fromEl:pt,originalEvent:t}),Jt({sortable:this,name:"sort",toEl:St,originalEvent:t})),jt&&jt.save()):fn!==_o&&fn>=0&&(Jt({sortable:this,name:"update",toEl:St,originalEvent:t}),Jt({sortable:this,name:"sort",toEl:St,originalEvent:t})),_e.active&&((fn==null||fn===-1)&&(fn=_o,Tr=Ha),Jt({sortable:this,name:"end",toEl:St,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){en("nulling",this),pt=xe=St=ze=eo=Et=ts=Fr=Xr=Pn=Da=fn=Tr=_o=Ha=Mo=Ya=jt=Vi=_e.dragged=_e.ghost=_e.clone=_e.active=null,xs.forEach(function(t){t.checked=!0}),xs.length=Vl=Hl=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":xe&&(this._onDragOver(t),Nw(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],n,r=this.el.children,o=0,i=r.length,a=this.options;or.right+o||e.clientX<=r.right&&e.clientY>r.bottom&&e.clientX>=r.left:e.clientX>r.right&&e.clientY>r.top||e.clientX<=r.right&&e.clientY>r.bottom+o}function Bw(e,t,n,r,o,i,a,s){var l=r?e.clientY:e.clientX,u=r?n.height:n.width,c=r?n.top:n.left,d=r?n.bottom:n.right,f=!1;if(!a){if(s&&nsc+u*i/2:ld-ns)return-Ya}else if(l>c+u*(1-o)/2&&ld-u*i/2)?l>c+u/2?1:-1:0}function Uw(e){return wt(xe)1&&(He.forEach(function(s){i.addAnimationState({target:s,rect:tn?vt(s):a}),$l(s),s.fromRect=a,r.removeAnimationState(s)}),tn=!1,Gw(!this.options.removeCloneOnHide,o))},dragOverCompleted:function(n){var r=n.sortable,o=n.isOwner,i=n.insertion,a=n.activeSortable,s=n.parentEl,l=n.putSortable,u=this.options;if(i){if(o&&a._hideClone(),ya=!1,u.animation&&He.length>1&&(tn||!o&&!a.options.sort&&!l)){var c=vt(ct,!1,!0,!0);He.forEach(function(f){f!==ct&&(Gd(f,c),s.appendChild(f))}),tn=!0}if(!o)if(tn||zi(),He.length>1){var d=Gi;a._showClone(r),a.options.animation&&!Gi&&d&&cn.forEach(function(f){a.addAnimationState({target:f,rect:ba}),f.fromRect=ba,f.thisAnimationDuration=null})}else a._showClone(r)}},dragOverAnimationCapture:function(n){var r=n.dragRect,o=n.isOwner,i=n.activeSortable;if(He.forEach(function(s){s.thisAnimationDuration=null}),i.options.animation&&!o&&i.multiDrag.isMultiDrag){ba=Cn({},r);var a=so(ct,!0);ba.top-=a.f,ba.left-=a.e}},dragOverAnimationComplete:function(){tn&&(tn=!1,zi())},drop:function(n){var r=n.originalEvent,o=n.rootEl,i=n.parentEl,a=n.sortable,s=n.dispatchSortableEvent,l=n.oldIndex,u=n.putSortable,c=u||this.sortable;if(!!r){var d=this.options,f=i.children;if(!Ro)if(d.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),gt(ct,d.selectedClass,!~He.indexOf(ct)),~He.indexOf(ct))He.splice(He.indexOf(ct),1),ga=null,Ca({sortable:a,rootEl:o,name:"deselect",targetEl:ct,originalEvt:r});else{if(He.push(ct),Ca({sortable:a,rootEl:o,name:"select",targetEl:ct,originalEvt:r}),r.shiftKey&&ga&&a.el.contains(ga)){var h=wt(ga),p=wt(ct);if(~h&&~p&&h!==p){var m,g;for(p>h?(g=h,m=p):(g=p,m=h+1);g1){var y=vt(ct),b=wt(ct,":not(."+this.options.selectedClass+")");if(!ya&&d.animation&&(ct.thisAnimationDuration=null),c.captureAnimationState(),!ya&&(d.animation&&(ct.fromRect=y,He.forEach(function(x){if(x.thisAnimationDuration=null,x!==ct){var O=tn?vt(x):y;x.fromRect=O,c.addAnimationState({target:x,rect:O})}})),zi(),He.forEach(function(x){f[b]?i.insertBefore(x,f[b]):i.appendChild(x),b++}),l===wt(ct))){var E=!1;He.forEach(function(x){if(x.sortableIndex!==wt(x)){E=!0;return}}),E&&s("update")}He.forEach(function(x){$l(x)}),c.animateAll()}Mn=c}(o===i||u&&u.lastPutMode!=="clone")&&cn.forEach(function(x){x.parentNode&&x.parentNode.removeChild(x)})}},nullingGlobal:function(){this.isMultiDrag=Ro=!1,cn.length=0},destroyGlobal:function(){this._deselectMultiDrag(),Je(document,"pointerup",this._deselectMultiDrag),Je(document,"mouseup",this._deselectMultiDrag),Je(document,"touchend",this._deselectMultiDrag),Je(document,"keydown",this._checkKeyDown),Je(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(n){if(!(typeof Ro!="undefined"&&Ro)&&Mn===this.sortable&&!(n&&In(n.target,this.options.draggable,this.sortable.el,!1))&&!(n&&n.button!==0))for(;He.length;){var r=He[0];gt(r,this.options.selectedClass,!1),He.shift(),Ca({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:r,originalEvt:n})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Cn(e,{pluginName:"multiDrag",utils:{select:function(n){var r=n.parentNode[Yt];!r||!r.options.multiDrag||~He.indexOf(n)||(Mn&&Mn!==r&&(Mn.multiDrag._deselectMultiDrag(),Mn=r),gt(n,r.options.selectedClass,!0),He.push(n))},deselect:function(n){var r=n.parentNode[Yt],o=He.indexOf(n);!r||!r.options.multiDrag||!~o||(gt(n,r.options.selectedClass,!1),He.splice(o,1))}},eventProperties:function(){var n=this,r=[],o=[];return He.forEach(function(i){r.push({multiDragElement:i,index:i.sortableIndex});var a;tn&&i!==ct?a=-1:tn?a=wt(i,":not(."+n.options.selectedClass+")"):a=wt(i),o.push({multiDragElement:i,index:a})}),{items:mw(He),clones:[].concat(cn),oldIndicies:r,newIndicies:o}},optionListeners:{multiDragKey:function(n){return n=n.toLowerCase(),n==="ctrl"?n="Control":n.length>1&&(n=n.charAt(0).toUpperCase()+n.substr(1)),n}}})}function Gw(e,t){He.forEach(function(n,r){var o=t.children[n.sortableIndex+(e?Number(r):0)];o?t.insertBefore(n,o):t.appendChild(n)})}function Zd(e,t){cn.forEach(function(n,r){var o=t.children[n.sortableIndex+(e?Number(r):0)];o?t.insertBefore(n,o):t.appendChild(n)})}function zi(){He.forEach(function(e){e!==ct&&e.parentNode&&e.parentNode.removeChild(e)})}_e.mount(new Vw);_e.mount(Kc,zc);var zw=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:_e,MultiDrag:Ww,Sortable:_e,Swap:Hw}),Kw=Tm(zw);(function(e,t){(function(r,o){e.exports=o(Yc,Kw)})(typeof self!="undefined"?self:$t,function(n,r){return function(o){var i={};function a(s){if(i[s])return i[s].exports;var l=i[s]={i:s,l:!1,exports:{}};return o[s].call(l.exports,l,l.exports,a),l.l=!0,l.exports}return a.m=o,a.c=i,a.d=function(s,l,u){a.o(s,l)||Object.defineProperty(s,l,{enumerable:!0,get:u})},a.r=function(s){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},a.t=function(s,l){if(l&1&&(s=a(s)),l&8||l&4&&typeof s=="object"&&s&&s.__esModule)return s;var u=Object.create(null);if(a.r(u),Object.defineProperty(u,"default",{enumerable:!0,value:s}),l&2&&typeof s!="string")for(var c in s)a.d(u,c,function(d){return s[d]}.bind(null,c));return u},a.n=function(s){var l=s&&s.__esModule?function(){return s.default}:function(){return s};return a.d(l,"a",l),l},a.o=function(s,l){return Object.prototype.hasOwnProperty.call(s,l)},a.p="",a(a.s="fb15")}({"00ee":function(o,i,a){var s=a("b622"),l=s("toStringTag"),u={};u[l]="z",o.exports=String(u)==="[object z]"},"0366":function(o,i,a){var s=a("1c0b");o.exports=function(l,u,c){if(s(l),u===void 0)return l;switch(c){case 0:return function(){return l.call(u)};case 1:return function(d){return l.call(u,d)};case 2:return function(d,f){return l.call(u,d,f)};case 3:return function(d,f,h){return l.call(u,d,f,h)}}return function(){return l.apply(u,arguments)}}},"057f":function(o,i,a){var s=a("fc6a"),l=a("241c").f,u={}.toString,c=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],d=function(f){try{return l(f)}catch{return c.slice()}};o.exports.f=function(h){return c&&u.call(h)=="[object Window]"?d(h):l(s(h))}},"06cf":function(o,i,a){var s=a("83ab"),l=a("d1e7"),u=a("5c6c"),c=a("fc6a"),d=a("c04e"),f=a("5135"),h=a("0cfb"),p=Object.getOwnPropertyDescriptor;i.f=s?p:function(g,y){if(g=c(g),y=d(y,!0),h)try{return p(g,y)}catch{}if(f(g,y))return u(!l.f.call(g,y),g[y])}},"0cfb":function(o,i,a){var s=a("83ab"),l=a("d039"),u=a("cc12");o.exports=!s&&!l(function(){return Object.defineProperty(u("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(o,i,a){var s=a("23e7"),l=a("d58f").left,u=a("a640"),c=a("ae40"),d=u("reduce"),f=c("reduce",{1:0});s({target:"Array",proto:!0,forced:!d||!f},{reduce:function(p){return l(this,p,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(o,i,a){var s=a("c6b6"),l=a("9263");o.exports=function(u,c){var d=u.exec;if(typeof d=="function"){var f=d.call(u,c);if(typeof f!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return f}if(s(u)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return l.call(u,c)}},"159b":function(o,i,a){var s=a("da84"),l=a("fdbc"),u=a("17c2"),c=a("9112");for(var d in l){var f=s[d],h=f&&f.prototype;if(h&&h.forEach!==u)try{c(h,"forEach",u)}catch{h.forEach=u}}},"17c2":function(o,i,a){var s=a("b727").forEach,l=a("a640"),u=a("ae40"),c=l("forEach"),d=u("forEach");o.exports=!c||!d?function(h){return s(this,h,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(o,i,a){var s=a("d066");o.exports=s("document","documentElement")},"1c0b":function(o,i){o.exports=function(a){if(typeof a!="function")throw TypeError(String(a)+" is not a function");return a}},"1c7e":function(o,i,a){var s=a("b622"),l=s("iterator"),u=!1;try{var c=0,d={next:function(){return{done:!!c++}},return:function(){u=!0}};d[l]=function(){return this},Array.from(d,function(){throw 2})}catch{}o.exports=function(f,h){if(!h&&!u)return!1;var p=!1;try{var m={};m[l]=function(){return{next:function(){return{done:p=!0}}}},f(m)}catch{}return p}},"1d80":function(o,i){o.exports=function(a){if(a==null)throw TypeError("Can't call method on "+a);return a}},"1dde":function(o,i,a){var s=a("d039"),l=a("b622"),u=a("2d00"),c=l("species");o.exports=function(d){return u>=51||!s(function(){var f=[],h=f.constructor={};return h[c]=function(){return{foo:1}},f[d](Boolean).foo!==1})}},"23cb":function(o,i,a){var s=a("a691"),l=Math.max,u=Math.min;o.exports=function(c,d){var f=s(c);return f<0?l(f+d,0):u(f,d)}},"23e7":function(o,i,a){var s=a("da84"),l=a("06cf").f,u=a("9112"),c=a("6eeb"),d=a("ce4e"),f=a("e893"),h=a("94ca");o.exports=function(p,m){var g=p.target,y=p.global,b=p.stat,E,x,O,C,M,L;if(y?x=s:b?x=s[g]||d(g,{}):x=(s[g]||{}).prototype,x)for(O in m){if(M=m[O],p.noTargetGet?(L=l(x,O),C=L&&L.value):C=x[O],E=h(y?O:g+(b?".":"#")+O,p.forced),!E&&C!==void 0){if(typeof M==typeof C)continue;f(M,C)}(p.sham||C&&C.sham)&&u(M,"sham",!0),c(x,O,M,p)}}},"241c":function(o,i,a){var s=a("ca84"),l=a("7839"),u=l.concat("length","prototype");i.f=Object.getOwnPropertyNames||function(d){return s(d,u)}},"25f0":function(o,i,a){var s=a("6eeb"),l=a("825a"),u=a("d039"),c=a("ad6d"),d="toString",f=RegExp.prototype,h=f[d],p=u(function(){return h.call({source:"a",flags:"b"})!="/a/b"}),m=h.name!=d;(p||m)&&s(RegExp.prototype,d,function(){var y=l(this),b=String(y.source),E=y.flags,x=String(E===void 0&&y instanceof RegExp&&!("flags"in f)?c.call(y):E);return"/"+b+"/"+x},{unsafe:!0})},"2ca0":function(o,i,a){var s=a("23e7"),l=a("06cf").f,u=a("50c4"),c=a("5a34"),d=a("1d80"),f=a("ab13"),h=a("c430"),p="".startsWith,m=Math.min,g=f("startsWith"),y=!h&&!g&&!!function(){var b=l(String.prototype,"startsWith");return b&&!b.writable}();s({target:"String",proto:!0,forced:!y&&!g},{startsWith:function(E){var x=String(d(this));c(E);var O=u(m(arguments.length>1?arguments[1]:void 0,x.length)),C=String(E);return p?p.call(x,C,O):x.slice(O,O+C.length)===C}})},"2d00":function(o,i,a){var s=a("da84"),l=a("342f"),u=s.process,c=u&&u.versions,d=c&&c.v8,f,h;d?(f=d.split("."),h=f[0]+f[1]):l&&(f=l.match(/Edge\/(\d+)/),(!f||f[1]>=74)&&(f=l.match(/Chrome\/(\d+)/),f&&(h=f[1]))),o.exports=h&&+h},"342f":function(o,i,a){var s=a("d066");o.exports=s("navigator","userAgent")||""},"35a1":function(o,i,a){var s=a("f5df"),l=a("3f8c"),u=a("b622"),c=u("iterator");o.exports=function(d){if(d!=null)return d[c]||d["@@iterator"]||l[s(d)]}},"37e8":function(o,i,a){var s=a("83ab"),l=a("9bf2"),u=a("825a"),c=a("df75");o.exports=s?Object.defineProperties:function(f,h){u(f);for(var p=c(h),m=p.length,g=0,y;m>g;)l.f(f,y=p[g++],h[y]);return f}},"3bbe":function(o,i,a){var s=a("861d");o.exports=function(l){if(!s(l)&&l!==null)throw TypeError("Can't set "+String(l)+" as a prototype");return l}},"3ca3":function(o,i,a){var s=a("6547").charAt,l=a("69f3"),u=a("7dd0"),c="String Iterator",d=l.set,f=l.getterFor(c);u(String,"String",function(h){d(this,{type:c,string:String(h),index:0})},function(){var p=f(this),m=p.string,g=p.index,y;return g>=m.length?{value:void 0,done:!0}:(y=s(m,g),p.index+=y.length,{value:y,done:!1})})},"3f8c":function(o,i){o.exports={}},"4160":function(o,i,a){var s=a("23e7"),l=a("17c2");s({target:"Array",proto:!0,forced:[].forEach!=l},{forEach:l})},"428f":function(o,i,a){var s=a("da84");o.exports=s},"44ad":function(o,i,a){var s=a("d039"),l=a("c6b6"),u="".split;o.exports=s(function(){return!Object("z").propertyIsEnumerable(0)})?function(c){return l(c)=="String"?u.call(c,""):Object(c)}:Object},"44d2":function(o,i,a){var s=a("b622"),l=a("7c73"),u=a("9bf2"),c=s("unscopables"),d=Array.prototype;d[c]==null&&u.f(d,c,{configurable:!0,value:l(null)}),o.exports=function(f){d[c][f]=!0}},"44e7":function(o,i,a){var s=a("861d"),l=a("c6b6"),u=a("b622"),c=u("match");o.exports=function(d){var f;return s(d)&&((f=d[c])!==void 0?!!f:l(d)=="RegExp")}},"4930":function(o,i,a){var s=a("d039");o.exports=!!Object.getOwnPropertySymbols&&!s(function(){return!String(Symbol())})},"4d64":function(o,i,a){var s=a("fc6a"),l=a("50c4"),u=a("23cb"),c=function(d){return function(f,h,p){var m=s(f),g=l(m.length),y=u(p,g),b;if(d&&h!=h){for(;g>y;)if(b=m[y++],b!=b)return!0}else for(;g>y;y++)if((d||y in m)&&m[y]===h)return d||y||0;return!d&&-1}};o.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(o,i,a){var s=a("23e7"),l=a("b727").filter,u=a("1dde"),c=a("ae40"),d=u("filter"),f=c("filter");s({target:"Array",proto:!0,forced:!d||!f},{filter:function(p){return l(this,p,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(o,i,a){var s=a("0366"),l=a("7b0b"),u=a("9bdd"),c=a("e95a"),d=a("50c4"),f=a("8418"),h=a("35a1");o.exports=function(m){var g=l(m),y=typeof this=="function"?this:Array,b=arguments.length,E=b>1?arguments[1]:void 0,x=E!==void 0,O=h(g),C=0,M,L,D,N,$,P;if(x&&(E=s(E,b>2?arguments[2]:void 0,2)),O!=null&&!(y==Array&&c(O)))for(N=O.call(g),$=N.next,L=new y;!(D=$.call(N)).done;C++)P=x?u(N,E,[D.value,C],!0):D.value,f(L,C,P);else for(M=d(g.length),L=new y(M);M>C;C++)P=x?E(g[C],C):g[C],f(L,C,P);return L.length=C,L}},"4fad":function(o,i,a){var s=a("23e7"),l=a("6f53").entries;s({target:"Object",stat:!0},{entries:function(c){return l(c)}})},"50c4":function(o,i,a){var s=a("a691"),l=Math.min;o.exports=function(u){return u>0?l(s(u),9007199254740991):0}},"5135":function(o,i){var a={}.hasOwnProperty;o.exports=function(s,l){return a.call(s,l)}},"5319":function(o,i,a){var s=a("d784"),l=a("825a"),u=a("7b0b"),c=a("50c4"),d=a("a691"),f=a("1d80"),h=a("8aa5"),p=a("14c3"),m=Math.max,g=Math.min,y=Math.floor,b=/\$([$&'`]|\d\d?|<[^>]*>)/g,E=/\$([$&'`]|\d\d?)/g,x=function(O){return O===void 0?O:String(O)};s("replace",2,function(O,C,M,L){var D=L.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,N=L.REPLACE_KEEPS_$0,$=D?"$":"$0";return[function(V,re){var Z=f(this),ae=V==null?void 0:V[O];return ae!==void 0?ae.call(V,Z,re):C.call(String(Z),V,re)},function(j,V){if(!D&&N||typeof V=="string"&&V.indexOf($)===-1){var re=M(C,j,this,V);if(re.done)return re.value}var Z=l(j),ae=String(this),me=typeof V=="function";me||(V=String(V));var Te=Z.global;if(Te){var Ie=Z.unicode;Z.lastIndex=0}for(var de=[];;){var H=p(Z,ae);if(H===null||(de.push(H),!Te))break;var se=String(H[0]);se===""&&(Z.lastIndex=h(ae,c(Z.lastIndex),Ie))}for(var ve="",k=0,ee=0;ee=k&&(ve+=ae.slice(k,A)+w,k=A+F.length)}return ve+ae.slice(k)}];function P(j,V,re,Z,ae,me){var Te=re+j.length,Ie=Z.length,de=E;return ae!==void 0&&(ae=u(ae),de=b),C.call(me,de,function(H,se){var ve;switch(se.charAt(0)){case"$":return"$";case"&":return j;case"`":return V.slice(0,re);case"'":return V.slice(Te);case"<":ve=ae[se.slice(1,-1)];break;default:var k=+se;if(k===0)return H;if(k>Ie){var ee=y(k/10);return ee===0?H:ee<=Ie?Z[ee-1]===void 0?se.charAt(1):Z[ee-1]+se.charAt(1):H}ve=Z[k-1]}return ve===void 0?"":ve})}})},"5692":function(o,i,a){var s=a("c430"),l=a("c6cd");(o.exports=function(u,c){return l[u]||(l[u]=c!==void 0?c:{})})("versions",[]).push({version:"3.6.5",mode:s?"pure":"global",copyright:"\xA9 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(o,i,a){var s=a("d066"),l=a("241c"),u=a("7418"),c=a("825a");o.exports=s("Reflect","ownKeys")||function(f){var h=l.f(c(f)),p=u.f;return p?h.concat(p(f)):h}},"5a34":function(o,i,a){var s=a("44e7");o.exports=function(l){if(s(l))throw TypeError("The method doesn't accept regular expressions");return l}},"5c6c":function(o,i){o.exports=function(a,s){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:s}}},"5db7":function(o,i,a){var s=a("23e7"),l=a("a2bf"),u=a("7b0b"),c=a("50c4"),d=a("1c0b"),f=a("65f0");s({target:"Array",proto:!0},{flatMap:function(p){var m=u(this),g=c(m.length),y;return d(p),y=f(m,0),y.length=l(y,m,m,g,0,1,p,arguments.length>1?arguments[1]:void 0),y}})},"6547":function(o,i,a){var s=a("a691"),l=a("1d80"),u=function(c){return function(d,f){var h=String(l(d)),p=s(f),m=h.length,g,y;return p<0||p>=m?c?"":void 0:(g=h.charCodeAt(p),g<55296||g>56319||p+1===m||(y=h.charCodeAt(p+1))<56320||y>57343?c?h.charAt(p):g:c?h.slice(p,p+2):(g-55296<<10)+(y-56320)+65536)}};o.exports={codeAt:u(!1),charAt:u(!0)}},"65f0":function(o,i,a){var s=a("861d"),l=a("e8b5"),u=a("b622"),c=u("species");o.exports=function(d,f){var h;return l(d)&&(h=d.constructor,typeof h=="function"&&(h===Array||l(h.prototype))?h=void 0:s(h)&&(h=h[c],h===null&&(h=void 0))),new(h===void 0?Array:h)(f===0?0:f)}},"69f3":function(o,i,a){var s=a("7f9a"),l=a("da84"),u=a("861d"),c=a("9112"),d=a("5135"),f=a("f772"),h=a("d012"),p=l.WeakMap,m,g,y,b=function(D){return y(D)?g(D):m(D,{})},E=function(D){return function(N){var $;if(!u(N)||($=g(N)).type!==D)throw TypeError("Incompatible receiver, "+D+" required");return $}};if(s){var x=new p,O=x.get,C=x.has,M=x.set;m=function(D,N){return M.call(x,D,N),N},g=function(D){return O.call(x,D)||{}},y=function(D){return C.call(x,D)}}else{var L=f("state");h[L]=!0,m=function(D,N){return c(D,L,N),N},g=function(D){return d(D,L)?D[L]:{}},y=function(D){return d(D,L)}}o.exports={set:m,get:g,has:y,enforce:b,getterFor:E}},"6eeb":function(o,i,a){var s=a("da84"),l=a("9112"),u=a("5135"),c=a("ce4e"),d=a("8925"),f=a("69f3"),h=f.get,p=f.enforce,m=String(String).split("String");(o.exports=function(g,y,b,E){var x=E?!!E.unsafe:!1,O=E?!!E.enumerable:!1,C=E?!!E.noTargetGet:!1;if(typeof b=="function"&&(typeof y=="string"&&!u(b,"name")&&l(b,"name",y),p(b).source=m.join(typeof y=="string"?y:"")),g===s){O?g[y]=b:c(y,b);return}else x?!C&&g[y]&&(O=!0):delete g[y];O?g[y]=b:l(g,y,b)})(Function.prototype,"toString",function(){return typeof this=="function"&&h(this).source||d(this)})},"6f53":function(o,i,a){var s=a("83ab"),l=a("df75"),u=a("fc6a"),c=a("d1e7").f,d=function(f){return function(h){for(var p=u(h),m=l(p),g=m.length,y=0,b=[],E;g>y;)E=m[y++],(!s||c.call(p,E))&&b.push(f?[E,p[E]]:p[E]);return b}};o.exports={entries:d(!0),values:d(!1)}},"73d9":function(o,i,a){var s=a("44d2");s("flatMap")},"7418":function(o,i){i.f=Object.getOwnPropertySymbols},"746f":function(o,i,a){var s=a("428f"),l=a("5135"),u=a("e538"),c=a("9bf2").f;o.exports=function(d){var f=s.Symbol||(s.Symbol={});l(f,d)||c(f,d,{value:u.f(d)})}},"7839":function(o,i){o.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(o,i,a){var s=a("1d80");o.exports=function(l){return Object(s(l))}},"7c73":function(o,i,a){var s=a("825a"),l=a("37e8"),u=a("7839"),c=a("d012"),d=a("1be4"),f=a("cc12"),h=a("f772"),p=">",m="<",g="prototype",y="script",b=h("IE_PROTO"),E=function(){},x=function(D){return m+y+p+D+m+"/"+y+p},O=function(D){D.write(x("")),D.close();var N=D.parentWindow.Object;return D=null,N},C=function(){var D=f("iframe"),N="java"+y+":",$;return D.style.display="none",d.appendChild(D),D.src=String(N),$=D.contentWindow.document,$.open(),$.write(x("document.F=Object")),$.close(),$.F},M,L=function(){try{M=document.domain&&new ActiveXObject("htmlfile")}catch{}L=M?O(M):C();for(var D=u.length;D--;)delete L[g][u[D]];return L()};c[b]=!0,o.exports=Object.create||function(N,$){var P;return N!==null?(E[g]=s(N),P=new E,E[g]=null,P[b]=N):P=L(),$===void 0?P:l(P,$)}},"7dd0":function(o,i,a){var s=a("23e7"),l=a("9ed3"),u=a("e163"),c=a("d2bb"),d=a("d44e"),f=a("9112"),h=a("6eeb"),p=a("b622"),m=a("c430"),g=a("3f8c"),y=a("ae93"),b=y.IteratorPrototype,E=y.BUGGY_SAFARI_ITERATORS,x=p("iterator"),O="keys",C="values",M="entries",L=function(){return this};o.exports=function(D,N,$,P,j,V,re){l($,N,P);var Z=function(ee){if(ee===j&&de)return de;if(!E&&ee in Te)return Te[ee];switch(ee){case O:return function(){return new $(this,ee)};case C:return function(){return new $(this,ee)};case M:return function(){return new $(this,ee)}}return function(){return new $(this)}},ae=N+" Iterator",me=!1,Te=D.prototype,Ie=Te[x]||Te["@@iterator"]||j&&Te[j],de=!E&&Ie||Z(j),H=N=="Array"&&Te.entries||Ie,se,ve,k;if(H&&(se=u(H.call(new D)),b!==Object.prototype&&se.next&&(!m&&u(se)!==b&&(c?c(se,b):typeof se[x]!="function"&&f(se,x,L)),d(se,ae,!0,!0),m&&(g[ae]=L))),j==C&&Ie&&Ie.name!==C&&(me=!0,de=function(){return Ie.call(this)}),(!m||re)&&Te[x]!==de&&f(Te,x,de),g[N]=de,j)if(ve={values:Z(C),keys:V?de:Z(O),entries:Z(M)},re)for(k in ve)(E||me||!(k in Te))&&h(Te,k,ve[k]);else s({target:N,proto:!0,forced:E||me},ve);return ve}},"7f9a":function(o,i,a){var s=a("da84"),l=a("8925"),u=s.WeakMap;o.exports=typeof u=="function"&&/native code/.test(l(u))},"825a":function(o,i,a){var s=a("861d");o.exports=function(l){if(!s(l))throw TypeError(String(l)+" is not an object");return l}},"83ab":function(o,i,a){var s=a("d039");o.exports=!s(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},"8418":function(o,i,a){var s=a("c04e"),l=a("9bf2"),u=a("5c6c");o.exports=function(c,d,f){var h=s(d);h in c?l.f(c,h,u(0,f)):c[h]=f}},"861d":function(o,i){o.exports=function(a){return typeof a=="object"?a!==null:typeof a=="function"}},"8875":function(o,i,a){var s,l,u;(function(c,d){l=[],s=d,u=typeof s=="function"?s.apply(i,l):s,u!==void 0&&(o.exports=u)})(typeof self!="undefined"?self:this,function(){function c(){var d=Object.getOwnPropertyDescriptor(document,"currentScript");if(!d&&"currentScript"in document&&document.currentScript||d&&d.get!==c&&document.currentScript)return document.currentScript;try{throw new Error}catch(M){var f=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,h=/@([^@]*):(\d+):(\d+)\s*$/ig,p=f.exec(M.stack)||h.exec(M.stack),m=p&&p[1]||!1,g=p&&p[2]||!1,y=document.location.href.replace(document.location.hash,""),b,E,x,O=document.getElementsByTagName("script");m===y&&(b=document.documentElement.outerHTML,E=new RegExp("(?:[^\\n]+?\\n){0,"+(g-2)+"}[^<]*