diff --git a/css/dashy.65904dde.css b/css/dashy.65904dde.css
new file mode 100644
index 00000000..f23ef391
--- /dev/null
+++ b/css/dashy.65904dde.css
@@ -0,0 +1 @@
+@import url(https://fonts.googleapis.com/css2?family=Francois+One&family=Roboto:wght@300&display=swap);@import url(https://fonts.googleapis.com/css2?family=Cutive+Mono&family=VT323&display=swap);@import url(https://fonts.googleapis.com/css2?family=Podkova:wght@500&display=swap);@import url(https://fonts.googleapis.com/css2?family=Allerta+Stencil&display=swap);@import url(https://fonts.googleapis.com/css2?family=Sniglet&display=swap);.page-titles[data-v-34020d7c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-decoration:none}.page-titles h1[data-v-34020d7c]{color:var(--heading-text-color);font-size:2.5rem;margin:0}.page-titles span.subtitle[data-v-34020d7c]{color:var(--heading-text-color);font-style:italic;text-shadow:1px 1px 2px #130f23;opacity:var(--dimming-factor)}@media(max-width:599px){.page-titles[data-v-34020d7c]{text-align:center;padding:.25rem 0}}nav[data-v-68c1bd5c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}nav .nav-item[data-v-68c1bd5c]{display:inline-block;padding:.75rem .5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);-webkit-box-shadow:1px 1px 2px #232323;box-shadow:1px 1px 2px #232323;color:var(--nav-link-text-color);background:var(--nav-link-background-color);border:1px solid var(--nav-link-border-color);text-decoration:none}nav .nav-item.router-link-active[data-v-68c1bd5c],nav .nav-item[data-v-68c1bd5c]:hover{color:var(--nav-link-text-color-hover);background:var(--nav-link-background-color-hover);border:1px solid var(--nav-link-border-color-hover)}header[data-v-70a33270]{margin:0;padding:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background:var(--background-darker);-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start}@media(max-width:599px){header[data-v-70a33270]{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}footer[data-v-1b07b0da]{width:calc(100% - .5rem);bottom:0;padding:.25rem;text-align:center;color:var(--medium-grey);opacity:var(--dimming-factor);background:var(--background-darker);margin-top:1.5rem;border-top:1px solid var(--outline-color)}@media(max-width:779px){footer[data-v-1b07b0da]{display:none}}footer a[data-v-1b07b0da]{color:var(--footer-text-color)}footer a[data-v-1b07b0da]:hover{color:var(--footer-text-color-link)}div#loading[data-v-a7bc1de6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;height:100%;width:100%;z-index:7;background:var(--loading-screen-background);color:var(--loading-screen-color)}div#loading.hide[data-v-a7bc1de6]{display:none}div#loading .inner-container[data-v-a7bc1de6]{text-align:center}div#loading p[data-v-a7bc1de6]{font-size:6vw;display:inline;margin:0 auto}div#loading h2[data-v-a7bc1de6]{opacity:.35;font-size:16vw;margin:0}div#loading .dots-cont[data-v-a7bc1de6]{display:inline}div#loading .dots-cont .dot[data-v-a7bc1de6]{width:4px;height:4px;background:var(--loading-screen-color);display:inline-block;border-radius:35%;right:0;bottom:0;margin:0 2.5px;position:relative;-webkit-animation:jump-data-v-a7bc1de6 1s infinite;animation:jump-data-v-a7bc1de6 1s infinite}div#loading .dots-cont .dot.dot-1[data-v-a7bc1de6]{-webkit-animation-delay:.1s;animation-delay:.1s}div#loading .dots-cont .dot.dot-2[data-v-a7bc1de6]{-webkit-animation-delay:.2s;animation-delay:.2s}div#loading .dots-cont .dot.dot-3[data-v-a7bc1de6]{-webkit-animation-delay:.3s;animation-delay:.3s}div#loading .dots-cont .dot.dot-4[data-v-a7bc1de6]{-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}@keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}.slide-fade-leave-active[data-v-a7bc1de6]{-webkit-transition:all .2s cubic-bezier(1,.9,.7,.4);transition:all .2s cubic-bezier(1,.9,.7,.4)}.slide-fade-enter[data-v-a7bc1de6],.slide-fade-leave-to[data-v-a7bc1de6]{-webkit-transform:translateY(-200px);transform:translateY(-200px);opacity:0}.scroll-bar::-webkit-scrollbar,html::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar::-webkit-scrollbar-track,html::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight ::-moz-selection,html ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::selection,html ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::-moz-selection,.highlight ::-ms-selection,.highlight ::-o-selection,.highlight ::-webkit-selection,html ::-moz-selection,html ::-ms-selection,html ::-o-selection,html ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold{font-weight:700}.light{font-weight:lighter}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.horizontal-center{margin:0 auto}.border-box,html{-webkit-box-sizing:border-box;box-sizing:border-box}html{margin:0;padding:0;-webkit-transition:all 1s;transition:all 1s;margin-top:-3px}html a,html button,html input[type=button]{cursor:pointer}.dashy-modal,.vm--modal{-webkit-box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;min-width:300px;min-height:500px}.vm--overlay{background:rgba(0,0,0,.5019607843137255)}.toast-message{background:var(--toast-background)!important;color:var(--toast-color)!important;border:1px solid var(--toast-color)!important;border-radius:var(--curve-factor)!important;font-size:1.25rem!important}.toast-error{background:var(--danger)!important}.toast-error,.toast-success{color:var(--white)!important;font-size:1.25rem!important}.toast-success{background:var(--success)!important}:root{--primary:#5cabca;--background:#0b1021;--background-darker:#05070e;--info:#04e4f4;--success:#20e253;--warning:#f6f000;--danger:#f80363;--neutral:#272f4d;--white:#fff;--black:#000;--item-group-background:rgba(11,16,33,0.8);--medium-grey:#5e6474;--item-background:rgba(96,125,139,0.2);--item-background-hover:rgba(96,125,139,0.30196078431372547);--transparent-70:rgba(0,0,0,0.7019607843137254);--transparent-50:rgba(0,0,0,0.5019607843137255);--transparent-30:rgba(0,0,0,0.30196078431372547);--transparent-white-70:hsla(0,0%,100%,0.7019607843137254);--transparent-white-50:hsla(0,0%,100%,0.5019607843137255);--transparent-white-30:hsla(0,0%,100%,0.30196078431372547);--heading-text-color:var(--primary);--nav-link-text-color:var(--primary);--nav-link-background-color:rgba(96,125,139,0.2);--nav-link-text-color-hover:var(--primary);--nav-link-background-color-hover:rgba(96,125,139,0.2);--nav-link-border-color:transparent;--nav-link-border-color-hover:var(--primary);--item-text-color:var(--primary);--item-group-outer-background:var(--primary);--item-group-heading-text-color:var(--item-group-background);--item-group-heading-text-color-hover:var(--background);--settings-background:var(--background);--settings-text-color:var(--primary);--search-container-background:var(--background-darker);--search-field-background:var(--background);--footer-text-color:var(--medium-grey);--footer-text-color-link:var(--primary);--welcome-popup-background:var(--background-darker);--welcome-popup-text-color:var(--primary);--config-code-background:#fff;--config-code-color:var(--background);--config-settings-color:var(--primary);--config-settings-background:var(--background-darker);--toast-background:var(--primary);--toast-color:var(--background);--scroll-bar-color:var(--primary);--scroll-bar-background:var(--background-darker);--highlight-color:var(--background);--highlight-background:var(--primary);--loading-screen-color:var(--primary);--loading-screen-background:var(--background);--login-form-color:var(--primary);--login-form-background:var(--background);--login-form-background-secondary:var(--background-darker);--about-page-color:var(--white);--about-page-background:var(--background);--about-page-accent:var(--primary);--side-bar-background:var(--background-darker);--side-bar-background-lighter:var(--background);--side-bar-color:var(--primary);--status-check-tooltip-background:var(--background-darker);--status-check-tooltip-color:var(--primary);--code-editor-color:var(--black);--code-editor-background:var(--white);--outline-color:none;--curve-factor:5px;--curve-factor-navbar:16px;--curve-factor-small:2px;--dimming-factor:0.7;--scroll-bar-width:8px;--header-height:6.3rem;--footer-height:125px;--item-group-padding:5px;--item-shadow:1px 1px 2px #130f23;--item-hover-shadow:1px 2px 4px #373737;--item-icon-transform:drop-shadow(2px 4px 6px var(--transparent-50)) saturate(0.65);--item-icon-transform-hover:drop-shadow(4px 8px 3px var(--transparent-50)) saturate(2);--item-group-shadow:var(--item-shadow);--settings-container-shadow:none;--side-bar-width:3.5rem}html[data-theme=callisto]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(0,204,180,0.7019607843137254),0 1px 2px rgba(0,204,180,0.7490196078431373);--primary:#00ccb4;--font-body:"Inconsolata","Georgia",sans-serif}html[data-theme=callisto],html[data-theme=thebe]{--background:#141b33;--background-darker:#060913;--font-headings:"PTMono","Courier New",monospace}html[data-theme=thebe]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(150,96,236,0.7019607843137254),0 1px 2px rgba(150,96,236,0.7490196078431373);--primary:#9660ec;--item-group-outer-background:#9660ec linear-gradient(45deg,#9660ec 2%,#5f60ea 51%,#9660ec)}html[data-theme=dracula]{--font-headings:"Allerta Stencil",sans-serif;--primary:#6272a4;--background:#44475a;--background-darker:#282a36;--item-group-background:#282a36;--item-background:none;--item-background-hover:#191b22;--item-shadow:none;--item-hover-shadow:none;--settings-text-color:#98ace9;--config-settings-color:#98ace9}html[data-theme=dracula] .collapsable:nth-child(1n){background:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(1n) .item{border:1px solid #8be9fd;color:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(2n){background:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(2n) .item{border:1px solid #50fa7b;color:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(3n){background:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(3n) .item{border:1px solid #ffb86c;color:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(4n){background:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #ff79c6;color:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n){background:#bd93f9}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #bd93f9;color:#bd93f9}html[data-theme=bee]{--primary:#c3eb5c}html[data-theme=bee],html[data-theme=raspberry-jam]{--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=raspberry-jam]{--primary:#eb2d6c;--config-code-background:#0b1021;--config-code-color:#eb2d6c}html[data-theme=tiger]{--primary:#f58233;--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=matrix-red]{--primary:red;--outline-color:red}html[data-theme=matrix-red],html[data-theme=matrix]{--background:#000;--background-darker:#000;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=matrix]{--primary:#2bca2b;--outline-color:#2bca2b;--about-page-background:var(--background)}html[data-theme=matrix] .prism-editor-wrapper.my-editor{border:1px solid var(--primary)}html[data-theme=hacker-girl]{--background:#000;--background-darker:#000;--primary:#e435f1;--outline-color:#e435f1;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=high-contrast-light]{--background:#fff;--background-darker:#fff;--item-group-background:#fff;--item-background:#fff;--primary:#000;--outline-color:#000;--curve-factor:0px;--config-code-color:#000;--font-headings:"PTMono","Courier New",monospace}html[data-theme=high-contrast-dark]{--background:#000;--background-darker:#000;--item-group-background:#000;--primary:#fff;--outline-color:#fff;--curve-factor:0px;--font-headings:"PTMono","Courier New",monospace}html[data-theme=nord]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord] .collapsable:nth-child(1n){background:#bf616a}html[data-theme=nord] .collapsable:nth-child(2n){background:#d08770}html[data-theme=nord] .collapsable:nth-child(3n){background:#ebcb8b}html[data-theme=nord] .collapsable:nth-child(4n){background:#a3be8c}html[data-theme=nord-frost]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord-frost] .collapsable:nth-child(1n){background:#8fbcbb}html[data-theme=nord-frost] .collapsable:nth-child(2n){background:#88c0d0}html[data-theme=nord-frost] .collapsable:nth-child(3n){background:#81a1c1}html[data-theme=nord-frost] .collapsable:nth-child(4n){background:#5e81ac}html[data-theme=material-original]{--primary:#29b6f6;--settings-text-color:#01579b;--background:#e2e1e0;--background-darker:#01579b;--settings-background:#01579b;--item-group-shadow:none;--item-group-outer-background:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--settings-background:#29b6f6;--search-container-background:#29b6f6;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--settings-container-shadow:0 1px 3px rgba(0,0,0,0.3686274509803922),0 1px 2px rgba(0,0,0,0.5215686274509804);--welcome-popup-background:#01579b;--welcome-popup-text-color:#fff;--config-code-color:#000;--item-group-heading-text-color-hover:#01579b;--config-settings-background:#01579b;--config-settings-color:#fff;--heading-text-color:#fff;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#01579b;--login-form-background:#fff;--about-page-accent:#000;--about-page-color:var(--background-darker);--about-page-background:var(--background)}html[data-theme=material-dark-original]{--primary:#08b0bb;--settings-text-color:#08b0bb;--background:#39434c;--background-darker:#08b0bb;--settings-background:#092b3a;--item-group-background:#333c43;--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-background:#131a1f;--status-check-tooltip-color:#08b0bb}html[data-theme=material-dark-original]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=colorful]{--font-headings:"Podkova",monospace;--primary:#e8eae1;--background:#0b1021;--item-background:#05070e;--item-background-hover:#0b1021;--item-group-background:transparent;--item-group-outer-background:#05070e;--item-group-heading-text-color:#e8eae1;--item-group-heading-text-color-hover:#fff}html[data-theme=colorful] .item:nth-child(1n){color:#eb5cad;border:1px solid #eb5cad}html[data-theme=colorful] .item:nth-child(2n){color:#985ceb;border:1px solid #985ceb}html[data-theme=colorful] .item:nth-child(3n){color:#5c90eb;border:1px solid #5c90eb}html[data-theme=colorful] .item:nth-child(4n){color:#5cdfeb;border:1px solid #5cdfeb}html[data-theme=colorful] .item:nth-child(5n){color:#5ceb8d;border:1px solid #5ceb8d}html[data-theme=colorful] .item:nth-child(6n){color:#afeb5c;border:1px solid #afeb5c}html[data-theme=colorful] .item:nth-child(7n){color:#ebb75c;border:1px solid #ebb75c}html[data-theme=colorful] .item:nth-child(8n){color:#eb615c;border:1px solid #eb615c}html[data-theme=colorful] .item:focus,html[data-theme=colorful] .item:hover{opacity:.85;outline:none;background:currentColor}html[data-theme=colorful] .item:focus span,html[data-theme=colorful] .item:hover span{color:#05070e}html[data-theme=colorful] .item:focus svg path,html[data-theme=colorful] .item:hover svg path{fill:#05070e}html[data-theme=colorful] .item:focus i.fab,html[data-theme=colorful] .item:focus i.fad,html[data-theme=colorful] .item:focus i.fal,html[data-theme=colorful] .item:focus i.far,html[data-theme=colorful] .item:focus i.fas,html[data-theme=colorful] .item:hover i.fab,html[data-theme=colorful] .item:hover i.fad,html[data-theme=colorful] .item:hover i.fal,html[data-theme=colorful] .item:hover i.far,html[data-theme=colorful] .item:hover i.fas{color:#05070e}html[data-theme=colorful] h1,html[data-theme=colorful] h2,html[data-theme=colorful] h3,html[data-theme=colorful] h4{font-weight:400}html[data-theme=minimal-dark],html[data-theme=minimal-light],html[data-theme=vaporware]{--font-body:"PTMono-Regular","Courier New",monospace;--font-headings:"PTMono-Regular","Courier New",monospace}html[data-theme=minimal-dark] label.lbl-toggle h3,html[data-theme=minimal-light] label.lbl-toggle h3,html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] .tile-title span.text,html[data-theme=minimal-light] .tile-title span.text,html[data-theme=vaporware] .tile-title span.text{font-size:1.1rem;font-weight:700}html[data-theme=minimal-dark] header,html[data-theme=minimal-light] header,html[data-theme=vaporware] header{padding:.1rem .5rem}html[data-theme=minimal-dark] header .page-titles h1,html[data-theme=minimal-light] header .page-titles h1,html[data-theme=vaporware] header .page-titles h1{font-size:1.25rem}html[data-theme=minimal-dark] header .page-titles span.subtitle,html[data-theme=minimal-light] header .page-titles span.subtitle,html[data-theme=vaporware] header .page-titles span.subtitle{font-size:.8rem}html[data-theme=minimal-dark] header .nav .nav-item,html[data-theme=minimal-light] header .nav .nav-item,html[data-theme=vaporware] header .nav .nav-item{padding:.2rem .4rem;-webkit-box-shadow:none;box-shadow:none}html[data-theme=minimal-dark] .item-group-container.orientation-horizontal .collapsable,html[data-theme=minimal-light] .item-group-container.orientation-horizontal .collapsable,html[data-theme=vaporware] .item-group-container.orientation-horizontal .collapsable{border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549);border-radius:0}html[data-theme=material-dark],html[data-theme=material]{--font-body:"Raleway",serif;--font-headings:"Francois One",serif;--curve-factor:4px;--curve-factor-navbar:8px;--about-page-background:var(--background);--about-page-color:var(--primary)}html[data-theme=material-dark] .collapsable,html[data-theme=material] .collapsable{margin:0;padding:0}html[data-theme=material-dark] .item:not(.size-small),html[data-theme=material] .item:not(.size-small){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;overflow:hidden;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15rem;min-width:15rem;max-height:6rem;margin:.2rem;padding:.5rem}html[data-theme=material-dark] .item:not(.size-small) img,html[data-theme=material] .item:not(.size-small) img{padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title,html[data-theme=material] .item:not(.size-small) .tile-title{height:auto;padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title span.text,html[data-theme=material] .item:not(.size-small) .tile-title span.text{position:relative;font-weight:700;font-size:1.1rem;width:100%}html[data-theme=material-dark] .item:not(.size-small) .tile-title p.description,html[data-theme=material] .item:not(.size-small) .tile-title p.description{display:block;margin:0;white-space:pre-wrap;font-size:.9em;text-overflow:ellipsis}html[data-theme=material-dark] .item:not(.size-small).size-large,html[data-theme=material] .item:not(.size-small).size-large{width:18rem;min-width:18rem;max-height:5rem;margin:.4rem}html[data-theme=material-dark] .item:not(.size-small).size-large img,html[data-theme=material] .item:not(.size-small).size-large img{padding:.2rem .5rem}html[data-theme=material-dark] .tooltip.item-description-tooltip,html[data-theme=material] .tooltip.item-description-tooltip{display:none!important}html[data-theme=material-dark] .orientation-horizontal,html[data-theme=material] .orientation-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(3,1fr)}}@media(min-width:1150px)and (max-width:1779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(4,1fr)}}@media(min-width:1780px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(5,1fr)}}@media(min-width:2800px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(6,1fr)}}html[data-theme=material-dark] a.item,html[data-theme=material] a.item{position:relative;overflow:hidden;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item div,html[data-theme=material] a.item div{-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item .overflow-dots,html[data-theme=material] a.item .overflow-dots{display:none}html[data-theme=material-dark] a.item:before,html[data-theme=material] a.item:before{content:"";font-family:FontAwesome;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:0;height:100%;width:1rem;background:rgba(204,211,221,.5019607843137255);border-radius:0 60% 60% 0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s;padding:0 .2rem}html[data-theme=material-dark] a.item:focus-within div.bounce,html[data-theme=material-dark] a.item:hover div.bounce,html[data-theme=material] a.item:focus-within div.bounce,html[data-theme=material] a.item:hover div.bounce{text-indent:1rem}html[data-theme=material-dark] a.item:focus-within:before,html[data-theme=material-dark] a.item:hover:before,html[data-theme=material] a.item:focus-within:before,html[data-theme=material] a.item:hover:before{-webkit-transform:scale(1);transform:scale(1);text-indent:0}html[data-theme=material-dark] a.item:focus-within .opening-method-icon,html[data-theme=material-dark] a.item:hover .opening-method-icon,html[data-theme=material] a.item:focus-within .opening-method-icon,html[data-theme=material] a.item:hover .opening-method-icon{display:none}html[data-theme=material-dark] a.item:active,html[data-theme=material] a.item:active{background:hsla(0,0%,78%,.32941176470588235)}html[data-theme=material-dark] a.item.size-small,html[data-theme=material] a.item.size-small{padding-left:.5rem;min-width:11rem}html[data-theme=material-dark] a.item.size-large:before,html[data-theme=material] a.item.size-large:before{width:1.5rem}html[data-theme=material-dark] a.item.size-large:hover div:nth-child(2),html[data-theme=material] a.item.size-large:hover div:nth-child(2){text-indent:1.5rem}html[data-theme=material]{--primary:#363636;--background:#f5f5f5;--background-darker:#4285f4;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-text-color:#363636;--item-group-heading-text-color-hover:#363636;--item-icon-transform-hover:none;--nav-link-background-color:#0c4eba;--nav-link-text-color:#fff;--nav-link-border-color:#0c4eba;--settings-text-color:#363636;--config-code-color:#363636;--config-settings-background:#fff;--config-settings-color:#473f3f;--heading-text-color:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--search-container-background:#4285f4;--welcome-popup-text-color:#f5f5f5;--footer-text-color:hsla(0,0%,96.1%,0.8)}html[data-theme=material] header{background:#4285f4;color:#fff}html[data-theme=material] header .page-titles span.subtitle{text-shadow:none}html[data-theme=material] footer{opacity:1;color:#fff}html[data-theme=material] section.filter-container form label{color:#fff}html[data-theme=material] .prism-editor-wrapper{background:#f5f5f5}html[data-theme=material-dark]{--primary:#08b0bb;--background:#313941;--background-darker:#08b0bb;--settings-background:#092b3a;--settings-text-color:#08b0bb;--item-group-background:none;--item-group-outer-background:none;--item-group-shadow:none;--item-group-padding:5px 0 0;--item-group-heading-text-color:#e0e0e0;--item-group-heading-text-color-hover:#08b0bb;--item-text-color:#e0e0e0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-color:#131a1f;--login-form-background-secondary:#131a1f}html[data-theme=material-dark]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=material-dark] .item:active,html[data-theme=material-dark] .item:before{background:#131a1f!important}html[data-theme=minimal-light]{--primary:#a5a5a5;--background:#fff;--background-darker:#14171e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#f2f2f2;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#101931;--item-group-heading-text-color-hover:#101931;--settings-text-color:#101931;--config-code-color:#101931;--nav-link-background-color:none;--search-container-background:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#000;--login-form-color:#101931;--about-page-background:var(--background);--about-page-color:var(--background-darker)}html[data-theme=minimal-light] section.filter-container{background:#fff;border-bottom:1px dashed rgba(0,0,0,.2196078431372549)}html[data-theme=minimal-light] section.filter-container input#filter-tiles{border:1px solid #101931}html[data-theme=minimal-dark]{--primary:#a5a5a5;--background:#14171e;--background-darker:#090b0e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#090b0e;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#fff;--item-group-heading-text-color-hover:#fff;--settings-text-color:#fff;--config-code-color:#fff;--nav-link-background-color:none;--search-container-background:#14171e;--curve-factor:4px;--curve-factor-navbar:8px;--item-group-heading-text-color:#fff;--item-group-heading-text-color-hover:hsla(0,0%,100%,0.7490196078431373);--about-page-background:var(--background);--about-page-color:var(--primary)}html[data-theme=minimal-dark] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] section.filter-container{background:#14171e;border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549)}html[data-theme=minimal-dark] section.filter-container input#filter-tiles{border:1px solid #fff}html[data-theme=vaporware]{--primary:#09bfe6;--background:#100e2c;--background-darker:#6c27ea;--background-darker:linear-gradient(0deg,#6c27ea,#844ceb 80%);--settings-text-color:#6c27ea;--item-group-outer-background:#096de6;--item-group-outer-background:linear-gradient(45deg,#096de6,#0993e6 50%,#096de6);--item-group-background:#190e2c;--item-group-heading-text-color:var(--white);--item-group-heading-text-color-hover:#5118b9;--item-text-color:#5118b9;--item-background:#09bfe6;--item-background-hover:#9967f6;--footer-text-color:var(--white);--item-shadow:none;--curve-factor:2px;--curve-factor-navbar:6px;--login-form-color:#09bfe6}html[data-theme=vaporware] .home{background:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#100e2c),color-stop(40%,#1b184f),to(#100e2c));background:linear-gradient(180deg,#100e2c 10%,#1b184f 40%,#100e2c)}html[data-theme=vaporware] div.item-group-container{gap:.3rem;margin:1rem auto}html[data-theme=vaporware] div.collapsable{margin:.2rem;padding:.2rem}html[data-theme=vaporware] div.content-inner{padding:0!important}html[data-theme=vaporware] a.item{margin:.1rem;border:0}html[data-theme=vaporware] a.item.size-medium{min-height:80px}html[data-theme=vaporware] section.filter-container{background:-webkit-gradient(linear,left bottom,left top,color-stop(25%,var(--background)),to(#6c27ea));background:linear-gradient(0deg,var(--background) 25%,#6c27ea)}html[data-theme=vaporware] section.filter-container form{background:#6c27ea;height:2.5rem}html[data-theme=vaporware] section.filter-container form label,html[data-theme=vaporware] section.filter-container i.clear-search{color:#100e2c;border-color:#100e2c;font-weight:700}html[data-theme=vaporware] .tile-title span.text{font-weight:400}html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.4rem}html[data-theme=vaporware] footer{color:var(--white)}html[data-theme=vaporware] a.item{background:linear-gradient(45deg,#09bfe6,#09bfe6 80%,#09cbe6)}html[data-theme=vaporware] a.item:hover{background:#844ceb;color:#09bfe6}html[data-theme=vaporware] div.login-page{background:url(https://i.ibb.co/JqcJcGK/vaporwave-sunset-wallpaper.jpg);background-size:cover}@font-face{font-family:Inconsolata;src:url(../fonts/Inconsolata-Light.c8b568b1.ttf)}@font-face{font-family:Raleway;src:url(../fonts/Raleway-Variable.3b5635ac.ttf)}@font-face{font-family:PTMono;src:url(../fonts/PTMono-Regular.0c6b8e07.ttf)}html{--font-body:"Raleway","Trebuchet MS",sans-serif;--font-headings:"Inconsolata","Georgia",sans-serif;--font-monospace:"PTMono","Courier New",monospace;font-size:1rem;font-weight:400;text-decoration:none;background:transparent;vertical-align:baseline}html a,html body,html button,html div,html input,html label,html p,html span{font-family:var(--font-body)}html h1,html h2,html h3,html h4,html h5{font-family:var(--font-headings)}html .jsoneditor *,html .mono *,html code,html pre,html pre *{font-family:var(--font-monospace);font-weight:400}body{background:var(--background);margin:0;padding:0}#app .footer{text-align:center}section[data-v-72e6bff4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker))}form[data-v-72e6bff4],section[data-v-72e6bff4]{display:-webkit-box;display:-ms-flexbox;display:flex}form[data-v-72e6bff4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0 0 var(--curve-factor-navbar) 0;padding:0 .2rem .2rem 0;background:var(--search-container-background)}form label[data-v-72e6bff4]{color:var(--settings-text-color);margin:.5rem;display:inline}form input[data-v-72e6bff4]{display:inline-block;width:200px;height:1rem;padding:.5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);background:var(--search-field-background);color:var(--settings-text-color);border:1px solid var(--outline-color)}form input[data-v-72e6bff4]:focus{border-color:var(--settings-text-color);opacity:var(--dimming-factor)}form .clear-search[data-v-72e6bff4]{color:var(--settings-text-color);padding:0 .4rem;font-style:normal;opacity:var(--dimming-factor);border-radius:50px;cursor:pointer;right:.5rem;top:1rem;border:1px solid var(--settings-text-color);font-size:1rem;margin:.5rem}form .clear-search[data-v-72e6bff4]:hover{opacity:1;background:var(--background-darker)}@media(min-width:600px)and (max-width:779px){form[data-v-72e6bff4]{display:block;text-align:center}}@media(max-width:599px){form[data-v-72e6bff4]{-webkit-box-flex:1;-ms-flex:1;flex:1;border-radius:0;text-align:center;padding:.25rem 0;display:block}}.json-editor-outer{text-align:center}p.note{font-size:.8rem;color:var(--medium-grey);margin:.2rem}p.errors{text-align:left;margin:.5rem auto;width:95%}p.errors ul{list-style:none;padding:0;margin:0}p.errors ul li.type-validation{color:var(--warning)}p.errors ul li.type-validation:before{content:"⚠️"}p.errors ul li.type-parse{color:var(--danger)}p.errors ul li.type-parse:before{content:"❌"}p.errors ul li.type-valid{color:var(--success)}p.errors ul li.type-valid:before{content:"✅"}p.response-output{font-size:.8rem;text-align:left;margin:.5rem auto;width:95%;color:var(--config-settings-color)}p.response-output.status-success{color:var(--success)}p.response-output.status-fail{color:var(--danger)}button.save-button.err{opacity:.8;cursor:default}button.save-button.err:hover{background:var(--config-settings-color);color:var(--config-settings-background);border-color:var(--danger)}div.save-options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:.5rem;margin-bottom:.5rem;background:var(--code-editor-background);color:var(--code-editor-color);border-top:2px solid var(--config-settings-background)}@media(max-width:779px){div.save-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media(min-width:780px){div.save-options .option{margin-left:2rem}}div.save-options span.save-option-title{cursor:default}div.save-options input.radio-option,div.save-options label.save-option-label{cursor:pointer}.jsoneditor,.jsoneditor-menu{border-color:var(--primary)}.jsoneditor{border-bottom:none}.jsoneditor-menu,.pico-modal-header{background:var(--config-settings-background)!important;color:var(--config-settings-color)!important}.jsoneditor-contextmenu .jsoneditor-menu li button{background:var(--config-settings-background);color:var(--config-settings-color)}.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:focus,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:hover{background:var(--config-settings-color);color:var(--config-settings-background)}div.jsoneditor-search div.jsoneditor-frame{border-radius:var(--curve-factor)}.jsoneditor-poweredBy{display:none}.jsoneditor-tree,pre.jsoneditor-preview{background:var(--code-editor-background);text-align:left}.jsoneditor-jmespath-label{color:var(--config-settings-color)!important}.jsoneditor-jmespath-block.jsoneditor-modal-actions input{background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor)}.jsoneditor-jmespath-block.jsoneditor-modal-actions input:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}div.jsoneditor-jmespath-block textarea#query,textarea.jsoneditor-transform-preview{border:1px solid var(--config-settings-color);border-radius:var(--curve-factor)}button.save-button{padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor);cursor:pointer}button.save-button:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}.prism-editor-wrapper{min-height:200px;border:1px solid var(--transparent-70);border-radius:var(--curve-factor);width:90%;margin:.5rem auto;background:var(--transparent-50)}p.quick-note{text-align:left;width:80%;margin:1rem auto;padding:.5rem;border-radius:var(--curve-factor)}button[data-v-ec408f00]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;min-width:10rem;cursor:pointer}button svg[data-v-ec408f00]{width:1.2rem;margin:0 .5rem}button svg g[data-v-ec408f00],button svg path[data-v-ec408f00]{fill:currentColor}button.disallowed[data-v-ec408f00]{cursor:not-allowed!important}button[data-v-ec408f00]{color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}button[data-v-ec408f00]:hover:not(:disabled){color:var(--background);background:var(--primary);border-color:var(--background)}button[data-v-ec408f00]:disabled{cursor:progress;opacity:var(--dimming-factor)}.rebuild-app-container[data-v-4d488482]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;padding:1rem;overflow:auto}.rebuild-app-container[data-v-4d488482],.rebuild-app-container button[data-v-4d488482]{color:var(--config-settings-color);background:var(--config-settings-background)}.rebuild-app-container p.disallow-rebuild-msg[data-v-4d488482]{color:var(--danger);font-size:1.2rem;margin:.2rem auto;text-align:center}.rebuild-app-container h3.rebuild-app-title[data-v-4d488482]{text-align:center;font-size:2rem;margin:1rem}.rebuild-app-container div.loader-info[data-v-4d488482]{margin:.2rem auto;text-align:center}.rebuild-app-container div.loader-info svg.loader[data-v-4d488482]{width:100px}.rebuild-app-container div.loader-info p.loading-message[data-v-4d488482]{margin:0;font-size:.8rem;opacity:var(--dimming-factor);-webkit-animation:fadeIn-data-v-4d488482 3s;animation:fadeIn-data-v-4d488482 3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}@-webkit-keyframes fadeIn-data-v-4d488482{90%{opacity:0}95%{opacity:.8}to{opacity:1}}@keyframes fadeIn-data-v-4d488482{90%{opacity:0}95%{opacity:.8}to{opacity:1}}.rebuild-app-container div.rebuild-response[data-v-4d488482]{width:80%;margin:0 auto 4rem auto;text-align:center}.rebuild-app-container div.rebuild-response p.response-status[data-v-4d488482]{font-size:1rem;text-align:left}.rebuild-app-container div.rebuild-response p.response-status.success[data-v-4d488482]{color:var(--success)}.rebuild-app-container div.rebuild-response p.response-status.failure[data-v-4d488482]{color:var(--danger)}.rebuild-app-container div.rebuild-response pre.output[data-v-4d488482]{padding:1rem;font-size:.75rem;border-radius:var(--curve-factor-small);text-align:left;color:var(--white);background:var(--black);white-space:pre-wrap}.rebuild-app-container div.rebuild-response p.rebuild-message[data-v-4d488482]{font-size:1rem;text-align:left;margin:.8rem 0;color:var(--config-settings-color)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar-track,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar-thumb,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-3cfec9e9] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-3cfec9e9] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-3cfec9e9] ::-moz-selection,.highlight[data-v-3cfec9e9] ::-ms-selection,.highlight[data-v-3cfec9e9] ::-o-selection,.highlight[data-v-3cfec9e9] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-3cfec9e9]{font-weight:700}.light[data-v-3cfec9e9]{font-weight:lighter}.text-left[data-v-3cfec9e9]{text-align:left}.text-right[data-v-3cfec9e9]{text-align:right}.text-center[data-v-3cfec9e9]{text-align:center}.horizontal-center[data-v-3cfec9e9]{margin:0 auto}.border-box[data-v-3cfec9e9]{-webkit-box-sizing:border-box;box-sizing:border-box}pre[data-v-3cfec9e9]{color:var(--config-code-color);font-weight:700!important;padding:.5rem 1rem}a.config-button[data-v-3cfec9e9],button.config-button[data-v-3cfec9e9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-background);color:var(--config-settings-color);border:1px solid var(--config-settings-color);border-radius:var(--curve-factor);text-decoration:none;cursor:pointer;margin:.5rem auto;width:18rem}a.config-button svg.button-icon[data-v-3cfec9e9],button.config-button svg.button-icon[data-v-3cfec9e9]{width:1rem;height:1rem;padding:.2rem;margin-right:.5rem}a.config-button svg.button-icon path[data-v-3cfec9e9],button.config-button svg.button-icon path[data-v-3cfec9e9]{fill:var(--config-settings-color)}a.config-button[data-v-3cfec9e9]:hover,button.config-button[data-v-3cfec9e9]:hover{background:var(--config-settings-color);color:var(--config-settings-background)}a.config-button:hover svg path[data-v-3cfec9e9],button.config-button:hover svg path[data-v-3cfec9e9]{fill:var(--config-settings-background)}p.app-version[data-v-3cfec9e9]{margin:.5rem auto;font-size:1rem;color:var(--transparent-white-50)}div.code-container[data-v-3cfec9e9]{background:var(--config-code-background)}div.code-container #conf-yaml span[data-v-3cfec9e9]{font-family:var(--font-monospace),monospace!important}div.code-container #conf-yaml span.hljs-attr[data-v-3cfec9e9]{font-weight:700!important}div.code-container .yaml-action-buttons[data-v-3cfec9e9]{position:absolute;top:.5rem;right:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border:1px dashed;padding:.5rem;border-radius:4px}div.code-container .yaml-action-buttons h2[data-v-3cfec9e9]{margin:0;text-align:center;color:var(--config-code-color)}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]{padding:.25rem .5rem;font-size:1rem;color:var(--config-code-color);border-radius:var(--curve-factor);cursor:pointer;text-decoration:underline;border:1px solid var(--config-code-background)}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]:hover{color:var(--config-code-color);border-color:var(--config-code-color);text-decoration:none}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]:active{color:var(--config-code-background);background-color:var(--config-settings-color);text-decoration:none}.tab-item[data-v-3cfec9e9]{overflow-y:auto;background:var(--config-settings-background)}.tab-item.main-tab[data-v-3cfec9e9]{min-height:500px}a.hyperlink-wrapper[data-v-3cfec9e9]{margin:0 auto;text-decoration:none}.main-options-container[data-v-3cfec9e9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:2rem;background:var(--config-settings-background);height:calc(100% - 2rem)}.main-options-container h2[data-v-3cfec9e9]{margin:0 auto 1rem auto;color:var(--config-settings-color)}.config-note[data-v-3cfec9e9]{width:80%;position:absolute;bottom:1rem;left:10%;margin:.5rem auto;padding:.5rem .75rem;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left;opacity:var(--dimming-factor);color:var(--config-settings-color);background:var(--config-settings-background);cursor:default;display:none}.config-note p.sub-title[data-v-3cfec9e9]{font-weight:700;margin:0;display:inline}.config-note[data-v-3cfec9e9]:hover{opacity:1}@media(min-width:780px){.config-note[data-v-3cfec9e9]{display:block}}p.small-screen-note[data-v-3cfec9e9]{margin:.5rem auto;padding:0 .5rem;text-align:center;opacity:.8;font-size:.9rem;color:var(--warning)}@media(max-width:599px){p.small-screen-note[data-v-3cfec9e9]{display:block!important}}.tab__pagination{background:var(--config-settings-background)}.tab__pagination,.tab__pagination .tab__nav__items .tab__nav__item span{color:var(--config-settings-color)}.tab__pagination .tab__nav__items .tab__nav__item:hover{background:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item:hover span{color:var(--config-settings-background)}.tab__pagination .tab__nav__items .tab__nav__item.active span{font-weight:700;color:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item.active{border-bottom:2px solid var(--config-settings-color)}.tab__pagination hr.tab__slider{background:var(--config-settings-color)}#conf-yaml .hljs-attr{color:#9c03f5}div.input-container[data-v-5df13ed2]{margin:.25rem auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}div.input-container.vertical[data-v-5df13ed2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div.input-container.horizontal[data-v-5df13ed2]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}div.input-container.horizontal label[data-v-5df13ed2]{margin-right:.25rem}div.input-container input[data-v-5df13ed2]{min-width:10rem;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}div.input-container input[data-v-5df13ed2]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color);outline:none}.scroll-bar[data-v-763657f4]::-webkit-scrollbar,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-track,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-thumb,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-763657f4] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::-moz-selection,.highlight[data-v-763657f4] ::-ms-selection,.highlight[data-v-763657f4] ::-o-selection,.highlight[data-v-763657f4] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-763657f4]{font-weight:700}.light[data-v-763657f4]{font-weight:lighter}.text-left[data-v-763657f4]{text-align:left}.text-right[data-v-763657f4]{text-align:right}.text-center[data-v-763657f4]{text-align:center}.horizontal-center[data-v-763657f4]{margin:0 auto}.border-box[data-v-763657f4]{-webkit-box-sizing:border-box;box-sizing:border-box}div.cloud-backup-restore-wrapper[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;overflow:auto;height:100%;background:var(--config-settings-background);color:var(--config-settings-color)}div.cloud-backup-restore-wrapper .section[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto 1rem auto;padding:0 .5rem 1rem .5rem}div.cloud-backup-restore-wrapper .section[data-v-763657f4]:first-child{border-bottom:1px dashed var(--config-settings-color)}div.cloud-backup-restore-wrapper .section.intro[data-v-763657f4]{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}div.cloud-backup-restore-wrapper .section.intro a[data-v-763657f4]{color:var(--config-settings-color)}div.cloud-backup-restore-wrapper h2[data-v-763657f4]{font-size:2rem}div.cloud-backup-restore-wrapper h3[data-v-763657f4]{font-size:1.6rem}div.cloud-backup-restore-wrapper p.intro[data-v-763657f4]{text-align:left;font-size:1rem;margin:.25rem;padding:.25rem}div.results-view[data-v-763657f4]{width:16rem;margin:.5rem auto;padding:.5rem .75rem;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left}div.results-view .backup-id-label[data-v-763657f4],div.results-view .backup-id-value[data-v-763657f4]{display:inline;font-size:1rem;margin-right:.5rem}div.results-view .backup-id-note[data-v-763657f4]{font-size:.8rem;display:block;opacity:.8;margin-top:.5rem}button[data-v-763657f4],input[data-v-763657f4]{color:var(--config-settings-color);border:1px solid var(--config-settings-color);background:none;width:16rem}input[data-v-763657f4]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color)}button[data-v-763657f4]:hover{color:var(--config-settings-background);border:1px solid var(--config-settings-background);background:var(--config-settings-color)}h2[data-v-763657f4],h3[data-v-763657f4]{margin:1rem}.config-options[data-v-383db9de]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:var(--settings-text-color)}.config-options svg[data-v-383db9de]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.config-options svg path[data-v-383db9de]{fill:var(--settings-text-color)}.config-options svg.selected[data-v-383db9de],.config-options svg[data-v-383db9de]:hover{background:var(--settings-text-color)}.config-options svg.selected path[data-v-383db9de],.config-options svg:hover path[data-v-383db9de]{fill:var(--background)}.v-select{position:relative;font-family:inherit}.v-select,.v-select *{-webkit-box-sizing:border-box;box-sizing:border-box}@-webkit-keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;-webkit-transition:opacity .15s cubic-bezier(1,.5,.8,1);transition:opacity .15s cubic-bezier(1,.5,.8,1)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__search,.vs--disabled .vs__selected{cursor:not-allowed;background-color:#f8f8f8}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 0 4px 0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal}.vs__dropdown-toggle,.vs__selected-options{display:-webkit-box;display:-ms-flexbox;display:flex}.vs__selected-options{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 6px 0 3px}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:rgba(60,60,60,.5);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855),-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);-webkit-transition-timing-function:cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855)}.vs--open .vs__open-indicator{-webkit-transform:rotate(180deg) scale(1);transform:rotate(180deg) scale(1)}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:rgba(60,60,60,.5);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:calc(100% - 1px);left:0;z-index:1000;padding:5px 0;margin:0;width:100%;max-height:350px;min-width:160px;overflow-y:auto;-webkit-box-shadow:0 3px 6px 0 rgba(0,0,0,.15);box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border:1px solid rgba(60,60,60,.26);border-top-style:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.vs__dropdown-option:hover{cursor:pointer}.vs__dropdown-option--highlight{background:#5897fb;color:#fff}.vs__dropdown-option--disabled{background:inherit;color:rgba(60,60,60,.5)}.vs__dropdown-option--disabled:hover{cursor:inherit}.vs__selected{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f0f0f0;border:1px solid rgba(60,60,60,.26);border-radius:4px;color:#333;line-height:1.4;margin:4px 2px 0 2px;padding:0 .25em;z-index:0}.vs__deselect{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:rgba(60,60,60,.5);text-shadow:0 1px 0 #fff}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1.4;font-size:1em;border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0 0;padding:0 7px;background:none;-webkit-box-shadow:none;box-shadow:none;width:0;max-width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;z-index:1}.vs__search::-webkit-input-placeholder{color:inherit}.vs__search::-moz-placeholder{color:inherit}.vs__search:-ms-input-placeholder{color:inherit}.vs__search::-ms-input-placeholder{color:inherit}.vs__search::placeholder{color:inherit}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search:hover{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{-ms-flex-item-align:center;align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid hsla(0,0%,39.2%,.1);border-right:.9em solid hsla(0,0%,39.2%,.1);border-bottom:.9em solid hsla(0,0%,39.2%,.1);border-left:.9em solid rgba(60,60,60,.45);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;-webkit-transition:opacity .1s;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em}.vs--loading .vs__spinner{opacity:1}.theme-dropdown div.vs__dropdown-toggle{border-color:var(--settings-text-color);border-radius:var(--curve-factor);min-width:10rem;height:1.8rem;font-size:.85rem;cursor:pointer}.theme-dropdown li.vs__dropdown-option,.theme-dropdown span.vs__selected{color:var(--settings-text-color);text-transform:capitalize}.theme-dropdown svg.vs__open-indicator{fill:var(--settings-text-color)}.theme-dropdown ul.vs__dropdown-menu{width:auto;background:var(--background);z-index:5}.theme-dropdown li.vs__dropdown-option--highlight{background:var(--settings-text-color);color:var(--background)}.theme-dropdown button.vs__clear{display:none}.theme-selector-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;height:100%}.theme-selector-section span.theme-label{font-size:1rem;color:var(--settings-text-color);margin:1px 0 2px 0}.display-options[data-v-c819d738],span.options-label[data-v-c819d738]{color:var(--settings-text-color)}.display-options svg[data-v-c819d738]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-c819d738]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-c819d738],.display-options svg[data-v-c819d738]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-c819d738],.display-options svg:hover path[data-v-c819d738]{fill:var(--background)}.display-options[data-v-58966274],span.options-label[data-v-58966274]{color:var(--settings-text-color)}.display-options svg[data-v-58966274]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-58966274]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-58966274],.display-options svg[data-v-58966274]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-58966274],.display-options svg:hover path[data-v-58966274]{fill:var(--background)}.display-options[data-v-d69dca9c],span.options-label[data-v-d69dca9c]{color:var(--settings-text-color)}.display-options svg[data-v-d69dca9c]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-d69dca9c]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-d69dca9c],.display-options svg[data-v-d69dca9c]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-d69dca9c],.display-options svg:hover path[data-v-d69dca9c]{fill:var(--background)}.kb-sc-info[data-v-c5f17d9a]{position:fixed;width:30em;bottom:0;right:10px;margin:.5em;padding:.1em .3em;z-index:6;border-radius:12px;border:1px solid var(--welcome-popup-background);-webkit-box-shadow:2px 1px 5px #130f23;box-shadow:2px 1px 5px #130f23;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);cursor:default;opacity:.94}@media(max-width:599px){.kb-sc-info[data-v-c5f17d9a]{display:none}}.kb-sc-info h5[data-v-c5f17d9a]{position:absolute;top:-35px;left:20px;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);padding:4px;border-radius:var(--curve-factor)}.kb-sc-info .close[data-v-c5f17d9a]{float:right;border-radius:20px;width:1em;padding:0 0 6px 6px;height:1em;background:var(--transparent-50);margin-top:3px;border:1px solid transparent;cursor:pointer}.kb-sc-info .close[data-v-c5f17d9a]:hover{border:1px solid var(--welcome-popup-text-color);opacity:var(--dimming-factor)}.slide-fade-enter-active[data-v-c5f17d9a]{-webkit-transition:all 1s ease;transition:all 1s ease}.slide-fade-leave-active[data-v-c5f17d9a]{-webkit-transition:all .8s cubic-bezier(.93,.01,.89,.5);transition:all .8s cubic-bezier(.93,.01,.89,.5)}.slide-fade-enter[data-v-c5f17d9a],.slide-fade-leave-to[data-v-c5f17d9a]{-webkit-transform:translateY(35em);transform:translateY(35em);opacity:0}.display-options[data-v-40e473c3],span.options-label[data-v-40e473c3]{color:var(--settings-text-color)}.display-options svg[data-v-40e473c3]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-40e473c3]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-40e473c3],.display-options svg[data-v-40e473c3]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-40e473c3],.display-options svg:hover path[data-v-40e473c3]{fill:var(--background)}div.about-modal[data-v-40e473c3]{background:var(--about-page-background);color:var(--about-page-color);padding:1rem;height:100%}div.about-modal hr[data-v-40e473c3]{border-color:var(--about-page-accent)}div.about-modal h2[data-v-40e473c3]{text-decoration:none;font-size:1.8rem;text-align:center;margin:.2rem}div.about-modal h3[data-v-40e473c3]{font-size:1.3rem;margin:.75rem 0 .2rem 0;color:var(--about-page-accent)}div.about-modal p.small-note[data-v-40e473c3]{font-size:.9rem;margin:.2rem 0}div.about-modal p.about-text[data-v-40e473c3]{margin:.2rem 0}div.about-modal a[data-v-40e473c3]{color:var(--about-page-accent)}div.about-modal ul[data-v-40e473c3]{margin-top:.2rem}div.about-modal .system-info[data-v-40e473c3]{font-size:.8rem;background:var(--black);color:var(--white);border-radius:var(--curve-factor-small);padding:.5rem;border:1px solid var(--white);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}div.about-modal .system-info h4[data-v-40e473c3]{font-size:.8rem;margin:0 0 .2rem 0;text-decoration:underline}section[data-v-185e0654]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker));-webkit-box-shadow:var(--settings-container-shadow);box-shadow:var(--settings-container-shadow)}.options-outer[data-v-185e0654]{position:relative;-ms-flex:1;flex:1;border-radius:var(--curve-factor-navbar)}.options-container[data-v-185e0654],.options-outer[data-v-185e0654]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;background:var(--settings-background)}.options-container[data-v-185e0654]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex:1;flex:1;padding:.5rem 1.5rem .5rem 1rem;border-radius:var(--curve-factor-navbar) 0 0}.options-container div[data-v-185e0654]{margin-left:.5rem;opacity:var(--dimming-factor);opacity:1}.options-container div[data-v-185e0654]:hover{opacity:1}.options-container.hide[data-v-185e0654]{display:none}@media(max-width:399px){.options-container[data-v-185e0654]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}}.show-hide-container[data-v-185e0654]{display:-webkit-box;display:-ms-flexbox;display:flex;background:var(--settings-background);color:var(--settings-text-color);width:1.5rem;position:absolute;top:4px;right:4px}.show-hide-container.show-btn[data-v-185e0654]{width:2rem;top:.5rem;right:.5rem}@media(max-width:599px){.show-hide-container.show-btn[data-v-185e0654]{top:-3rem!important}}.show-hide-container button[data-v-185e0654]{width:100%;padding:2px 2px 0 2px;margin:2px;border-radius:var(--curve-factor);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;background:none;border:none;color:var(--settings-text-color);cursor:pointer;opacity:var(--dimming-factor)}.show-hide-container:hover button[data-v-185e0654]{background:var(--settings-text-color);color:var(--settings-background)}svg.logout-icon[data-v-185e0654]{width:1rem;height:1rem;margin:.35rem .2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid var(--settings-text-color);border-radius:var(--curve-factor);cursor:pointer}svg.logout-icon path[data-v-185e0654]{fill:var(--settings-text-color)}svg.logout-icon.selected[data-v-185e0654],svg.logout-icon[data-v-185e0654]:hover{background:var(--settings-text-color)}svg.logout-icon.selected path[data-v-185e0654],svg.logout-icon:hover path[data-v-185e0654]{fill:var(--background)}@media(min-width:600px)and (max-width:779px){section[data-v-185e0654]{display:block;margin:0 auto;background:none}section .options-container[data-v-185e0654]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.tile-icon{width:2rem;border-radius:var(--curve-factor)}.tile-icon.broken{display:none}.tile-icon.small{width:1.5rem}.tile-icon.large{width:3rem}i.fab,i.fad,i.fal,i.far,i.fas{font-size:2rem;color:currentColor;margin:1px auto 4px}i.fab.small,i.fad.small,i.fal.small,i.far.small,i.fas.small{font-size:1.5rem}i.fab.large,i.fad.large,i.fal.large,i.far.large,i.fas.large{font-size:3rem}object.tile-icon{width:55px;height:55px}object.tile-icon svg,object.tile-icon svg g,object.tile-icon svg g path{fill:currentColor}.missing-image{width:3.5rem}.missing-image path{fill:currentColor}.opening-method-icon svg[data-v-17201835]{position:absolute;width:1rem;margin:2px}.opening-method-icon svg path[data-v-17201835]{fill:currentColor}.opening-method-icon.top svg[data-v-17201835]{top:0}.opening-method-icon.bottom svg[data-v-17201835]{bottom:0}.opening-method-icon.left svg[data-v-17201835]{left:0}.opening-method-icon.right svg[data-v-17201835]{right:0}.opening-method-icon.short svg[data-v-17201835]{width:.8rem;margin:0}.opening-method-icon.transparent svg[data-v-17201835]{opacity:.5}.indicator[data-v-46972ad8]{padding:5px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;cursor:help}.indicator[data-v-46972ad8]:hover{-webkit-transform:scale(1.25);transform:scale(1.25);-webkit-filter:saturate(2);filter:saturate(2);opacity:1}@-webkit-keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@-webkit-keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}@keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}.dot[data-v-46972ad8]{border-radius:50%;height:12px;width:12px;-webkit-animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards;animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards}.dot>span[data-v-46972ad8],.dot>span span[data-v-46972ad8],.dot>span span[data-v-46972ad8]:after{-webkit-animation:pulse-data-v-46972ad8 1s linear .5s 2;animation:pulse-data-v-46972ad8 1s linear .5s 2;border-radius:50%;display:block;height:12px;width:12px;content:""}.dot.dot-green[data-v-46972ad8]{background-color:var(--success)}.dot.dot-green span[data-v-46972ad8],.dot.dot-green span[data-v-46972ad8]:after{background-color:var(--success);opacity:.4}.dot.dot-red[data-v-46972ad8]{background-color:var(--danger)}.dot.dot-red span[data-v-46972ad8],.dot.dot-red span[data-v-46972ad8]:after{background-color:var(--danger);opacity:.4}.dot.dot-yellow[data-v-46972ad8]{background-color:var(--warning)}.dot.dot-yellow span[data-v-46972ad8],.dot.dot-yellow span[data-v-46972ad8]:after{background-color:var(--warning);opacity:.4}.dot.dot-grey[data-v-46972ad8]{background-color:var(--medium-grey)}.dot.dot-grey span[data-v-46972ad8],.dot.dot-grey span[data-v-46972ad8]:after{background-color:var(--medium-grey);opacity:.4}.status-tooltip{background:var(--status-check-tooltip-background)!important;color:var(--status-check-tooltip-color)!important;font-size:1rem;z-index:10}.status-tooltip.tip-green{border:1px solid var(--success)}.status-tooltip.tip-yellow{border:1px solid var(--warning)}.status-tooltip.tip-red{border:1px solid var(--danger)}.item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:var(--item-text-color);vertical-align:middle;margin:.5rem;background:var(--item-background);text-align:center;padding:2px;outline:2px solid transparent;border:1px solid var(--outline-color);border-radius:var(--curve-factor);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow);cursor:pointer;text-decoration:none;position:relative;-webkit-transition:all .2s ease-in-out 0s;transition:all .2s ease-in-out 0s}.item:hover{-webkit-box-shadow:var(--item-hover-shadow);box-shadow:var(--item-hover-shadow);background:var(--item-background-hover);position:relative}.item:hover .tile-title span.text{white-space:pre-wrap}.item:focus{outline:2px solid var(--primary)}.item.short{height:18px}.tile-title{overflow:hidden;text-overflow:ellipsis;min-width:120px;height:30px;position:relative;padding:0;z-index:2}.tile-title,.tile-title span.text{white-space:nowrap}.status-indicator{position:absolute;top:0;right:0}.opening-method-icon{display:none}.item:focus .opening-method-icon,.item:hover .opening-method-icon{display:block}.item:focus .tile-title.is-overflowing .overflow-dots,.item:hover .tile-title.is-overflowing .overflow-dots{opacity:0}.item:focus .tile-title.is-overflowing span.text,.item:hover .tile-title.is-overflowing span.text{-webkit-transform:translateX(calc(100px - 100%));transform:translateX(calc(100px - 100%))}.item:focus .tile-icon,.item:focus .tile-svg,.item:hover .tile-icon,.item:hover .tile-svg{-webkit-filter:var(--item-icon-transform-hover);filter:var(--item-icon-transform-hover)}.item.size-small{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:2rem}.item.size-small div img,.item.size-small div svg.missing-image{width:2rem}.item.size-small .tile-title{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-height:1.2rem}.item.size-small .tile-title span.text{text-align:left;padding-left:10%}.item.size-medium{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:auto}.item.size-medium div img,.item.size-medium div svg.missing-image{width:2.5rem;margin-bottom:.25rem}.item.size-medium .tile-title{min-width:100px;max-width:160px}.item.size-large{height:100px}.item p.description{display:none}.item:before{display:none;font-family:FontAwesome;content:var(--open-icon,"")!important}.tooltip{padding:.2rem .5rem;background:rgba(11,16,33,.8);border:1px solid #0b1021;border-radius:3px;color:#fff;max-width:250px}.tooltip-arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-11px;left:calc(50% - 5px);margin-top:0;margin-bottom:0;width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:rgba(11,16,33,.8);z-index:3}.disabled-link{pointer-events:none}.collapsable[data-v-33a8b630]{padding:var(--item-group-padding);margin:10px;border-radius:var(--curve-factor);background:var(--item-group-outer-background);-webkit-box-shadow:var(--item-group-shadow);box-shadow:var(--item-group-shadow);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:100%;width:-webkit-fill-available;width:-moz-available;width:stretch;grid-row-start:span 1;grid-column-start:span 1}.collapsable.row-2[data-v-33a8b630]{grid-row-start:span 2}.collapsable.row-3[data-v-33a8b630]{grid-row-start:span 3}.collapsable.row-4[data-v-33a8b630]{grid-row-start:span 4}@media(min-width:780px){.collapsable.col-2[data-v-33a8b630],.collapsable.col-3[data-v-33a8b630],.collapsable.col-4[data-v-33a8b630]{grid-column-start:span 2}}@media(min-width:1150px){.collapsable.col-2[data-v-33a8b630]{grid-column-start:span 2}.collapsable.col-3[data-v-33a8b630],.collapsable.col-4[data-v-33a8b630]{grid-column-start:span 3}}@media(min-width:1780px){.collapsable.col-2[data-v-33a8b630]{grid-column-start:span 2}.collapsable.col-3[data-v-33a8b630]{grid-column-start:span 3}.collapsable.col-4[data-v-33a8b630]{grid-column-start:span 4}}.collapsable .wrap-collabsible[data-v-33a8b630]{margin-bottom:1.2rem 0}.collapsable input[type=checkbox][data-v-33a8b630]{display:none}.collapsable label.lbl-toggle[data-v-33a8b630]{outline:none;display:block;padding:.25rem;cursor:pointer;border-radius:var(--curve-factor);-webkit-transition:all .25s ease-out;transition:all .25s ease-out;text-align:left;color:var(--item-group-heading-text-color)}.collapsable label.lbl-toggle h3[data-v-33a8b630]{margin:0;padding:0;display:inline}.collapsable label.lbl-toggle .section-icon[data-v-33a8b630]{display:inline;margin-right:.5rem}.collapsable .lbl-toggle[data-v-33a8b630]:hover{color:var(--item-group-heading-text-color-hover)}.collapsable .lbl-toggle[data-v-33a8b630]:before{content:" ";display:inline-block;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid currentColor;vertical-align:middle;margin-right:.7rem;-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-transition:-webkit-transform .2s ease-out;transition:-webkit-transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out,-webkit-transform .2s ease-out}.collapsable .toggle:checked+.lbl-toggle[data-v-33a8b630]:before{-webkit-transform:rotate(90deg) translateX(-3px);transform:rotate(90deg) translateX(-3px)}.collapsable .collapsible-content[data-v-33a8b630]{max-height:0;overflow:hidden;-webkit-transition:max-height .25s ease-in-out;transition:max-height .25s ease-in-out;background:var(--item-group-background);border-radius:0 0 var(--curve-factor) var(--curve-factor)}.collapsable .toggle:checked+.lbl-toggle+.collapsible-content[data-v-33a8b630]{max-height:3000px}.collapsable .toggle:checked+.lbl-toggle[data-v-33a8b630]{border-bottom-right-radius:0;border-bottom-left-radius:0}.collapsable .collapsible-content .content-inner[data-v-33a8b630]{padding:.5rem}.frame{width:100%;height:100%;border:none}.no-url{margin:4rem auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-size:2rem;padding:.5rem;border:1px dashed red;border-radius:3px;background:#f4f2f2}.close-button{position:absolute;right:0;padding:.5rem;border:0;border-radius:0 0 0 10px;background:var(--primary);color:var(--background);border-left:1px solid var(--primary);border-bottom:1px solid var(--primary);cursor:pointer}.close-button:hover{background:var(--background);color:var(--primary)}.scroll-bar[data-v-29d94632]::-webkit-scrollbar,.there-are-items.item-group-grid[data-v-29d94632]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-29d94632]::-webkit-scrollbar-track,.there-are-items.item-group-grid[data-v-29d94632]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-29d94632]::-webkit-scrollbar-thumb,.there-are-items.item-group-grid[data-v-29d94632]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-29d94632] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-29d94632] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-29d94632] ::-moz-selection,.highlight[data-v-29d94632] ::-ms-selection,.highlight[data-v-29d94632] ::-o-selection,.highlight[data-v-29d94632] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-29d94632]{font-weight:700}.light[data-v-29d94632]{font-weight:lighter}.text-left[data-v-29d94632]{text-align:left}.text-right[data-v-29d94632]{text-align:right}.text-center[data-v-29d94632]{text-align:center}.horizontal-center[data-v-29d94632]{margin:0 auto}.border-box[data-v-29d94632]{-webkit-box-sizing:border-box;box-sizing:border-box}.no-items[data-v-29d94632]{width:100px;margin:0 auto;padding:.8rem;text-align:center;cursor:default;border-radius:var(--curve-factor);background:rgba(96,125,139,.2);color:var(--primary);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow)}.there-are-items[data-v-29d94632]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.there-are-items.item-group-grid[data-v-29d94632]{display:grid;overflow:auto}@media(max-width:599px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(5,1fr)}}.orientation-horizontal[data-v-29d94632]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orientation-horizontal .there-are-items[data-v-29d94632]{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(2,1fr)}}@media(min-width:600px)and (max-width:779px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(4,1fr)}}@media(min-width:780px)and (max-width:1149px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(6,1fr)}}@media(min-width:1150px)and (max-width:1779px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(8,1fr)}}@media(min-width:1780px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(10,1fr)}}@media(min-width:2800px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(12,1fr)}}.item-group-container[data-v-5ca97887]::-webkit-scrollbar,.scroll-bar[data-v-5ca97887]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.item-group-container[data-v-5ca97887]::-webkit-scrollbar-track,.scroll-bar[data-v-5ca97887]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.item-group-container[data-v-5ca97887]::-webkit-scrollbar-thumb,.scroll-bar[data-v-5ca97887]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-5ca97887] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-5ca97887] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-5ca97887] ::-moz-selection,.highlight[data-v-5ca97887] ::-ms-selection,.highlight[data-v-5ca97887] ::-o-selection,.highlight[data-v-5ca97887] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-5ca97887]{font-weight:700}.light[data-v-5ca97887]{font-weight:lighter}.text-left[data-v-5ca97887]{text-align:left}.text-right[data-v-5ca97887]{text-align:right}.text-center[data-v-5ca97887]{text-align:center}.horizontal-center[data-v-5ca97887]{margin:0 auto}.border-box[data-v-5ca97887]{-webkit-box-sizing:border-box;box-sizing:border-box}.home[data-v-5ca97887]{padding-bottom:1px;background:var(--background);min-height:calc(100vh - var(--footer-height))}.item-group-container[data-v-5ca97887]{display:grid;gap:.5rem;margin:0 auto;max-width:90%;overflow:auto}@media(min-width:1780px){.item-group-container[data-v-5ca97887]{max-width:1400px}}.item-group-container.orientation-horizontal[data-v-5ca97887]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.item-group-container.orientation-vertical[data-v-5ca97887]{max-width:100%}@media(min-width:780px){.item-group-container.orientation-vertical[data-v-5ca97887]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media(max-width:599px){.item-group-container[data-v-5ca97887]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.item-group-container[data-v-5ca97887]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.item-group-container[data-v-5ca97887]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.item-group-container[data-v-5ca97887]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.item-group-container[data-v-5ca97887]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.item-group-container[data-v-5ca97887]{grid-template-columns:repeat(5,1fr)}}.item-group-container .no-results[data-v-5ca97887]{display:none}.no-data[data-v-5ca97887]{font-size:2rem;color:var(--background);background:hsla(0,0%,100%,.9215686274509803);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:2rem auto;padding:.5rem 1rem;border-radius:var(--curve-factor)}section.filter-container[data-v-5ca97887]{border-bottom:1px solid var(--outline-color)}@media(max-width:599px){section.filter-container[data-v-5ca97887]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.login-page{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:800px}.login-page,.login-page .login-form{display:-webkit-box;display:-ms-flexbox;display:flex}.login-page .login-form{background:var(--login-form-background);color:var(--login-form-color);border:1px solid var(--login-form-color);border-radius:var(--curve-factor);padding:2rem;margin:2rem auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.login-page .login-form h2.login-title{font-size:3rem;margin:0 0 1rem 0;text-align:center}.login-page .login-form .login-field input,.login-page .login-form Button.login-button{width:18rem;margin:.5rem auto;font-size:1.4rem;padding:.5rem 1rem}.login-page .login-form .login-field input{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button{background:var(--login-form-color);border-color:var(--login-form-background);color:var(--login-form-background)}.login-page .login-form Button.login-button:hover{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button:active,.login-page .login-form Button.login-button:focus{-webkit-box-shadow:1px 1px 6px var(--login-form-color);box-shadow:1px 1px 6px var(--login-form-color)}.login-page .login-form p.login-error-message{font-size:1rem;text-align:center}.login-page .login-form p.login-error-message.waiting{color:var(--login-form-color)}.login-page .login-form p.login-error-message.success{color:var(--success)}.login-page .login-form p.login-error-message.error{color:var(--warning)}.bounce-enter-active{-webkit-animation:bounce-in .25s;animation:bounce-in .25s}.bounce-leave-active{animation:bounce-in .25s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-d979f4fe] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::-moz-selection,.highlight[data-v-d979f4fe] ::-ms-selection,.highlight[data-v-d979f4fe] ::-o-selection,.highlight[data-v-d979f4fe] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-d979f4fe]{font-weight:700}.light[data-v-d979f4fe]{font-weight:lighter}.text-left[data-v-d979f4fe]{text-align:left}.text-right[data-v-d979f4fe]{text-align:right}.text-center[data-v-d979f4fe]{text-align:center}.horizontal-center[data-v-d979f4fe]{margin:0 auto}.border-box[data-v-d979f4fe]{-webkit-box-sizing:border-box;box-sizing:border-box}div.side-bar-item[data-v-d979f4fe]{color:var(--side-bar-color);background:var(--side-bar-background);text-align:center}div.side-bar-item.text-only[data-v-d979f4fe]{background:none;border:none;-webkit-box-shadow:none;box-shadow:none}div.side-bar-item.text-only p.small-title[data-v-d979f4fe]{margin:.1rem auto;font-size:.6rem}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-56ddb963] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::-moz-selection,.highlight[data-v-56ddb963] ::-ms-selection,.highlight[data-v-56ddb963] ::-o-selection,.highlight[data-v-56ddb963] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-56ddb963]{font-weight:700}.light[data-v-56ddb963]{font-weight:lighter}.text-left[data-v-56ddb963]{text-align:left}.text-right[data-v-56ddb963]{text-align:right}.text-center[data-v-56ddb963]{text-align:center}.horizontal-center[data-v-56ddb963]{margin:0 auto}.border-box[data-v-56ddb963]{-webkit-box-sizing:border-box;box-sizing:border-box}div.sub-side-bar[data-v-56ddb963]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background-lighter);border-radius:var(--curve-factor);margin:.2rem;color:var(--side-bar-color);text-align:center;z-index:3}div.sub-side-bar .item[data-v-56ddb963]:not(:last-child){border-bottom:1px dashed var(--side-bar-color)}.scroll-bar[data-v-31476576]::-webkit-scrollbar,nav.side-bar[data-v-31476576]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-track,nav.side-bar[data-v-31476576]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-thumb,nav.side-bar[data-v-31476576]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-31476576] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::-moz-selection,.highlight[data-v-31476576] ::-ms-selection,.highlight[data-v-31476576] ::-o-selection,.highlight[data-v-31476576] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-31476576]{font-weight:700}.light[data-v-31476576]{font-weight:lighter}.text-left[data-v-31476576]{text-align:left}.text-right[data-v-31476576]{text-align:right}.text-center[data-v-31476576]{text-align:center}.horizontal-center[data-v-31476576]{margin:0 auto}.border-box[data-v-31476576]{-webkit-box-sizing:border-box;box-sizing:border-box}nav.side-bar[data-v-31476576]{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background);color:var(--side-bar-color);height:100%;width:var(--side-bar-width);text-align:center;overflow:auto}nav.side-bar .side-bar-item-container[data-v-31476576]{z-index:5}nav.side-bar .item[data-v-31476576]:not(:last-child){border-bottom:1px dashed var(--side-bar-color);z-index:5}.slide-enter-active[data-v-31476576],.slide-leave-active[data-v-31476576]{-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.slide-enter[data-v-31476576],.slide-leave-to[data-v-31476576]{-webkit-transform:translateY(-80%);transform:translateY(-80%)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-a2564c04] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::-moz-selection,.highlight[data-v-a2564c04] ::-ms-selection,.highlight[data-v-a2564c04] ::-o-selection,.highlight[data-v-a2564c04] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-a2564c04]{font-weight:700}.light[data-v-a2564c04]{font-weight:lighter}.text-left[data-v-a2564c04]{text-align:left}.text-right[data-v-a2564c04]{text-align:right}.text-center[data-v-a2564c04]{text-align:center}.horizontal-center[data-v-a2564c04]{margin:0 auto}.border-box[data-v-a2564c04]{-webkit-box-sizing:border-box;box-sizing:border-box}iframe[data-v-a2564c04]{position:absolute;left:var(--side-bar-width);height:calc(100% - var(--header-height));width:calc(100% - var(--side-bar-width));border:none;background:#fff}.work-space[data-v-6136c26a]{min-height:calc(100vh - var(--footer-height))}pre[data-v-33cd2d90]{background:var(--code-editor-background);color:var(--code-editor-color);padding:1rem}
\ No newline at end of file
diff --git a/css/dashy.85b892c9.css b/css/dashy.85b892c9.css
deleted file mode 100644
index 8f424df6..00000000
--- a/css/dashy.85b892c9.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css2?family=Francois+One&family=Roboto:wght@300&display=swap);@import url(https://fonts.googleapis.com/css2?family=Cutive+Mono&family=VT323&display=swap);@import url(https://fonts.googleapis.com/css2?family=Podkova:wght@500&display=swap);@import url(https://fonts.googleapis.com/css2?family=Allerta+Stencil&display=swap);@import url(https://fonts.googleapis.com/css2?family=Sniglet&display=swap);.page-titles[data-v-290d21a8]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.page-titles h1[data-v-290d21a8]{color:var(--heading-text-color);font-size:2.5rem;margin:0}.page-titles span.subtitle[data-v-290d21a8]{color:var(--heading-text-color);font-style:italic;text-shadow:1px 1px 2px #130f23;opacity:var(--dimming-factor)}@media(max-width:599px){.page-titles[data-v-290d21a8]{text-align:center;padding:.25rem 0}}nav[data-v-68c1bd5c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}nav .nav-item[data-v-68c1bd5c]{display:inline-block;padding:.75rem .5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);-webkit-box-shadow:1px 1px 2px #232323;box-shadow:1px 1px 2px #232323;color:var(--nav-link-text-color);background:var(--nav-link-background-color);border:1px solid var(--nav-link-border-color);text-decoration:none}nav .nav-item.router-link-active[data-v-68c1bd5c],nav .nav-item[data-v-68c1bd5c]:hover{color:var(--nav-link-text-color-hover);background:var(--nav-link-background-color-hover);border:1px solid var(--nav-link-border-color-hover)}header[data-v-70a33270]{margin:0;padding:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background:var(--background-darker);-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start}@media(max-width:599px){header[data-v-70a33270]{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}footer[data-v-23129a2b]{width:calc(100% - .5rem);bottom:0;padding:.25rem;text-align:center;color:var(--medium-grey);opacity:var(--dimming-factor);background:var(--background-darker);margin-top:1.5rem;border-top:1px solid var(--outline-color)}footer.fixed[data-v-23129a2b]{position:fixed}footer a[data-v-23129a2b]{color:var(--footer-text-color)}footer a[data-v-23129a2b]:hover{color:var(--footer-text-color-link)}div#loading[data-v-a7bc1de6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;height:100%;width:100%;z-index:7;background:var(--loading-screen-background);color:var(--loading-screen-color)}div#loading.hide[data-v-a7bc1de6]{display:none}div#loading .inner-container[data-v-a7bc1de6]{text-align:center}div#loading p[data-v-a7bc1de6]{font-size:6vw;display:inline;margin:0 auto}div#loading h2[data-v-a7bc1de6]{opacity:.35;font-size:16vw;margin:0}div#loading .dots-cont[data-v-a7bc1de6]{display:inline}div#loading .dots-cont .dot[data-v-a7bc1de6]{width:4px;height:4px;background:var(--loading-screen-color);display:inline-block;border-radius:35%;right:0;bottom:0;margin:0 2.5px;position:relative;-webkit-animation:jump-data-v-a7bc1de6 1s infinite;animation:jump-data-v-a7bc1de6 1s infinite}div#loading .dots-cont .dot.dot-1[data-v-a7bc1de6]{-webkit-animation-delay:.1s;animation-delay:.1s}div#loading .dots-cont .dot.dot-2[data-v-a7bc1de6]{-webkit-animation-delay:.2s;animation-delay:.2s}div#loading .dots-cont .dot.dot-3[data-v-a7bc1de6]{-webkit-animation-delay:.3s;animation-delay:.3s}div#loading .dots-cont .dot.dot-4[data-v-a7bc1de6]{-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}@keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}.slide-fade-leave-active[data-v-a7bc1de6]{-webkit-transition:all .2s cubic-bezier(1,.9,.7,.4);transition:all .2s cubic-bezier(1,.9,.7,.4)}.slide-fade-enter[data-v-a7bc1de6],.slide-fade-leave-to[data-v-a7bc1de6]{-webkit-transform:translateY(-200px);transform:translateY(-200px);opacity:0}.scroll-bar::-webkit-scrollbar,html::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar::-webkit-scrollbar-track,html::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight ::-moz-selection,html ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::selection,html ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::-moz-selection,.highlight ::-ms-selection,.highlight ::-o-selection,.highlight ::-webkit-selection,html ::-moz-selection,html ::-ms-selection,html ::-o-selection,html ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold{font-weight:700}.light{font-weight:lighter}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.horizontal-center{margin:0 auto}.border-box,html{-webkit-box-sizing:border-box;box-sizing:border-box}html{margin:0;padding:0;-webkit-transition:all 1s;transition:all 1s;margin-top:-3px}html a,html button,html input[type=button]{cursor:pointer}.dashy-modal,.vm--modal{-webkit-box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;min-width:300px;min-height:500px}.vm--overlay{background:rgba(0,0,0,.5019607843137255)}.toast-message{background:var(--toast-background)!important;color:var(--toast-color)!important;border:1px solid var(--toast-color)!important;border-radius:var(--curve-factor)!important;font-size:1.25rem!important}.toast-error{background:var(--danger)!important}.toast-error,.toast-success{color:var(--white)!important;font-size:1.25rem!important}.toast-success{background:var(--success)!important}:root{--primary:#5cabca;--background:#0b1021;--background-darker:#05070e;--info:#04e4f4;--success:#20e253;--warning:#f6f000;--danger:#f80363;--neutral:#272f4d;--white:#fff;--black:#000;--item-group-background:rgba(11,16,33,0.8);--medium-grey:#5e6474;--item-background:rgba(96,125,139,0.2);--item-background-hover:rgba(96,125,139,0.30196078431372547);--transparent-70:rgba(0,0,0,0.7019607843137254);--transparent-50:rgba(0,0,0,0.5019607843137255);--transparent-30:rgba(0,0,0,0.30196078431372547);--transparent-white-70:hsla(0,0%,100%,0.7019607843137254);--transparent-white-50:hsla(0,0%,100%,0.5019607843137255);--transparent-white-30:hsla(0,0%,100%,0.30196078431372547);--heading-text-color:var(--primary);--nav-link-text-color:var(--primary);--nav-link-background-color:rgba(96,125,139,0.2);--nav-link-text-color-hover:var(--primary);--nav-link-background-color-hover:rgba(96,125,139,0.2);--nav-link-border-color:transparent;--nav-link-border-color-hover:var(--primary);--item-text-color:var(--primary);--item-group-outer-background:var(--primary);--item-group-heading-text-color:var(--item-group-background);--item-group-heading-text-color-hover:var(--background);--settings-background:var(--background);--settings-text-color:var(--primary);--search-container-background:var(--background-darker);--search-field-background:var(--background);--footer-text-color:var(--medium-grey);--footer-text-color-link:var(--primary);--welcome-popup-background:var(--background-darker);--welcome-popup-text-color:var(--primary);--config-code-background:#fff;--config-code-color:var(--background);--config-settings-color:var(--primary);--config-settings-background:var(--background-darker);--toast-background:var(--primary);--toast-color:var(--background);--scroll-bar-color:var(--primary);--scroll-bar-background:var(--background-darker);--highlight-color:var(--background);--highlight-background:var(--primary);--loading-screen-color:var(--primary);--loading-screen-background:var(--background);--login-form-color:var(--primary);--login-form-background:var(--background);--login-form-background-secondary:var(--background-darker);--about-page-color:var(--white);--about-page-background:#0b1021;--about-page-accent:var(--primary);--side-bar-background:var(--background-darker);--side-bar-background-lighter:var(--background);--side-bar-color:var(--primary);--status-check-tooltip-background:var(--background-darker);--status-check-tooltip-color:var(--primary);--code-editor-color:var(--black);--code-editor-background:var(--white);--outline-color:none;--curve-factor:5px;--curve-factor-navbar:16px;--curve-factor-small:2px;--dimming-factor:0.7;--scroll-bar-width:8px;--header-height:6.3rem;--item-group-padding:5px;--item-shadow:1px 1px 2px #130f23;--item-hover-shadow:1px 2px 4px #373737;--item-icon-transform:drop-shadow(2px 4px 6px var(--transparent-50)) saturate(0.65);--item-icon-transform-hover:drop-shadow(4px 8px 3px var(--transparent-50)) saturate(2);--item-group-shadow:var(--item-shadow);--settings-container-shadow:none;--side-bar-width:3.5rem}html[data-theme=callisto]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(0,204,180,0.7019607843137254),0 1px 2px rgba(0,204,180,0.7490196078431373);--primary:#00ccb4;--font-body:"Inconsolata","Georgia",sans-serif}html[data-theme=callisto],html[data-theme=thebe]{--background:#141b33;--background-darker:#060913;--font-headings:"PTMono","Courier New",monospace}html[data-theme=thebe]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(150,96,236,0.7019607843137254),0 1px 2px rgba(150,96,236,0.7490196078431373);--primary:#9660ec;--item-group-outer-background:#9660ec linear-gradient(45deg,#9660ec 2%,#5f60ea 51%,#9660ec)}html[data-theme=dracula]{--font-headings:"Allerta Stencil",sans-serif;--primary:#6272a4;--background:#44475a;--background-darker:#282a36;--item-group-background:#282a36;--item-background:none;--item-background-hover:#191b22;--item-shadow:none;--item-hover-shadow:none;--settings-text-color:#98ace9;--config-settings-color:#98ace9}html[data-theme=dracula] .collapsable:nth-child(1n){background:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(1n) .item{border:1px solid #8be9fd;color:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(2n){background:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(2n) .item{border:1px solid #50fa7b;color:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(3n){background:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(3n) .item{border:1px solid #ffb86c;color:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(4n){background:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #ff79c6;color:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n){background:#bd93f9}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #bd93f9;color:#bd93f9}html[data-theme=bee]{--primary:#c3eb5c}html[data-theme=bee],html[data-theme=raspberry-jam]{--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=raspberry-jam]{--primary:#eb2d6c;--config-code-background:#0b1021;--config-code-color:#eb2d6c}html[data-theme=tiger]{--primary:#f58233;--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=matrix-red]{--primary:red;--outline-color:red}html[data-theme=matrix-red],html[data-theme=matrix]{--background:#000;--background-darker:#000;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=matrix]{--primary:#2bca2b;--outline-color:#2bca2b}html[data-theme=matrix] .prism-editor-wrapper.my-editor{border:1px solid var(--primary)}html[data-theme=hacker-girl]{--background:#000;--background-darker:#000;--primary:#e435f1;--outline-color:#e435f1;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=high-contrast-light]{--background:#fff;--background-darker:#fff;--item-group-background:#fff;--item-background:#fff;--primary:#000;--outline-color:#000;--curve-factor:0px;--config-code-color:#000;--font-headings:"PTMono","Courier New",monospace}html[data-theme=high-contrast-dark]{--background:#000;--background-darker:#000;--item-group-background:#000;--primary:#fff;--outline-color:#fff;--curve-factor:0px;--font-headings:"PTMono","Courier New",monospace}html[data-theme=nord]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord] .collapsable:nth-child(1n){background:#bf616a}html[data-theme=nord] .collapsable:nth-child(2n){background:#d08770}html[data-theme=nord] .collapsable:nth-child(3n){background:#ebcb8b}html[data-theme=nord] .collapsable:nth-child(4n){background:#a3be8c}html[data-theme=nord-frost]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord-frost] .collapsable:nth-child(1n){background:#8fbcbb}html[data-theme=nord-frost] .collapsable:nth-child(2n){background:#88c0d0}html[data-theme=nord-frost] .collapsable:nth-child(3n){background:#81a1c1}html[data-theme=nord-frost] .collapsable:nth-child(4n){background:#5e81ac}html[data-theme=material-original]{--primary:#29b6f6;--settings-text-color:#01579b;--background:#e2e1e0;--background-darker:#01579b;--settings-background:#01579b;--item-group-shadow:none;--item-group-outer-background:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--settings-background:#29b6f6;--search-container-background:#29b6f6;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--settings-container-shadow:0 1px 3px rgba(0,0,0,0.3686274509803922),0 1px 2px rgba(0,0,0,0.5215686274509804);--welcome-popup-background:#01579b;--welcome-popup-text-color:#fff;--config-code-color:#000;--item-group-heading-text-color-hover:#01579b;--config-settings-background:#01579b;--config-settings-color:#fff;--heading-text-color:#fff;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#01579b;--login-form-background:#fff}html[data-theme=material-dark-original]{--primary:#08b0bb;--settings-text-color:#08b0bb;--background:#39434c;--background-darker:#08b0bb;--settings-background:#092b3a;--item-group-background:#333c43;--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-background:#131a1f;--status-check-tooltip-color:#08b0bb}html[data-theme=material-dark-original]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=colorful]{--font-headings:"Podkova",monospace;--primary:#e8eae1;--background:#0b1021;--item-background:#05070e;--item-background-hover:#0b1021;--item-group-background:transparent;--item-group-outer-background:#05070e;--item-group-heading-text-color:#e8eae1;--item-group-heading-text-color-hover:#fff}html[data-theme=colorful] .item:nth-child(1n){color:#eb5cad;border:1px solid #eb5cad}html[data-theme=colorful] .item:nth-child(2n){color:#985ceb;border:1px solid #985ceb}html[data-theme=colorful] .item:nth-child(3n){color:#5c90eb;border:1px solid #5c90eb}html[data-theme=colorful] .item:nth-child(4n){color:#5cdfeb;border:1px solid #5cdfeb}html[data-theme=colorful] .item:nth-child(5n){color:#5ceb8d;border:1px solid #5ceb8d}html[data-theme=colorful] .item:nth-child(6n){color:#afeb5c;border:1px solid #afeb5c}html[data-theme=colorful] .item:nth-child(7n){color:#ebb75c;border:1px solid #ebb75c}html[data-theme=colorful] .item:nth-child(8n){color:#eb615c;border:1px solid #eb615c}html[data-theme=colorful] .tile-title span.text{-webkit-transition:none;transition:none}html[data-theme=colorful] .item:focus,html[data-theme=colorful] .item:hover{opacity:.85;outline:none;background:currentColor}html[data-theme=colorful] .item:focus span,html[data-theme=colorful] .item:hover span{color:#05070e}html[data-theme=colorful] .item:focus svg path,html[data-theme=colorful] .item:hover svg path{fill:#05070e}html[data-theme=colorful] .item:focus i.fab,html[data-theme=colorful] .item:focus i.fad,html[data-theme=colorful] .item:focus i.fal,html[data-theme=colorful] .item:focus i.far,html[data-theme=colorful] .item:focus i.fas,html[data-theme=colorful] .item:hover i.fab,html[data-theme=colorful] .item:hover i.fad,html[data-theme=colorful] .item:hover i.fal,html[data-theme=colorful] .item:hover i.far,html[data-theme=colorful] .item:hover i.fas{color:#05070e}html[data-theme=colorful] h1,html[data-theme=colorful] h2,html[data-theme=colorful] h3,html[data-theme=colorful] h4{font-weight:400}html[data-theme=minimal-dark],html[data-theme=minimal-light],html[data-theme=vaporware]{--font-body:"PTMono-Regular","Courier New",monospace;--font-headings:"PTMono-Regular","Courier New",monospace}html[data-theme=minimal-dark] label.lbl-toggle h3,html[data-theme=minimal-light] label.lbl-toggle h3,html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] .tile-title span.text,html[data-theme=minimal-light] .tile-title span.text,html[data-theme=vaporware] .tile-title span.text{font-size:1.1rem;font-weight:700}html[data-theme=minimal-dark] header,html[data-theme=minimal-light] header,html[data-theme=vaporware] header{padding:.1rem .5rem}html[data-theme=minimal-dark] header .page-titles h1,html[data-theme=minimal-light] header .page-titles h1,html[data-theme=vaporware] header .page-titles h1{font-size:1.25rem}html[data-theme=minimal-dark] header .page-titles span.subtitle,html[data-theme=minimal-light] header .page-titles span.subtitle,html[data-theme=vaporware] header .page-titles span.subtitle{font-size:.8rem}html[data-theme=minimal-dark] header .nav .nav-item,html[data-theme=minimal-light] header .nav .nav-item,html[data-theme=vaporware] header .nav .nav-item{padding:.2rem .4rem;-webkit-box-shadow:none;box-shadow:none}html[data-theme=minimal-dark] .item-group-container.orientation-horizontal .collapsable,html[data-theme=minimal-light] .item-group-container.orientation-horizontal .collapsable,html[data-theme=vaporware] .item-group-container.orientation-horizontal .collapsable{border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549);border-radius:0}html[data-theme=material-dark],html[data-theme=material]{--font-body:"Raleway",serif;--font-headings:"Francois One",serif;--curve-factor:4px;--curve-factor-navbar:8px}html[data-theme=material-dark] .collapsable,html[data-theme=material] .collapsable{margin:0;padding:0}html[data-theme=material-dark] .item:not(.size-small),html[data-theme=material] .item:not(.size-small){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;overflow:hidden;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15rem;min-width:15rem;max-height:6rem;margin:.2rem;padding:.5rem}html[data-theme=material-dark] .item:not(.size-small) img,html[data-theme=material] .item:not(.size-small) img{padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title,html[data-theme=material] .item:not(.size-small) .tile-title{height:auto;padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title span.text,html[data-theme=material] .item:not(.size-small) .tile-title span.text{position:relative;font-weight:700;font-size:1.1rem;width:100%}html[data-theme=material-dark] .item:not(.size-small) .tile-title p.description,html[data-theme=material] .item:not(.size-small) .tile-title p.description{display:block;margin:0;white-space:pre-wrap;font-size:.9em;text-overflow:ellipsis}html[data-theme=material-dark] .item:not(.size-small).size-large,html[data-theme=material] .item:not(.size-small).size-large{width:18rem;min-width:18rem;max-height:5rem;margin:.4rem}html[data-theme=material-dark] .item:not(.size-small).size-large img,html[data-theme=material] .item:not(.size-small).size-large img{padding:.2rem .5rem}html[data-theme=material-dark] .tooltip.item-description-tooltip,html[data-theme=material] .tooltip.item-description-tooltip{display:none!important}html[data-theme=material-dark] .orientation-horizontal,html[data-theme=material] .orientation-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(3,1fr)}}@media(min-width:1150px)and (max-width:1779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(4,1fr)}}@media(min-width:1780px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(5,1fr)}}@media(min-width:2800px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(6,1fr)}}html[data-theme=material-dark] a.item,html[data-theme=material] a.item{position:relative;overflow:hidden;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item div,html[data-theme=material] a.item div{-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item .overflow-dots,html[data-theme=material] a.item .overflow-dots{display:none}html[data-theme=material-dark] a.item:before,html[data-theme=material] a.item:before{content:"";font-family:FontAwesome;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:0;height:100%;width:1rem;background:rgba(204,211,221,.5019607843137255);border-radius:0 60% 60% 0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s;padding:0 .2rem}html[data-theme=material-dark] a.item:focus-within div.bounce,html[data-theme=material-dark] a.item:hover div.bounce,html[data-theme=material] a.item:focus-within div.bounce,html[data-theme=material] a.item:hover div.bounce{text-indent:1rem}html[data-theme=material-dark] a.item:focus-within:before,html[data-theme=material-dark] a.item:hover:before,html[data-theme=material] a.item:focus-within:before,html[data-theme=material] a.item:hover:before{-webkit-transform:scale(1);transform:scale(1);text-indent:0}html[data-theme=material-dark] a.item:focus-within .opening-method-icon,html[data-theme=material-dark] a.item:hover .opening-method-icon,html[data-theme=material] a.item:focus-within .opening-method-icon,html[data-theme=material] a.item:hover .opening-method-icon{display:none}html[data-theme=material-dark] a.item:active,html[data-theme=material] a.item:active{background:hsla(0,0%,78%,.32941176470588235)}html[data-theme=material-dark] a.item span.text,html[data-theme=material] a.item span.text{-webkit-transition:none;transition:none}html[data-theme=material-dark] a.item.size-small,html[data-theme=material] a.item.size-small{padding-left:.5rem;min-width:11rem}html[data-theme=material-dark] a.item.size-large:before,html[data-theme=material] a.item.size-large:before{width:1.5rem}html[data-theme=material-dark] a.item.size-large:hover div:nth-child(2),html[data-theme=material] a.item.size-large:hover div:nth-child(2){text-indent:1.5rem}html[data-theme=material]{--primary:#363636;--background:#f5f5f5;--background-darker:#4285f4;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-text-color:#363636;--item-group-heading-text-color-hover:#363636;--item-icon-transform-hover:none;--nav-link-background-color:#0c4eba;--nav-link-text-color:#fff;--nav-link-border-color:#0c4eba;--settings-text-color:#363636;--config-code-color:#363636;--config-settings-background:#fff;--config-settings-color:#473f3f;--heading-text-color:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--search-container-background:#4285f4;--welcome-popup-text-color:#f5f5f5;--footer-text-color:hsla(0,0%,96.1%,0.8)}html[data-theme=material] header{background:#4285f4;color:#fff}html[data-theme=material] header .page-titles span.subtitle{text-shadow:none}html[data-theme=material] footer{opacity:1;color:#fff}html[data-theme=material] section.filter-container form label{color:#fff}html[data-theme=material] .prism-editor-wrapper{background:#f5f5f5}html[data-theme=material-dark]{--primary:#08b0bb;--background:#313941;--background-darker:#08b0bb;--settings-background:#092b3a;--settings-text-color:#08b0bb;--item-group-background:none;--item-group-outer-background:none;--item-group-shadow:none;--item-group-padding:5px 0 0;--item-group-heading-text-color:#e0e0e0;--item-group-heading-text-color-hover:#08b0bb;--item-text-color:#e0e0e0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-color:#131a1f;--login-form-background-secondary:#131a1f}html[data-theme=material-dark]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=material-dark] .item:active,html[data-theme=material-dark] .item:before{background:#131a1f!important}html[data-theme=minimal-light]{--primary:#a5a5a5;--background:#fff;--background-darker:#14171e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#f2f2f2;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#101931;--item-group-heading-text-color-hover:#101931;--settings-text-color:#101931;--config-code-color:#101931;--nav-link-background-color:none;--search-container-background:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#000;--login-form-color:#101931}html[data-theme=minimal-light] section.filter-container{background:#fff;border-bottom:1px dashed rgba(0,0,0,.2196078431372549)}html[data-theme=minimal-light] section.filter-container input#filter-tiles{border:1px solid #101931}html[data-theme=minimal-dark]{--primary:#a5a5a5;--background:#14171e;--background-darker:#090b0e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#090b0e;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#fff;--item-group-heading-text-color-hover:#fff;--settings-text-color:#fff;--config-code-color:#fff;--nav-link-background-color:none;--search-container-background:#14171e;--curve-factor:4px;--curve-factor-navbar:8px;--item-group-heading-text-color:#fff;--item-group-heading-text-color-hover:hsla(0,0%,100%,0.7490196078431373)}html[data-theme=minimal-dark] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] section.filter-container{background:#14171e;border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549)}html[data-theme=minimal-dark] section.filter-container input#filter-tiles{border:1px solid #fff}html[data-theme=vaporware]{--primary:#09bfe6;--background:#100e2c;--background-darker:#6c27ea;--background-darker:linear-gradient(0deg,#6c27ea,#844ceb 80%);--settings-text-color:#6c27ea;--item-group-outer-background:#096de6;--item-group-outer-background:linear-gradient(45deg,#096de6,#0993e6 50%,#096de6);--item-group-background:#190e2c;--item-group-heading-text-color:var(--white);--item-group-heading-text-color-hover:#5118b9;--item-text-color:#5118b9;--item-background:#09bfe6;--item-background-hover:#9967f6;--footer-text-color:var(--white);--item-shadow:none;--curve-factor:2px;--curve-factor-navbar:6px;--login-form-color:#09bfe6}html[data-theme=vaporware] .home{background:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#100e2c),color-stop(40%,#1b184f),to(#100e2c));background:linear-gradient(180deg,#100e2c 10%,#1b184f 40%,#100e2c)}html[data-theme=vaporware] div.item-group-container{gap:.3rem;margin:1rem auto}html[data-theme=vaporware] div.collapsable{margin:.2rem;padding:.2rem}html[data-theme=vaporware] div.content-inner{padding:0!important}html[data-theme=vaporware] a.item{margin:.1rem;border:0}html[data-theme=vaporware] a.item.size-medium{min-height:80px}html[data-theme=vaporware] section.filter-container{background:-webkit-gradient(linear,left bottom,left top,color-stop(25%,var(--background)),to(#6c27ea));background:linear-gradient(0deg,var(--background) 25%,#6c27ea)}html[data-theme=vaporware] section.filter-container form{background:#6c27ea;height:2.5rem}html[data-theme=vaporware] section.filter-container form label,html[data-theme=vaporware] section.filter-container i.clear-search{color:#100e2c;border-color:#100e2c;font-weight:700}html[data-theme=vaporware] .tile-title span.text{font-weight:400}html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.4rem}html[data-theme=vaporware] footer{color:var(--white)}html[data-theme=vaporware] a.item{background:linear-gradient(45deg,#09bfe6,#09bfe6 80%,#09cbe6)}html[data-theme=vaporware] a.item:hover{background:#844ceb;color:#09bfe6}html[data-theme=vaporware] a.item .tile-title span.text{-webkit-transition:none;transition:none}html[data-theme=vaporware] div.login-page{background:url(https://i.ibb.co/JqcJcGK/vaporwave-sunset-wallpaper.jpg);background-size:cover}@font-face{font-family:Inconsolata;src:url(../fonts/Inconsolata-Light.c8b568b1.ttf)}@font-face{font-family:Raleway;src:url(../fonts/Raleway-Variable.3b5635ac.ttf)}@font-face{font-family:PTMono;src:url(../fonts/PTMono-Regular.0c6b8e07.ttf)}html{--font-body:"Raleway","Trebuchet MS",sans-serif;--font-headings:"Inconsolata","Georgia",sans-serif;--font-monospace:"PTMono","Courier New",monospace;font-size:1rem;font-weight:400;text-decoration:none;background:transparent;vertical-align:baseline}html a,html body,html button,html div,html input,html label,html p,html span{font-family:var(--font-body)}html h1,html h2,html h3,html h4,html h5{font-family:var(--font-headings)}html .jsoneditor *,html .mono *,html code,html pre,html pre *{font-family:var(--font-monospace);font-weight:400}body{background:var(--background);margin:0;padding:0}#app .footer{text-align:center}section[data-v-72e6bff4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker))}form[data-v-72e6bff4],section[data-v-72e6bff4]{display:-webkit-box;display:-ms-flexbox;display:flex}form[data-v-72e6bff4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0 0 var(--curve-factor-navbar) 0;padding:0 .2rem .2rem 0;background:var(--search-container-background)}form label[data-v-72e6bff4]{color:var(--settings-text-color);margin:.5rem;display:inline}form input[data-v-72e6bff4]{display:inline-block;width:200px;height:1rem;padding:.5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);background:var(--search-field-background);color:var(--settings-text-color);border:1px solid var(--outline-color)}form input[data-v-72e6bff4]:focus{border-color:var(--settings-text-color);opacity:var(--dimming-factor)}form .clear-search[data-v-72e6bff4]{color:var(--settings-text-color);padding:0 .4rem;font-style:normal;opacity:var(--dimming-factor);border-radius:50px;cursor:pointer;right:.5rem;top:1rem;border:1px solid var(--settings-text-color);font-size:1rem;margin:.5rem}form .clear-search[data-v-72e6bff4]:hover{opacity:1;background:var(--background-darker)}@media(min-width:600px)and (max-width:779px){form[data-v-72e6bff4]{display:block;text-align:center}}@media(max-width:599px){form[data-v-72e6bff4]{-webkit-box-flex:1;-ms-flex:1;flex:1;border-radius:0;text-align:center;padding:.25rem 0;display:block}}.json-editor-outer{text-align:center}p.note{font-size:.8rem;color:var(--medium-grey);margin:.2rem}p.errors{text-align:left;margin:.5rem auto;width:95%}p.errors ul{list-style:none;padding:0;margin:0}p.errors ul li.type-validation{color:var(--warning)}p.errors ul li.type-validation:before{content:"⚠️"}p.errors ul li.type-parse{color:var(--danger)}p.errors ul li.type-parse:before{content:"❌"}p.errors ul li.type-valid{color:var(--success)}p.errors ul li.type-valid:before{content:"✅"}p.response-output{font-size:.8rem;text-align:left;margin:.5rem auto;width:95%;color:var(--config-settings-color)}p.response-output.status-success{color:var(--success)}p.response-output.status-fail{color:var(--danger)}button.save-button.err{opacity:.8;cursor:default}button.save-button.err:hover{background:var(--config-settings-color);color:var(--config-settings-background);border-color:var(--danger)}div.save-options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:.5rem;margin-bottom:.5rem;background:var(--code-editor-background);color:var(--code-editor-color);border-top:2px solid var(--config-settings-background)}@media(max-width:779px){div.save-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media(min-width:780px){div.save-options .option{margin-left:2rem}}div.save-options span.save-option-title{cursor:default}div.save-options input.radio-option,div.save-options label.save-option-label{cursor:pointer}.jsoneditor,.jsoneditor-menu{border-color:var(--primary)}.jsoneditor{border-bottom:none}.jsoneditor-menu,.pico-modal-header{background:var(--config-settings-background)!important;color:var(--config-settings-color)!important}.jsoneditor-contextmenu .jsoneditor-menu li button{background:var(--config-settings-background);color:var(--config-settings-color)}.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:focus,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:hover{background:var(--config-settings-color);color:var(--config-settings-background)}div.jsoneditor-search div.jsoneditor-frame{border-radius:var(--curve-factor)}.jsoneditor-poweredBy{display:none}.jsoneditor-tree,pre.jsoneditor-preview{background:var(--code-editor-background);text-align:left}.jsoneditor-jmespath-label{color:var(--config-settings-color)!important}.jsoneditor-jmespath-block.jsoneditor-modal-actions input{background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor)}.jsoneditor-jmespath-block.jsoneditor-modal-actions input:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}div.jsoneditor-jmespath-block textarea#query,textarea.jsoneditor-transform-preview{border:1px solid var(--config-settings-color);border-radius:var(--curve-factor)}button.save-button{padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor);cursor:pointer}button.save-button:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}.prism-editor-wrapper{min-height:200px;border:1px solid var(--transparent-70);border-radius:var(--curve-factor);width:90%;margin:.5rem auto;background:var(--transparent-50)}p.quick-note{text-align:left;width:80%;margin:1rem auto;padding:.5rem;border-radius:var(--curve-factor)}button[data-v-620b35ec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;min-width:10rem;cursor:pointer}button svg[data-v-620b35ec]{width:1.2rem;margin:0 .5rem}button svg g[data-v-620b35ec],button svg path[data-v-620b35ec]{fill:currentColor}button[data-v-620b35ec]{color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}button[data-v-620b35ec]:hover:not(:disabled){color:var(--background);background:var(--primary);border-color:var(--background)}button[data-v-620b35ec]:disabled{cursor:progress;opacity:var(--dimming-factor)}.rebuild-app-container[data-v-1ee3fcba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;padding:1rem;overflow:auto}.rebuild-app-container[data-v-1ee3fcba],.rebuild-app-container button[data-v-1ee3fcba]{color:var(--config-settings-color);background:var(--config-settings-background)}.rebuild-app-container h3.rebuild-app-title[data-v-1ee3fcba]{text-align:center;font-size:2rem;margin:1rem}.rebuild-app-container div.loader-info[data-v-1ee3fcba]{margin:.2rem auto;text-align:center}.rebuild-app-container div.loader-info svg.loader[data-v-1ee3fcba]{width:100px}.rebuild-app-container div.loader-info p.loading-message[data-v-1ee3fcba]{margin:0;font-size:.8rem;opacity:var(--dimming-factor);-webkit-animation:fadeIn-data-v-1ee3fcba 3s;animation:fadeIn-data-v-1ee3fcba 3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}@-webkit-keyframes fadeIn-data-v-1ee3fcba{90%{opacity:0}95%{opacity:.8}to{opacity:1}}@keyframes fadeIn-data-v-1ee3fcba{90%{opacity:0}95%{opacity:.8}to{opacity:1}}.rebuild-app-container div.rebuild-response[data-v-1ee3fcba]{width:80%;margin:0 auto 4rem auto;text-align:center}.rebuild-app-container div.rebuild-response p.response-status[data-v-1ee3fcba]{font-size:1rem;text-align:left}.rebuild-app-container div.rebuild-response p.response-status.success[data-v-1ee3fcba]{color:var(--success)}.rebuild-app-container div.rebuild-response p.response-status.failure[data-v-1ee3fcba]{color:var(--danger)}.rebuild-app-container div.rebuild-response pre.output[data-v-1ee3fcba]{padding:1rem;font-size:.75rem;border-radius:var(--curve-factor-small);text-align:left;color:var(--white);background:var(--black);white-space:pre-wrap}.rebuild-app-container div.rebuild-response p.rebuild-message[data-v-1ee3fcba]{font-size:1rem;text-align:left;margin:.8rem 0;color:var(--config-settings-color)}.scroll-bar[data-v-41a7f69b]::-webkit-scrollbar,.tab-item[data-v-41a7f69b]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-41a7f69b]::-webkit-scrollbar-track,.tab-item[data-v-41a7f69b]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-41a7f69b]::-webkit-scrollbar-thumb,.tab-item[data-v-41a7f69b]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-41a7f69b] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-41a7f69b] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-41a7f69b] ::-moz-selection,.highlight[data-v-41a7f69b] ::-ms-selection,.highlight[data-v-41a7f69b] ::-o-selection,.highlight[data-v-41a7f69b] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-41a7f69b]{font-weight:700}.light[data-v-41a7f69b]{font-weight:lighter}.text-left[data-v-41a7f69b]{text-align:left}.text-right[data-v-41a7f69b]{text-align:right}.text-center[data-v-41a7f69b]{text-align:center}.horizontal-center[data-v-41a7f69b]{margin:0 auto}.border-box[data-v-41a7f69b]{-webkit-box-sizing:border-box;box-sizing:border-box}pre[data-v-41a7f69b]{color:var(--config-code-color);font-weight:700!important;padding:.5rem 1rem}a.config-button[data-v-41a7f69b],button.config-button[data-v-41a7f69b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-background);color:var(--config-settings-color);border:1px solid var(--config-settings-color);border-radius:var(--curve-factor);text-decoration:none;cursor:pointer;margin:.5rem auto;width:18rem}a.config-button svg.button-icon[data-v-41a7f69b],button.config-button svg.button-icon[data-v-41a7f69b]{width:1rem;height:1rem;padding:.2rem;margin-right:.5rem}a.config-button svg.button-icon path[data-v-41a7f69b],button.config-button svg.button-icon path[data-v-41a7f69b]{fill:var(--config-settings-color)}a.config-button[data-v-41a7f69b]:hover,button.config-button[data-v-41a7f69b]:hover{background:var(--config-settings-color);color:var(--config-settings-background)}a.config-button:hover svg path[data-v-41a7f69b],button.config-button:hover svg path[data-v-41a7f69b]{fill:var(--config-settings-background)}div.code-container[data-v-41a7f69b]{background:var(--config-code-background)}div.code-container #conf-yaml span[data-v-41a7f69b]{font-family:var(--font-monospace),monospace!important}div.code-container #conf-yaml span.hljs-attr[data-v-41a7f69b]{font-weight:700!important}div.code-container .yaml-action-buttons[data-v-41a7f69b]{position:absolute;top:.5rem;right:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border:1px dashed;padding:.5rem;border-radius:4px}div.code-container .yaml-action-buttons h2[data-v-41a7f69b]{margin:0;text-align:center;color:var(--config-code-color)}div.code-container .yaml-action-buttons a.yaml-button[data-v-41a7f69b]{padding:.25rem .5rem;font-size:1rem;color:var(--config-code-color);border-radius:var(--curve-factor);cursor:pointer;text-decoration:underline;border:1px solid var(--config-code-background)}div.code-container .yaml-action-buttons a.yaml-button[data-v-41a7f69b]:hover{color:var(--config-code-color);border-color:var(--config-code-color);text-decoration:none}div.code-container .yaml-action-buttons a.yaml-button[data-v-41a7f69b]:active{color:var(--config-code-background);background-color:var(--config-settings-color);text-decoration:none}.tab-item[data-v-41a7f69b]{overflow-y:auto;background:var(--config-settings-background)}.tab-item.main-tab[data-v-41a7f69b]{min-height:500px}a.hyperlink-wrapper[data-v-41a7f69b]{margin:0 auto;text-decoration:none}.main-options-container[data-v-41a7f69b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:2rem;background:var(--config-settings-background);height:calc(100% - 2rem)}.main-options-container h2[data-v-41a7f69b]{margin:1rem auto;color:var(--config-settings-color)}.config-note[data-v-41a7f69b]{width:80%;position:absolute;bottom:1rem;left:10%;margin:.5rem auto;padding:.5rem .75rem;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left;opacity:var(--dimming-factor);color:var(--config-settings-color);background:var(--config-settings-background);cursor:default;display:none}.config-note p.sub-title[data-v-41a7f69b]{font-weight:700;margin:0;display:inline}.config-note[data-v-41a7f69b]:hover{opacity:1}@media(min-width:780px){.config-note[data-v-41a7f69b]{display:block}}p.small-screen-note[data-v-41a7f69b]{margin:.5rem auto;padding:0 .5rem;text-align:center;opacity:.8;font-size:.9rem;color:var(--warning)}@media(max-width:599px){p.small-screen-note[data-v-41a7f69b]{display:block!important}}.tab__pagination{background:var(--config-settings-background)}.tab__pagination,.tab__pagination .tab__nav__items .tab__nav__item span{color:var(--config-settings-color)}.tab__pagination .tab__nav__items .tab__nav__item:hover{background:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item:hover span{color:var(--config-settings-background)}.tab__pagination .tab__nav__items .tab__nav__item.active span{font-weight:700;color:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item.active{border-bottom:2px solid var(--config-settings-color)}.tab__pagination hr.tab__slider{background:var(--config-settings-color)}#conf-yaml .hljs-attr{color:#9c03f5}div.input-container[data-v-5df13ed2]{margin:.25rem auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}div.input-container.vertical[data-v-5df13ed2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div.input-container.horizontal[data-v-5df13ed2]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}div.input-container.horizontal label[data-v-5df13ed2]{margin-right:.25rem}div.input-container input[data-v-5df13ed2]{min-width:10rem;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}div.input-container input[data-v-5df13ed2]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color);outline:none}.scroll-bar[data-v-763657f4]::-webkit-scrollbar,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-track,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-thumb,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-763657f4] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::-moz-selection,.highlight[data-v-763657f4] ::-ms-selection,.highlight[data-v-763657f4] ::-o-selection,.highlight[data-v-763657f4] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-763657f4]{font-weight:700}.light[data-v-763657f4]{font-weight:lighter}.text-left[data-v-763657f4]{text-align:left}.text-right[data-v-763657f4]{text-align:right}.text-center[data-v-763657f4]{text-align:center}.horizontal-center[data-v-763657f4]{margin:0 auto}.border-box[data-v-763657f4]{-webkit-box-sizing:border-box;box-sizing:border-box}div.cloud-backup-restore-wrapper[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;overflow:auto;height:100%;background:var(--config-settings-background);color:var(--config-settings-color)}div.cloud-backup-restore-wrapper .section[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto 1rem auto;padding:0 .5rem 1rem .5rem}div.cloud-backup-restore-wrapper .section[data-v-763657f4]:first-child{border-bottom:1px dashed var(--config-settings-color)}div.cloud-backup-restore-wrapper .section.intro[data-v-763657f4]{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}div.cloud-backup-restore-wrapper .section.intro a[data-v-763657f4]{color:var(--config-settings-color)}div.cloud-backup-restore-wrapper h2[data-v-763657f4]{font-size:2rem}div.cloud-backup-restore-wrapper h3[data-v-763657f4]{font-size:1.6rem}div.cloud-backup-restore-wrapper p.intro[data-v-763657f4]{text-align:left;font-size:1rem;margin:.25rem;padding:.25rem}div.results-view[data-v-763657f4]{width:16rem;margin:.5rem auto;padding:.5rem .75rem;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left}div.results-view .backup-id-label[data-v-763657f4],div.results-view .backup-id-value[data-v-763657f4]{display:inline;font-size:1rem;margin-right:.5rem}div.results-view .backup-id-note[data-v-763657f4]{font-size:.8rem;display:block;opacity:.8;margin-top:.5rem}button[data-v-763657f4],input[data-v-763657f4]{color:var(--config-settings-color);border:1px solid var(--config-settings-color);background:none;width:16rem}input[data-v-763657f4]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color)}button[data-v-763657f4]:hover{color:var(--config-settings-background);border:1px solid var(--config-settings-background);background:var(--config-settings-color)}h2[data-v-763657f4],h3[data-v-763657f4]{margin:1rem}.config-options[data-v-383db9de]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:var(--settings-text-color)}.config-options svg[data-v-383db9de]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.config-options svg path[data-v-383db9de]{fill:var(--settings-text-color)}.config-options svg.selected[data-v-383db9de],.config-options svg[data-v-383db9de]:hover{background:var(--settings-text-color)}.config-options svg.selected path[data-v-383db9de],.config-options svg:hover path[data-v-383db9de]{fill:var(--background)}.v-select{position:relative;font-family:inherit}.v-select,.v-select *{-webkit-box-sizing:border-box;box-sizing:border-box}@-webkit-keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;-webkit-transition:opacity .15s cubic-bezier(1,.5,.8,1);transition:opacity .15s cubic-bezier(1,.5,.8,1)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__search,.vs--disabled .vs__selected{cursor:not-allowed;background-color:#f8f8f8}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 0 4px 0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal}.vs__dropdown-toggle,.vs__selected-options{display:-webkit-box;display:-ms-flexbox;display:flex}.vs__selected-options{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 6px 0 3px}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:rgba(60,60,60,.5);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855),-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);-webkit-transition-timing-function:cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855)}.vs--open .vs__open-indicator{-webkit-transform:rotate(180deg) scale(1);transform:rotate(180deg) scale(1)}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:rgba(60,60,60,.5);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:calc(100% - 1px);left:0;z-index:1000;padding:5px 0;margin:0;width:100%;max-height:350px;min-width:160px;overflow-y:auto;-webkit-box-shadow:0 3px 6px 0 rgba(0,0,0,.15);box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border:1px solid rgba(60,60,60,.26);border-top-style:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.vs__dropdown-option:hover{cursor:pointer}.vs__dropdown-option--highlight{background:#5897fb;color:#fff}.vs__dropdown-option--disabled{background:inherit;color:rgba(60,60,60,.5)}.vs__dropdown-option--disabled:hover{cursor:inherit}.vs__selected{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f0f0f0;border:1px solid rgba(60,60,60,.26);border-radius:4px;color:#333;line-height:1.4;margin:4px 2px 0 2px;padding:0 .25em;z-index:0}.vs__deselect{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:rgba(60,60,60,.5);text-shadow:0 1px 0 #fff}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1.4;font-size:1em;border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0 0;padding:0 7px;background:none;-webkit-box-shadow:none;box-shadow:none;width:0;max-width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;z-index:1}.vs__search::-webkit-input-placeholder{color:inherit}.vs__search::-moz-placeholder{color:inherit}.vs__search:-ms-input-placeholder{color:inherit}.vs__search::-ms-input-placeholder{color:inherit}.vs__search::placeholder{color:inherit}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search:hover{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{-ms-flex-item-align:center;align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid hsla(0,0%,39.2%,.1);border-right:.9em solid hsla(0,0%,39.2%,.1);border-bottom:.9em solid hsla(0,0%,39.2%,.1);border-left:.9em solid rgba(60,60,60,.45);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;-webkit-transition:opacity .1s;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em}.vs--loading .vs__spinner{opacity:1}.theme-dropdown div.vs__dropdown-toggle{border-color:var(--settings-text-color);border-radius:var(--curve-factor);min-width:10rem;height:1.8rem;font-size:.85rem;cursor:pointer}.theme-dropdown li.vs__dropdown-option,.theme-dropdown span.vs__selected{color:var(--settings-text-color);text-transform:capitalize}.theme-dropdown svg.vs__open-indicator{fill:var(--settings-text-color)}.theme-dropdown ul.vs__dropdown-menu{width:auto;background:var(--background);z-index:5}.theme-dropdown li.vs__dropdown-option--highlight{background:var(--settings-text-color);color:var(--background)}.theme-dropdown button.vs__clear{display:none}.theme-selector-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;height:100%}.theme-selector-section span.theme-label{font-size:1rem;color:var(--settings-text-color);margin:1px 0 2px 0}.display-options[data-v-c819d738],span.options-label[data-v-c819d738]{color:var(--settings-text-color)}.display-options svg[data-v-c819d738]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-c819d738]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-c819d738],.display-options svg[data-v-c819d738]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-c819d738],.display-options svg:hover path[data-v-c819d738]{fill:var(--background)}.display-options[data-v-58966274],span.options-label[data-v-58966274]{color:var(--settings-text-color)}.display-options svg[data-v-58966274]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-58966274]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-58966274],.display-options svg[data-v-58966274]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-58966274],.display-options svg:hover path[data-v-58966274]{fill:var(--background)}.kb-sc-info[data-v-c5f17d9a]{position:fixed;width:30em;bottom:0;right:10px;margin:.5em;padding:.1em .3em;z-index:6;border-radius:12px;border:1px solid var(--welcome-popup-background);-webkit-box-shadow:2px 1px 5px #130f23;box-shadow:2px 1px 5px #130f23;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);cursor:default;opacity:.94}@media(max-width:599px){.kb-sc-info[data-v-c5f17d9a]{display:none}}.kb-sc-info h5[data-v-c5f17d9a]{position:absolute;top:-35px;left:20px;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);padding:4px;border-radius:var(--curve-factor)}.kb-sc-info .close[data-v-c5f17d9a]{float:right;border-radius:20px;width:1em;padding:0 0 6px 6px;height:1em;background:var(--transparent-50);margin-top:3px;border:1px solid transparent;cursor:pointer}.kb-sc-info .close[data-v-c5f17d9a]:hover{border:1px solid var(--welcome-popup-text-color);opacity:var(--dimming-factor)}.slide-fade-enter-active[data-v-c5f17d9a]{-webkit-transition:all 1s ease;transition:all 1s ease}.slide-fade-leave-active[data-v-c5f17d9a]{-webkit-transition:all .8s cubic-bezier(.93,.01,.89,.5);transition:all .8s cubic-bezier(.93,.01,.89,.5)}.slide-fade-enter[data-v-c5f17d9a],.slide-fade-leave-to[data-v-c5f17d9a]{-webkit-transform:translateY(35em);transform:translateY(35em);opacity:0}section[data-v-d4f6509a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker));-webkit-box-shadow:var(--settings-container-shadow);box-shadow:var(--settings-container-shadow)}.options-outer[data-v-d4f6509a]{position:relative;-ms-flex:1;flex:1;border-radius:var(--curve-factor-navbar)}.options-container[data-v-d4f6509a],.options-outer[data-v-d4f6509a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;background:var(--settings-background)}.options-container[data-v-d4f6509a]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex:1;flex:1;padding:.5rem 1.5rem .5rem 1rem;border-radius:var(--curve-factor-navbar) 0 0}.options-container div[data-v-d4f6509a]{margin-left:.5rem;opacity:var(--dimming-factor);opacity:1}.options-container div[data-v-d4f6509a]:hover{opacity:1}.options-container.hide[data-v-d4f6509a]{display:none}@media(max-width:399px){.options-container[data-v-d4f6509a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}}.show-hide-container[data-v-d4f6509a]{display:-webkit-box;display:-ms-flexbox;display:flex;background:var(--settings-background);color:var(--settings-text-color);width:1.5rem;position:absolute;top:4px;right:4px}.show-hide-container.show-btn[data-v-d4f6509a]{width:2rem;top:.5rem;right:.5rem}@media(max-width:599px){.show-hide-container.show-btn[data-v-d4f6509a]{top:-3rem!important}}.show-hide-container button[data-v-d4f6509a]{width:100%;padding:2px 2px 0 2px;margin:2px;border-radius:var(--curve-factor);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;background:none;border:none;color:var(--settings-text-color);cursor:pointer;opacity:var(--dimming-factor)}.show-hide-container:hover button[data-v-d4f6509a]{background:var(--settings-text-color);color:var(--settings-background)}svg.logout-icon[data-v-d4f6509a]{width:1rem;height:1rem;margin:.35rem .2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid var(--settings-text-color);border-radius:var(--curve-factor);cursor:pointer}svg.logout-icon path[data-v-d4f6509a]{fill:var(--settings-text-color)}svg.logout-icon.selected[data-v-d4f6509a],svg.logout-icon[data-v-d4f6509a]:hover{background:var(--settings-text-color)}svg.logout-icon.selected path[data-v-d4f6509a],svg.logout-icon:hover path[data-v-d4f6509a]{fill:var(--background)}@media(min-width:600px)and (max-width:779px){section[data-v-d4f6509a]{display:block;margin:0 auto;background:none}section .options-container[data-v-d4f6509a]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.tile-icon{width:2rem;border-radius:var(--curve-factor)}.tile-icon.broken{display:none}.tile-icon.small{width:1.5rem}.tile-icon.large{width:3rem}i.fab,i.fad,i.fal,i.far,i.fas{font-size:2rem;color:currentColor;margin:1px auto 4px}i.fab.small,i.fad.small,i.fal.small,i.far.small,i.fas.small{font-size:1.5rem}i.fab.large,i.fad.large,i.fal.large,i.far.large,i.fas.large{font-size:3rem}object.tile-icon{width:55px;height:55px}object.tile-icon svg,object.tile-icon svg g,object.tile-icon svg g path{fill:currentColor}.missing-image{width:3.5rem}.missing-image path{fill:currentColor}.opening-method-icon svg[data-v-17201835]{position:absolute;width:1rem;margin:2px}.opening-method-icon svg path[data-v-17201835]{fill:currentColor}.opening-method-icon.top svg[data-v-17201835]{top:0}.opening-method-icon.bottom svg[data-v-17201835]{bottom:0}.opening-method-icon.left svg[data-v-17201835]{left:0}.opening-method-icon.right svg[data-v-17201835]{right:0}.opening-method-icon.short svg[data-v-17201835]{width:.8rem;margin:0}.opening-method-icon.transparent svg[data-v-17201835]{opacity:.5}.indicator[data-v-46972ad8]{padding:5px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;cursor:help}.indicator[data-v-46972ad8]:hover{-webkit-transform:scale(1.25);transform:scale(1.25);-webkit-filter:saturate(2);filter:saturate(2);opacity:1}@-webkit-keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@-webkit-keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}@keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}.dot[data-v-46972ad8]{border-radius:50%;height:12px;width:12px;-webkit-animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards;animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards}.dot>span[data-v-46972ad8],.dot>span span[data-v-46972ad8],.dot>span span[data-v-46972ad8]:after{-webkit-animation:pulse-data-v-46972ad8 1s linear .5s 2;animation:pulse-data-v-46972ad8 1s linear .5s 2;border-radius:50%;display:block;height:12px;width:12px;content:""}.dot.dot-green[data-v-46972ad8]{background-color:var(--success)}.dot.dot-green span[data-v-46972ad8],.dot.dot-green span[data-v-46972ad8]:after{background-color:var(--success);opacity:.4}.dot.dot-red[data-v-46972ad8]{background-color:var(--danger)}.dot.dot-red span[data-v-46972ad8],.dot.dot-red span[data-v-46972ad8]:after{background-color:var(--danger);opacity:.4}.dot.dot-yellow[data-v-46972ad8]{background-color:var(--warning)}.dot.dot-yellow span[data-v-46972ad8],.dot.dot-yellow span[data-v-46972ad8]:after{background-color:var(--warning);opacity:.4}.dot.dot-grey[data-v-46972ad8]{background-color:var(--medium-grey)}.dot.dot-grey span[data-v-46972ad8],.dot.dot-grey span[data-v-46972ad8]:after{background-color:var(--medium-grey);opacity:.4}.status-tooltip{background:var(--status-check-tooltip-background)!important;color:var(--status-check-tooltip-color)!important;font-size:1rem;z-index:10}.status-tooltip.tip-green{border:1px solid var(--success)}.status-tooltip.tip-yellow{border:1px solid var(--warning)}.status-tooltip.tip-red{border:1px solid var(--danger)}.item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:var(--item-text-color);vertical-align:middle;margin:.5rem;background:var(--item-background);text-align:center;padding:2px;outline:2px solid transparent;border:1px solid var(--outline-color);border-radius:var(--curve-factor);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow);cursor:pointer;text-decoration:none;position:relative}.item:hover{-webkit-box-shadow:var(--item-hover-shadow);box-shadow:var(--item-hover-shadow);background:var(--item-background-hover);position:relative}.item:focus{outline:2px solid var(--primary)}.item.short{height:18px}.tile-title{white-space:nowrap;text-overflow:ellipsis;min-width:120px;height:30px;overflow:hidden;position:relative;padding:0;z-index:2}.tile-title span.text{position:absolute;white-space:nowrap;-webkit-transition:1s;transition:1s;float:left;left:0}.tile-title:not(.is-overflowing) span.text{width:100%}.tile-title .overflow-dots{opacity:0}.tile-title.is-overflowing span.text{overflow:hidden}.tile-title.is-overflowing .overflow-dots{display:block;opacity:1;background:var(--item-background);position:absolute;z-index:5;right:0;-webkit-transition:opacity .1s ease-in;transition:opacity .1s ease-in}.status-indicator{position:absolute;top:0;right:0}.opening-method-icon{display:none}.item:focus .opening-method-icon,.item:hover .opening-method-icon{display:block}.item:focus .tile-title.is-overflowing .overflow-dots,.item:hover .tile-title.is-overflowing .overflow-dots{opacity:0}.item:focus .tile-title.is-overflowing span.text,.item:hover .tile-title.is-overflowing span.text{-webkit-transform:translateX(calc(100px - 100%));transform:translateX(calc(100px - 100%))}.item:focus .tile-icon,.item:focus .tile-svg,.item:hover .tile-icon,.item:hover .tile-svg{-webkit-filter:var(--item-icon-transform-hover);filter:var(--item-icon-transform-hover)}.item.size-small{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:2rem}.item.size-small div img,.item.size-small div svg.missing-image{width:2rem}.item.size-small .tile-title{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-height:1.2rem}.item.size-small .tile-title span.text{text-align:left;padding-left:10%}.item.size-medium{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:auto}.item.size-medium div img,.item.size-medium div svg.missing-image{width:2.5rem;margin-bottom:.25rem}.item.size-medium .tile-title{min-width:100px}.item.size-large{height:100px}.item p.description{display:none}.item:before{display:none;font-family:FontAwesome;content:var(--open-icon,"")!important}.tooltip{padding:.2rem .5rem;background:rgba(11,16,33,.8);border:1px solid #0b1021;border-radius:3px;color:#fff;max-width:250px}.tooltip-arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-11px;left:calc(50% - 5px);margin-top:0;margin-bottom:0;width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:rgba(11,16,33,.8);z-index:3}.disabled-link{pointer-events:none}.collapsable[data-v-33a8b630]{padding:var(--item-group-padding);margin:10px;border-radius:var(--curve-factor);background:var(--item-group-outer-background);-webkit-box-shadow:var(--item-group-shadow);box-shadow:var(--item-group-shadow);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:100%;width:-webkit-fill-available;width:-moz-available;width:stretch;grid-row-start:span 1;grid-column-start:span 1}.collapsable.row-2[data-v-33a8b630]{grid-row-start:span 2}.collapsable.row-3[data-v-33a8b630]{grid-row-start:span 3}.collapsable.row-4[data-v-33a8b630]{grid-row-start:span 4}@media(min-width:780px){.collapsable.col-2[data-v-33a8b630],.collapsable.col-3[data-v-33a8b630],.collapsable.col-4[data-v-33a8b630]{grid-column-start:span 2}}@media(min-width:1150px){.collapsable.col-2[data-v-33a8b630]{grid-column-start:span 2}.collapsable.col-3[data-v-33a8b630],.collapsable.col-4[data-v-33a8b630]{grid-column-start:span 3}}@media(min-width:1780px){.collapsable.col-2[data-v-33a8b630]{grid-column-start:span 2}.collapsable.col-3[data-v-33a8b630]{grid-column-start:span 3}.collapsable.col-4[data-v-33a8b630]{grid-column-start:span 4}}.collapsable .wrap-collabsible[data-v-33a8b630]{margin-bottom:1.2rem 0}.collapsable input[type=checkbox][data-v-33a8b630]{display:none}.collapsable label.lbl-toggle[data-v-33a8b630]{outline:none;display:block;padding:.25rem;cursor:pointer;border-radius:var(--curve-factor);-webkit-transition:all .25s ease-out;transition:all .25s ease-out;text-align:left;color:var(--item-group-heading-text-color)}.collapsable label.lbl-toggle h3[data-v-33a8b630]{margin:0;padding:0;display:inline}.collapsable label.lbl-toggle .section-icon[data-v-33a8b630]{display:inline;margin-right:.5rem}.collapsable .lbl-toggle[data-v-33a8b630]:hover{color:var(--item-group-heading-text-color-hover)}.collapsable .lbl-toggle[data-v-33a8b630]:before{content:" ";display:inline-block;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid currentColor;vertical-align:middle;margin-right:.7rem;-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-transition:-webkit-transform .2s ease-out;transition:-webkit-transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out,-webkit-transform .2s ease-out}.collapsable .toggle:checked+.lbl-toggle[data-v-33a8b630]:before{-webkit-transform:rotate(90deg) translateX(-3px);transform:rotate(90deg) translateX(-3px)}.collapsable .collapsible-content[data-v-33a8b630]{max-height:0;overflow:hidden;-webkit-transition:max-height .25s ease-in-out;transition:max-height .25s ease-in-out;background:var(--item-group-background);border-radius:0 0 var(--curve-factor) var(--curve-factor)}.collapsable .toggle:checked+.lbl-toggle+.collapsible-content[data-v-33a8b630]{max-height:3000px}.collapsable .toggle:checked+.lbl-toggle[data-v-33a8b630]{border-bottom-right-radius:0;border-bottom-left-radius:0}.collapsable .collapsible-content .content-inner[data-v-33a8b630]{padding:.5rem}.frame{width:100%;height:100%;border:none}.no-url{margin:4rem auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-size:2rem;padding:.5rem;border:1px dashed red;border-radius:3px;background:#f4f2f2}.close-button{position:absolute;right:0;padding:.5rem;border:0;border-radius:0 0 0 10px;background:var(--primary);color:var(--background);border-left:1px solid var(--primary);border-bottom:1px solid var(--primary);cursor:pointer}.close-button:hover{background:var(--background);color:var(--primary)}.scroll-bar[data-v-29d94632]::-webkit-scrollbar,.there-are-items.item-group-grid[data-v-29d94632]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-29d94632]::-webkit-scrollbar-track,.there-are-items.item-group-grid[data-v-29d94632]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-29d94632]::-webkit-scrollbar-thumb,.there-are-items.item-group-grid[data-v-29d94632]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-29d94632] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-29d94632] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-29d94632] ::-moz-selection,.highlight[data-v-29d94632] ::-ms-selection,.highlight[data-v-29d94632] ::-o-selection,.highlight[data-v-29d94632] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-29d94632]{font-weight:700}.light[data-v-29d94632]{font-weight:lighter}.text-left[data-v-29d94632]{text-align:left}.text-right[data-v-29d94632]{text-align:right}.text-center[data-v-29d94632]{text-align:center}.horizontal-center[data-v-29d94632]{margin:0 auto}.border-box[data-v-29d94632]{-webkit-box-sizing:border-box;box-sizing:border-box}.no-items[data-v-29d94632]{width:100px;margin:0 auto;padding:.8rem;text-align:center;cursor:default;border-radius:var(--curve-factor);background:rgba(96,125,139,.2);color:var(--primary);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow)}.there-are-items[data-v-29d94632]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.there-are-items.item-group-grid[data-v-29d94632]{display:grid;overflow:auto}@media(max-width:599px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.there-are-items.item-group-grid[data-v-29d94632]{grid-template-columns:repeat(5,1fr)}}.orientation-horizontal[data-v-29d94632]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orientation-horizontal .there-are-items[data-v-29d94632]{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(2,1fr)}}@media(min-width:600px)and (max-width:779px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(4,1fr)}}@media(min-width:780px)and (max-width:1149px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(6,1fr)}}@media(min-width:1150px)and (max-width:1779px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(8,1fr)}}@media(min-width:1780px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(10,1fr)}}@media(min-width:2800px){.orientation-horizontal .there-are-items[data-v-29d94632]{grid-template-columns:repeat(12,1fr)}}.item-group-container[data-v-b011a44e]::-webkit-scrollbar,.scroll-bar[data-v-b011a44e]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.item-group-container[data-v-b011a44e]::-webkit-scrollbar-track,.scroll-bar[data-v-b011a44e]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.item-group-container[data-v-b011a44e]::-webkit-scrollbar-thumb,.scroll-bar[data-v-b011a44e]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-b011a44e] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-b011a44e] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-b011a44e] ::-moz-selection,.highlight[data-v-b011a44e] ::-ms-selection,.highlight[data-v-b011a44e] ::-o-selection,.highlight[data-v-b011a44e] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-b011a44e]{font-weight:700}.light[data-v-b011a44e]{font-weight:lighter}.text-left[data-v-b011a44e]{text-align:left}.text-right[data-v-b011a44e]{text-align:right}.text-center[data-v-b011a44e]{text-align:center}.horizontal-center[data-v-b011a44e]{margin:0 auto}.border-box[data-v-b011a44e]{-webkit-box-sizing:border-box;box-sizing:border-box}.home[data-v-b011a44e]{padding-bottom:1px;background:var(--background);min-height:calc(100vh - 126px)}.item-group-container[data-v-b011a44e]{display:grid;gap:.5rem;margin:0 auto;max-width:90%;overflow:auto}@media(min-width:1780px){.item-group-container[data-v-b011a44e]{max-width:1400px}}.item-group-container.orientation-horizontal[data-v-b011a44e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.item-group-container.orientation-vertical[data-v-b011a44e]{max-width:100%}@media(min-width:780px){.item-group-container.orientation-vertical[data-v-b011a44e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media(max-width:599px){.item-group-container[data-v-b011a44e]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.item-group-container[data-v-b011a44e]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.item-group-container[data-v-b011a44e]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.item-group-container[data-v-b011a44e]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.item-group-container[data-v-b011a44e]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.item-group-container[data-v-b011a44e]{grid-template-columns:repeat(5,1fr)}}.item-group-container .no-results[data-v-b011a44e]{display:none}.no-data[data-v-b011a44e]{font-size:2rem;color:var(--background);background:hsla(0,0%,100%,.9215686274509803);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:2rem auto;padding:.5rem 1rem;border-radius:var(--curve-factor)}section.filter-container[data-v-b011a44e]{border-bottom:1px solid var(--outline-color)}@media(max-width:599px){section.filter-container[data-v-b011a44e]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.login-page{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:800px}.login-page,.login-page .login-form{display:-webkit-box;display:-ms-flexbox;display:flex}.login-page .login-form{background:var(--login-form-background);color:var(--login-form-color);border:1px solid var(--login-form-color);border-radius:var(--curve-factor);padding:2rem;margin:2rem auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.login-page .login-form h2.login-title{font-size:3rem;margin:0 0 1rem 0;text-align:center}.login-page .login-form .login-field input,.login-page .login-form Button.login-button{width:18rem;margin:.5rem auto;font-size:1.4rem;padding:.5rem 1rem}.login-page .login-form .login-field input{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button{background:var(--login-form-color);border-color:var(--login-form-background);color:var(--login-form-background)}.login-page .login-form Button.login-button:hover{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button:active,.login-page .login-form Button.login-button:focus{-webkit-box-shadow:1px 1px 6px var(--login-form-color);box-shadow:1px 1px 6px var(--login-form-color)}.login-page .login-form p.login-error-message{font-size:1rem;text-align:center}.login-page .login-form p.login-error-message.waiting{color:var(--login-form-color)}.login-page .login-form p.login-error-message.success{color:var(--success)}.login-page .login-form p.login-error-message.error{color:var(--warning)}.bounce-enter-active{-webkit-animation:bounce-in .25s;animation:bounce-in .25s}.bounce-leave-active{animation:bounce-in .25s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-d979f4fe] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::-moz-selection,.highlight[data-v-d979f4fe] ::-ms-selection,.highlight[data-v-d979f4fe] ::-o-selection,.highlight[data-v-d979f4fe] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-d979f4fe]{font-weight:700}.light[data-v-d979f4fe]{font-weight:lighter}.text-left[data-v-d979f4fe]{text-align:left}.text-right[data-v-d979f4fe]{text-align:right}.text-center[data-v-d979f4fe]{text-align:center}.horizontal-center[data-v-d979f4fe]{margin:0 auto}.border-box[data-v-d979f4fe]{-webkit-box-sizing:border-box;box-sizing:border-box}div.side-bar-item[data-v-d979f4fe]{color:var(--side-bar-color);background:var(--side-bar-background);text-align:center}div.side-bar-item.text-only[data-v-d979f4fe]{background:none;border:none;-webkit-box-shadow:none;box-shadow:none}div.side-bar-item.text-only p.small-title[data-v-d979f4fe]{margin:.1rem auto;font-size:.6rem}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-56ddb963] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::-moz-selection,.highlight[data-v-56ddb963] ::-ms-selection,.highlight[data-v-56ddb963] ::-o-selection,.highlight[data-v-56ddb963] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-56ddb963]{font-weight:700}.light[data-v-56ddb963]{font-weight:lighter}.text-left[data-v-56ddb963]{text-align:left}.text-right[data-v-56ddb963]{text-align:right}.text-center[data-v-56ddb963]{text-align:center}.horizontal-center[data-v-56ddb963]{margin:0 auto}.border-box[data-v-56ddb963]{-webkit-box-sizing:border-box;box-sizing:border-box}div.sub-side-bar[data-v-56ddb963]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background-lighter);border-radius:var(--curve-factor);margin:.2rem;color:var(--side-bar-color);text-align:center;z-index:3}div.sub-side-bar .item[data-v-56ddb963]:not(:last-child){border-bottom:1px dashed var(--side-bar-color)}.scroll-bar[data-v-31476576]::-webkit-scrollbar,nav.side-bar[data-v-31476576]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-track,nav.side-bar[data-v-31476576]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-thumb,nav.side-bar[data-v-31476576]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-31476576] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::-moz-selection,.highlight[data-v-31476576] ::-ms-selection,.highlight[data-v-31476576] ::-o-selection,.highlight[data-v-31476576] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-31476576]{font-weight:700}.light[data-v-31476576]{font-weight:lighter}.text-left[data-v-31476576]{text-align:left}.text-right[data-v-31476576]{text-align:right}.text-center[data-v-31476576]{text-align:center}.horizontal-center[data-v-31476576]{margin:0 auto}.border-box[data-v-31476576]{-webkit-box-sizing:border-box;box-sizing:border-box}nav.side-bar[data-v-31476576]{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background);color:var(--side-bar-color);height:100%;width:var(--side-bar-width);text-align:center;overflow:auto}nav.side-bar .side-bar-item-container[data-v-31476576]{z-index:5}nav.side-bar .item[data-v-31476576]:not(:last-child){border-bottom:1px dashed var(--side-bar-color);z-index:5}.slide-enter-active[data-v-31476576],.slide-leave-active[data-v-31476576]{-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.slide-enter[data-v-31476576],.slide-leave-to[data-v-31476576]{-webkit-transform:translateY(-80%);transform:translateY(-80%)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-a2564c04] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::-moz-selection,.highlight[data-v-a2564c04] ::-ms-selection,.highlight[data-v-a2564c04] ::-o-selection,.highlight[data-v-a2564c04] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-a2564c04]{font-weight:700}.light[data-v-a2564c04]{font-weight:lighter}.text-left[data-v-a2564c04]{text-align:left}.text-right[data-v-a2564c04]{text-align:right}.text-center[data-v-a2564c04]{text-align:center}.horizontal-center[data-v-a2564c04]{margin:0 auto}.border-box[data-v-a2564c04]{-webkit-box-sizing:border-box;box-sizing:border-box}iframe[data-v-a2564c04]{position:absolute;left:var(--side-bar-width);height:calc(100% - var(--header-height));width:calc(100% - var(--side-bar-width));border:none;background:#fff}pre[data-v-33cd2d90]{background:var(--code-editor-background);color:var(--code-editor-color);padding:1rem}
\ No newline at end of file
diff --git a/favicon.ico b/favicon.ico
index 638b826f..8352d15b 100644
Binary files a/favicon.ico and b/favicon.ico differ
diff --git a/index.html b/index.html
index 1d9277d9..241825bc 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-
Dashy Sorry, JavaScript is required to run this app 😥
\ No newline at end of file
+Dashy Sorry, JavaScript is required to run this app 😥
\ No newline at end of file
diff --git a/js/about.c5136cd2.js b/js/about.86662eed.js
similarity index 99%
rename from js/about.c5136cd2.js
rename to js/about.86662eed.js
index 287398d1..1ae2979f 100644
--- a/js/about.c5136cd2.js
+++ b/js/about.86662eed.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["about"],{1792:function(t,e,i){"use strict";i.d(e,"a",(function(){return s})),i.d(e,"b",(function(){return o}));var s=function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},o=[function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("article",{staticClass:"about"},[i("h1",[t._v("About Dashy")]),i("section",[i("h2",[t._v("Project Overview")]),i("p",[t._v(" Dashy is a self-hosted startpage for keeping your running applications and services organised. The aim of Dashy is to provide an easy-to-deploy, highly customizable and functianl dashboard, in order to improvde productivity and enable easy organisation of running services or web links. ")])]),i("section",[i("h2",[t._v("Source")]),i("p",[t._v(" Dashy's source is available through "),i("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[t._v("GitHub")]),t._v(", and the Docker image is on "),i("a",{attrs:{href:"https://hub.docker.com/r/lissy93/dashy"}},[t._v("DockerHub")]),t._v(". ")])]),i("section",[i("h2",[t._v("Reporting a Bug")]),i("p",[t._v(" If you've come across an bug in Dashy, please "),i("a",{attrs:{href:"https://git.io/JnqPR"}},[t._v("open an issue")]),t._v(", so that it can be fixed. ")])]),i("section",[i("h2",[t._v("Getting Support")]),i("p",[t._v(" If you need any help deploying, using, or developing Dashy, feel free to "),i("a",{attrs:{href:"https://git.io/JnqiA"}},[t._v("open a support ticket")]),t._v(" or start a "),i("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[t._v("discussion")]),t._v(" on GitHub. ")])]),i("section",[i("h2",[t._v("About the Author")]),i("a",{attrs:{href:"https://aliciasykes.com"}},[i("img",{staticClass:"aht-pic",attrs:{src:"https://i.ibb.co/FnxqTfx/aht-bot-round.png",alt:"Alicia Sykes"}})]),t._v(" Dashy is developed an maintained by "),i("a",{attrs:{href:"https://aliciasykes.com"}},[t._v("Alicia Sykes")]),t._v(" ("),i("a",{attrs:{href:"https://github.com/lissy93"}},[t._v("@Lissy93")]),t._v("), with support from the community. "),i("ul",[i("li",[i("b",[t._v("PGP Key")]),t._v(" - "),i("a",{attrs:{href:"https://keybase.io/aliciasykes/pgp_keys.asc?fingerprint=0688f8d34587d954e9e51fb8fedb68f55c0283a7"}},[i("code",[t._v("0688 F8D3 4587 D954 E9E5 1FB8 FEDB 68F5 5C02 83A7")])])]),i("li",[i("b",[t._v("BTC Address")]),t._v(" - "),i("code",[t._v("3853bSxupMjvxEYfwGDGAaLZhTKxB2vEVC")])]),i("li",[i("b",[t._v("Mail")]),t._v(" - "),i("code",[t._v("alicia at omg dot lol")])]),i("li",[i("b",[t._v("Blog")]),t._v(" - "),i("a",{attrs:{href:"https://notes.aliciasykes.com"}},[t._v("notes.aliciasykes.com")])])])]),i("section",{staticClass:"license"},[i("h2",[t._v("License")]),i("code",[t._v(" Copyright © 2021 Alicia Sykes (https://aliciasykes.com) ")]),i("br"),i("br"),i("code",[t._v(" Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: ")]),i("br"),i("br"),i("code",[t._v(" The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ")]),i("br"),i("br"),i("code",[t._v(" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ")])])])}]},"35a2":function(t,e,i){},4869:function(t,e,i){"use strict";i("35a2")},5679:function(t,e){document.getElementsByTagName("html")[0].setAttribute("data-theme","callisto")},6109:function(t,e,i){"use strict";i.r(e);var s=i("5679"),o=i.n(s);for(var a in s)["default"].indexOf(a)<0&&function(t){i.d(e,t,(function(){return s[t]}))}(a);e["default"]=o.a},f820:function(t,e,i){"use strict";i.r(e);var s=i("1792"),o=i("6109");for(var a in o)["default"].indexOf(a)<0&&function(t){i.d(e,t,(function(){return o[t]}))}(a);i("4869");var n=i("2877"),r=Object(n["a"])(o["default"],s["a"],s["b"],!1,null,"502c8927",null);e["default"]=r.exports}}]);
-//# sourceMappingURL=about.c5136cd2.js.map
\ No newline at end of file
+//# sourceMappingURL=about.86662eed.js.map
\ No newline at end of file
diff --git a/js/about.c5136cd2.js.map b/js/about.86662eed.js.map
similarity index 99%
rename from js/about.c5136cd2.js.map
rename to js/about.86662eed.js.map
index 9f34c3f2..d4a58a72 100644
--- a/js/about.c5136cd2.js.map
+++ b/js/about.86662eed.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/views/About.vue?a64c","webpack:///./src/views/About.vue?ac07","webpack:///src/views/About.vue","webpack:///./src/views/About.vue?060c","webpack:///./src/views/About.vue"],"names":["render","_vm","this","_h","$createElement","_self","_c","_m","staticRenderFns","staticClass","_v","attrs","document","getElementsByTagName","setAttribute","component"],"mappings":"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","file":"js/about.c5136cd2.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{staticClass:\"about\"},[_c('h1',[_vm._v(\"About Dashy\")]),_c('section',[_c('h2',[_vm._v(\"Project Overview\")]),_c('p',[_vm._v(\" Dashy is a self-hosted startpage for keeping your running applications and services organised. The aim of Dashy is to provide an easy-to-deploy, highly customizable and functianl dashboard, in order to improvde productivity and enable easy organisation of running services or web links. \")])]),_c('section',[_c('h2',[_vm._v(\"Source\")]),_c('p',[_vm._v(\" Dashy's source is available through \"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93/dashy\"}},[_vm._v(\"GitHub\")]),_vm._v(\", and the Docker image is on \"),_c('a',{attrs:{\"href\":\"https://hub.docker.com/r/lissy93/dashy\"}},[_vm._v(\"DockerHub\")]),_vm._v(\". \")])]),_c('section',[_c('h2',[_vm._v(\"Reporting a Bug\")]),_c('p',[_vm._v(\" If you've come across an bug in Dashy, please \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqPR\"}},[_vm._v(\"open an issue\")]),_vm._v(\", so that it can be fixed. \")])]),_c('section',[_c('h2',[_vm._v(\"Getting Support\")]),_c('p',[_vm._v(\" If you need any help deploying, using, or developing Dashy, feel free to \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqiA\"}},[_vm._v(\"open a support ticket\")]),_vm._v(\" or start a \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/discussions\"}},[_vm._v(\"discussion\")]),_vm._v(\" on GitHub. \")])]),_c('section',[_c('h2',[_vm._v(\"About the Author\")]),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_c('img',{staticClass:\"aht-pic\",attrs:{\"src\":\"https://i.ibb.co/FnxqTfx/aht-bot-round.png\",\"alt\":\"Alicia Sykes\"}})]),_vm._v(\" Dashy is developed an maintained by \"),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_vm._v(\"Alicia Sykes\")]),_vm._v(\" (\"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93\"}},[_vm._v(\"@Lissy93\")]),_vm._v(\"), with support from the community. \"),_c('ul',[_c('li',[_c('b',[_vm._v(\"PGP Key\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://keybase.io/aliciasykes/pgp_keys.asc?fingerprint=0688f8d34587d954e9e51fb8fedb68f55c0283a7\"}},[_c('code',[_vm._v(\"0688 F8D3 4587 D954 E9E5 1FB8 FEDB 68F5 5C02 83A7\")])])]),_c('li',[_c('b',[_vm._v(\"BTC Address\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"3853bSxupMjvxEYfwGDGAaLZhTKxB2vEVC\")])]),_c('li',[_c('b',[_vm._v(\"Mail\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"alicia at omg dot lol\")])]),_c('li',[_c('b',[_vm._v(\"Blog\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://notes.aliciasykes.com\"}},[_vm._v(\"notes.aliciasykes.com\")])])])]),_c('section',{staticClass:\"license\"},[_c('h2',[_vm._v(\"License\")]),_c('code',[_vm._v(\" Copyright © 2021 Alicia Sykes (https://aliciasykes.com) \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \")])])])}]\n\nexport { render, staticRenderFns }","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"","\n \n About Dashy \n \n Project Overview \n \n Dashy is a self-hosted startpage for keeping your running applications and\n services organised. The aim of Dashy is to provide an easy-to-deploy,\n highly customizable and functianl dashboard, in order to improvde productivity\n and enable easy organisation of running services or web links.\n
\n \n\n \n Source \n \n Dashy's source is available through GitHub ,\n and the Docker image is on DockerHub .\n
\n \n\n \n Reporting a Bug \n \n If you've come across an bug in Dashy, please open an issue ,\n so that it can be fixed.\n
\n \n\n \n Getting Support \n \n If you need any help deploying, using, or developing Dashy, feel free to\n open a support ticket or start a\n discussion on GitHub.\n
\n \n\n \n About the Author \n \n \n \n Dashy is developed an maintained by Alicia Sykes \n (@Lissy93 ), with support from the community.\n \n \n\n \n License \n \n Copyright © 2021 Alicia Sykes (https://aliciasykes.com)\n
\n \n \n Permission is hereby granted, free of charge, to any person obtaining a copy of this\n software and associated documentation files (the “Software”), to deal in the Software\n without restriction, including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software, and to permit\n persons to whom the Software is furnished to do so, subject to the following conditions:\n
\n \n \n The above copyright notice and this permission notice shall be included in all copies or\n substantial portions of the Software.\n
\n \n \n THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR\n PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE\n OR OTHER DEALINGS IN THE SOFTWARE.\n
\n \n \n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=502c8927&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.vue?vue&type=script&lang=js&\"\nimport style0 from \"./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"502c8927\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./src/views/About.vue?4384","webpack:///./src/views/About.vue?ac07","webpack:///src/views/About.vue","webpack:///./src/views/About.vue?060c","webpack:///./src/views/About.vue"],"names":["render","_vm","this","_h","$createElement","_self","_c","_m","staticRenderFns","staticClass","_v","attrs","document","getElementsByTagName","setAttribute","component"],"mappings":"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","file":"js/about.86662eed.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{staticClass:\"about\"},[_c('h1',[_vm._v(\"About Dashy\")]),_c('section',[_c('h2',[_vm._v(\"Project Overview\")]),_c('p',[_vm._v(\" Dashy is a self-hosted startpage for keeping your running applications and services organised. The aim of Dashy is to provide an easy-to-deploy, highly customizable and functianl dashboard, in order to improvde productivity and enable easy organisation of running services or web links. \")])]),_c('section',[_c('h2',[_vm._v(\"Source\")]),_c('p',[_vm._v(\" Dashy's source is available through \"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93/dashy\"}},[_vm._v(\"GitHub\")]),_vm._v(\", and the Docker image is on \"),_c('a',{attrs:{\"href\":\"https://hub.docker.com/r/lissy93/dashy\"}},[_vm._v(\"DockerHub\")]),_vm._v(\". \")])]),_c('section',[_c('h2',[_vm._v(\"Reporting a Bug\")]),_c('p',[_vm._v(\" If you've come across an bug in Dashy, please \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqPR\"}},[_vm._v(\"open an issue\")]),_vm._v(\", so that it can be fixed. \")])]),_c('section',[_c('h2',[_vm._v(\"Getting Support\")]),_c('p',[_vm._v(\" If you need any help deploying, using, or developing Dashy, feel free to \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqiA\"}},[_vm._v(\"open a support ticket\")]),_vm._v(\" or start a \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/discussions\"}},[_vm._v(\"discussion\")]),_vm._v(\" on GitHub. \")])]),_c('section',[_c('h2',[_vm._v(\"About the Author\")]),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_c('img',{staticClass:\"aht-pic\",attrs:{\"src\":\"https://i.ibb.co/FnxqTfx/aht-bot-round.png\",\"alt\":\"Alicia Sykes\"}})]),_vm._v(\" Dashy is developed an maintained by \"),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_vm._v(\"Alicia Sykes\")]),_vm._v(\" (\"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93\"}},[_vm._v(\"@Lissy93\")]),_vm._v(\"), with support from the community. \"),_c('ul',[_c('li',[_c('b',[_vm._v(\"PGP Key\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://keybase.io/aliciasykes/pgp_keys.asc?fingerprint=0688f8d34587d954e9e51fb8fedb68f55c0283a7\"}},[_c('code',[_vm._v(\"0688 F8D3 4587 D954 E9E5 1FB8 FEDB 68F5 5C02 83A7\")])])]),_c('li',[_c('b',[_vm._v(\"BTC Address\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"3853bSxupMjvxEYfwGDGAaLZhTKxB2vEVC\")])]),_c('li',[_c('b',[_vm._v(\"Mail\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"alicia at omg dot lol\")])]),_c('li',[_c('b',[_vm._v(\"Blog\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://notes.aliciasykes.com\"}},[_vm._v(\"notes.aliciasykes.com\")])])])]),_c('section',{staticClass:\"license\"},[_c('h2',[_vm._v(\"License\")]),_c('code',[_vm._v(\" Copyright © 2021 Alicia Sykes (https://aliciasykes.com) \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \")])])])}]\n\nexport { render, staticRenderFns }","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"","\n \n About Dashy \n \n Project Overview \n \n Dashy is a self-hosted startpage for keeping your running applications and\n services organised. The aim of Dashy is to provide an easy-to-deploy,\n highly customizable and functianl dashboard, in order to improvde productivity\n and enable easy organisation of running services or web links.\n
\n \n\n \n Source \n \n Dashy's source is available through GitHub ,\n and the Docker image is on DockerHub .\n
\n \n\n \n Reporting a Bug \n \n If you've come across an bug in Dashy, please open an issue ,\n so that it can be fixed.\n
\n \n\n \n Getting Support \n \n If you need any help deploying, using, or developing Dashy, feel free to\n open a support ticket or start a\n discussion on GitHub.\n
\n \n\n \n About the Author \n \n \n \n Dashy is developed an maintained by Alicia Sykes \n (@Lissy93 ), with support from the community.\n \n \n\n \n License \n \n Copyright © 2021 Alicia Sykes (https://aliciasykes.com)\n
\n \n \n Permission is hereby granted, free of charge, to any person obtaining a copy of this\n software and associated documentation files (the “Software”), to deal in the Software\n without restriction, including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software, and to permit\n persons to whom the Software is furnished to do so, subject to the following conditions:\n
\n \n \n The above copyright notice and this permission notice shall be included in all copies or\n substantial portions of the Software.\n
\n \n \n THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR\n PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE\n OR OTHER DEALINGS IN THE SOFTWARE.\n
\n \n \n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=502c8927&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.vue?vue&type=script&lang=js&\"\nimport style0 from \"./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"502c8927\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/dashy.df0bf72a.js b/js/dashy.df0bf72a.js
new file mode 100644
index 00000000..d8292afa
--- /dev/null
+++ b/js/dashy.df0bf72a.js
@@ -0,0 +1,2 @@
+(function(t){function e(e){for(var a,o,r=e[0],c=e[1],l=e[2],u=0,d=[];unew RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(t)}},T=O,E=(s("d16d"),Object(w["a"])(T,k,x,!1,null,"68c1bd5c",null)),A=E.exports,L={name:"Header",components:{PageTitle:I,Nav:A},props:{pageInfo:Object},data(){return{hiddenComponents:this.pageInfo.hiddenComponents||{},titleVisible:p["visibleComponents"].pageTitle,navVisible:p["visibleComponents"].navigation}}},N=L,P=(s("4239"),Object(w["a"])(N,g,v,!1,null,"70a33270",null)),M=P.exports,z=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.text&&""!==t.text?s("footer",{domProps:{innerHTML:t._s(t.text)}}):s("footer",[t._v(" Developed by "),s("a",{attrs:{href:t.authorUrl}},[t._v(t._s(t.authorName))]),t._v(". Licensed under "),s("a",{attrs:{href:t.licenseUrl}},[t._v(t._s(t.license))]),t._v(" "+t._s(t.showCopyright?"©":"")+" "+t._s(t.date)+". Get the "),s("a",{attrs:{href:t.repoUrl}},[t._v("Source Code")]),t._v(". ")])},B=[],j={name:"Footer",props:{text:String,authorName:{type:String,default:"Alicia Sykes"},authorUrl:{type:String,default:"https://aliciasykes.com"},license:{type:String,default:"MIT"},licenseUrl:{type:String,default:"https://gist.github.com/Lissy93/143d2ee01ccc5c052a17"},date:{type:String,default:""+(new Date).getFullYear()},showCopyright:{type:Boolean,default:!0},repoUrl:{type:String,default:"https://github.com/lissy93/dashy"}}},H=j,D=(s("4fa1"),Object(w["a"])(H,z,B,!1,null,"1b07b0da",null)),V=D.exports,$=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("transition",{attrs:{name:"slide-fade"}},[t.isLoading?s("div",{class:t.c,attrs:{id:"loading"},on:{click:function(e){t.c="hide"}}},[s("h2",[t._v("Dashy")]),s("div",{staticClass:"inner-container"},[s("p",[t._v("Loading")]),s("span",{staticClass:"dots-cont"},[s("span",{staticClass:"dot dot-1"}),s("span",{staticClass:"dot dot-2"}),s("span",{staticClass:"dot dot-3"}),s("span",{staticClass:"dot dot-4"})])])]):t._e()])},U=[],R={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},K=R,F=(s("2bb3"),Object(w["a"])(K,$,U,!1,null,"a7bc1de6",null)),W=F.exports,J=s("8b8e"),G=s.n(J);const q=(()=>{const t=G.a.appConfig||{};let e=h.a.appConfig;return localStorage[p["localStorageKeys"].APP_CONFIG]?e=JSON.parse(localStorage[p["localStorageKeys"].APP_CONFIG]):t!=={}&&(e=t),e.layout=localStorage[p["localStorageKeys"].LAYOUT_ORIENTATION]||t.layout||h.a.layout,e.iconSize=localStorage[p["localStorageKeys"].ICON_SIZE]||t.iconSize||h.a.iconSize,e})(),Y=(()=>{const t=h.a.pageInfo;let e;try{e=JSON.parse(localStorage[p["localStorageKeys"].PAGE_INFO])}catch(a){e={}}const s=G.a.pageInfo||t;return s.title=e.title||G.a.pageInfo.title||t.title,s.description=e.description||G.a.pageInfo.description||t.description,s.navLinks=e.navLinks||G.a.pageInfo.navLinks||t.navLinks,s.footerText=e.footerText||G.a.pageInfo.footerText||t.footerText,s})(),Z=(()=>{const t=localStorage[p["localStorageKeys"].CONF_SECTIONS];if(t)try{const e=JSON.parse(t);if(e.length>=1)return e}catch(e){}return G.a.sections})(),X=(()=>{const t={appConfig:q,pageInfo:Y,sections:Z};return t})();var Q={name:"app",components:{Header:M,Footer:V,LoadingScreen:W},provide:{config:X},data(){return{showFooter:h.a.visibleComponents.footer,isLoading:!0,appConfig:q,pageInfo:Y}},methods:{getFooterText(){return this.pageInfo&&this.pageInfo.footerText?this.pageInfo.footerText:""},injectCustomStyles(t){const e=document.createElement("style");e.textContent=t,document.head.append(e)},shouldShowSplash(){return this.appConfig.showSplashScreen||!localStorage[p["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()&&!this.shouldHidePageComponents()?setTimeout(()=>{this.isLoading=!1},p["splashScreenTime"]||2e3):this.isLoading=!1},shouldHidePageComponents(){return["download"].includes(this.$route.name)}},computed:{currentRouteName(){return this.$route.name}},mounted(){if(this.hideSplash(),this.appConfig.customCss){const t=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(t)}}},tt=Q,et=(s("5c0b"),Object(w["a"])(tt,m,f,!1,null,null,null)),st=et.exports,at=s("8c4f"),ot=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"home",style:t.getBackgroundImage()},[s("SettingsContainer",{ref:"filterComp",staticClass:"filter-container",attrs:{displayLayout:t.layout,iconSize:t.itemSizeBound,availableThemes:t.getExternalCSSLinks(),sections:t.getSections(t.sections),appConfig:t.appConfig,pageInfo:t.pageInfo,modalOpen:t.modalOpen},on:{"user-is-searchin":t.searching,"change-display-layout":t.setLayoutOrientation,"change-icon-size":t.setItemSize,"change-modal-visibility":t.updateModalVisibility}}),t.checkTheresData(t.sections)?s("div",{class:"item-group-container orientation-"+t.layout+" item-size-"+t.itemSizeBound},t._l(t.getSections(t.sections),(function(e,a){return s("ItemGroup",{key:a,class:0===t.filterTiles(e.items).length&&t.searchValue?"no-results":"",attrs:{title:e.name,icon:e.icon||void 0,displayData:t.getDisplayData(e),groupId:"section-"+a,items:t.filterTiles(e.items),itemSize:t.itemSizeBound},on:{itemClicked:function(e){return t.finishedSearching()},"change-modal-visibility":t.updateModalVisibility}})})),1):t._e(),t.checkIfResults()?s("div",{staticClass:"no-data"},[t._v(" "+t._s(t.searchValue?"No Search Results":"No Data Configured")+" ")]):t._e()],1)},nt=[],it=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("section",[t.searchVisible?s("SearchBar",{ref:"SearchBar",attrs:{active:!t.modalOpen},on:{"user-is-searchin":t.userIsTypingSomething}}):t._e(),s("div",{staticClass:"options-outer"},[s("div",{class:"options-container "+(t.settingsVisible?"":"hide")},[s("ThemeSelector",{attrs:{themes:t.availableThemes,confTheme:t.getInitialTheme(),userThemes:t.getUserThemes()}}),s("LayoutSelector",{attrs:{displayLayout:t.displayLayout},on:{layoutUpdated:t.updateDisplayLayout}}),s("ItemSizeSelector",{attrs:{iconSize:t.iconSize},on:{iconSizeUpdated:t.updateIconSize}}),s("ConfigLauncher",{attrs:{sections:t.sections,pageInfo:t.pageInfo,appConfig:t.appConfig},on:{modalChanged:t.modalChanged}}),t.isUserLoggedIn()?s("AppButtons"):t._e()],1),s("div",{class:"show-hide-container "+(t.settingsVisible?"hide-btn":"show-btn")},[s("button",{directives:[{name:"tooltip",rawName:"v-tooltip",value:(t.settingsVisible?"Hide":"Open")+" Settings Menu",expression:"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`"}],attrs:{tabindex:"-2"},on:{click:function(e){return t.toggleSettingsVisibility()}}},[t.settingsVisible?s("IconClose"):s("IconOpen")],1)])]),s("KeyboardShortcutInfo"),s("AppInfoModal")],1)},rt=[],ct=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("form",[s("label",{attrs:{for:"filter-tiles"}},[t._v("Search")]),s("input",{directives:[{name:"model",rawName:"v-model",value:t.input,expression:"input"}],ref:"filter",attrs:{id:"filter-tiles",placeholder:"Start typing to filter..."},domProps:{value:t.input},on:{input:[function(e){e.target.composing||(t.input=e.target.value)},t.userIsTypingSomething],keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.clearFilterInput.apply(null,arguments)}}}),t.input.length>0?s("i",{staticClass:"clear-search",attrs:{title:"Clear search"},on:{click:t.clearFilterInput}},[t._v("x")]):t._e()])},lt=[];class ut{constructor(t){this.index=t}resetIndex(){this.index=0}arrowNavigation(t){void 0===this.index?this.index=0:37===t?this.index-=1:38===t?this.index=ut.goToPrevious(this.index):39===t?this.index+=1:40===t&&(this.index=ut.goToNext(this.index)),this.index=ut.getSafeElementIndex(this.index),ut.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(t){const e=ut.getNumResults();return t<0?e-1:t>=e?0:t}static selectItemByIndex(t){return t>=0&&t<=ut.getNumResults()?document.getElementsByClassName("item")[t]:[document.getElementsByClassName("item")]}static findPreviousRow(t){const e=(t,e)=>ut.selectItemByIndex(t).offsetTop===e,s=(t,a)=>t>=ut.getNumResults()?s(0,a):e(t,a)?s(t-1,a):t,a=ut.selectItemByIndex(t).offsetTop;return s(t,a)}static goToPrevious(t){const e=(t,e)=>ut.selectItemByIndex(t).offsetToput.selectItemByIndex(t).offsetTop===e,s=(t,a)=>t>=ut.getNumResults()?s(0,a):e(t,a)?s(t+1,a):t,a=ut.selectItemByIndex(t).offsetTop;return s(t,a)}static goToNext(t){const e=(t,e)=>ut.selectItemByIndex(t).offsetTop>ut.selectItemByIndex(e).offsetTop,s=ut.findNextRow(t),a=s-t,o=s-ut.findPreviousRow(t)-1,n=e(t,s)?0:o-a;return s+n}}var dt={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new ut}},mounted(){window.addEventListener("keydown",t=>{const e=document.activeElement.id,{key:s,keyCode:a}=t;this.active&&(/^[a-zA-Z]$/.test(s)&&"filter-tiles"!==e?(this.$refs.filter.focus(),this.userIsTypingSomething()):a>=37&&a<=40?this.akn.arrowNavigation(a):27===a&&this.clearFilterInput())})},methods:{userIsTypingSomething(){this.$emit("user-is-searchin",this.input)},clearFilterInput(){this.input="",this.userIsTypingSomething(),document.activeElement.blur(),this.akn.resetIndex()}}},pt=dt,ht=(s("8949"),Object(w["a"])(pt,ct,lt,!1,null,"72e6bff4",null)),mt=ht.exports,ft=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"config-options"},[s("span",[t._v("Config")]),s("div",{staticClass:"config-buttons"},[s("IconSpanner",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Update configuration locally"),expression:"tooltip('Update configuration locally')"}],attrs:{tabindex:"-2"},on:{click:function(e){return t.showEditor()}}}),s("IconCloud",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Backup / restore cloud config"),expression:"tooltip('Backup / restore cloud config')"}],attrs:{tabindex:"-2"},on:{click:function(e){return t.showCloudModal()}}})],1),s("modal",{attrs:{name:t.modalNames.CONF_EDITOR,resizable:!0,width:"60%",height:"85%",classes:"dashy-modal"},on:{closed:function(e){return t.$emit("modalChanged",!1)}}},[s("ConfigContainer",{attrs:{config:t.combineConfig()}})],1),s("modal",{attrs:{name:t.modalNames.CLOUD_BACKUP,resizable:!0,width:"65%",height:"60%",classes:"dashy-modal"},on:{closed:function(e){return t.$emit("modalChanged",!1)}}},[s("CloudBackupRestore",{attrs:{config:t.combineConfig()}})],1)],1)},gt=[],vt=s("35c3"),yt=s.n(vt),bt=s("6780"),St=s.n(bt),Ct=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("Tabs",{ref:"tabView",attrs:{navAuto:!0,name:"Add Item"}},[s("TabItem",{staticClass:"main-tab",attrs:{name:"Config"}},[s("div",{staticClass:"main-options-container"},[s("h2",[t._v("Configuration Options")]),s("a",{staticClass:"hyperlink-wrapper",on:{click:function(e){return t.downloadConfigFile("conf.yml",t.yaml)}}},[s("button",{staticClass:"config-button center"},[s("DownloadIcon",{staticClass:"button-icon"}),t._v(" Download Config ")],1)]),s("button",{staticClass:"config-button center",on:{click:function(e){return t.goToEdit()}}},[s("EditIcon",{staticClass:"button-icon"}),t._v(" Edit Config ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.goToCustomCss()}}},[s("CustomCssIcon",{staticClass:"button-icon"}),t._v(" Edit Custom CSS ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.openCloudSync()}}},[s("CloudIcon",{staticClass:"button-icon"}),t._v(" "+t._s(t.backupId?"Edit Cloud Sync":"Enable Cloud Sync")+" ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.openRebuildAppModal()}}},[s("RebuildIcon",{staticClass:"button-icon"}),t._v(" Rebuild Application ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.resetLocalSettings()}}},[s("DeleteIcon",{staticClass:"button-icon"}),t._v(" Reset Local Settings ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.openAboutModal()}}},[s("IconAbout",{staticClass:"button-icon"}),t._v(" App Info ")],1),s("p",{staticClass:"small-screen-note",staticStyle:{display:"none"}},[t._v(" You are using a very small screen, and some screens in this menu may not be optimal ")]),s("p",{staticClass:"app-version"},[t._v("Dashy version "+t._s(t.appVersion))]),s("div",{staticClass:"config-note"},[s("span",[t._v(" It is recommend to make a backup of your conf.yml file before making changes. ")])])]),s("RebuildApp")],1),s("TabItem",{staticClass:"code-container",attrs:{name:"View Config"}},[s("pre",{attrs:{id:"conf-yaml"}},[t._v(t._s(t.yaml))]),s("div",{staticClass:"yaml-action-buttons"},[s("h2",[t._v("Actions")]),s("a",{staticClass:"yaml-button download",on:{click:function(e){return t.downloadConfigFile("conf.yml",t.yaml)}}},[t._v(" Download Config ")]),s("a",{staticClass:"yaml-button copy",on:{click:function(e){return t.copyConfigToClipboard()}}},[t._v("Copy Config")]),s("a",{staticClass:"yaml-button reset",on:{click:function(e){return t.resetLocalSettings()}}},[t._v("Reset Config")])])]),s("TabItem",{attrs:{name:"Edit Config"}},[s("JsonEditor",{attrs:{config:t.config}})],1),s("TabItem",{attrs:{name:"Custom Styles"}},[s("CustomCssEditor",{attrs:{config:t.config,initialCss:"hello"}})],1)],1)},wt=[],_t=s("1020"),It=s.n(_t),kt=s("2e7b"),xt=s.n(kt),Ot=(s("1d89"),s("d97e"));const Tt=t=>t.split("\n").map(t=>t.trimRight()).join("\n"),Et=t=>{throw new Error("Error in Json to YAML conversion: "+t)},At=t=>{let e="";const s={undefined(){return"null"},null(){return"null"},number(t){return t},boolean(t){return t?"true":"false"},string(t){return JSON.stringify(t)},array(t){let a="";return 0===t.length?(a+="[]",a):(e=e.replace(/$/," "),t.forEach(t=>{const o=s[Object(Ot["typeOf"])(t)];o||Et(Object(Ot["typeOf"])(t)),a+=`\n${e}- ${o(t,!0)}`}),e=e.replace(/ {2}/,""),a)},object(t,a,o){let n="";return 0===Object.keys(t).length?(n+="{}",n):(o||(e=e.replace(/$/," ")),Object.keys(t).forEach((o,i)=>{const r=t[o],c=s[Object(Ot["typeOf"])(r)];"undefined"!==typeof r&&(c||Et(Object(Ot["typeOf"])(r)),a&&0===i||(n+="\n"+e),n+=`${o}: ${c(r)}`)}),e=e.replace(/ {2}/,""),n)},function(){return"[object Function]"}};return Tt(s[Object(Ot["typeOf"])(t)](t,!0,!0)+"\n")};var Lt=At,Nt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"json-editor-outer"},[s("v-jsoneditor",{attrs:{options:t.options,height:"500px"},model:{value:t.jsonData,callback:function(e){t.jsonData=e},expression:"jsonData"}}),s("div",{staticClass:"save-options"},[s("span",{staticClass:"save-option-title"},[t._v("Save Location:")]),s("div",{staticClass:"option"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"local",value:"local",disabled:!t.allowWriteToDisk},domProps:{checked:t._q(t.saveMode,"local")},on:{change:function(e){t.saveMode="local"}}}),s("label",{staticClass:"save-option-label",attrs:{for:"local"}},[t._v("Apply Locally")])]),s("div",{staticClass:"option"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"file",value:"file",disabled:!t.allowWriteToDisk},domProps:{checked:t._q(t.saveMode,"file")},on:{change:function(e){t.saveMode="file"}}}),s("label",{staticClass:"save-option-label",attrs:{for:"file"}},[t._v("Write Changes to Config File")])])]),s("button",{class:"save-button "+(t.isValid?"":"err"),on:{click:function(e){return t.save()}}},[t._v("Save Changes")]),s("p",{staticClass:"errors"},[s("ul",[t._l(t.errorMessages,(function(e,a){return s("li",{key:a,class:"type-"+e.type},[t._v(" "+t._s(e.msg)+" ")])})),t.errorMessages.length<1?s("li",{staticClass:"type-valid"},[t._v(" Config is Valid ")]):t._e()],2)]),void 0!==t.saveSuccess?s("p",{class:"response-output status-"+(t.saveSuccess?"success":"fail")},[t._v(" "+t._s(t.saveSuccess?"Task Complete":"Task Failed")+" ")]):t._e(),s("p",{staticClass:"response-output"},[t._v(t._s(t.responseText))]),t.saveSuccess?s("p",{staticClass:"response-output"},[t._v(" The app should rebuild automatically. You will need to refresh the page for changes to take effect. ")]):t._e(),s("p",{staticClass:"note"},[t._v(" It is recommend to backup your existing confiruration before making any changes. ")])],1)},Pt=[],Mt=s("bcb2"),zt=s.n(Mt),Bt=s("831b"),jt=s("94f8"),Ht=s.n(jt);const Dt=t=>Ht()(t.toString()).toString().toLowerCase(),Vt=t=>{const e=t.map(t=>Dt(t));let s=!1;return document.cookie.split(";").forEach(t=>{if(t&&t.split("=").length>1){const a=t.split("=")[0].trim(),o=t.split("=")[1].trim();a===p["cookieKeys"].AUTH_TOKEN&&e.includes(o)&&(s=!0)}}),s},$t=(t,e,s)=>{let a;return t?e?s.forEach(s=>{s.user===t&&(a=s.hash.toLowerCase()===Ht()(e).toString().toLowerCase()?{correct:!0,msg:"Logging in..."}:{correct:!1,msg:"Incorrect Password"})}):a={correct:!1,msg:"Missing Password"}:a={correct:!1,msg:"Missing Username"},a||{correct:!1,msg:"User not found"}},Ut=(t,e)=>{const s={user:t,hash:Ht()(e).toString().toLowerCase()};document.cookie=`authenticationToken=${Dt(s)}; max-age=600`,localStorage.setItem(p["localStorageKeys"].USERNAME,t)},Rt=()=>{document.cookie="authenticationToken=null",localStorage.removeItem(p["localStorageKeys"].USERNAME)},Kt=t=>{if(!t||0===t.length)return!0;if(!Vt(t))return!1;const e=localStorage[p["localStorageKeys"].USERNAME];let s=!1;return t.forEach(t=>{t.user===e&&"admin"===t.type&&(s=!0)}),s};var Ft=s("bc3a"),Wt=s.n(Ft),Jt={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:zt.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:Bt,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:Lt,responseText:"",saveSuccess:void 0,allowWriteToDisk:this.shouldAllowWriteToDisk()}},computed:{isValid(){return this.errorMessages.length<1}},mounted(){this.allowWriteToDisk||(this.saveMode="local")},methods:{shouldAllowWriteToDisk(){const{appConfig:t}=this.config;return!1!==t.allowConfigEdit&&Kt(t.auth)},save(){"local"!==this.saveMode&&this.allowWriteToDisk?"file"===this.saveMode?this.writeConfigToDisk():this.$toasted.show("Please select a Save Mode: Local or File"):this.saveConfigLocally()},writeConfigToDisk(){const t=this.jsonParser(this.jsonData),e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.2.5",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,s=e+"/config-manager/save",a={"Content-Type":"text/plain"},o={config:t,timestamp:new Date},n=Wt.a.post(s,o,a);n.then(t=>{this.saveSuccess=t.data.success||!1,this.responseText=t.data.message,this.saveSuccess?(this.carefullyClearLocalStorage(),this.showToast("Config file written to disk succesfully",!0)):this.showToast("An error occurred saving config",!1)}).catch(t=>{this.saveSuccess=!1,this.responseText=t,this.showToast(t,!1)})},saveConfigLocally(){const t=this.jsonData;t.sections&&localStorage.setItem(p["localStorageKeys"].CONF_SECTIONS,JSON.stringify(t.sections)),t.pageInfo&&localStorage.setItem(p["localStorageKeys"].PAGE_INFO,JSON.stringify(t.pageInfo)),t.appConfig&&localStorage.setItem(p["localStorageKeys"].APP_CONFIG,JSON.stringify(t.appConfig)),t.appConfig.theme&&localStorage.setItem(p["localStorageKeys"].THEME,t.appConfig.theme),this.showToast("Changes saved succesfully",!0)},carefullyClearLocalStorage(){localStorage.removeItem(p["localStorageKeys"].PAGE_INFO),localStorage.removeItem(p["localStorageKeys"].APP_CONFIG),localStorage.removeItem(p["localStorageKeys"].CONF_SECTIONS)},validationErrors(t){const e=[];t.forEach(t=>{switch(t.type){case"validation":e.push({type:"validation",msg:`Validatation Warning: ${t.error.keyword} ${t.error.message}`});break;case"error":e.push({type:"parse",msg:t.message});break;default:e.push({type:"editor",msg:"Error in JSON"});break}}),this.errorMessages=e},showToast(t,e){this.$toasted.show(t,{className:"toast-"+(e?"success":"error")})}}},Gt=Jt,qt=(s("80a7"),Object(w["a"])(Gt,Nt,Pt,!1,null,null,null)),Yt=qt.exports,Zt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"json-editor-outer"},[s("prism-editor",{staticClass:"my-editor",attrs:{highlight:t.highlighter,"line-numbers":""},model:{value:t.customCss,callback:function(e){t.customCss=e},expression:"customCss"}}),s("button",{staticClass:"save-button",on:{click:function(e){return t.save()}}},[t._v("Save Changes")]),t._m(0)],1)},Xt=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("p",{staticClass:"quick-note"},[s("b",[t._v("Note")]),t._v(": You will need to refresh the page for your changes to take effect. Styles overides are only stored locally, so it is reccomended to make a copy of your CSS. To remove all custom styles, delete the contents and hit Save Changes ")])}],Qt=s("e57a"),te=s("8c7a"),ee=(s("6605"),s("dff1"),s("cabf"),{name:"JsonEditor",props:{config:Object},components:{PrismEditor:Qt["a"]},data(){return{customCss:this.config.appConfig.customCss||"\n\n\n\n\n"}},methods:{validate(t){return""===t||t.match(/((?:^\s*)([\w#.@*,:\-.:>,*\s]+)\s*{(?:[\s]*)((?:[A-Za-z\- \s]+[:]\s*['"0-9\w .,/()\-!%]+;?)*)*\s*}(?:\s*))/gim)},save(){let t="";if(this.validate(this.customCss)){const e={...this.config.appConfig};e.customCss=this.customCss,localStorage.setItem(p["localStorageKeys"].APP_CONFIG,JSON.stringify(e)),t="Changes saved succesfully",this.inject(this.customCss),""===this.customCss&&setTimeout(()=>{location.reload()},1500)}else t="Error - Invalid CSS";this.$toasted.show(t)},inject(t){const e=t.replace(/<\/?[^>]+(>|$)/g,""),s=document.createElement("style");s.textContent=e,document.head.append(s)},highlighter(t){return Object(te["highlight"])(t,te["languages"].css)}}}),se=ee,ae=(s("9e50"),Object(w["a"])(se,Zt,Xt,!1,null,null,null)),oe=ae.exports,ne=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("modal",{attrs:{name:t.modalName,resizable:!0,width:"50%",height:"60%",classes:"dashy-modal"}},[s("div",{staticClass:"rebuild-app-container"},[s("h3",{staticClass:"rebuild-app-title"},[t._v("Rebuild Application")]),s("p",[t._v(" A rebuild is required for changes written to the conf.yml file to take effect. This should happen automatically, but if it hasn't, you can manually trigger it here."),s("br"),t._v(" This is not required for modifications stored locally. ")]),s("Button",{attrs:{click:t.startBuild,disabled:t.loading||!t.allowRebuild,disallow:!t.allowRebuild},scopedSlots:t._u([{key:"text",fn:function(){return[t._v(t._s(t.loading?"Building...":"Start Build"))]},proxy:!0},{key:"icon",fn:function(){return[s("RebuildIcon")]},proxy:!0}])}),t.allowRebuild?t._e():s("div",[s("p",{staticClass:"disallow-rebuild-msg"},[t._v("You do no have permission to trigger this action")])]),t.loading?s("div",{staticClass:"loader-info"},[s("LoadingAnimation",{staticClass:"loader"}),s("p",{staticClass:"loading-message"},[t._v("This may take a few minutes...")])],1):t._e(),void 0!==t.success?s("div",{staticClass:"rebuild-response"},[t.success?s("p",{staticClass:"response-status success"},[t._v("✅ Build completed succesfully")]):s("p",{staticClass:"response-status failure"},[t._v("❌ Build operation failed")]),s("pre",{staticClass:"output"},[s("code",[t._v(t._s(t.output||t.error))])]),s("p",{staticClass:"rebuild-message"},[t._v(t._s(t.message))]),t.success?s("p",{staticClass:"rebuild-message"},[t._v(" A page reload is now required for changes to take effect ")]):t._e(),t.success?s("Button",{attrs:{click:t.refreshPage},scopedSlots:t._u([{key:"text",fn:function(){return[t._v("Reload Page")]},proxy:!0},{key:"icon",fn:function(){return[s("ReloadIcon")]},proxy:!0}],null,!1,1379687826)}):t._e()],1):t._e()],1)])},ie=[],re=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{class:t.disallow?"disallowed":"",attrs:{disabled:t.disabled},on:{click:function(e){return t.click()}}},[t._t("default"),t._t("text"),t._t("icon")],2)},ce=[],le={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},ue=le,de=(s("24e6"),Object(w["a"])(ue,re,ce,!1,null,"ec408f00",null)),pe=de.exports,he=s("0911"),me=s.n(he),fe=s("3ff5"),ge=s.n(fe),ve=s("6266"),ye=s.n(ve),be={name:"RebuildApp",inject:["config"],components:{Button:pe,RebuildIcon:me.a,ReloadIcon:ge.a,LoadingAnimation:ye.a},data:()=>({modalName:p["modalNames"].REBUILD_APP,loading:!1,success:void 0,error:"",output:"",message:"",allowRebuild:!0}),methods:{startBuild(){const t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.2.5",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,e=t+"/config-manager/rebuild";this.loading=!0,Wt.a.get(e).then(t=>{this.finished(t.data||!1)}).catch(t=>{this.finished({success:!1,error:t})})},finished(t){if(this.loading=!1,t){const{success:e,output:s,error:a,message:o}=t;this.success=e,this.output=s,this.message=o,this.error=a}this.$toasted.show(this.success?"✅ Build Completed Succesfully":"❌ Build Failed",{className:"toast-"+(this.success?"success":"error")})},refreshPage(){location.reload()}},mounted(){this.config&&this.config.appConfig&&!1===this.config.appConfig.allowConfigEdit&&(this.allowRebuild=!1)}},Se=be,Ce=(s("aff1"),Object(w["a"])(Se,ne,ie,!1,null,"4d488482",null)),we=Ce.exports,_e=s("cbd9"),Ie=s.n(_e),ke=s("0278"),xe=s.n(ke),Oe=s("e7fa"),Te=s.n(Oe),Ee=s("7da9"),Ae=s.n(Ee),Le=s("2413"),Ne=s.n(Le),Pe={name:"ConfigContainer",data(){return{jsonParser:Lt,backupId:localStorage[p["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.2.5"}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:Yt,CustomCssEditor:oe,RebuildApp:we,DownloadIcon:Ie.a,DeleteIcon:xe.a,EditIcon:Te.a,CloudIcon:St.a,CustomCssIcon:Ae.a,RebuildIcon:me.a,IconAbout:Ne.a},methods:{goToEdit(){const t=this.$refs.tabView.navItems[2];this.$refs.tabView.activeTabItem({tabItem:t,byUser:!0})},goToMetaEdit(){const t=this.$refs.tabView.navItems[3];this.$refs.tabView.activeTabItem({tabItem:t,byUser:!0})},goToCustomCss(){const t=this.$refs.tabView.navItems[3];this.$refs.tabView.activeTabItem({tabItem:t,byUser:!0})},openRebuildAppModal(){this.$modal.show(p["modalNames"].REBUILD_APP)},openAboutModal(){this.$modal.show(p["modalNames"].ABOUT_APP)},openCloudSync(){this.$modal.show(p["modalNames"].CLOUD_BACKUP)},copyConfigToClipboard(){navigator.clipboard.writeText(this.jsonParser(this.config))},resetLocalSettings(){const t="This will remove all user settings from local storage, but won't effect your 'conf.yml' file. It is recommend to make a backup of your modified YAML settings first.\n\nAre you sure you want to proceed?",e=confirm(t);e&&(localStorage.clear(),this.$toasted.show("Data cleared succesfully"),setTimeout(()=>{location.reload(!0)},1900))},downloadConfigFile(t,e){const s=document.createElement("a");s.setAttribute("href","data:text/plain;charset=utf-8, "+encodeURIComponent(e)),s.setAttribute("download",t),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}},mounted(){It.a.registerLanguage("yaml",xt.a);const t=It.a.highlight(this.jsonParser(this.config),{language:"yaml"}).value;document.getElementById("conf-yaml").innerHTML=t}},Me=Pe,ze=(s("8d80"),s("1d47"),Object(w["a"])(Me,Ct,wt,!1,null,"3cfec9e9",null)),Be=ze.exports,je=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"cloud-backup-restore-wrapper"},[t._m(0),s("div",{staticClass:"section backup-section"},[t.backupId?s("h3",[t._v("Update Backup")]):s("h3",[t._v("Make a Backup")]),s("Input",{attrs:{name:"backup-password",label:t.backupId?"Enter your Password":"Choose a Password",layout:"vertical",type:"password"},model:{value:t.backupPassword,callback:function(e){t.backupPassword=e},expression:"backupPassword"}}),s("Button",{attrs:{click:t.checkPass},scopedSlots:t._u([{key:"text",fn:function(){return[t._v(t._s(t.backupId?"Update Backup":"Backup"))]},proxy:!0},{key:"icon",fn:function(){return[s("IconBackup")]},proxy:!0}])}),t.backupId?s("div",{staticClass:"results-view"},[s("span",{staticClass:"backup-id-label"},[t._v("Your Backup ID: ")]),s("pre",{staticClass:"backup-id-value"},[t._v(t._s(t.backupId))]),s("span",{staticClass:"backup-id-note"},[t._v(" This is used to restore from backups later. So keep it, along with your password somewhere safe. ")])]):t._e()],1),s("div",{staticClass:"section restore-section"},[s("h3",[t._v("Restore a Backup")]),s("Input",{attrs:{name:"restore-code",label:"Restore ID"},model:{value:t.restoreCode,callback:function(e){t.restoreCode=e},expression:"restoreCode"}}),s("Input",{attrs:{name:"restore-password",label:"Password",type:"password"},model:{value:t.restorePassword,callback:function(e){t.restorePassword=e},expression:"restorePassword"}}),s("Button",{attrs:{click:t.restoreBackup},scopedSlots:t._u([{key:"text",fn:function(){return[t._v("Restore")]},proxy:!0},{key:"icon",fn:function(){return[s("IconRestore")]},proxy:!0}])})],1)])},He=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"section intro"},[s("h2",[t._v("Cloud Backup & Restore")]),s("p",{staticClass:"intro"},[t._v(" Cloud backup and restore is an optional feature, that enables you to upload your config to the internet, and then restore it on any other device or instance of Dashy. "),s("br"),s("br"),t._v(" All data is fully end-to-end encrypted with AES, using your password as the key. "),s("br"),t._v(" For more info, please see the "),s("a",{attrs:{href:"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md"}},[t._v("docs")])])])}],De=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{class:"input-container "+t.layout},[t.label?s("label",{attrs:{for:"name"}},[t._v(t._s(t.label))]):t._e(),s("input",{attrs:{type:t.type,name:t.name,id:t.name,placeholder:t.placeholder},domProps:{value:t.value},on:{input:function(e){return t.updateValue(e.target.value)}}})])},Ve=[],$e={name:"Input",props:{value:String,label:String,name:String,placeholder:String,type:{default:"text",type:String},layout:{validator:t=>-1!==["horizontal","vertical"].indexOf(t),type:String,default:"vertical"}},methods:{updateValue(t){this.$emit("input",t)}}},Ue=$e,Re=(s("2d25"),Object(w["a"])(Ue,De,Ve,!1,null,"5df13ed2",null)),Ke=Re.exports,Fe=s("3a1e"),We=s.n(Fe),Je=s("e6a4"),Ge=s.n(Je),qe=s("c198"),Ye=s.n(qe),Ze=s("f8d5"),Xe=s.n(Ze);const Qe=p["backupEndpoint"],ts=(t,e)=>{const s=JSON.stringify(t),a=Ye.a.encrypt(s,e);return a.toString()},es=(t,e)=>Ye.a.decrypt(t,e).toString(Xe.a),ss=t=>Ht()(t).toString().slice(0,14),as=(t,e)=>Wt.a.post(Qe,{userData:ts(t,e),subHash:ss(e)}),os=(t,e,s)=>Wt.a.put(Qe,{backupId:s,userData:ts(t,e),subHash:ss(e)}),ns=t=>Object.entries(t).map(t=>t.map(encodeURIComponent).join("=")).join("&"),is=(t,e)=>{const s=ns({backupId:t,subHash:ss(e)}),a=`${Qe}/?${s}`;return new Promise((t,s)=>{Wt.a.get(a).then(a=>{if(!a.data||a.data.errorMsg)s(a.data.errorMsg||"Error");else{const n=es(a.data.userData.userData,e);try{t(JSON.parse(n))}catch(o){s(o)}}})})};var rs={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[p["localStorageKeys"].BACKUP_ID]||""}},components:{Button:pe,Input:Ke,IconBackup:We.a,IconRestore:Ge.a},methods:{restoreBackup(){is(this.restoreCode,this.restorePassword).then(t=>{this.restoreFromBackup(t,this.restoreCode)}).catch(t=>{this.showErrorMsg(t)})},checkPass(){const t=localStorage[p["localStorageKeys"].BACKUP_HASH]||void 0;t?t===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg("Incorrect password. Please enter your current password."):this.makeBackup()},makeBackup(){as(this.config,this.backupPassword).then(t=>{t.data&&!t.data.errorMsg&&t.data.backupId?this.updateUiAfterBackup(t.data.backupId,!1):this.showErrorMsg(t.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg("Unable to process request")})},makeUpdate(){os(this.config,this.backupPassword,this.backupId).then(t=>{t.data&&!t.data.errorMsg&&t.data.backupId?this.updateUiAfterBackup(t.data.backupId,!0):this.showErrorMsg(t.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg("Unable to process request")})},restoreFromBackup(t,e){localStorage.setItem(p["localStorageKeys"].CONF_SECTIONS,JSON.stringify(t.sections)),localStorage.setItem(p["localStorageKeys"].APP_CONFIG,JSON.stringify(t.appConfig)),localStorage.setItem(p["localStorageKeys"].PAGE_INFO,JSON.stringify(t.pageInfo)),t.appConfig.theme&&localStorage.setItem(p["localStorageKeys"].THEME,t.appConfig.theme),this.setBackupIdLocally(e,this.restorePassword),this.showSuccessMsg("Config Restored Succesfully"),setTimeout(()=>{location.reload()},1500)},updateUiAfterBackup(t,e=!1){this.setBackupIdLocally(t,this.backupPassword),this.showSuccessMsg((e?"Update":"Backup")+" Completed Succesfully"),this.backupPassword=""},showErrorMsg(t){this.$toasted.show(t,{className:"toast-error"})},showSuccessMsg(t){this.$toasted.show(t,{className:"toast-success"})},makeHash(t){return Ht()(t).toString()},setBackupIdLocally(t,e){this.backupId=t;const s=this.makeHash(e);localStorage.setItem(p["localStorageKeys"].BACKUP_ID,t),localStorage.setItem(p["localStorageKeys"].BACKUP_HASH,s)}}},cs=rs,ls=(s("baed"),Object(w["a"])(cs,je,He,!1,null,"763657f4",null)),us=ls.exports,ds={name:"ConfigLauncher",data(){return{modalNames:p["modalNames"]}},components:{IconSpanner:yt.a,IconCloud:St.a,ConfigContainer:Be,CloudBackupRestore:us},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show(p["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},showCloudModal:function(){this.$modal.show(p["modalNames"].CLOUD_BACKUP),this.$emit("modalChanged",!0)},combineConfig(){const t={};return t[p["topLevelConfKeys"].APP_CONFIG]=this.appConfig,t[p["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,t[p["topLevelConfKeys"].SECTIONS]=this.sections,t[p["topLevelConfKeys"].APP_CONFIG].theme=localStorage[p["localStorageKeys"].THEME]||t[p["topLevelConfKeys"].APP_CONFIG].theme,t},tooltip(t){return{content:t,trigger:"hover focus",delay:250}}}},ps=ds,hs=(s("9c85"),Object(w["a"])(ps,ft,gt,!1,null,"383db9de",null)),ms=hs.exports,fs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.themes?s("div",{staticClass:"theme-selector-section"},[s("span",{staticClass:"theme-label"},[t._v("Theme")]),s("v-select",{staticClass:"theme-dropdown",attrs:{options:t.themeNames,tabindex:-2},model:{value:t.selectedTheme,callback:function(e){t.selectedTheme=e},expression:"selectedTheme"}})],1):t._e()},gs=[];const vs=function(){const t=t=>{const e=document.createElement("link");return e.rel="stylesheet",e.href=t,document.head.appendChild(e),new Promise((t,s)=>{e.onload=e=>{const{sheet:s}=e.target;s.disabled=!0,t(s)},e.onerror=s})},e=(t,e)=>{const s=t;if(e&&!t[e])throw new Error(`Theme: '${e}' does not exist.`);Object.keys(t).forEach(t=>{s[t].disabled=t!==e})},s={};return{add(e,a){return t(a).then(t=>{s[e]=t})},set theme(t){e(s,t)},get theme(){return Object.keys(s).find(t=>!s[t].disabled)}}};var ys=vs,bs={name:"ThemeSelector",props:{themes:Object,confTheme:String,userThemes:Array},watch:{selectedTheme(t){this.updateTheme(t)}},data(){return{selectedTheme:this.getInitialTheme(),themeHelper:new ys,loading:!0,builtInThemes:this.userThemes.concat(h.a.builtInThemes)}},computed:{themeNames:function(){const t=Object.keys(this.themes);return t.concat(this.builtInThemes)}},created(){const t=Object.keys(this.themes).map(t=>this.themeHelper.add(t,this.themes[t]));this.isThemeLocal(this.selectedTheme)?this.updateTheme(this.selectedTheme):this.selectedTheme!==h.a.theme&&Promise.all(t).then(()=>{this.updateTheme(this.selectedTheme)})},methods:{setLocalTheme(t){const e=document.getElementsByTagName("html")[0];e.hasAttribute("data-theme")&&e.removeAttribute("data-theme"),e.setAttribute("data-theme",t)},getInitialTheme(){return localStorage[p["localStorageKeys"].THEME]||this.confTheme||h.a.theme},isThemeLocal(t){return this.builtInThemes.includes(t)},updateTheme(t){"Deafault"===t?(this.resetToDefault(),this.themeHelper.theme="Deafault"):this.isThemeLocal(t)?this.setLocalTheme(t):this.themeHelper.theme=t,localStorage.setItem(p["localStorageKeys"].THEME,t)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},Ss=bs,Cs=(s("4ade"),Object(w["a"])(Ss,fs,gs,!1,null,null,null)),ws=Cs.exports,_s=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("span",{staticClass:"options-label"},[t._v("Layout")]),s("div",{staticClass:"display-options"},[s("IconDeafault",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Auto"),expression:"tooltip('Auto')"}],class:"layout-icon "+("auto"===t.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateDisplayLayout("auto")}}}),s("IconHorizontal",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Horizontal"),expression:"tooltip('Horizontal')"}],class:"layout-icon "+("horizontal"===t.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateDisplayLayout("horizontal")}}}),s("IconVertical",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Vertical"),expression:"tooltip('Vertical')"}],class:"layout-icon "+("vertical"===t.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateDisplayLayout("vertical")}}})],1)])},Is=[],ks=s("c715"),xs=s.n(ks),Os=s("570d"),Ts=s.n(Os),Es=s("f9d7"),As=s.n(Es),Ls={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:xs.a,IconHorizontal:Ts.a,IconVertical:As.a},methods:{updateDisplayLayout(t){this.$emit("layoutUpdated",t)},tooltip(t){return{content:t,trigger:"hover focus",delay:250}}}},Ns=Ls,Ps=(s("7dc7"),Object(w["a"])(Ns,_s,Is,!1,null,"c819d738",null)),Ms=Ps.exports,zs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("span",{staticClass:"options-label"},[t._v("Icon Size")]),s("div",{staticClass:"display-options"},[s("IconSmall",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Small"),expression:"tooltip('Small')"}],class:"layout-icon "+("small"===t.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateIconSize("small")}}}),s("IconMedium",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Medium"),expression:"tooltip('Medium')"}],class:"layout-icon "+("medium"===t.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateIconSize("medium")}}}),s("IconLarge",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Large"),expression:"tooltip('Large')"}],class:"layout-icon "+("large"===t.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateIconSize("large")}}})],1)])},Bs=[],js=s("d8e8"),Hs=s.n(js),Ds=s("7075"),Vs=s.n(Ds),$s=s("922c"),Us=s.n($s),Rs={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:Hs.a,IconMedium:Vs.a,IconLarge:Us.a},methods:{updateIconSize(t){this.$emit("iconSizeUpdated",t)},tooltip(t){return{content:t,trigger:"hover focus",delay:250}}}},Ks=Rs,Fs=(s("47d9"),Object(w["a"])(Ks,zs,Bs,!1,null,"58966274",null)),Ws=Fs.exports,Js=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{staticClass:"display-options"},[s("IconLogout",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Sign Out"),expression:"tooltip('Sign Out')"}],staticClass:"layout-icon",attrs:{tabindex:"-2"},on:{click:function(e){return t.logout()}}})],1)])},Gs=[],qs=s("0123"),Ys=s.n(qs),Zs={name:"AppButtons",components:{IconLogout:Ys.a},methods:{logout(){Rt(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},500)},tooltip(t){return{content:t,trigger:"hover focus",delay:250}}}},Xs=Zs,Qs=(s("0e1b"),Object(w["a"])(Xs,Js,Gs,!1,null,"d69dca9c",null)),ta=Qs.exports,ea=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("transition",{attrs:{name:"slide-fade"}},[t.shouldHide?t._e():s("div",{staticClass:"kb-sc-info"},[s("h5",[t._v("There are keyboard shortcuts! ⌨️🙌")]),s("div",{staticClass:"close",attrs:{title:"Hide forever [Esc]"},on:{click:function(e){return t.hideWelcomeHelper()}}},[t._v("x")]),s("p",{attrs:{title:"Press [Esc] to hide this tip forever. See there's even a shortcut for that! 🚀"}},[t._v(" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy 🥳 ")])])])},sa=[],aa={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[p["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem(p["localStorageKeys"].HIDE_WELCOME_BANNER,!0),window.removeEventListener("keyup",this.keyPressEvent)},keyPressEvent(t){27===t.keyCode&&this.hideWelcomeHelper()}},mounted(){const t=this.shouldHideWelcomeMessage();t?this.$destroy():(window.setTimeout(()=>{this.shouldHide=t},this.timeDelay),window.addEventListener("keyup",this.keyPressEvent))}},oa=aa,na=(s("9517"),Object(w["a"])(oa,ea,sa,!1,null,"c5f17d9a",null)),ia=na.exports,ra=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("modal",{attrs:{name:t.modalName,resizable:!0,width:"40%",height:"60%",classes:"dashy-modal"}},[s("div",{staticClass:"about-modal"},[s("router-link",{attrs:{to:"/about"}},[s("h2",[t._v("Dashy V"+t._s(t.appVersion))])]),s("h3",[t._v("Service Worker Status")]),s("code",{domProps:{innerHTML:t._s(t.serviceWorkerInfo)}},[t._v(t._s(t.serviceWorkerInfo))]),s("br"),s("h3",[t._v("Config Validation Status")]),s("code",[t._v(t._s(t.getIsConfigValidStatus()))]),s("br"),s("h3",[t._v("Help & Support")]),s("ul",[s("li",[s("a",{attrs:{href:"https://git.io/JnqPR"}},[t._v("Report a Bug")])]),s("li",[s("a",{attrs:{href:"https://git.io/JnDxL"}},[t._v("Request a Feature")])]),s("li",[s("a",{attrs:{href:"https://git.io/JnDxs"}},[t._v("Ask a Question")])]),s("li",[s("a",{attrs:{href:"https://git.io/JnDxn"}},[t._v("Leave Feedback")])]),s("li",[s("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[t._v("Join the Discussion")])])]),s("p",{staticClass:"small-note"},[t._v("Please include the following info in your bug report:")]),s("a",{on:{click:function(e){t.showInfo=!t.showInfo}}},[t._v(t._s(t.showInfo?"Hide":"Show")+" system info")]),t.showInfo?s("div",{staticClass:"system-info"},[s("h4",[t._v("System Info")]),s("code",[s("b",[t._v("Dashy Version:")]),t._v(" V "+t._s(t.appVersion))]),s("br"),s("code",[s("b",[t._v("Browser:")]),t._v(" "+t._s(t.systemInfo.browser))]),s("br"),s("code",[s("b",[t._v("Is Mobile?")]),t._v(" "+t._s(t.systemInfo.isMobile?"Yes":"No"))]),s("br"),s("code",[s("b",[t._v("OS:")]),t._v(" "+t._s(t.systemInfo.os))]),s("br")]):t._e(),s("h3",[t._v("About")]),s("p",{staticClass:"about-text"},[t._v(" Documentation and Source Code available on "),s("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[t._v("GitHub")])]),s("h3",[t._v("License")]),s("code",[t._v("Licensed under MIT X11. Copyright © 2021")])],1)])},ca=[],la={name:"AppInfoModal",data(){return{modalName:p["modalNames"].ABOUT_APP,appVersion:"1.2.5",systemInfo:this.getSystemInfo(),serviceWorkerInfo:"Checking...",showInfo:!1}},mounted(){setTimeout(()=>{this.serviceWorkerInfo=this.getSwStatus()},100)},methods:{getIsConfigValidStatus(){const t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.2.5",BASE_URL:"/"}).VUE_APP_CONFIG_VALID;return void 0===t?"Config validation status is missing":"Config is "+(t?"Valid":"Invalid")},getSwStatus(){const t=sessionStorage[p["sessionStorageKeys"].SW_STATUS],e=t?JSON.parse(t):{};let s="";return e.registered&&(s+="Service worker registered "),e.ready&&(s+="Dashy is being served from service worker "),e.cached&&(s+="Content has been cached for offline use "),e.updateFound&&(s+="New content is downloading "),e.updated&&(s+="New content is available; please refresh "),e.offline&&(s+="No internet connection found. App is running in offline mode "),e.error&&(s+="Error during service worker registration "),e.devMode&&(s+="App running in dev mode, no need for service worker "),0===s.length&&(s+="No service worker info available"),s},getSystemInfo(){const{userAgent:t}=navigator;let e="Unknown";-1!==t.indexOf("Win")?e="Windows":-1!==t.indexOf("Mac")?e="MacOS":-1!==t.indexOf("Android")?e="Android":-1!==t.indexOf("iPhone")?e="iOS":-1!==t.indexOf("Linux")?e="Linux":-1!==t.indexOf("X11")&&(e="UNIX");let s="Unknown";s=-1!==t.indexOf("Opera")?"Opera":-1!==t.indexOf("Chrome")?"Chrome":-1!==t.indexOf("Safari")?"Safari":-1!==t.indexOf("Firefox")?"Firefox":-1!==t.indexOf("MSIE")?"IE":"Unknown";const a=!!navigator.userAgent.match(/iphone|android|blackberry/gi)||!1;return{os:e,browser:s,userAgent:t,isMobile:a}}}},ua=la,da=(s("6c13"),Object(w["a"])(ua,ra,ca,!1,null,"40e473c3",null)),pa=da.exports,ha=s("5703"),ma=s.n(ha),fa=s("5f32"),ga=s.n(fa),va={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,availableThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:mt,ConfigLauncher:ms,ThemeSelector:ws,LayoutSelector:Ms,ItemSizeSelector:Ws,AppButtons:ta,KeyboardShortcutInfo:ia,AppInfoModal:pa,IconOpen:ma.a,IconClose:ga.a},methods:{userIsTypingSomething(t){this.$emit("user-is-searchin",t)},clearFilterInput(){this.$refs.SearchBar.clearFilterInput()},updateDisplayLayout(t){this.$emit("change-display-layout",t)},updateIconSize(t){this.$emit("change-icon-size",t)},modalChanged(t){this.$emit("change-modal-visibility",t)},getInitialTheme(){return this.appConfig.theme||""},logout(){Rt(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},100)},isUserLoggedIn(){return!!localStorage[p["localStorageKeys"].USERNAME]},getUserThemes(){const t=this.appConfig.cssThemes||[];return"string"===typeof t?[t]:t},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem(p["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[p["localStorageKeys"].HIDE_SETTINGS]||h.a.visibleComponents.settings)}},data(){return{searchVisible:h.a.visibleComponents.searchBar,settingsVisible:this.getSettingsVisibility()}}},ya=va,ba=(s("5920"),Object(w["a"])(ya,it,rt,!1,null,"185e0654",null)),Sa=ba.exports,Ca=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("Collapsable",{attrs:{title:t.title,icon:t.icon,uniqueKey:t.groupId,collapsed:t.displayData.collapsed,cols:t.displayData.cols,rows:t.displayData.rows,color:t.displayData.color,customStyles:t.displayData.customStyles}},[!t.items||t.items.length<1?s("div",{staticClass:"no-items"},[t._v(" No Items to Show Yet ")]):s("div",{class:"there-are-items "+(t.isGridLayout?"item-group-grid":""),style:t.gridStyle},[t._l(t.items,(function(e,a){return s("Item",{key:a+"_"+t.makeId(e.title),attrs:{id:a+"_"+t.makeId(e.title),url:e.url,title:e.title,description:e.description,icon:e.icon,target:e.target,color:e.color,backgroundColor:e.backgroundColor,itemSize:t.newItemSize,enableStatusCheck:t.shouldEnableStatusCheck(e.statusCheck),statusCheckInterval:t.getStatusCheckInterval()},on:{itemClicked:function(e){return t.$emit("itemClicked")},triggerModal:t.triggerModal}})})),s("div",{ref:"modalContainer"})],2),s("IframeModal",{ref:"iframeModal-"+t.groupId,attrs:{name:"iframeModal-"+t.groupId},on:{closed:function(e){return t.$emit("itemClicked")},modalChanged:t.modalChanged}})],1)},wa=[],_a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("a",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.getTooltipOptions(),expression:"getTooltipOptions()"}],class:"item "+(t.icon?"":"short")+" size-"+t.itemSize,style:"--open-icon: "+t.getUnicodeOpeningIcon()+"; "+t.customStyles,attrs:{href:"iframe"!==t.target?t.url:"#",target:"newtab"===t.target?"_blank":"",rel:"noopener noreferrer",tabindex:"0",id:"link-"+t.id},on:{click:t.itemOpened}},[s("div",{class:"tile-title "+(t.icon?"":"bounce"),attrs:{id:"tile-"+t.id}},[s("span",{staticClass:"text"},[t._v(t._s(t.title))]),s("p",{staticClass:"description"},[t._v(t._s(t.description))])]),s("Icon",{staticClass:"bounce",style:t.customStyles,attrs:{icon:t.icon,url:t.url,size:t.itemSize,color:t.color}}),s("ItemOpenMethodIcon",{staticClass:"opening-method-icon",attrs:{isSmall:!t.icon,openingMethod:t.target,position:"medium"===t.itemSize?"bottom right":"top right"}}),t.enableStatusCheck?s("StatusIndicator",{staticClass:"status-indicator",attrs:{statusSuccess:t.statusResponse?t.statusResponse.successStatus:void 0,statusText:t.statusResponse?t.statusResponse.message:void 0}}):t._e()],1)},Ia=[],ka=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"item-icon"},["font-awesome"===t.iconType?s("i",{class:t.icon+" "+t.size}):t.icon?s("img",{class:"tile-icon "+t.size+" "+(t.broken?"broken":""),attrs:{src:t.iconPath},on:{error:t.imageNotFound}}):t._e(),t.broken?s("BrokenImage",{staticClass:"missing-image"}):t._e()],1)},xa=[],Oa=s("9635"),Ta=s.n(Oa);const Ea=function(t){console.warn(t)};var Aa=Ea,La={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:Ta.a},computed:{iconType:function(){return this.determineImageType(this.icon)},iconPath:function(){return this.getIconPath(this.icon,this.url)}},data(){return{broken:!1}},methods:{isUrl(t){const e=new RegExp(/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-/]))?/);return e.test(t)},isImage(t){const e=/(?:\.([^.]+))?$/,s=["png","jpg"],a=e.exec(t);return a.length>=1&&s.includes(a[1])},getFavicon(t){if(this.shouldUseDefaultFavicon(t)){const e=t.split("/");if(e.length>=2)return`${e[0]}/${e[1]}/${e[2]}/favicon.ico`}else if(t.includes("http")){const e=this.getHostName(t),s=this.config.appConfig.faviconApi||p["faviconApi"],a=p["faviconApiEndpoints"][s];return a.replace("$URL",e)}return""},shouldUseDefaultFavicon(t){const e=/(127\.)|(192\.168\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(::1$)|([fF][cCdD])|(localhost)/;return e.test(t)||"local"===this.config.appConfig.faviconApi},getLocalImagePath(t){return"/item-icons/"+t},getGenerativeIcon(t){return`https://ipsicon.io/${this.getHostName(t)}.svg`},getIconPath(t,e){switch(this.determineImageType(t)){case"url":return t;case"img":return this.getLocalImagePath(t);case"favicon":return this.getFavicon(e);case"generative":return this.getGenerativeIcon(e);case"svg":return t;default:return""}},determineImageType(t){let e="";return e=t?t.endsWith(".svg")?"svg":this.isUrl(t)?"url":this.isImage(t)?"img":t.includes("fa-")?"font-awesome":"favicon"===t?"favicon":"generative"===t?"generative":"none":"none",e},getHostName(t){try{return new URL(t).hostname}catch(e){return t}},imageNotFound(){this.broken=!0,Aa(`The path to '${this.icon}' could not be resolved`)}}},Na=La,Pa=(s("de40"),Object(w["a"])(Na,ka,xa,!1,null,null,null)),Ma=Pa.exports,za=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{class:t.makeClass(t.position,t.isSmall,t.isTransparent)},["newtab"===t.openingMethod?s("NewTabOpenIcon"):"sametab"===t.openingMethod?s("SameTabOpenIcon"):"iframe"===t.openingMethod?s("IframeOpenIcon"):t._e()],1)},Ba=[],ja=s("237e"),Ha=s.n(ja),Da=s("2352"),Va=s.n(Da),$a=s("1946"),Ua=s.n($a),Ra={name:"ItemOpenMethodIcon",props:{openingMethod:String,isSmall:Boolean,position:String,isTransparent:Boolean},methods:{makeClass(t="top right",e=!1,s=!1){return`opening-method-icon\n ${t||"top right"}\n ${e?"short":""}\n ${s?"transparent":""}`}},components:{NewTabOpenIcon:Ha.a,SameTabOpenIcon:Va.a,IframeOpenIcon:Ua.a}},Ka=Ra,Fa=(s("699c"),Object(w["a"])(Ka,za,Ba,!1,null,"17201835",null)),Wa=Fa.exports,Ja=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:{content:t.statusText||t.otherStatusText,classes:["status-tooltip","tip-"+t.color()]},expression:"{\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }"}],staticClass:"indicator",on:{click:function(e){return t.showToast()}}},[s("div",{class:"dot dot-"+t.color()},[t._m(0)])])},Ga=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("span",[s("span")])}],qa={name:"StatusIndicator",props:{statusText:String,statusSuccess:Boolean},methods:{color(){switch(this.statusSuccess){case void 0:return new Date-this.startTime>2e3?"grey":"yellow";case!0:return"green";default:return"red"}}},data(){return{startTime:new Date,otherStatusText:"Checking..."}},mounted(){setTimeout(()=>{this.statusText||(this.otherStatusText="Request timed out")},2e3)}},Ya=qa,Za=(s("e697"),s("45d4"),Object(w["a"])(Ya,Ja,Ga,!1,null,"46972ad8",null)),Xa=Za.exports,Qa={name:"Item",props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,target:{type:String,default:"newtab",validator:t=>-1!==["newtab","sametab","iframe"].indexOf(t)},itemSize:String,enableStatusCheck:Boolean,statusCheckInterval:Number},data(){return{getId:this.id,customStyles:{color:this.color,background:this.backgroundColor},statusResponse:void 0}},components:{Icon:Ma,ItemOpenMethodIcon:Wa,StatusIndicator:Xa},methods:{itemOpened(t){t.altKey||"iframe"===this.target?(t.preventDefault(),this.$emit("triggerModal",this.url)):this.$emit("itemClicked")},getTooltipOptions(){return{disabled:!this.description,content:this.description,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:this.statusResponse?"left":"auto",delay:{show:600,hide:200},classes:"item-description-tooltip"}},getUnicodeOpeningIcon(){switch(this.target){case"newtab":return'"\\f360"';case"sametab":return'"\\f24d"';case"iframe":return'"\\f2d0"';default:return'"\\f054"'}},checkWebsiteStatus(){this.statusResponse=void 0;const t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.2.5",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,e=`${t}/ping?url=${this.url}`;Wt.a.get(e).then(t=>{t.data&&(this.statusResponse=t.data)}).catch(()=>{this.statusResponse={statusText:"Failed to make request",statusSuccess:!1}})}},mounted(){this.enableStatusCheck&&this.checkWebsiteStatus(),this.statusCheckInterval>0&&setInterval(this.checkWebsiteStatus,1e3*this.statusCheckInterval)}},to=Qa,eo=(s("826e"),s("f719"),Object(w["a"])(to,_a,Ia,!1,null,null,null)),so=eo.exports,ao=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{class:"collapsable "+t.checkSpanNum(t.cols,"col")+" "+t.checkSpanNum(t.rows,"row"),style:(t.color?"background: "+t.color:"")+"; "+t.sanitizeCustomStyles(t.customStyles)+";"},[s("input",{staticClass:"toggle",attrs:{id:"collapsible-"+t.uniqueKey,type:"checkbox",tabIndex:"-1"},domProps:{checked:t.getCollapseState()},on:{change:t.collapseChanged}}),s("label",{staticClass:"lbl-toggle",attrs:{for:"collapsible-"+t.uniqueKey,tabindex:"-1"}},[t.icon?s("Icon",{staticClass:"section-icon",attrs:{icon:t.icon,size:"small",url:t.title}}):t._e(),s("h3",[t._v(t._s(t.title))])],1),s("div",{staticClass:"collapsible-content"},[s("div",{staticClass:"content-inner"},[t._t("default")],2)])])},oo=[],no={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:Ma},data(){return{isOpen:!this.collapsed}},methods:{checkSpanNum(t,e){const s=4;let a=/^\d*$/.test(t)?parseInt(t,10):1;return a=a>s?s:a,`${e}-${a}`},sanitizeCustomStyles(t){return t?t.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const t=()=>localStorage.setItem(p["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[p["localStorageKeys"].COLLAPSE_STATE]||t();try{JSON.parse(localStorage[p["localStorageKeys"].COLLAPSE_STATE])}catch{t()}return JSON.parse(localStorage[p["localStorageKeys"].COLLAPSE_STATE])},getCollapseState(){const t=this.initialiseStorage();let e=!this.collapsed;return void 0!==t[this.uniqueKey]&&(e=t[this.uniqueKey]),e},setCollapseState(t,e){const s=JSON.parse(localStorage[p["localStorageKeys"].COLLAPSE_STATE]);s[t]=e,localStorage.setItem(p["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(s))},collapseChanged(t){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),t.srcElement.checked)}}},io=no,ro=(s("8589"),Object(w["a"])(io,ao,oo,!1,null,"33a8b630",null)),co=ro.exports,lo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("modal",{attrs:{name:t.name,resizable:!0,width:"80%",height:"80%",classes:"dashy-modal"},on:{closed:function(e){return t.modalClosed()}}},[s("div",{attrs:{slot:"top-right"},on:{click:function(e){return t.hide()}},slot:"top-right"},[t._v("Close")]),s("a",{staticClass:"close-button",attrs:{title:"Close"},on:{click:function(e){return t.hide()}}},[t._v("x")]),t.url?s("iframe",{staticClass:"frame",attrs:{src:t.url},on:{keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.close.apply(null,arguments)}}}):s("div",{staticClass:"no-url"},[t._v("No URL Specified")])])},uo=[],po={name:"IframeModal",props:{name:String},data:()=>({url:"#"}),methods:{show(t){this.url=t,this.$modal.show(this.name),this.$emit("modalChanged",!0)},hide(){this.$modal.hide(this.name)},modalClosed(){this.$emit("modalChanged",!1)}}},ho=po,mo=(s("eda6"),Object(w["a"])(ho,lo,uo,!1,null,null,null)),fo=mo.exports,go={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:co,Item:so,IframeModal:fo},computed:{newItemSize(){return this.displayData.itemSize||this.itemSize},isGridLayout(){return"grid"===this.displayData.sectionLayout||!(!this.displayData.itemCountX&&!this.displayData.itemCountY)},gridStyle(){let t="";return t+=this.displayData.itemCountX?`grid-template-columns: repeat(${this.displayData.itemCountX}, 1fr);`:"",t+=this.displayData.itemCountY?`grid-template-rows: repeat(${this.displayData.itemCountY}, 1fr);`:"",t}},methods:{makeId(t){return t.replace(/\s+/g,"-").replace(/[^a-zA-Z ]/g,"").toLowerCase()},triggerModal(t){this.$refs["iframeModal-"+this.groupId].show(t)},modalChanged(t){this.$emit("change-modal-visibility",t)},shouldEnableStatusCheck(t){const e=this.config.appConfig.statusCheck||!1;return void 0!==t?t:e},getStatusCheckInterval(){let t=this.config.appConfig.statusCheckInterval;return t?(t>60&&(t=60),t<1&&(t=0),t):0}}},vo=go,yo=(s("015c"),Object(w["a"])(vo,Ca,wa,!1,null,"29d94632",null)),bo=yo.exports,So={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:Sa,ItemGroup:bo},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||h.a.layout},set:function(t){localStorage.setItem(p["localStorageKeys"].LAYOUT_ORIENTATION,t),this.layout=t}},iconSize:{get(){return this.appConfig.iconSize||h.a.iconSize},set:function(t){localStorage.setItem(p["localStorageKeys"].ICON_SIZE,t),this.itemSizeBound=t}}},methods:{checkTheresData(t){const e=localStorage[p["localStorageKeys"].CONF_SECTIONS];return t&&t.length>=1||e&&e.length>=1},getSections(t){const e=localStorage[p["localStorageKeys"].CONF_SECTIONS];if(e){const t=JSON.parse(e);if(t.length>=1)return t}return t},searching(t){this.searchValue=t||""},finishedSearching(){this.$refs.filterComp.clearFilterInput()},getDomainFromUrl(t){if(!t)return"";const e=/^(?:https?:\/\/)?(?:w{3}\.)?([a-z\d.-]+)\.(?:[a-z.]{2,10})(?:[/\w.-]*)*/,s=t.match(e);return s?s[1]:""},filterTiles(t){return t?t.filter(t=>{const{title:e,description:s,provider:a,url:o}=t,n=this.searchValue.toLowerCase();return e&&e.toLowerCase().includes(n)||a&&a.toLowerCase().includes(n)||s&&s.toLowerCase().includes(n)||this.getDomainFromUrl(o).includes(n)}):[]},getDisplayData(t){return t.displayData?t.displayData:{}},setLayoutOrientation(t){this.layoutOrientation=t},setItemSize(t){this.iconSize=t},updateModalVisibility(t){this.modalOpen=t},getExternalCSSLinks(){const t={};if(this.appConfig&&this.appConfig.externalStyleSheet){const e=this.appConfig.externalStyleSheet;Array.isArray(e)?e.forEach((e,s)=>{t["External Stylesheet "+(s+1)]=e}):t["External Stylesheet"]=this.appConfig.externalStyleSheet}return t.Deafault="#",t},checkIfFontAwesomeNeeded(){let t=!1;return this.sections.forEach(e=>{e.items.forEach(e=>{e.icon&&e.icon.includes("fa-")&&(t=!0)})}),t},initiateFontAwesome(){if(this.appConfig.enableFontAwesome||this.checkIfFontAwesomeNeeded()){const t=document.createElement("script"),e=this.appConfig.fontAwesomeKey||h.a.fontAwesomeKey;t.setAttribute("src",`https://kit.fontawesome.com/${e}.js`),document.head.appendChild(t)}},checkIfResults(){if(this.sections){let t=!0;return this.sections.forEach(e=>{this.filterTiles(e.items).length>0&&(t=!1)}),t}return!1},getBackgroundImage(){return this.appConfig&&this.appConfig.backgroundImg?`background: url('${this.appConfig.backgroundImg}');background-size:cover;`:""}},mounted(){this.initiateFontAwesome(),this.layout=this.layoutOrientation,this.itemSizeBound=this.iconSize}},Co=So,wo=(s("f8ca"),Object(w["a"])(Co,ot,nt,!1,null,"5ca97887",null)),_o=wo.exports,Io=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"login-page"},[s("form",{staticClass:"login-form"},[s("h2",{staticClass:"login-title"},[t._v("Dashy")]),s("Input",{staticClass:"login-field username",attrs:{label:"Username",type:"text"},model:{value:t.username,callback:function(e){t.username=e},expression:"username"}}),s("Input",{staticClass:"login-field password",attrs:{label:"Password",type:"password"},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}}),s("Button",{staticClass:"login-button",attrs:{click:t.submitLogin}},[t._v("Login")]),s("transition",{attrs:{name:"bounce"}},[s("p",{directives:[{name:"show",rawName:"v-show",value:t.message,expression:"message"}],class:"login-error-message "+t.status},[t._v(t._s(t.message))])])],1)])},ko=[],xo={name:"login",props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting"}},components:{Button:pe,Input:Ke},methods:{submitLogin(){const t=$t(this.username,this.password,this.appConfig.auth||[]);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Ut(this.username,this.password),setTimeout(()=>{gn.push({path:"/"})},250))},setTheme(){const t=localStorage[p["localStorageKeys"].THEME]||h.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",t)}},created(){this.setTheme()}},Oo=xo,To=(s("206d6"),Object(w["a"])(Oo,Io,ko,!1,null,null,null)),Eo=To.exports,Ao=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"work-space"},[s("SideBar",{attrs:{sections:t.sections},on:{"launch-app":t.launchApp}}),s("WebContent",{attrs:{url:t.url}})],1)},Lo=[],No=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("nav",{staticClass:"side-bar"},t._l(t.sections,(function(e,a){return s("div",{key:a},[s("div",{staticClass:"side-bar-item-container",on:{click:function(e){return t.openSection(a)}}},[s("SideBarItem",{staticClass:"item",attrs:{icon:e.icon,title:e.name}})],1),s("transition",{attrs:{name:"slide"}},[t.isOpen[a]?s("SideBarSection",{attrs:{items:e.items},on:{"launch-app":t.launchApp}}):t._e()],1)],1)})),0)},Po=[],Mo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip,expression:"tooltip"}],class:"side-bar-item "+(t.icon?"w-icon":"text-only"),on:{click:function(e){return t.itemClicked()}}},[t.icon?s("Icon",{attrs:{icon:t.icon,size:"small",url:t.url}}):s("p",{staticClass:"small-title"},[t._v(t._s(t.title))])],1)},zo=[],Bo={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:Ma},methods:{itemClicked(){this.url&&this.$emit("launch-app",this.url)}},data(){return{tooltip:{disabled:!this.title,content:this.title,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:"right-start",delay:{show:800,hide:1e3}}}}},jo=Bo,Ho=(s("5e61"),Object(w["a"])(jo,Mo,zo,!1,null,"d979f4fe",null)),Do=Ho.exports,Vo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sub-side-bar"},t._l(t.items,(function(e,a){return s("div",{key:a},[s("SideBarItem",{staticClass:"item",attrs:{icon:e.icon,title:e.title,url:e.url},on:{"launch-app":t.launchApp}})],1)})),0)},$o=[],Uo={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:Do},methods:{launchApp(t){this.$emit("launch-app",t)}}},Ro=Uo,Ko=(s("cf1c"),Object(w["a"])(Ro,Vo,$o,!1,null,"56ddb963",null)),Fo=Ko.exports,Wo={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:Do,SideBarSection:Fo},methods:{openSection(t){this.isOpen=this.isOpen.map((e,s)=>s===t&&!e)},launchApp(t){this.$emit("launch-app",t)}}},Jo=Wo,Go=(s("85e1"),Object(w["a"])(Jo,No,Po,!1,null,"31476576",null)),qo=Go.exports,Yo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"web-content"},[s("iframe",{attrs:{src:t.url}})])},Zo=[],Xo={name:"WebContent",props:{url:String}},Qo=Xo,tn=(s("44e9"),Object(w["a"])(Qo,Yo,Zo,!1,null,"a2564c04",null)),en=tn.exports,sn={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:""}),components:{SideBar:qo,WebContent:en},methods:{launchApp(t){this.url=t},setTheme(){const t=localStorage[p["localStorageKeys"].THEME]||this.confTheme||h.a.theme,e=document.getElementsByTagName("html")[0];e.hasAttribute("data-theme")&&e.removeAttribute("data-theme"),e.setAttribute("data-theme",t)},initiateFontAwesome(){const t=document.createElement("script"),e=this.appConfig.fontAwesomeKey||h.a.fontAwesomeKey;t.setAttribute("src",`https://kit.fontawesome.com/${e}.js`),document.head.appendChild(t)},repositionFooter(){document.getElementsByTagName("footer")[0].style.position="fixed"}},mounted(){const t=this.$route;t.query&&t.query.url&&(this.url=decodeURI(t.query.url)),this.setTheme(),this.initiateFontAwesome()}},an=sn,on=(s("fd9a"),Object(w["a"])(an,Ao,Lo,!1,null,"6136c26a",null)),nn=on.exports,rn=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("pre",[s("code",[t._v(t._s(t.jsonParser(t.config)))])])},cn=[],ln={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:Lt}}},un=ln,dn=(s("6cd5"),Object(w["a"])(un,rn,cn,!1,null,"33cd2d90",null)),pn=dn.exports;a["a"].use(at["a"]);const hn=()=>{const t=q.auth;return!t||Vt(t)},mn=new at["a"]({routes:[{path:"/",name:"home",component:_o,props:{appConfig:q,pageInfo:Y,sections:Z},meta:{title:Y.title||"Home Page",metaTags:p["metaTagData"]}},{path:"/workspace",name:"workspace",component:nn,props:{appConfig:q,pageInfo:Y,sections:Z},meta:{title:Y.title||"Dashy Workspace",metaTags:p["metaTagData"]}},{path:"/login",name:"login",component:Eo,props:{appConfig:q},beforeEnter:(t,e,s)=>{hn()&&mn.push({path:"/"}),s()}},{path:"/about",name:"about",component:()=>s.e("about").then(s.bind(null,"f820"))},{path:"/download",name:"download",component:pn,props:{appConfig:q,pageInfo:Y,sections:Z},meta:{title:Y.title||"Download Dashy Config",metaTags:p["metaTagData"]}}]});mn.beforeEach((t,e,s)=>{"login"===t.name||hn()?s():s({name:"login"})});const fn="Dashy";mn.afterEach(t=>{a["a"].nextTick(()=>{document.title=t.meta.title||fn})});var gn=mn,vn=s("9483");const yn=t=>{const e={ready:!1,registered:!1,cached:!1,updateFound:!1,updated:!1,offline:!1,error:!1,devMode:!1,disabledByUser:!1},s=sessionStorage[p["sessionStorageKeys"].SW_STATUS],a=s?JSON.parse(s):e;try{const e={...a,...t};sessionStorage.setItem(p["sessionStorageKeys"].SW_STATUS,JSON.stringify(e))}catch(o){console.warn("Error setting SW data",o)}},bn=()=>{let t=!0;return G.a&&G.a.appConfig&&G.a.appConfig.disableServiceWorker&&(t=!1,yn({disabledByUser:!0})),t},Sn=()=>{bn()&&Object(vn["a"])("/service-worker.js",{ready(){yn({ready:!0}),console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){yn({registered:!0}),console.log("Service worker has been registered.")},cached(){yn({cached:!0}),console.log("Content has been cached for offline use.")},updatefound(){yn({updateFound:!0}),console.log("New content is downloading.")},updated(){yn({updated:!0}),console.log("New content is available; please refresh.")},offline(){yn({offline:!0}),console.log("No internet connection found. App is running in offline mode.")},error(t){yn({error:!0}),console.error("Error during service worker registration:",t)}})};var Cn=Sn;a["a"].use(o["a"]),a["a"].use(i.a),a["a"].use(l["a"]),a["a"].use(d.a,p["toastedOptions"]),a["a"].component("v-select",c.a),a["a"].config.productionTip=!1,Cn(),new a["a"]({router:gn,render:t=>t(st)}).$mount("#app")},5703:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-sliders-h fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"sliders-h",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}})]))}}},"570d":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-th-list fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"th-list",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"}})]))}}},"58c1":function(t,e,s){},5920:function(t,e,s){"use strict";s("236b")},"5a52":function(t,e,s){},"5c0b":function(t,e,s){"use strict";s("9c0c")},"5cc6":function(t,e){t.exports={pageInfo:{title:"Dashy",description:"",navLinks:[{title:"Home",path:"/"},{title:"Source",path:"https://github.com/Lissy93/dashy"}],footerText:""},appConfig:{},iconSize:"medium",layout:"auto",theme:"default",fontAwesomeKey:"0821c65656",faviconApi:"faviconkit",builtInThemes:["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","material-original","material-dark-original","vaporware","high-contrast-dark","high-contrast-light"],visibleComponents:{pageTitle:!0,navigation:!0,searchBar:!0,settings:!0,footer:!0},localStorageKeys:{HIDE_WELCOME_BANNER:"hideWelcomeHelpers",LAYOUT_ORIENTATION:"layoutOrientation",COLLAPSE_STATE:"collapseState",ICON_SIZE:"iconSize",THEME:"theme",CONF_SECTIONS:"confSections",PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",BACKUP_ID:"backupId",BACKUP_HASH:"backupHash",HIDE_SETTINGS:"hideSettings",USERNAME:"username"},cookieKeys:{AUTH_TOKEN:"authenticationToken"},sessionStorageKeys:{SW_STATUS:"serviceWorkerStatus"},modalNames:{CONF_EDITOR:"CONF_EDITOR",CLOUD_BACKUP:"CLOUD_BACKUP",REBUILD_APP:"REBUILD_APP",ABOUT_APP:"ABOUT_APP"},topLevelConfKeys:{PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",SECTIONS:"sections"},toastedOptions:{position:"bottom-center",duration:2500,keepOnHover:!0,className:"toast-message",iconPack:"fontawesome"},backupEndpoint:"https://dashy-sync-service.as93.net",splashScreenTime:1900,metaTagData:[{name:"description",content:"A simple static homepage for you're server"}],faviconApiEndpoints:{mcapi:"https://eu.mc-api.net/v3/server/favicon/$URL",clearbit:"https://logo.clearbit.com/$URL",faviconkit:"https://api.faviconkit.com/$URL/64",google:"https://www.google.com/s2/favicons?sz=128&domain_url=$URL",allesedv:"https://f1.allesedv.com/128/$URL",webmasterapi:"https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL"}}},"5e61":function(t,e,s){"use strict";s("b315")},"5f32":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-times-circle fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"times-circle",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"}})]))}}},6:function(t,e){},6266:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:[i,r],style:[c,l],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100",height:"100",preserveAspectRatio:"xMidYMid"},u),...d},n.concat([s("defs",[s("clipPath",{attrs:{id:"a"}},[s("path",{attrs:{d:"M20 0h60v100H20z"}})])]),s("path",{attrs:{fill:"none",stroke:"var(--primary, #00af87)","stroke-width":"6","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10","clip-path":"url(#a)",d:"M90 76.7V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5H55c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5H15c-2.7 0-5-2.2-5-5V23.3"}},[s("animateTransform",{attrs:{attributeName:"transform",type:"translate",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"-20 0;7 0",keyTimes:"0;1"}}),s("animate",{attrs:{attributeName:"stroke-dasharray",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"0 72 125 232;0 197 125 233",keyTimes:"0;1"}})])]))}}},6504:function(t,e,s){},6780:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-cloud-upload-alt fa-w-20",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"cloud-upload-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M395.5 267.5l-99-99c-4.7-4.7-12.3-4.7-17 0l-99 99c-7.6 7.6-2.2 20.5 8.5 20.5h67v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-84h67c10.7 0 16.1-12.9 8.5-20.5zm148.2-67.4C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96z"}})]))}}},"67e6":function(t,e,s){},"699c":function(t,e,s){"use strict";s("806e")},"6c13":function(t,e,s){"use strict";s("67e6")},"6cd5":function(t,e,s){"use strict";s("6504")},7:function(t,e){},7075:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-expand fa-w-14",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}})]))}}},7941:function(t,e,s){},"7da9":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-css3-alt fa-w-12",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fab","data-icon":"css3-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"}})]))}}},"7dc7":function(t,e,s){"use strict";s("1e5e")},"7eb0":function(t,e,s){},"7f59":function(t,e,s){},"7f82":function(t,e,s){},8:function(t,e){},"806e":function(t,e,s){},"80a7":function(t,e,s){"use strict";s("7eb0")},"826e":function(t,e,s){"use strict";s("939b")},"831b":function(t){t.exports=JSON.parse('{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"pageInfo":{"type":"object","properties":{"title":{"type":"string","description":"Title and heading for the app"},"description":{"type":"string","description":"Sub-title, displayed in header"},"navLinks":{"type":"array","maxItems":6,"description":"Quick access links, displayed in header","items":{"type":"object","additionalProperties":false,"required":["title","path"],"properties":{"title":{"type":"string"},"path":{"type":"string"}}}},"footerText":{"type":"string"}},"required":["title"],"additionalProperties":false},"appConfig":{"type":"object","description":"Application configuration","properties":{"backgroundImg":{"type":"string","description":"A URL to an image asset to be displayed as background"},"theme":{"type":"string","default":"Callisto","description":"A theme to be applied by default on first load"},"enableFontAwesome":{"type":"boolean","default":true,"description":"Should load font-awesome assets"},"fontAwesomeKey":{"type":"string","pattern":"^[a-z0-9]{10}$","description":"API key for font-awesome"},"faviconApi":{"enum":["local","faviconkit","google","clearbit","webmasterapi","allesedv"],"default":"faviconkit","description":"Which service to use to resolve favicons. Set to local to do this locally instead"},"layout":{"enum":["horizontal","vertical","auto","sidebar"],"default":"auto","description":"Specifies sections layout orientation on the home screen"},"iconSize":{"enum":["small","medium","large"],"default":"medium","description":"The size of each link item / icon"},"cssThemes":{"type":"array","description":"Theme names to be added to the dropdown","items":{"type":"string"}},"externalStyleSheet":{"description":"URL or URLs of external stylesheets to add to dropdown/ load","type":["string","array"],"items":{"type":"string"}},"customCss":{"type":"string","description":"Any custom CSS overides, must be minified"},"showSplashScreen":{"type":"boolean","default":false,"description":"Display a loading screen when the app is launched"},"statusCheck":{"type":"boolean","default":false,"description":"Displays an online/ offline status for each of your services"},"statusCheckInterval":{"type":"number","default":0,"description":"How often to recheck statuses. If set to 0, status will only be checked on page load"},"auth":{"type":"array","description":"Usernames and hashed credentials for frontend authentication","items":{"type":"object","additionalProperties":false,"required":["user","hash"],"properties":{"user":{"type":"string","description":"The username for a user"},"hash":{"type":"string","description":"A SHA-256 hashed password for that user","minLength":64,"maxLength":64},"type":{"enum":["admin","normal"],"description":"User type, denoting privilege level, either admin or normal","default":"normal"}}}},"allowConfigEdit":{"type":"boolean","default":true,"description":"Can user write changes to conf.yml file from the UI. If set to false, preferences are only stored locally"},"disableServiceWorker":{"type":"boolean","default":false,"description":"If set to true, then service worker will not be used"}},"additionalProperties":false},"sections":{"type":"array","description":"Array of sections, containing items","items":{"type":"object","required":["name","items"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"Title/ heading for a section"},"icon":{"type":"string","description":"Icon will be displayed next to title"},"displayData":{"type":"object","additionalProperties":false,"description":"Optional meta data for customizing a section","properties":{"collapsed":{"type":"boolean","default":false,"description":"If true, section needs to be clicked to open"},"color":{"type":"string","description":"Hex code, or HTML color for section fill"},"customStyles":{"type":"string","description":"CSS overides for section container"},"itemSize":{"enum":["small","medium","large"],"default":"medium","description":"Size of items within the section"},"rows":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans vertically"},"cols":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans horizontally"},"sectionLayout":{"enum":["grid","auto"],"default":"auto","description":"If set to grid, items have uniform width, and itemCount can be set"},"itemCountX":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per column"},"itemCountY":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per row"}}},"items":{"type":"array","description":"Array of items to display with a section","items":{"type":"object","additionalProperties":false,"required":["title"],"properties":{"title":{"type":"string","description":"Text shown on the item"},"description":{"type":"string","nullable":true,"description":"Short description, shown on hover or in a tooltip"},"icon":{"type":"string","nullable":true,"description":"An icon, either as a font-awesome identifier, local or remote URL, or the word favicon or generative"},"url":{"type":"string","description":"The destination to navigate to when item is clicked"},"target":{"enum":["newtab","sametab","iframe"],"default":"newtab","description":"Opening method, when item is clicked"},"color":{"type":"string","description":"A custom fill color of the item"},"provider":{"type":"string","description":"Provider name, e.g. Microsoft"},"statusCheck":{"type":"boolean","default":false,"description":"Whether or not to display online/ offline status for this service. Will override appConfig.statusCheck"}}}}}}}}}')},"832d":function(t,e,s){},8589:function(t,e,s){"use strict";s("16a0")},"85e1":function(t,e,s){"use strict";s("1036")},8949:function(t,e,s){"use strict";s("8e1b")},"8b35":function(t,e,s){},"8b8e":function(t,e){t.exports={pageInfo:{title:"Dashy",navLinks:[{title:"Home",path:"/"},{title:"About",path:"/about"},{title:"Source Code",path:"https://github.com/Lissy93/dashy"}]},appConfig:{theme:"colorful",fontAwesomeKey:"0821c65656"},sections:[{name:"Getting Started",items:[{title:"Source",description:"Source code and documentation on GitHub",icon:"fab fa-github",url:"https://github.com/Lissy93/dashy"},{title:"Issues",description:"View currently open issues, or raise a new one",icon:"fas fa-bug",url:"https://github.com/Lissy93/dashy/issues"},{title:"Demo 1",description:"Live Demo #1",icon:"far fa-rocket",url:"https://dashy-demo-1.netlify.app"},{title:"Demo 2",description:"Live Demo #2",icon:"fad fa-planet-ringed",url:"https://dashy-demo-2.netlify.app"}]}]}},"8d71":function(t,e,s){},"8d7c":function(t,e,s){},"8d80":function(t,e,s){"use strict";s("5a52")},"8e1b":function(t,e,s){},9:function(t,e){},"922c":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-expand-arrows-alt fa-w-14",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M448 344v112a23.94 23.94 0 01-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 01-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0124-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0124 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}})]))}}},"939b":function(t,e,s){},9517:function(t,e,s){"use strict";s("a8d0")},9635:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:[i,r],style:[c,l],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{d:"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z"}}),s("path",{attrs:{d:"M271.552 301.072l-77.856-46.72-41.616 15.152 10.944 30.064 27.28-9.92 82.144 49.28 97.6-65.072L480 315.088V480H32V347.2l40.8-14.848-10.928-30.048L0 324.8V512h512V292.912l-146.048-54.768z"}}),s("path",{attrs:{d:"M0 0v278.848l66.576-24.224-10.928-30.064L32 233.152V32h448v168.912l-114.048-42.768-94.4 62.928-77.856-46.72-47.84 17.392 10.944 30.064 33.504-12.16 82.144 49.28 97.6-65.072L512 247.088V0z"}}),s("path",{attrs:{d:"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z"}})]))}}},"97fb":function(t,e,s){},"9c0c":function(t,e,s){},"9c85":function(t,e,s){"use strict";s("b993")},"9e50":function(t,e,s){"use strict";s("3323")},a8d0:function(t,e,s){},aff1:function(t,e,s){"use strict";s("fd71")},b2be:function(t,e,s){},b315:function(t,e,s){},b993:function(t,e,s){},baed:function(t,e,s){"use strict";s("7941")},c715:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-table fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"table",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"}})]))}}},cbd9:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-file-download fa-w-12",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"file-download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M216 236.07c0-6.63-5.37-12-12-12h-24c-6.63 0-12 5.37-12 12v84.01h-48.88c-10.71 0-16.05 12.97-8.45 20.52l72.31 71.77c4.99 4.95 13.04 4.95 18.03 0l72.31-71.77c7.6-7.54 2.26-20.52-8.45-20.52H216v-84.01zM369.83 97.98L285.94 14.1c-9-9-21.2-14.1-33.89-14.1H47.99C21.5.1 0 21.6 0 48.09v415.92C0 490.5 21.5 512 47.99 512h287.94c26.5 0 48.07-21.5 48.07-47.99V131.97c0-12.69-5.17-24.99-14.17-33.99zM255.95 51.99l76.09 76.08h-76.09V51.99zM336 464.01H47.99V48.09h159.97v103.98c0 13.3 10.7 23.99 24 23.99H336v287.95z"}})]))}}},cf1c:function(t,e,s){"use strict";s("8d7c")},d16d:function(t,e,s){"use strict";s("18dd")},d8e8:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-compress-arrows-alt fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"compress-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"}})]))}}},de40:function(t,e,s){"use strict";s("7f59")},e697:function(t,e,s){"use strict";s("2574")},e6a4:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-download fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fal","data-icon":"download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h99.4L87 263.6c-25.2-25.2-7.3-68.3 28.3-68.3H168V40c0-22.1 17.9-40 40-40h96c22.1 0 40 17.9 40 40v155.3h52.7c35.6 0 53.4 43.1 28.3 68.3L368.6 320H468c24.3 0 44 19.7 44 44zm-261.7 17.7c3.1 3.1 8.2 3.1 11.3 0L402.3 241c5-5 1.5-13.7-5.7-13.7H312V40c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v187.3h-84.7c-7.1 0-10.7 8.6-5.7 13.7l140.7 140.7zM480 364c0-6.6-5.4-12-12-12H336.6l-52.3 52.3c-15.6 15.6-41 15.6-56.6 0L175.4 352H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z"}})]))}}},e7fa:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-edit fa-w-18",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"edit",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"}})]))}}},ec36:function(t,e,s){},eda6:function(t,e,s){"use strict";s("1864")},ef83:function(t,e,s){},f719:function(t,e,s){"use strict";s("27c1")},f8ca:function(t,e,s){"use strict";s("7f82")},f9d7:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-columns fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"columns",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"}})]))}}},fd71:function(t,e,s){},fd9a:function(t,e,s){"use strict";s("03b2")}});
+//# sourceMappingURL=dashy.df0bf72a.js.map
\ No newline at end of file
diff --git a/js/dashy.df0bf72a.js.map b/js/dashy.df0bf72a.js.map
new file mode 100644
index 00000000..cc59416a
--- /dev/null
+++ b/js/dashy.df0bf72a.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/interface-icons/user-logout.svg","webpack:///./src/components/LinkItems/ItemGroup.vue?d2c4","webpack:///./src/assets/interface-icons/config-delete-local.svg","webpack:///./src/assets/interface-icons/application-rebuild.svg","webpack:///./src/components/Settings/AppButtons.vue?ae12","webpack:///./src/assets/interface-icons/open-iframe.svg","webpack:///./src/components/Configuration/ConfigContainer.vue?09fd","webpack:///./src/views/Login.vue?2567","webpack:///./src/assets/interface-icons/open-current-tab.svg","webpack:///./src/assets/interface-icons/open-new-tab.svg","webpack:///./src/assets/interface-icons/application-about.svg","webpack:///./src/components/FormElements/Button.vue?8611","webpack:///./src/components/PageStrcture/LoadingScreen.vue?ea0c","webpack:///./src/components/FormElements/Input.vue?fb76","webpack:///./src/components/PageStrcture/PageTitle.vue?7060","webpack:///./src/assets/interface-icons/config-editor.svg","webpack:///./src/assets/interface-icons/config-backup.svg","webpack:///./src/assets/interface-icons/application-reload.svg","webpack:///./src/components/PageStrcture/Header.vue?cea7","webpack:///./src/components/Workspace/WebContent.vue?7bf3","webpack:///./src/components/LinkItems/StatusIndicator.vue?dc21","webpack:///./src/components/Settings/ItemSizeSelector.vue?6445","webpack:///./src/components/Settings/ThemeSelector.vue?89f8","webpack:///./src/components/PageStrcture/Footer.vue?526f","webpack:///./src/App.vue?987f","webpack:///./src/components/PageStrcture/Header.vue?c064","webpack:///./src/components/PageStrcture/PageTitle.vue?0854","webpack:///src/components/PageStrcture/PageTitle.vue","webpack:///./src/components/PageStrcture/PageTitle.vue?ea63","webpack:///./src/components/PageStrcture/PageTitle.vue","webpack:///./src/components/PageStrcture/Nav.vue?8e1f","webpack:///src/components/PageStrcture/Nav.vue","webpack:///./src/components/PageStrcture/Nav.vue?c674","webpack:///./src/components/PageStrcture/Nav.vue","webpack:///src/components/PageStrcture/Header.vue","webpack:///./src/components/PageStrcture/Header.vue?83b0","webpack:///./src/components/PageStrcture/Header.vue","webpack:///./src/components/PageStrcture/Footer.vue?a4fd","webpack:///src/components/PageStrcture/Footer.vue","webpack:///./src/components/PageStrcture/Footer.vue?6588","webpack:///./src/components/PageStrcture/Footer.vue","webpack:///./src/components/PageStrcture/LoadingScreen.vue?3df0","webpack:///src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/components/PageStrcture/LoadingScreen.vue?96ea","webpack:///./src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/utils/ConfigAccumalator.js","webpack:///src/App.vue","webpack:///./src/App.vue?382d","webpack:///./src/App.vue","webpack:///./src/views/Home.vue?36dd","webpack:///./src/components/Settings/SettingsContainer.vue?7963","webpack:///./src/components/Settings/SearchBar.vue?9bae","webpack:///./src/utils/ArrowKeyNavigation.js","webpack:///src/components/Settings/SearchBar.vue","webpack:///./src/components/Settings/SearchBar.vue?8307","webpack:///./src/components/Settings/SearchBar.vue","webpack:///./src/components/Settings/ConfigLauncher.vue?e144","webpack:///./src/components/Configuration/ConfigContainer.vue?17ee","webpack:///./src/utils/JsonToYaml.js","webpack:///./src/components/Configuration/JsonEditor.vue?9c1f","webpack:///./src/utils/Auth.js","webpack:///src/components/Configuration/JsonEditor.vue","webpack:///./src/components/Configuration/JsonEditor.vue?579f","webpack:///./src/components/Configuration/JsonEditor.vue","webpack:///./src/components/Configuration/CustomCss.vue?afd7","webpack:///src/components/Configuration/CustomCss.vue","webpack:///./src/components/Configuration/CustomCss.vue?3340","webpack:///./src/components/Configuration/CustomCss.vue","webpack:///./src/components/Configuration/RebuildApp.vue?f33b","webpack:///./src/components/FormElements/Button.vue?8abe","webpack:///src/components/FormElements/Button.vue","webpack:///./src/components/FormElements/Button.vue?52f8","webpack:///./src/components/FormElements/Button.vue","webpack:///src/components/Configuration/RebuildApp.vue","webpack:///./src/components/Configuration/RebuildApp.vue?1840","webpack:///./src/components/Configuration/RebuildApp.vue","webpack:///src/components/Configuration/ConfigContainer.vue","webpack:///./src/components/Configuration/ConfigContainer.vue?d8c3","webpack:///./src/components/Configuration/ConfigContainer.vue","webpack:///./src/components/Configuration/CloudBackupRestore.vue?76b9","webpack:///./src/components/FormElements/Input.vue?2b6c","webpack:///src/components/FormElements/Input.vue","webpack:///./src/components/FormElements/Input.vue?49a6","webpack:///./src/components/FormElements/Input.vue","webpack:///./src/utils/CloudBackup.js","webpack:///src/components/Configuration/CloudBackupRestore.vue","webpack:///./src/components/Configuration/CloudBackupRestore.vue?d065","webpack:///./src/components/Configuration/CloudBackupRestore.vue","webpack:///src/components/Settings/ConfigLauncher.vue","webpack:///./src/components/Settings/ConfigLauncher.vue?5a66","webpack:///./src/components/Settings/ConfigLauncher.vue","webpack:///./src/components/Settings/ThemeSelector.vue?a1c6","webpack:///./src/utils/ThemeHelper.js","webpack:///src/components/Settings/ThemeSelector.vue","webpack:///./src/components/Settings/ThemeSelector.vue?3fa2","webpack:///./src/components/Settings/ThemeSelector.vue","webpack:///./src/components/Settings/LayoutSelector.vue?c5d6","webpack:///src/components/Settings/LayoutSelector.vue","webpack:///./src/components/Settings/LayoutSelector.vue?4a31","webpack:///./src/components/Settings/LayoutSelector.vue","webpack:///./src/components/Settings/ItemSizeSelector.vue?7119","webpack:///src/components/Settings/ItemSizeSelector.vue","webpack:///./src/components/Settings/ItemSizeSelector.vue?7880","webpack:///./src/components/Settings/ItemSizeSelector.vue","webpack:///./src/components/Settings/AppButtons.vue?e990","webpack:///src/components/Settings/AppButtons.vue","webpack:///./src/components/Settings/AppButtons.vue?185d","webpack:///./src/components/Settings/AppButtons.vue","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?40bd","webpack:///src/components/Settings/KeyboardShortcutInfo.vue","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?6297","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue","webpack:///./src/components/Configuration/AppInfoModal.vue?ecad","webpack:///src/components/Configuration/AppInfoModal.vue","webpack:///./src/components/Configuration/AppInfoModal.vue?ee6a","webpack:///./src/components/Configuration/AppInfoModal.vue","webpack:///src/components/Settings/SettingsContainer.vue","webpack:///./src/components/Settings/SettingsContainer.vue?5e44","webpack:///./src/components/Settings/SettingsContainer.vue","webpack:///./src/components/LinkItems/ItemGroup.vue?a685","webpack:///./src/components/LinkItems/Item.vue?af1b","webpack:///./src/components/LinkItems/ItemIcon.vue?a9fb","webpack:///./src/utils/ErrorHandler.js","webpack:///src/components/LinkItems/ItemIcon.vue","webpack:///./src/components/LinkItems/ItemIcon.vue?e801","webpack:///./src/components/LinkItems/ItemIcon.vue","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?4611","webpack:///src/components/LinkItems/ItemOpenMethodIcon.vue","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?b230","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue","webpack:///./src/components/LinkItems/StatusIndicator.vue?9a04","webpack:///src/components/LinkItems/StatusIndicator.vue","webpack:///./src/components/LinkItems/StatusIndicator.vue?9938","webpack:///./src/components/LinkItems/StatusIndicator.vue","webpack:///src/components/LinkItems/Item.vue","webpack:///./src/components/LinkItems/Item.vue?a851","webpack:///./src/components/LinkItems/Item.vue","webpack:///./src/components/LinkItems/Collapsable.vue?3f7d","webpack:///src/components/LinkItems/Collapsable.vue","webpack:///./src/components/LinkItems/Collapsable.vue?bb21","webpack:///./src/components/LinkItems/Collapsable.vue","webpack:///./src/components/LinkItems/IframeModal.vue?6489","webpack:///src/components/LinkItems/IframeModal.vue","webpack:///./src/components/LinkItems/IframeModal.vue?5f28","webpack:///./src/components/LinkItems/IframeModal.vue","webpack:///src/components/LinkItems/ItemGroup.vue","webpack:///./src/components/LinkItems/ItemGroup.vue?d5bc","webpack:///./src/components/LinkItems/ItemGroup.vue","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?1ead","webpack:///./src/views/Home.vue","webpack:///./src/views/Login.vue?46b1","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?8434","webpack:///./src/views/Login.vue","webpack:///./src/views/Workspace.vue?ea4b","webpack:///./src/components/Workspace/SideBar.vue?c3c5","webpack:///./src/components/Workspace/SideBarItem.vue?a233","webpack:///src/components/Workspace/SideBarItem.vue","webpack:///./src/components/Workspace/SideBarItem.vue?61b9","webpack:///./src/components/Workspace/SideBarItem.vue","webpack:///./src/components/Workspace/SideBarSection.vue?cb90","webpack:///src/components/Workspace/SideBarSection.vue","webpack:///./src/components/Workspace/SideBarSection.vue?3ca7","webpack:///./src/components/Workspace/SideBarSection.vue","webpack:///src/components/Workspace/SideBar.vue","webpack:///./src/components/Workspace/SideBar.vue?368a","webpack:///./src/components/Workspace/SideBar.vue","webpack:///./src/components/Workspace/WebContent.vue?f917","webpack:///src/components/Workspace/WebContent.vue","webpack:///./src/components/Workspace/WebContent.vue?01ce","webpack:///./src/components/Workspace/WebContent.vue","webpack:///src/views/Workspace.vue","webpack:///./src/views/Workspace.vue?c5ca","webpack:///./src/views/Workspace.vue","webpack:///./src/views/DownloadConfig.vue?cf9c","webpack:///src/views/DownloadConfig.vue","webpack:///./src/views/DownloadConfig.vue?a1ac","webpack:///./src/views/DownloadConfig.vue","webpack:///./src/router.js","webpack:///./src/registerServiceWorker.js","webpack:///./src/main.js","webpack:///./src/assets/interface-icons/config-open-settings.svg","webpack:///./src/assets/interface-icons/layout-horizontal.svg","webpack:///./src/components/Settings/SettingsContainer.vue?6b13","webpack:///./src/App.vue?595f","webpack:///./src/utils/defaults.js","webpack:///./src/components/Workspace/SideBarItem.vue?3a0a","webpack:///./src/assets/interface-icons/config-close.svg","webpack:///./src/assets/interface-icons/loader.svg","webpack:///./src/assets/interface-icons/cloud-backup-restore.svg","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?c798","webpack:///./src/components/Configuration/AppInfoModal.vue?d6a2","webpack:///./src/views/DownloadConfig.vue?4e96","webpack:///./src/assets/interface-icons/icon-size-medium.svg","webpack:///./src/assets/interface-icons/config-custom-css.svg","webpack:///./src/components/Settings/LayoutSelector.vue?02de","webpack:///./src/components/Configuration/JsonEditor.vue?5179","webpack:///./src/components/LinkItems/Item.vue?b4f3","webpack:///./src/components/LinkItems/Collapsable.vue?8683","webpack:///./src/components/Workspace/SideBar.vue?34c4","webpack:///./src/components/Settings/SearchBar.vue?fc1a","webpack:///./public/conf.yml","webpack:///./src/components/Configuration/ConfigContainer.vue?06b3","webpack:///./src/assets/interface-icons/icon-size-large.svg","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?300b","webpack:///./src/assets/interface-icons/broken-icon.svg","webpack:///./src/components/Settings/ConfigLauncher.vue?38ba","webpack:///./src/components/Configuration/CustomCss.vue?fa1a","webpack:///./src/components/Configuration/RebuildApp.vue?d757","webpack:///./src/components/Configuration/CloudBackupRestore.vue?5526","webpack:///./src/assets/interface-icons/layout-default.svg","webpack:///./src/assets/interface-icons/config-download-file.svg","webpack:///./src/components/Workspace/SideBarSection.vue?8693","webpack:///./src/components/PageStrcture/Nav.vue?efdc","webpack:///./src/assets/interface-icons/icon-size-small.svg","webpack:///./src/components/LinkItems/ItemIcon.vue?e410","webpack:///./src/components/LinkItems/StatusIndicator.vue?b7eb","webpack:///./src/assets/interface-icons/config-restore.svg","webpack:///./src/assets/interface-icons/config-edit-json.svg","webpack:///./src/components/LinkItems/IframeModal.vue?f46c","webpack:///./src/components/LinkItems/Item.vue?d111","webpack:///./src/views/Home.vue?0541","webpack:///./src/assets/interface-icons/layout-vertical.svg","webpack:///./src/views/Workspace.vue?68a6"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","functional","_h","_vm","_c","_v","children","class","classNames","staticClass","style","staticStyle","attrs","rest","assign","concat","render","this","$createElement","_self","shouldShowSplash","isLoading","_e","shouldHidePageComponents","pageInfo","showFooter","getFooterText","staticRenderFns","title","description","navLinks","_s","props","String","component","_l","link","index","path","isUrl","links","Array","methods","components","PageTitle","Nav","hiddenComponents","titleVisible","navVisible","text","domProps","authorUrl","authorName","licenseUrl","license","showCopyright","date","repoUrl","on","$event","appConfig","appConfigFile","conf","usersAppConfig","Defaults","localStorage","localStorageKeys","APP_CONFIG","JSON","parse","layout","LAYOUT_ORIENTATION","iconSize","ICON_SIZE","defaults","localPageInfo","PAGE_INFO","pi","footerText","sections","localSections","CONF_SECTIONS","json","config","Header","Footer","LoadingScreen","provide","usersCss","textContent","append","showSplashScreen","computed","$route","hideSplash","customCss","cleanedCss","replace","injectCustomStyles","getBackgroundImage","ref","itemSizeBound","getExternalCSSLinks","getSections","modalOpen","searching","setLayoutOrientation","setItemSize","updateModalVisibility","checkTheresData","section","filterTiles","items","searchValue","icon","getDisplayData","finishedSearching","checkIfResults","userIsTypingSomething","settingsVisible","availableThemes","getInitialTheme","getUserThemes","displayLayout","updateDisplayLayout","updateIconSize","modalChanged","isUserLoggedIn","directives","rawName","expression","toggleSettingsVisibility","composing","input","indexOf","_k","keyCode","clearFilterInput","arguments","ArrowKeyNavigation","constructor","resetIndex","arrowNavigation","goToPrevious","goToNext","getSafeElementIndex","selectItemByIndex","focus","getElementsByClassName","numResults","getNumResults","startingIndex","isSameRow","indx","pos","offsetTop","checkPreviousIndex","currentIndex","yPos","position","isBelow","start","end","nextIndex","findPreviousRow","count","rowLen","findNextRow","adjustment","checkNextIndex","isAbove","active","Boolean","akn","addEventListener","currentElem","activeElement","id","test","$refs","filter","$emit","blur","tooltip","showEditor","showCloudModal","modalNames","CONF_EDITOR","combineConfig","CLOUD_BACKUP","downloadConfigFile","yaml","goToEdit","goToCustomCss","openCloudSync","backupId","openRebuildAppModal","resetLocalSettings","openAboutModal","appVersion","copyConfigToClipboard","trimWhitespace","split","map","x","trimRight","join","throwError","msg","stringify","indentLevel","handlers","null","number","boolean","string","array","output","forEach","y","handler","typeOf","inArray","rootNode","keys","k","val","function","options","model","callback","$$v","jsonData","allowWriteToDisk","_q","saveMode","isValid","save","errorMessages","saveSuccess","responseText","generateUserToken","user","sha256","toString","toLowerCase","isLoggedIn","users","validTokens","userAuthenticated","cookie","cookieKey","trim","cookieValue","cookieKeys","AUTH_TOKEN","includes","checkCredentials","username","pass","response","hash","correct","login","userObject","setItem","USERNAME","logout","removeItem","isUserAdmin","currentUser","isAdmin","VJsoneditor","schema","modes","onValidationError","validationErrors","jsonParser","JsonToYaml","shouldAllowWriteToDisk","allowConfigEdit","auth","writeConfigToDisk","$toasted","show","saveConfigLocally","baseUrl","endpoint","headers","body","success","carefullyClearLocalStorage","showToast","theme","errors","keyword","highlighter","_m","PrismEditor","css","match","validate","inject","userStyles","modalName","startBuild","loading","allowRebuild","scopedSlots","_u","fn","proxy","refreshPage","disallow","disabled","click","_t","Function","Button","RebuildIcon","ReloadIcon","LoadingAnimation","responseData","location","reload","JsonEditor","CustomCssEditor","RebuildApp","DownloadIcon","DeleteIcon","EditIcon","CloudIcon","CustomCssIcon","IconAbout","itemToSelect","tabView","navItems","activeTabItem","$modal","navigator","clipboard","writeText","isTheUserSure","confirm","clear","filename","filecontents","element","encodeURIComponent","display","highlighted","getElementById","innerHTML","backupPassword","checkPass","restoreCode","restorePassword","restoreBackup","label","placeholder","updateValue","default","validator","ENDPOINT","backupEndpoint","encryptData","password","stringifiedData","encryptedData","aes","encrypt","decryptData","decrypt","Utf8","makeSubHash","backup","axios","post","userData","subHash","update","put","encodeGetParams","entries","kv","restore","params","url","errorMsg","decryptedData","Input","IconBackup","IconRestore","savedHash","makeUpdate","showErrorMsg","makeBackup","setBackupIdLocally","showSuccessMsg","isUpdate","makeHash","IconSpanner","IconCloud","ConfigContainer","CloudBackupRestore","content","themeNames","selectedTheme","ThemeHelper","preloadTheme","sheet","selectTheme","themes","add","find","confTheme","userThemes","watch","newTheme","themeHelper","builtInThemes","externalThemeNames","added","isThemeLocal","updateTheme","htmlTag","hasAttribute","removeAttribute","themeToCheck","resetToDefault","setLocalTheme","IconDeafault","IconHorizontal","IconVertical","IconSmall","IconMedium","IconLarge","IconLogout","shouldHide","hideWelcomeHelper","timeDelay","removeEventListener","keyPressEvent","shouldHideWelcomeMessage","$destroy","serviceWorkerInfo","getIsConfigValidStatus","showInfo","systemInfo","browser","isMobile","os","getSystemInfo","getSwStatus","isValidVar","sessionData","sessionStorage","swInfo","swStatus","registered","ready","cached","updateFound","updated","offline","devMode","userAgent","SearchBar","ConfigLauncher","ThemeSelector","LayoutSelector","ItemSizeSelector","AppButtons","KeyboardShortcutInfo","AppInfoModal","IconOpen","IconClose","something","changedTo","cssThemes","searchVisible","getSettingsVisibility","groupId","displayData","collapsed","cols","rows","color","customStyles","isGridLayout","item","makeId","backgroundColor","newItemSize","shouldEnableStatusCheck","statusCheck","getStatusCheckInterval","triggerModal","getTooltipOptions","itemSize","getUnicodeOpeningIcon","itemOpened","statusResponse","successStatus","iconType","size","broken","iconPath","imageNotFound","ErrorHandler","warn","BrokenImage","determineImageType","getIconPath","str","pattern","RegExp","img","fileExtRegex","validImgExtensions","splitPath","exec","fullUrl","shouldUseDefaultFavicon","urlParts","host","getHostName","faviconApi","isLocalIP","imgType","makeClass","isSmall","isTransparent","openingMethod","transparent","NewTabOpenIcon","SameTabOpenIcon","IframeOpenIcon","statusText","otherStatusText","classes","statusSuccess","startTime","Date","subtitle","enableStatusCheck","statusCheckInterval","Number","getId","background","Icon","ItemOpenMethodIcon","StatusIndicator","altKey","preventDefault","trigger","hideOnTargetClick","html","placement","delay","checkWebsiteStatus","setInterval","checkSpanNum","sanitizeCustomStyles","uniqueKey","getCollapseState","collapseChanged","isOpen","span","classPrefix","maxSpan","numSpan","parseInt","userCss","initStorage","collapseStateObject","initialiseStorage","collapseState","newState","whatChanged","setCollapseState","srcElement","checked","modalClosed","hide","slot","close","Collapsable","Item","IframeModal","sectionLayout","styles","itemCountX","itemCountY","itemPreference","globalPreference","interval","SettingsContainer","ItemGroup","layoutOrientation","set","filterComp","urlPattern","domainPattern","allTiles","searchTerm","modalState","availibleThemes","externalStyleSheet","externals","isArray","ext","Deafault","isFound","enableFontAwesome","checkIfFontAwesomeNeeded","fontAwesomeScript","faKey","fontAwesomeKey","itemsFound","backgroundImg","initiateFontAwesome","submitLogin","status","setTheme","launchApp","openSection","itemClicked","SideBarItem","fill","SideBarSection","ind","SideBar","WebContent","route","query","decodeURI","Vue","use","Router","isAuthenticated","router","routes","Home","meta","metaTags","metaTagData","Workspace","Login","beforeEnter","to","from","next","DownloadConfig","beforeEach","defaultTitle","afterEach","nextTick","setSwStatus","swStateToSet","initialSwState","disabledByUser","sessionStorageKeys","SW_STATUS","currentSwState","newSwState","shouldEnableServiceWorker","shouldEnable","disableServiceWorker","registerServiceWorker","register","log","updatefound","VTooltip","VModal","VTabs","Toasted","toastedOptions","VSelect","productionTip","awesome","Dashy","$mount","visibleComponents","pageTitle","navigation","searchBar","settings","footer","HIDE_WELCOME_BANNER","COLLAPSE_STATE","THEME","BACKUP_ID","BACKUP_HASH","HIDE_SETTINGS","REBUILD_APP","ABOUT_APP","topLevelConfKeys","SECTIONS","duration","keepOnHover","className","iconPack","splashScreenTime","faviconApiEndpoints","mcapi","clearbit","faviconkit","google","allesedv","webmasterapi"],"mappings":"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","file":"js/dashy.df0bf72a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"dashy\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"dashy\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"86662eed\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"a64c098d\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sign-out-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sign-out-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=style&index=0&id=29d94632&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-trash-alt fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"trash-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M268 416h24a12 12 0 0012-12V188a12 12 0 00-12-12h-24a12 12 0 00-12 12v216a12 12 0 0012 12zM432 80h-82.41l-34-56.7A48 48 0 00274.41 0H173.59a48 48 0 00-41.16 23.3L98.41 80H16A16 16 0 000 96v16a16 16 0 0016 16h16v336a48 48 0 0048 48h288a48 48 0 0048-48V128h16a16 16 0 0016-16V96a16 16 0 00-16-16zM171.84 50.91A6 6 0 01177 48h94a6 6 0 015.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0012-12V188a12 12 0 00-12-12h-24a12 12 0 00-12 12v216a12 12 0 0012 12z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-hammer fa-w-18\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"hammer\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 576 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppButtons.vue?vue&type=style&index=0&id=d69dca9c&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-clone fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"clone\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-window-maximize fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"window-maximize\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-external-link-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"external-link-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M432 320h-32a16 16 0 00-16 16v112H64V128h144a16 16 0 0016-16V80a16 16 0 00-16-16H48a48 48 0 00-48 48v352a48 48 0 0048 48h352a48 48 0 0048-48V336a16 16 0 00-16-16zM488 0H360c-21.37 0-32.05 25.91-17 41l35.73 35.73L135 320.37a24 24 0 000 34L157.67 377a24 24 0 0034 0l243.61-243.68L471 169c15 15 41 4.5 41-17V24a24 24 0 00-24-24z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-info fa-w-8\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"info\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 256 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M224 352.589V224c0-16.475-6.258-31.517-16.521-42.872C225.905 161.14 236 135.346 236 108 236 48.313 187.697 0 128 0 68.313 0 20 48.303 20 108c0 20.882 5.886 40.859 16.874 58.037C15.107 176.264 0 198.401 0 224v39.314c0 23.641 12.884 44.329 32 55.411v33.864C12.884 363.671 0 384.359 0 408v40c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-40c0-23.641-12.884-44.329-32-55.411zM128 48c33.137 0 60 26.863 60 60s-26.863 60-60 60-60-26.863-60-60 26.863-60 60-60zm80 400c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16v-40c0-8.836 7.164-16 16-16h16V279.314H64c-8.836 0-16-7.164-16-16V224c0-8.836 7.164-16 16-16h96c8.836 0 16 7.164 16 16v168h16c8.836 0 16 7.164 16 16v40z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&id=ec408f00&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=style&index=0&id=a7bc1de6&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=style&index=0&id=5df13ed2&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=style&index=0&id=34020d7c&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-wrench fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"wrench\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-upload fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fal\",\"data-icon\":\"upload\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h124v-99.3h-52.7c-35.6 0-53.4-43.1-28.3-68.3L227.7 11.7c15.6-15.6 40.9-15.6 56.6 0L425 152.4c25.2 25.2 7.3 68.3-28.3 68.3H344V320h124c24.3 0 44 19.7 44 44zM200 188.7V376c0 4.4 3.6 8 8 8h96c4.4 0 8-3.6 8-8V188.7h84.7c7.1 0 10.7-8.6 5.7-13.7L261.7 34.3c-3.1-3.1-8.2-3.1-11.3 0L109.7 175c-5 5-1.5 13.7 5.7 13.7H200zM480 364c0-6.6-5.4-12-12-12H344v24c0 22.1-17.9 40-40 40h-96c-22.1 0-40-17.9-40-40v-24H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sync fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sync\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M440.65 12.57l4 82.77A247.16 247.16 0 00255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0024.09 224h49.05a12 12 0 0011.67-9.26 175.91 175.91 0 01317-56.94l-101.46-4.86a12 12 0 00-12.57 12v47.41a12 12 0 0012 12H500a12 12 0 0012-12V12a12 12 0 00-12-12h-47.37a12 12 0 00-11.98 12.57zM255.83 432a175.61 175.61 0 01-146-77.8l101.8 4.87a12 12 0 0012.57-12v-47.4a12 12 0 00-12-12H12a12 12 0 00-12 12V500a12 12 0 0012 12h47.35a12 12 0 0012-12.6l-4.15-82.57A247.17 247.17 0 00255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 00-11.8-14.18h-49.05a12 12 0 00-11.67 9.26A175.86 175.86 0 01255.83 432z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=70a33270&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebContent.vue?vue&type=style&index=0&id=a2564c04&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=style&index=0&id=58966274&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=1b07b0da&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"dashy\"}},[(_vm.shouldShowSplash())?_c('LoadingScreen',{attrs:{\"isLoading\":_vm.isLoading}}):_vm._e(),(!_vm.shouldHidePageComponents())?_c('Header',{attrs:{\"pageInfo\":_vm.pageInfo}}):_vm._e(),_c('router-view'),(_vm.showFooter && !_vm.shouldHidePageComponents())?_c('Footer',{attrs:{\"text\":_vm.getFooterText()}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',[(_vm.titleVisible)?_c('PageTitle',{attrs:{\"title\":_vm.pageInfo.title,\"description\":_vm.pageInfo.description}}):_vm._e(),(_vm.navVisible)?_c('Nav',{staticClass:\"nav\",attrs:{\"links\":_vm.pageInfo.navLinks}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{staticClass:\"page-titles\",attrs:{\"to\":\"/\"}},[_c('h1',[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.description))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ title }} \n {{ description }} \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageTitle.vue?vue&type=template&id=34020d7c&scoped=true&\"\nimport script from \"./PageTitle.vue?vue&type=script&lang=js&\"\nexport * from \"./PageTitle.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PageTitle.vue?vue&type=style&index=0&id=34020d7c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34020d7c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{attrs:{\"id\":\"nav\"}},_vm._l((_vm.links),function(link,index){return _c('router-link',{key:index,staticClass:\"nav-item\",attrs:{\"to\":link.path,\"href\":link.path,\"target\":_vm.isUrl(link.path) ? '_blank' : '',\"rel\":\"noopener noreferrer\"}},[_vm._v(_vm._s(link.title))])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{link.title}} \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Nav.vue?vue&type=template&id=68c1bd5c&scoped=true&\"\nimport script from \"./Nav.vue?vue&type=script&lang=js&\"\nexport * from \"./Nav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Nav.vue?vue&type=style&index=0&id=68c1bd5c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68c1bd5c\",\n null\n \n)\n\nexport default component.exports","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=70a33270&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=70a33270&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70a33270\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.text && _vm.text !== '')?_c('footer',{domProps:{\"innerHTML\":_vm._s(_vm.text)}}):_c('footer',[_vm._v(\" Developed by \"),_c('a',{attrs:{\"href\":_vm.authorUrl}},[_vm._v(_vm._s(_vm.authorName))]),_vm._v(\". Licensed under \"),_c('a',{attrs:{\"href\":_vm.licenseUrl}},[_vm._v(_vm._s(_vm.license))]),_vm._v(\" \"+_vm._s(_vm.showCopyright? '©': '')+\" \"+_vm._s(_vm.date)+\". Get the \"),_c('a',{attrs:{\"href\":_vm.repoUrl}},[_vm._v(\"Source Code\")]),_vm._v(\". \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=1b07b0da&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=1b07b0da&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b07b0da\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slide-fade\"}},[(_vm.isLoading)?_c('div',{class:_vm.c,attrs:{\"id\":\"loading\"},on:{\"click\":function($event){_vm.c = 'hide'}}},[_c('h2',[_vm._v(\"Dashy\")]),_c('div',{staticClass:\"inner-container\"},[_c('p',[_vm._v(\"Loading\")]),_c('span',{staticClass:\"dots-cont\"},[_c('span',{staticClass:\"dot dot-1\"}),_c('span',{staticClass:\"dot dot-2\"}),_c('span',{staticClass:\"dot dot-3\"}),_c('span',{staticClass:\"dot dot-4\"})])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
Dashy \n
\n
Loading
\n
\n \n \n \n \n \n
\n
\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingScreen.vue?vue&type=template&id=a7bc1de6&scoped=true&\"\nimport script from \"./LoadingScreen.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingScreen.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingScreen.vue?vue&type=style&index=0&id=a7bc1de6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a7bc1de6\",\n null\n \n)\n\nexport default component.exports","/**\n * Reads the users config from `conf.yml`, and combines it with any local preferences\n * Also ensures that any missing attributes are populated with defaults, and the\n * object is structurally sound, to avoid any error if the user is missing something\n * The main config object is made up of three parts: appConfig, pageInfo and sections\n */\nimport Defaults, { localStorageKeys } from '@/utils/defaults';\nimport conf from '../../public/conf.yml';\n\n/**\n * Returns the appConfig section, as JSON\n */\nexport const appConfig = (() => {\n const appConfigFile = conf.appConfig || {};\n let usersAppConfig = Defaults.appConfig;\n if (localStorage[localStorageKeys.APP_CONFIG]) {\n usersAppConfig = JSON.parse(localStorage[localStorageKeys.APP_CONFIG]);\n } else if (appConfigFile !== {}) {\n usersAppConfig = appConfigFile;\n }\n usersAppConfig.layout = localStorage[localStorageKeys.LAYOUT_ORIENTATION]\n || appConfigFile.layout || Defaults.layout;\n usersAppConfig.iconSize = localStorage[localStorageKeys.ICON_SIZE]\n || appConfigFile.iconSize || Defaults.iconSize;\n return usersAppConfig;\n})();\n\n/**\n * Returns the pageInfo section, as JSON\n */\nexport const pageInfo = (() => {\n const defaults = Defaults.pageInfo;\n let localPageInfo;\n try {\n localPageInfo = JSON.parse(localStorage[localStorageKeys.PAGE_INFO]);\n } catch (e) {\n localPageInfo = {};\n }\n const pi = conf.pageInfo || defaults; // The page info object to return\n pi.title = localPageInfo.title || conf.pageInfo.title || defaults.title;\n pi.description = localPageInfo.description || conf.pageInfo.description || defaults.description;\n pi.navLinks = localPageInfo.navLinks || conf.pageInfo.navLinks || defaults.navLinks;\n pi.footerText = localPageInfo.footerText || conf.pageInfo.footerText || defaults.footerText;\n return pi;\n})();\n\n/**\n * Returns the sections section, as an array of JSON objects\n */\nexport const sections = (() => {\n // If the user has stored sections in local storage, return those\n const localSections = localStorage[localStorageKeys.CONF_SECTIONS];\n if (localSections) {\n try {\n const json = JSON.parse(localSections);\n if (json.length >= 1) return json;\n } catch (e) {\n // The data in local storage has been malformed, will return conf.sections instead\n }\n }\n // If the function hasn't yet returned, then return the config file sections\n return conf.sections;\n})();\n\n/**\n * Returns the complete configuration, as JSON\n */\nexport const config = (() => {\n const result = {\n appConfig,\n pageInfo,\n sections,\n };\n return result;\n})();\n","\n \n \n \n \n \n
\n \n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--11-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--11-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2732caa4&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\",style:(_vm.getBackgroundImage())},[_c('SettingsContainer',{ref:\"filterComp\",staticClass:\"filter-container\",attrs:{\"displayLayout\":_vm.layout,\"iconSize\":_vm.itemSizeBound,\"availableThemes\":_vm.getExternalCSSLinks(),\"sections\":_vm.getSections(_vm.sections),\"appConfig\":_vm.appConfig,\"pageInfo\":_vm.pageInfo,\"modalOpen\":_vm.modalOpen},on:{\"user-is-searchin\":_vm.searching,\"change-display-layout\":_vm.setLayoutOrientation,\"change-icon-size\":_vm.setItemSize,\"change-modal-visibility\":_vm.updateModalVisibility}}),(_vm.checkTheresData(_vm.sections))?_c('div',{class:(\"item-group-container orientation-\" + _vm.layout + \" item-size-\" + _vm.itemSizeBound)},_vm._l((_vm.getSections(_vm.sections)),function(section,index){return _c('ItemGroup',{key:index,class:(_vm.filterTiles(section.items).length === 0 && _vm.searchValue) ? 'no-results' : '',attrs:{\"title\":section.name,\"icon\":section.icon || undefined,\"displayData\":_vm.getDisplayData(section),\"groupId\":(\"section-\" + index),\"items\":_vm.filterTiles(section.items),\"itemSize\":_vm.itemSizeBound},on:{\"itemClicked\":function($event){return _vm.finishedSearching()},\"change-modal-visibility\":_vm.updateModalVisibility}})}),1):_vm._e(),(_vm.checkIfResults())?_c('div',{staticClass:\"no-data\"},[_vm._v(\" \"+_vm._s(_vm.searchValue ? 'No Search Results' : 'No Data Configured')+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.searchVisible)?_c('SearchBar',{ref:\"SearchBar\",attrs:{\"active\":!_vm.modalOpen},on:{\"user-is-searchin\":_vm.userIsTypingSomething}}):_vm._e(),_c('div',{staticClass:\"options-outer\"},[_c('div',{class:(\"options-container \" + (!_vm.settingsVisible ? 'hide' : ''))},[_c('ThemeSelector',{attrs:{\"themes\":_vm.availableThemes,\"confTheme\":_vm.getInitialTheme(),\"userThemes\":_vm.getUserThemes()}}),_c('LayoutSelector',{attrs:{\"displayLayout\":_vm.displayLayout},on:{\"layoutUpdated\":_vm.updateDisplayLayout}}),_c('ItemSizeSelector',{attrs:{\"iconSize\":_vm.iconSize},on:{\"iconSizeUpdated\":_vm.updateIconSize}}),_c('ConfigLauncher',{attrs:{\"sections\":_vm.sections,\"pageInfo\":_vm.pageInfo,\"appConfig\":_vm.appConfig},on:{\"modalChanged\":_vm.modalChanged}}),(_vm.isUserLoggedIn())?_c('AppButtons'):_vm._e()],1),_c('div',{class:(\"show-hide-container \" + (_vm.settingsVisible? 'hide-btn' : 'show-btn'))},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(((_vm.settingsVisible? 'Hide' : 'Open') + \" Settings Menu\")),expression:\"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.toggleSettingsVisibility()}}},[(_vm.settingsVisible)?_c('IconClose'):_c('IconOpen')],1)])]),_c('KeyboardShortcutInfo'),_c('AppInfoModal')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',[_c('label',{attrs:{\"for\":\"filter-tiles\"}},[_vm._v(\"Search\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],ref:\"filter\",attrs:{\"id\":\"filter-tiles\",\"placeholder\":\"Start typing to filter...\"},domProps:{\"value\":(_vm.input)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.input=$event.target.value},_vm.userIsTypingSomething],\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.clearFilterInput.apply(null, arguments)}}}),(_vm.input.length > 0)?_c('i',{staticClass:\"clear-search\",attrs:{\"title\":\"Clear search\"},on:{\"click\":_vm.clearFilterInput}},[_vm._v(\"x\")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Class encapsulating the functionality that enables the user to\n * navigate through tiles/ search result grid using the arrow keys\n * This code is very hacky, it's best not to look at it for too long\n */\nexport default class ArrowKeyNavigation {\n constructor(index) {\n this.index = index;\n }\n\n resetIndex() {\n this.index = 0;\n }\n\n /* Figures out which element is next, based on the key pressed *\n * current index and total number of items. Then calls focus function */\n arrowNavigation(key) {\n if (this.index === undefined) this.index = 0; // Start at beginning\n else if (key === 37) { // Left --> Previous\n this.index -= 1;\n } else if (key === 38) { // Up --> Previous\n this.index = ArrowKeyNavigation.goToPrevious(this.index);\n } else if (key === 39) { // Right --> Next\n this.index += 1;\n } else if (key === 40) { // Down --> Next\n this.index = ArrowKeyNavigation.goToNext(this.index);\n }\n /* Ensure the index is within bounds, then focus element */\n this.index = ArrowKeyNavigation.getSafeElementIndex(this.index);\n ArrowKeyNavigation.selectItemByIndex(this.index).focus();\n }\n\n /* Returns the number of visible items / results */\n static getNumResults() {\n return document.getElementsByClassName('item').length;\n }\n\n /* Returns the index for an element, ensuring that it's within bounds */\n static getSafeElementIndex(index) {\n const numResults = ArrowKeyNavigation.getNumResults();\n if (index < 0) return numResults - 1;\n else if (index >= numResults) return 0;\n return index;\n }\n\n /* Selects a given element, by it's ID. If out of bounds, returns element 0 */\n static selectItemByIndex(index) {\n return (index >= 0 && index <= ArrowKeyNavigation.getNumResults())\n ? document.getElementsByClassName('item')[index] : [document.getElementsByClassName('item')];\n }\n\n /* Returns the index of the first cell in the previous/ above row */\n static findPreviousRow(startingIndex) {\n const isSameRow = (indx, pos) => ArrowKeyNavigation.selectItemByIndex(indx).offsetTop === pos;\n const checkPreviousIndex = (currentIndex, yPos) => {\n if (currentIndex >= ArrowKeyNavigation.getNumResults()) return checkPreviousIndex(0, yPos);\n else if (isSameRow(currentIndex, yPos)) return checkPreviousIndex(currentIndex - 1, yPos);\n return currentIndex;\n };\n const position = ArrowKeyNavigation.selectItemByIndex(startingIndex).offsetTop;\n return checkPreviousIndex(startingIndex, position);\n }\n\n /* Moves to the cell directly above the current */\n static goToPrevious(startingIndex) {\n const isBelow = (start, end) => (ArrowKeyNavigation.selectItemByIndex(start).offsetTop\n < ArrowKeyNavigation.selectItemByIndex(end).offsetTop);\n const nextIndex = ArrowKeyNavigation.findPreviousRow(startingIndex);\n const count = nextIndex - startingIndex;\n const rowLen = nextIndex - ArrowKeyNavigation.findNextRow(startingIndex) + 1;\n const adjustment = isBelow(startingIndex, nextIndex) ? 0 : rowLen - count;\n return nextIndex + adjustment;\n }\n\n /* Returns the index of the first cell in the next/ below row */\n static findNextRow(startingIndex) {\n const isSameRow = (indx, pos) => ArrowKeyNavigation.selectItemByIndex(indx).offsetTop === pos;\n const checkNextIndex = (currentIndex, yPos) => {\n if (currentIndex >= ArrowKeyNavigation.getNumResults()) return checkNextIndex(0, yPos);\n else if (isSameRow(currentIndex, yPos)) return checkNextIndex(currentIndex + 1, yPos);\n return currentIndex;\n };\n const position = ArrowKeyNavigation.selectItemByIndex(startingIndex).offsetTop;\n return checkNextIndex(startingIndex, position);\n }\n\n /* Moves to the cell directly below the current */\n static goToNext(startingIndex) {\n const isAbove = (start, end) => (ArrowKeyNavigation.selectItemByIndex(start).offsetTop\n > ArrowKeyNavigation.selectItemByIndex(end).offsetTop);\n const nextIndex = ArrowKeyNavigation.findNextRow(startingIndex);\n const count = nextIndex - startingIndex;\n const rowLen = nextIndex - ArrowKeyNavigation.findPreviousRow(startingIndex) - 1;\n const adjustment = isAbove(startingIndex, nextIndex) ? 0 : rowLen - count;\n return nextIndex + adjustment;\n }\n}\n","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchBar.vue?vue&type=template&id=72e6bff4&scoped=true&\"\nimport script from \"./SearchBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBar.vue?vue&type=style&index=0&id=72e6bff4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72e6bff4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"config-options\"},[_c('span',[_vm._v(\"Config\")]),_c('div',{staticClass:\"config-buttons\"},[_c('IconSpanner',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Update configuration locally')),expression:\"tooltip('Update configuration locally')\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.showEditor()}}}),_c('IconCloud',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Backup / restore cloud config')),expression:\"tooltip('Backup / restore cloud config')\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.showCloudModal()}}})],1),_c('modal',{attrs:{\"name\":_vm.modalNames.CONF_EDITOR,\"resizable\":true,\"width\":\"60%\",\"height\":\"85%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.$emit('modalChanged', false)}}},[_c('ConfigContainer',{attrs:{\"config\":_vm.combineConfig()}})],1),_c('modal',{attrs:{\"name\":_vm.modalNames.CLOUD_BACKUP,\"resizable\":true,\"width\":\"65%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.$emit('modalChanged', false)}}},[_c('CloudBackupRestore',{attrs:{\"config\":_vm.combineConfig()}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Tabs',{ref:\"tabView\",attrs:{\"navAuto\":true,\"name\":\"Add Item\"}},[_c('TabItem',{staticClass:\"main-tab\",attrs:{\"name\":\"Config\"}},[_c('div',{staticClass:\"main-options-container\"},[_c('h2',[_vm._v(\"Configuration Options\")]),_c('a',{staticClass:\"hyperlink-wrapper\",on:{\"click\":function($event){return _vm.downloadConfigFile('conf.yml', _vm.yaml)}}},[_c('button',{staticClass:\"config-button center\"},[_c('DownloadIcon',{staticClass:\"button-icon\"}),_vm._v(\" Download Config \")],1)]),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.goToEdit()}}},[_c('EditIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Config \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.goToCustomCss()}}},[_c('CustomCssIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Custom CSS \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openCloudSync()}}},[_c('CloudIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.backupId ? 'Edit Cloud Sync' : 'Enable Cloud Sync')+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openRebuildAppModal()}}},[_c('RebuildIcon',{staticClass:\"button-icon\"}),_vm._v(\" Rebuild Application \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_c('DeleteIcon',{staticClass:\"button-icon\"}),_vm._v(\" Reset Local Settings \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openAboutModal()}}},[_c('IconAbout',{staticClass:\"button-icon\"}),_vm._v(\" App Info \")],1),_c('p',{staticClass:\"small-screen-note\",staticStyle:{\"display\":\"none\"}},[_vm._v(\" You are using a very small screen, and some screens in this menu may not be optimal \")]),_c('p',{staticClass:\"app-version\"},[_vm._v(\"Dashy version \"+_vm._s(_vm.appVersion))]),_c('div',{staticClass:\"config-note\"},[_c('span',[_vm._v(\" It is recommend to make a backup of your conf.yml file before making changes. \")])])]),_c('RebuildApp')],1),_c('TabItem',{staticClass:\"code-container\",attrs:{\"name\":\"View Config\"}},[_c('pre',{attrs:{\"id\":\"conf-yaml\"}},[_vm._v(_vm._s(_vm.yaml))]),_c('div',{staticClass:\"yaml-action-buttons\"},[_c('h2',[_vm._v(\"Actions\")]),_c('a',{staticClass:\"yaml-button download\",on:{\"click\":function($event){return _vm.downloadConfigFile('conf.yml', _vm.yaml)}}},[_vm._v(\" Download Config \")]),_c('a',{staticClass:\"yaml-button copy\",on:{\"click\":function($event){return _vm.copyConfigToClipboard()}}},[_vm._v(\"Copy Config\")]),_c('a',{staticClass:\"yaml-button reset\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_vm._v(\"Reset Config\")])])]),_c('TabItem',{attrs:{\"name\":\"Edit Config\"}},[_c('JsonEditor',{attrs:{\"config\":_vm.config}})],1),_c('TabItem',{attrs:{\"name\":\"Custom Styles\"}},[_c('CustomCssEditor',{attrs:{\"config\":_vm.config,\"initialCss\":\"hello\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { typeOf } from 'remedial';\n\nconst trimWhitespace = (input) => input.split('\\n').map(x => x.trimRight()).join('\\n');\n\nconst throwError = (msg) => {\n throw new Error(`Error in Json to YAML conversion: ${msg}`);\n};\n\n/* A function that converts valid JSON into valid YAML */\nconst stringify = (data) => {\n let indentLevel = '';\n const handlers = {\n undefined() {\n return 'null';\n },\n null() {\n return 'null';\n },\n number(x) {\n return x;\n },\n boolean(x) {\n return x ? 'true' : 'false';\n },\n string(x) {\n return JSON.stringify(x);\n },\n array(x) {\n let output = '';\n if (x.length === 0) {\n output += '[]';\n return output;\n }\n\n indentLevel = indentLevel.replace(/$/, ' ');\n x.forEach((y) => {\n const handler = handlers[typeOf(y)];\n\n if (!handler) throwError(typeOf(y));\n\n output += `\\n${indentLevel}- ${handler(y, true)}`;\n });\n indentLevel = indentLevel.replace(/ {2}/, '');\n\n return output;\n },\n object(x, inArray, rootNode) {\n let output = '';\n\n if (Object.keys(x).length === 0) {\n output += '{}';\n return output;\n }\n\n if (!rootNode) {\n indentLevel = indentLevel.replace(/$/, ' ');\n }\n\n Object.keys(x).forEach((k, i) => {\n const val = x[k];\n const handler = handlers[typeOf(val)];\n\n if (typeof val === 'undefined') {\n return;\n }\n\n if (!handler) throwError(typeOf(val));\n\n if (!(inArray && i === 0)) {\n output += `\\n${indentLevel}`;\n }\n\n output += `${k}: ${handler(val)}`;\n });\n indentLevel = indentLevel.replace(/ {2}/, '');\n\n return output;\n },\n function() {\n return '[object Function]';\n },\n };\n\n return trimWhitespace(`${handlers[typeOf(data)](data, true, true)}\\n`);\n};\n\nexport default stringify;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"json-editor-outer\"},[_c('v-jsoneditor',{attrs:{\"options\":_vm.options,\"height\":\"500px\"},model:{value:(_vm.jsonData),callback:function ($$v) {_vm.jsonData=$$v},expression:\"jsonData\"}}),_c('div',{staticClass:\"save-options\"},[_c('span',{staticClass:\"save-option-title\"},[_vm._v(\"Save Location:\")]),_c('div',{staticClass:\"option\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.saveMode),expression:\"saveMode\"}],staticClass:\"radio-option\",attrs:{\"type\":\"radio\",\"id\":\"local\",\"value\":\"local\",\"disabled\":!_vm.allowWriteToDisk},domProps:{\"checked\":_vm._q(_vm.saveMode,\"local\")},on:{\"change\":function($event){_vm.saveMode=\"local\"}}}),_c('label',{staticClass:\"save-option-label\",attrs:{\"for\":\"local\"}},[_vm._v(\"Apply Locally\")])]),_c('div',{staticClass:\"option\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.saveMode),expression:\"saveMode\"}],staticClass:\"radio-option\",attrs:{\"type\":\"radio\",\"id\":\"file\",\"value\":\"file\",\"disabled\":!_vm.allowWriteToDisk},domProps:{\"checked\":_vm._q(_vm.saveMode,\"file\")},on:{\"change\":function($event){_vm.saveMode=\"file\"}}}),_c('label',{staticClass:\"save-option-label\",attrs:{\"for\":\"file\"}},[_vm._v(\"Write Changes to Config File\")])])]),_c('button',{class:(\"save-button \" + (!_vm.isValid ? 'err' : '')),on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\"Save Changes\")]),_c('p',{staticClass:\"errors\"},[_c('ul',[_vm._l((_vm.errorMessages),function(error,index){return _c('li',{key:index,class:(\"type-\" + (error.type))},[_vm._v(\" \"+_vm._s(error.msg)+\" \")])}),(_vm.errorMessages.length < 1)?_c('li',{staticClass:\"type-valid\"},[_vm._v(\" Config is Valid \")]):_vm._e()],2)]),(_vm.saveSuccess !== undefined)?_c('p',{class:(\"response-output status-\" + (_vm.saveSuccess ? 'success' : 'fail'))},[_vm._v(\" \"+_vm._s(_vm.saveSuccess ? 'Task Complete' : 'Task Failed')+\" \")]):_vm._e(),_c('p',{staticClass:\"response-output\"},[_vm._v(_vm._s(_vm.responseText))]),(_vm.saveSuccess)?_c('p',{staticClass:\"response-output\"},[_vm._v(\" The app should rebuild automatically. You will need to refresh the page for changes to take effect. \")]):_vm._e(),_c('p',{staticClass:\"note\"},[_vm._v(\" It is recommend to backup your existing confiruration before making any changes. \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import sha256 from 'crypto-js/sha256';\nimport { cookieKeys, localStorageKeys } from './defaults';\n\nconst generateUserToken = (user) => sha256(user.toString()).toString().toLowerCase();\n\nexport const isLoggedIn = (users) => {\n const validTokens = users.map((user) => generateUserToken(user));\n let userAuthenticated = false;\n document.cookie.split(';').forEach((cookie) => {\n if (cookie && cookie.split('=').length > 1) {\n const cookieKey = cookie.split('=')[0].trim();\n const cookieValue = cookie.split('=')[1].trim();\n if (cookieKey === cookieKeys.AUTH_TOKEN) {\n if (validTokens.includes(cookieValue)) {\n userAuthenticated = true;\n }\n }\n }\n });\n return userAuthenticated;\n};\n\nexport const checkCredentials = (username, pass, users) => {\n let response;\n if (!username) {\n response = { correct: false, msg: 'Missing Username' };\n } else if (!pass) {\n response = { correct: false, msg: 'Missing Password' };\n } else {\n users.forEach((user) => {\n if (user.user === username) {\n if (user.hash.toLowerCase() === sha256(pass).toString().toLowerCase()) {\n response = { correct: true, msg: 'Logging in...' };\n } else {\n response = { correct: false, msg: 'Incorrect Password' };\n }\n }\n });\n }\n return response || { correct: false, msg: 'User not found' };\n};\n\nexport const login = (username, pass) => {\n const userObject = { user: username, hash: sha256(pass).toString().toLowerCase() };\n document.cookie = `authenticationToken=${generateUserToken(userObject)}; max-age=600`;\n localStorage.setItem(localStorageKeys.USERNAME, username);\n};\n\nexport const logout = () => {\n document.cookie = 'authenticationToken=null';\n localStorage.removeItem(localStorageKeys.USERNAME);\n};\n\n/**\n * Checks if the current user has admin privileges.\n * If no users are setup, then function will always return true\n * But if auth is configured, then will verify user is correctly\n * logged in and then check weather they are of type admin, and\n * return false if any conditions fail\n * @param users[] : Array of users\n * @returns Boolean : True if admin privileges\n */\nexport const isUserAdmin = (users) => {\n if (!users || users.length === 0) return true; // Authentication not setup\n if (!isLoggedIn(users)) return false; // Auth setup, but not signed in as a valid user\n const currentUser = localStorage[localStorageKeys.USERNAME];\n let isAdmin = false;\n users.forEach((user) => {\n if (user.user === currentUser) {\n if (user.type === 'admin') isAdmin = true;\n }\n });\n return isAdmin;\n};\n","\n \n \n
\n \n
\n
Save Location: \n
\n \n Apply Locally \n
\n
\n \n Write Changes to Config File \n
\n
\n
Save Changes \n \n
\n
\n \n {{error.msg}}\n \n \n Config is Valid\n \n \n \n \n
\n {{saveSuccess ? 'Task Complete' : 'Task Failed'}}\n
\n
{{ responseText }}
\n
\n The app should rebuild automatically.\n You will need to refresh the page for changes to take effect.\n
\n
\n It is recommend to backup your existing confiruration before making any changes.\n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./JsonEditor.vue?vue&type=template&id=2ec9c242&\"\nimport script from \"./JsonEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./JsonEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./JsonEditor.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"json-editor-outer\"},[_c('prism-editor',{staticClass:\"my-editor\",attrs:{\"highlight\":_vm.highlighter,\"line-numbers\":\"\"},model:{value:(_vm.customCss),callback:function ($$v) {_vm.customCss=$$v},expression:\"customCss\"}}),_c('button',{staticClass:\"save-button\",on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\"Save Changes\")]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"quick-note\"},[_c('b',[_vm._v(\"Note\")]),_vm._v(\": You will need to refresh the page for your changes to take effect. Styles overides are only stored locally, so it is reccomended to make a copy of your CSS. To remove all custom styles, delete the contents and hit Save Changes \")])}]\n\nexport { render, staticRenderFns }","\n \n
\n
Save Changes \n
\n Note : You will need to refresh the page for your changes to take effect.\n Styles overides are only stored locally, so it is reccomended to make a copy of your CSS.\n To remove all custom styles, delete the contents and hit Save Changes\n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomCss.vue?vue&type=template&id=816a95e4&\"\nimport script from \"./CustomCss.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomCss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomCss.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.modalName,\"resizable\":true,\"width\":\"50%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"}},[_c('div',{staticClass:\"rebuild-app-container\"},[_c('h3',{staticClass:\"rebuild-app-title\"},[_vm._v(\"Rebuild Application\")]),_c('p',[_vm._v(\" A rebuild is required for changes written to the conf.yml file to take effect. This should happen automatically, but if it hasn't, you can manually trigger it here.\"),_c('br'),_vm._v(\" This is not required for modifications stored locally. \")]),_c('Button',{attrs:{\"click\":_vm.startBuild,\"disabled\":_vm.loading || !_vm.allowRebuild,\"disallow\":!_vm.allowRebuild},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(_vm._s(_vm.loading ? 'Building...' : 'Start Build'))]},proxy:true},{key:\"icon\",fn:function(){return [_c('RebuildIcon')]},proxy:true}])}),(!_vm.allowRebuild)?_c('div',[_c('p',{staticClass:\"disallow-rebuild-msg\"},[_vm._v(\"You do no have permission to trigger this action\")])]):_vm._e(),(_vm.loading)?_c('div',{staticClass:\"loader-info\"},[_c('LoadingAnimation',{staticClass:\"loader\"}),_c('p',{staticClass:\"loading-message\"},[_vm._v(\"This may take a few minutes...\")])],1):_vm._e(),(_vm.success !== undefined)?_c('div',{staticClass:\"rebuild-response\"},[(_vm.success)?_c('p',{staticClass:\"response-status success\"},[_vm._v(\"✅ Build completed succesfully\")]):_c('p',{staticClass:\"response-status failure\"},[_vm._v(\"❌ Build operation failed\")]),_c('pre',{staticClass:\"output\"},[_c('code',[_vm._v(_vm._s(_vm.output || _vm.error))])]),_c('p',{staticClass:\"rebuild-message\"},[_vm._v(_vm._s(_vm.message))]),(_vm.success)?_c('p',{staticClass:\"rebuild-message\"},[_vm._v(\" A page reload is now required for changes to take effect \")]):_vm._e(),(_vm.success)?_c('Button',{attrs:{\"click\":_vm.refreshPage},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(\"Reload Page\")]},proxy:true},{key:\"icon\",fn:function(){return [_c('ReloadIcon')]},proxy:true}],null,false,1379687826)}):_vm._e()],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{class:_vm.disallow ? 'disallowed': '',attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.click()}}},[_vm._t(\"default\"),_vm._t(\"text\"),_vm._t(\"icon\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=ec408f00&scoped=true&\"\nimport script from \"./Button.vue?vue&type=script&lang=js&\"\nexport * from \"./Button.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Button.vue?vue&type=style&index=0&id=ec408f00&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ec408f00\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
Rebuild Application \n
\n A rebuild is required for changes written to the conf.yml file to take effect.\n This should happen automatically, but if it hasn't, you can manually trigger it here. \n This is not required for modifications stored locally.\n
\n
\n {{ loading ? 'Building...' : 'Start Build' }} \n \n \n
\n
You do no have permission to trigger this action
\n
\n \n
\n
\n
This may take a few minutes...
\n
\n \n
\n
✅ Build completed succesfully
\n
❌ Build operation failed
\n
{{ output || error }}
\n
{{ message }}
\n
\n A page reload is now required for changes to take effect\n
\n
\n Reload Page \n \n \n
\n
\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RebuildApp.vue?vue&type=template&id=4d488482&scoped=true&\"\nimport script from \"./RebuildApp.vue?vue&type=script&lang=js&\"\nexport * from \"./RebuildApp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RebuildApp.vue?vue&type=style&index=0&id=4d488482&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d488482\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
Configuration Options \n
\n \n \n Download Config\n \n \n
\n \n Edit Config\n \n
\n \n Edit Custom CSS\n \n
\n \n {{backupId ? 'Edit Cloud Sync' : 'Enable Cloud Sync'}}\n \n
\n \n Rebuild Application\n \n
\n \n Reset Local Settings\n \n
\n \n App Info\n \n
\n You are using a very small screen, and some screens in this menu may not be optimal\n
\n
Dashy version {{ appVersion }}
\n
\n \n It is recommend to make a backup of your conf.yml file before making changes.\n \n
\n
\n \n \n \n \n {{yaml}} \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigContainer.vue?vue&type=template&id=3cfec9e9&scoped=true&\"\nimport script from \"./ConfigContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfigContainer.vue?vue&type=style&index=0&id=3cfec9e9&scoped=true&lang=scss&\"\nimport style1 from \"./ConfigContainer.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3cfec9e9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cloud-backup-restore-wrapper\"},[_vm._m(0),_c('div',{staticClass:\"section backup-section\"},[(_vm.backupId)?_c('h3',[_vm._v(\"Update Backup\")]):_c('h3',[_vm._v(\"Make a Backup\")]),_c('Input',{attrs:{\"name\":\"backup-password\",\"label\":_vm.backupId ? 'Enter your Password' : 'Choose a Password',\"layout\":\"vertical\",\"type\":\"password\"},model:{value:(_vm.backupPassword),callback:function ($$v) {_vm.backupPassword=$$v},expression:\"backupPassword\"}}),_c('Button',{attrs:{\"click\":_vm.checkPass},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(_vm._s(_vm.backupId ? 'Update Backup' : 'Backup'))]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconBackup')]},proxy:true}])}),(_vm.backupId)?_c('div',{staticClass:\"results-view\"},[_c('span',{staticClass:\"backup-id-label\"},[_vm._v(\"Your Backup ID: \")]),_c('pre',{staticClass:\"backup-id-value\"},[_vm._v(_vm._s(_vm.backupId))]),_c('span',{staticClass:\"backup-id-note\"},[_vm._v(\" This is used to restore from backups later. So keep it, along with your password somewhere safe. \")])]):_vm._e()],1),_c('div',{staticClass:\"section restore-section\"},[_c('h3',[_vm._v(\"Restore a Backup\")]),_c('Input',{attrs:{\"name\":\"restore-code\",\"label\":\"Restore ID\"},model:{value:(_vm.restoreCode),callback:function ($$v) {_vm.restoreCode=$$v},expression:\"restoreCode\"}}),_c('Input',{attrs:{\"name\":\"restore-password\",\"label\":\"Password\",\"type\":\"password\"},model:{value:(_vm.restorePassword),callback:function ($$v) {_vm.restorePassword=$$v},expression:\"restorePassword\"}}),_c('Button',{attrs:{\"click\":_vm.restoreBackup},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(\"Restore\")]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconRestore')]},proxy:true}])})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section intro\"},[_c('h2',[_vm._v(\"Cloud Backup & Restore\")]),_c('p',{staticClass:\"intro\"},[_vm._v(\" Cloud backup and restore is an optional feature, that enables you to upload your config to the internet, and then restore it on any other device or instance of Dashy. \"),_c('br'),_c('br'),_vm._v(\" All data is fully end-to-end encrypted with AES, using your password as the key. \"),_c('br'),_vm._v(\" For more info, please see the \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md\"}},[_vm._v(\"docs\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"input-container \" + _vm.layout)},[(_vm.label)?_c('label',{attrs:{\"for\":\"name\"}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('input',{attrs:{\"type\":_vm.type,\"name\":_vm.name,\"id\":_vm.name,\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.updateValue($event.target.value)}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{label}} \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Input.vue?vue&type=template&id=5df13ed2&scoped=true&\"\nimport script from \"./Input.vue?vue&type=script&lang=js&\"\nexport * from \"./Input.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Input.vue?vue&type=style&index=0&id=5df13ed2&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5df13ed2\",\n null\n \n)\n\nexport default component.exports","import sha256 from 'crypto-js/sha256';\nimport aes from 'crypto-js/aes';\nimport Utf8 from 'crypto-js/enc-utf8';\nimport axios from 'axios';\nimport { backupEndpoint } from '@/utils/defaults';\n\nconst ENDPOINT = backupEndpoint; // 'https://dashy-sync-service.as93.net';\n\n/* Stringify, encrypt and encode data for transmission */\nconst encryptData = (data, password) => {\n const stringifiedData = JSON.stringify(data);\n const encryptedData = aes.encrypt(stringifiedData, password);\n return encryptedData.toString();\n};\n\n/* Decrypt, decode and parse received data */\nconst decryptData = (data, password) => aes.decrypt(data, password).toString(Utf8);\n\n/* Returns a splice of the hash of the users password */\nconst makeSubHash = (pass) => sha256(pass).toString().slice(0, 14);\n\n/* Makes the backup */\nexport const backup = (data, password) => axios.post(ENDPOINT, {\n userData: encryptData(data, password),\n subHash: makeSubHash(password),\n});\n\n/* Updates and existing backup */\nexport const update = (data, password, backupId) => axios.put(ENDPOINT, {\n backupId,\n userData: encryptData(data, password),\n subHash: makeSubHash(password),\n});\n\nconst encodeGetParams = p => Object.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&');\n\n/* Restores the backup */\nexport const restore = (backupId, password) => {\n const params = encodeGetParams({ backupId, subHash: makeSubHash(password) });\n const url = `${ENDPOINT}/?${params}`;\n return new Promise((resolve, reject) => {\n axios.get(url).then((response) => {\n if (!response.data || response.data.errorMsg) {\n reject(response.data.errorMsg || 'Error');\n } else {\n const decryptedData = decryptData(response.data.userData.userData, password);\n try { resolve(JSON.parse(decryptedData)); } catch (e) { reject(e); }\n }\n });\n });\n};\n","\n \n
\n
Cloud Backup & Restore \n
\n Cloud backup and restore is an optional feature, that enables you to upload your\n config to the internet, and then restore it on any other device or instance of Dashy.\n \n All data is fully end-to-end encrypted with AES, using your password as the key.\n \n For more info, please see the\n docs \n
\n
\n
\n
Update Backup \n
Make a Backup \n
\n
\n {{backupId ? 'Update Backup' : 'Backup'}} \n \n \n
\n
Your Backup ID: \n
{{ backupId }} \n
\n This is used to restore from backups later.\n So keep it, along with your password somewhere safe.\n \n
\n
\n
\n
Restore a Backup \n \n \n \n Restore \n \n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CloudBackupRestore.vue?vue&type=template&id=763657f4&scoped=true&\"\nimport script from \"./CloudBackupRestore.vue?vue&type=script&lang=js&\"\nexport * from \"./CloudBackupRestore.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CloudBackupRestore.vue?vue&type=style&index=0&id=763657f4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"763657f4\",\n null\n \n)\n\nexport default component.exports","\n \n \n
Config \n
\n \n \n
\n\n \n
\n \n \n\n \n
\n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigLauncher.vue?vue&type=template&id=383db9de&scoped=true&\"\nimport script from \"./ConfigLauncher.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigLauncher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfigLauncher.vue?vue&type=style&index=0&id=383db9de&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"383db9de\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.themes)?_c('div',{staticClass:\"theme-selector-section\"},[_c('span',{staticClass:\"theme-label\"},[_vm._v(\"Theme\")]),_c('v-select',{staticClass:\"theme-dropdown\",attrs:{\"options\":_vm.themeNames,\"tabindex\":-2},model:{value:(_vm.selectedTheme),callback:function ($$v) {_vm.selectedTheme=$$v},expression:\"selectedTheme\"}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * A function for pre-loading, and easy switching of external stylesheets\n * External CSS is preloaded to avoid FOUC\n */\nconst ThemeHelper = function th() {\n const preloadTheme = (href) => {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n document.head.appendChild(link);\n return new Promise((resolve, reject) => {\n link.onload = e => {\n const { sheet } = e.target;\n sheet.disabled = true;\n resolve(sheet);\n };\n link.onerror = reject;\n });\n };\n\n const selectTheme = (themes, name) => {\n const t = themes; // To avoid ESLint complaining about mutating a param\n if (name && !themes[name]) throw new Error(`Theme: '${name}' does not exist.`);\n Object.keys(themes).forEach(n => { t[n].disabled = (n !== name); });\n };\n\n const themes = {};\n\n return {\n add(name, href) { return preloadTheme(href).then(s => { themes[name] = s; }); },\n set theme(name) { selectTheme(themes, name); },\n get theme() { return Object.keys(themes).find(n => !themes[n].disabled); },\n };\n};\n\nexport default ThemeHelper;\n","\n \n Theme \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemeSelector.vue?vue&type=template&id=423b52b4&\"\nimport script from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThemeSelector.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"options-label\"},[_vm._v(\"Layout\")]),_c('div',{staticClass:\"display-options\"},[_c('IconDeafault',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Auto')),expression:\"tooltip('Auto')\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'auto' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('auto')}}}),_c('IconHorizontal',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Horizontal')),expression:\"tooltip('Horizontal')\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'horizontal' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('horizontal')}}}),_c('IconVertical',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Vertical')),expression:\"tooltip('Vertical')\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'vertical' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('vertical')}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
Layout \n
\n \n \n \n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutSelector.vue?vue&type=template&id=c819d738&scoped=true&\"\nimport script from \"./LayoutSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LayoutSelector.vue?vue&type=style&index=0&id=c819d738&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c819d738\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"options-label\"},[_vm._v(\"Icon Size\")]),_c('div',{staticClass:\"display-options\"},[_c('IconSmall',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Small')),expression:\"tooltip('Small')\"}],class:(\"layout-icon \" + (_vm.iconSize === 'small' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('small')}}}),_c('IconMedium',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Medium')),expression:\"tooltip('Medium')\"}],class:(\"layout-icon \" + (_vm.iconSize === 'medium' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('medium')}}}),_c('IconLarge',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Large')),expression:\"tooltip('Large')\"}],class:(\"layout-icon \" + (_vm.iconSize === 'large' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('large')}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
Icon Size \n
\n \n \n \n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemSizeSelector.vue?vue&type=template&id=58966274&scoped=true&\"\nimport script from \"./ItemSizeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemSizeSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemSizeSelector.vue?vue&type=style&index=0&id=58966274&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58966274\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"display-options\"},[_c('IconLogout',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Sign Out')),expression:\"tooltip('Sign Out')\"}],staticClass:\"layout-icon\",attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.logout()}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppButtons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppButtons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppButtons.vue?vue&type=template&id=d69dca9c&scoped=true&\"\nimport script from \"./AppButtons.vue?vue&type=script&lang=js&\"\nexport * from \"./AppButtons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppButtons.vue?vue&type=style&index=0&id=d69dca9c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d69dca9c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slide-fade\"}},[(!_vm.shouldHide)?_c('div',{staticClass:\"kb-sc-info\"},[_c('h5',[_vm._v(\"There are keyboard shortcuts! ⌨️🙌\")]),_c('div',{staticClass:\"close\",attrs:{\"title\":\"Hide forever [Esc]\"},on:{\"click\":function($event){return _vm.hideWelcomeHelper()}}},[_vm._v(\"x\")]),_c('p',{attrs:{\"title\":\"Press [Esc] to hide this tip forever. See there's even a shortcut for that! 🚀\"}},[_vm._v(\" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy 🥳 \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
There are keyboard shortcuts! ⌨️🙌 \n
x
\n
\n Just start typing to filter. Then use the tab key to cycle through results,\n and press enter to launch the selected item, or alt + enter to open in a modal.\n You can hit Esc at anytime to clear the search. Easy 🥳\n
\n
\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KeyboardShortcutInfo.vue?vue&type=template&id=c5f17d9a&scoped=true&\"\nimport script from \"./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KeyboardShortcutInfo.vue?vue&type=style&index=0&id=c5f17d9a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c5f17d9a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.modalName,\"resizable\":true,\"width\":\"40%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"}},[_c('div',{staticClass:\"about-modal\"},[_c('router-link',{attrs:{\"to\":\"/about\"}},[_c('h2',[_vm._v(\"Dashy V\"+_vm._s(_vm.appVersion))])]),_c('h3',[_vm._v(\"Service Worker Status\")]),_c('code',{domProps:{\"innerHTML\":_vm._s(_vm.serviceWorkerInfo)}},[_vm._v(_vm._s(_vm.serviceWorkerInfo))]),_c('br'),_c('h3',[_vm._v(\"Config Validation Status\")]),_c('code',[_vm._v(_vm._s(_vm.getIsConfigValidStatus()))]),_c('br'),_c('h3',[_vm._v(\"Help & Support\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnqPR\"}},[_vm._v(\"Report a Bug\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnDxL\"}},[_vm._v(\"Request a Feature\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnDxs\"}},[_vm._v(\"Ask a Question\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnDxn\"}},[_vm._v(\"Leave Feedback\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/discussions\"}},[_vm._v(\"Join the Discussion\")])])]),_c('p',{staticClass:\"small-note\"},[_vm._v(\"Please include the following info in your bug report:\")]),_c('a',{on:{\"click\":function($event){_vm.showInfo = !_vm.showInfo}}},[_vm._v(_vm._s(_vm.showInfo ? 'Hide' : 'Show')+\" system info\")]),(_vm.showInfo)?_c('div',{staticClass:\"system-info\"},[_c('h4',[_vm._v(\"System Info\")]),_c('code',[_c('b',[_vm._v(\"Dashy Version:\")]),_vm._v(\" V \"+_vm._s(_vm.appVersion))]),_c('br'),_c('code',[_c('b',[_vm._v(\"Browser:\")]),_vm._v(\" \"+_vm._s(_vm.systemInfo.browser))]),_c('br'),_c('code',[_c('b',[_vm._v(\"Is Mobile?\")]),_vm._v(\" \"+_vm._s(_vm.systemInfo.isMobile ? 'Yes' : 'No'))]),_c('br'),_c('code',[_c('b',[_vm._v(\"OS:\")]),_vm._v(\" \"+_vm._s(_vm.systemInfo.os))]),_c('br')]):_vm._e(),_c('h3',[_vm._v(\"About\")]),_c('p',{staticClass:\"about-text\"},[_vm._v(\" Documentation and Source Code available on \"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93/dashy\"}},[_vm._v(\"GitHub\")])]),_c('h3',[_vm._v(\"License\")]),_c('code',[_vm._v(\"Licensed under MIT X11. Copyright © 2021\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n Dashy V{{ appVersion }} \n \n
Service Worker Status \n
{{ serviceWorkerInfo }}
\n
\n
Config Validation Status \n
{{getIsConfigValidStatus()}}
\n
\n
Help & Support \n
\n
Please include the following info in your bug report:
\n
{{ showInfo ? 'Hide' : 'Show'}} system info \n
\n
System Info \n Dashy Version: V {{appVersion}}
\n Browser: {{systemInfo.browser}}
\n Is Mobile? {{systemInfo.isMobile ? 'Yes' : 'No'}}
\n OS: {{systemInfo.os}}
\n \n
About \n
\n Documentation and Source Code available on\n GitHub \n
\n
License \n
Licensed under MIT X11. Copyright © 2021
\n
\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppInfoModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppInfoModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppInfoModal.vue?vue&type=template&id=40e473c3&scoped=true&\"\nimport script from \"./AppInfoModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AppInfoModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppInfoModal.vue?vue&type=style&index=0&id=40e473c3&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40e473c3\",\n null\n \n)\n\nexport default component.exports","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsContainer.vue?vue&type=template&id=185e0654&scoped=true&\"\nimport script from \"./SettingsContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsContainer.vue?vue&type=style&index=0&id=185e0654&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"185e0654\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Collapsable',{attrs:{\"title\":_vm.title,\"icon\":_vm.icon,\"uniqueKey\":_vm.groupId,\"collapsed\":_vm.displayData.collapsed,\"cols\":_vm.displayData.cols,\"rows\":_vm.displayData.rows,\"color\":_vm.displayData.color,\"customStyles\":_vm.displayData.customStyles}},[(!_vm.items || _vm.items.length < 1)?_c('div',{staticClass:\"no-items\"},[_vm._v(\" No Items to Show Yet \")]):_c('div',{class:(\"there-are-items \" + (_vm.isGridLayout? 'item-group-grid': '')),style:(_vm.gridStyle)},[_vm._l((_vm.items),function(item,index){return _c('Item',{key:(index + \"_\" + (_vm.makeId(item.title))),attrs:{\"id\":(index + \"_\" + (_vm.makeId(item.title))),\"url\":item.url,\"title\":item.title,\"description\":item.description,\"icon\":item.icon,\"target\":item.target,\"color\":item.color,\"backgroundColor\":item.backgroundColor,\"itemSize\":_vm.newItemSize,\"enableStatusCheck\":_vm.shouldEnableStatusCheck(item.statusCheck),\"statusCheckInterval\":_vm.getStatusCheckInterval()},on:{\"itemClicked\":function($event){return _vm.$emit('itemClicked')},\"triggerModal\":_vm.triggerModal}})}),_c('div',{ref:\"modalContainer\"})],2),_c('IframeModal',{ref:(\"iframeModal-\" + _vm.groupId),attrs:{\"name\":(\"iframeModal-\" + _vm.groupId)},on:{\"closed\":function($event){return _vm.$emit('itemClicked')},\"modalChanged\":_vm.modalChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getTooltipOptions()),expression:\"getTooltipOptions()\"}],class:(\"item \" + (!_vm.icon? 'short': '') + \" size-\" + _vm.itemSize),style:((\"--open-icon: \" + (_vm.getUnicodeOpeningIcon()) + \"; \" + _vm.customStyles)),attrs:{\"href\":_vm.target !== 'iframe' ? _vm.url : '#',\"target\":_vm.target === 'newtab' ? '_blank' : '',\"rel\":\"noopener noreferrer\",\"tabindex\":\"0\",\"id\":(\"link-\" + _vm.id)},on:{\"click\":_vm.itemOpened}},[_c('div',{class:(\"tile-title \" + (!_vm.icon? 'bounce': '')),attrs:{\"id\":(\"tile-\" + _vm.id)}},[_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.title))]),_c('p',{staticClass:\"description\"},[_vm._v(_vm._s(_vm.description))])]),_c('Icon',{staticClass:\"bounce\",style:(_vm.customStyles),attrs:{\"icon\":_vm.icon,\"url\":_vm.url,\"size\":_vm.itemSize,\"color\":_vm.color}}),_c('ItemOpenMethodIcon',{staticClass:\"opening-method-icon\",attrs:{\"isSmall\":!_vm.icon,\"openingMethod\":_vm.target,\"position\":_vm.itemSize === 'medium'? 'bottom right' : 'top right'}}),(_vm.enableStatusCheck)?_c('StatusIndicator',{staticClass:\"status-indicator\",attrs:{\"statusSuccess\":_vm.statusResponse ? _vm.statusResponse.successStatus : undefined,\"statusText\":_vm.statusResponse ? _vm.statusResponse.message : undefined}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-icon\"},[(_vm.iconType === 'font-awesome')?_c('i',{class:(_vm.icon + \" \" + _vm.size)}):(_vm.icon)?_c('img',{class:(\"tile-icon \" + _vm.size + \" \" + (_vm.broken ? 'broken' : '')),attrs:{\"src\":_vm.iconPath},on:{\"error\":_vm.imageNotFound}}):_vm._e(),(_vm.broken)?_c('BrokenImage',{staticClass:\"missing-image\"}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint no-console: [\"error\", { allow: [\"warn\", \"error\"] }] */\n\n/**\n * Function called when an error happens\n * If you wish to use an error logging service, put code for it here\n */\nconst ErrorHandler = function handler(msg) {\n console.warn(msg);\n};\n\nexport default ErrorHandler;\n","\n \n
\n
\n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemIcon.vue?vue&type=template&id=4d17ab48&\"\nimport script from \"./ItemIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemIcon.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.makeClass(_vm.position, _vm.isSmall, _vm.isTransparent)},[(_vm.openingMethod === 'newtab')?_c('NewTabOpenIcon'):(_vm.openingMethod === 'sametab')?_c('SameTabOpenIcon'):(_vm.openingMethod === 'iframe')?_c('IframeOpenIcon'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemOpenMethodIcon.vue?vue&type=template&id=17201835&scoped=true&\"\nimport script from \"./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemOpenMethodIcon.vue?vue&type=style&index=0&id=17201835&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17201835\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:({\n content: _vm.statusText || _vm.otherStatusText, classes: ['status-tooltip', (\"tip-\" + (_vm.color()))] }),expression:\"{\\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }\"}],staticClass:\"indicator\",on:{\"click\":function($event){return _vm.showToast()}}},[_c('div',{class:(\"dot dot-\" + (_vm.color()))},[_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('span')])}]\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusIndicator.vue?vue&type=template&id=46972ad8&scoped=true&\"\nimport script from \"./StatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusIndicator.vue?vue&type=style&index=0&id=46972ad8&scoped=true&lang=scss&\"\nimport style1 from \"./StatusIndicator.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46972ad8\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
{{ title }} \n
{{ description }}
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=69de2a12&ref=container&\"\nimport script from \"./Item.vue?vue&type=script&lang=js&\"\nexport * from \"./Item.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./Item.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"collapsable \" + (_vm.checkSpanNum(_vm.cols, 'col')) + \" \" + (_vm.checkSpanNum(_vm.rows, 'row'))),style:(((_vm.color ? 'background: '+_vm.color : '') + \"; \" + (_vm.sanitizeCustomStyles(_vm.customStyles)) + \";\"))},[_c('input',{staticClass:\"toggle\",attrs:{\"id\":(\"collapsible-\" + _vm.uniqueKey),\"type\":\"checkbox\",\"tabIndex\":\"-1\"},domProps:{\"checked\":_vm.getCollapseState()},on:{\"change\":_vm.collapseChanged}}),_c('label',{staticClass:\"lbl-toggle\",attrs:{\"for\":(\"collapsible-\" + _vm.uniqueKey),\"tabindex\":\"-1\"}},[(_vm.icon)?_c('Icon',{staticClass:\"section-icon\",attrs:{\"icon\":_vm.icon,\"size\":\"small\",\"url\":_vm.title}}):_vm._e(),_c('h3',[_vm._v(_vm._s(_vm.title))])],1),_c('div',{staticClass:\"collapsible-content\"},[_c('div',{staticClass:\"content-inner\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n
\n \n {{ title }} \n \n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Collapsable.vue?vue&type=template&id=33a8b630&scoped=true&\"\nimport script from \"./Collapsable.vue?vue&type=script&lang=js&\"\nexport * from \"./Collapsable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Collapsable.vue?vue&type=style&index=0&id=33a8b630&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33a8b630\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.name,\"resizable\":true,\"width\":\"80%\",\"height\":\"80%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.modalClosed()}}},[_c('div',{attrs:{\"slot\":\"top-right\"},on:{\"click\":function($event){return _vm.hide()}},slot:\"top-right\"},[_vm._v(\"Close\")]),_c('a',{staticClass:\"close-button\",attrs:{\"title\":\"Close\"},on:{\"click\":function($event){return _vm.hide()}}},[_vm._v(\"x\")]),(_vm.url)?_c('iframe',{staticClass:\"frame\",attrs:{\"src\":_vm.url},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.close.apply(null, arguments)}}}):_c('div',{staticClass:\"no-url\"},[_vm._v(\"No URL Specified\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n Close
\n x \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IframeModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IframeModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IframeModal.vue?vue&type=template&id=08cda45c&\"\nimport script from \"./IframeModal.vue?vue&type=script&lang=js&\"\nexport * from \"./IframeModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IframeModal.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n \n No Items to Show Yet\n
\n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemGroup.vue?vue&type=template&id=29d94632&scoped=true&\"\nimport script from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemGroup.vue?vue&type=style&index=0&id=29d94632&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29d94632\",\n null\n \n)\n\nexport default component.exports","\n \n \n
\n \n
\n \n
\n \n
\n {{searchValue ? 'No Search Results' : 'No Data Configured'}}\n
\n
\n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=5ca97887&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=5ca97887&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ca97887\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-page\"},[_c('form',{staticClass:\"login-form\"},[_c('h2',{staticClass:\"login-title\"},[_vm._v(\"Dashy\")]),_c('Input',{staticClass:\"login-field username\",attrs:{\"label\":\"Username\",\"type\":\"text\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('Input',{staticClass:\"login-field password\",attrs:{\"label\":\"Password\",\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('Button',{staticClass:\"login-button\",attrs:{\"click\":_vm.submitLogin}},[_vm._v(\"Login\")]),_c('transition',{attrs:{\"name\":\"bounce\"}},[_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],class:(\"login-error-message \" + _vm.status)},[_vm._v(_vm._s(_vm.message))])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=e5594ddc&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"work-space\"},[_c('SideBar',{attrs:{\"sections\":_vm.sections},on:{\"launch-app\":_vm.launchApp}}),_c('WebContent',{attrs:{\"url\":_vm.url}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"side-bar\"},_vm._l((_vm.sections),function(section,index){return _c('div',{key:index},[_c('div',{staticClass:\"side-bar-item-container\",on:{\"click\":function($event){return _vm.openSection(index)}}},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":section.icon,\"title\":section.name}})],1),_c('transition',{attrs:{\"name\":\"slide\"}},[(_vm.isOpen[index])?_c('SideBarSection',{attrs:{\"items\":section.items},on:{\"launch-app\":_vm.launchApp}}):_vm._e()],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],class:(\"side-bar-item \" + (_vm.icon ? 'w-icon' : 'text-only')),on:{\"click\":function($event){return _vm.itemClicked()}}},[(_vm.icon)?_c('Icon',{attrs:{\"icon\":_vm.icon,\"size\":\"small\",\"url\":_vm.url}}):_c('p',{staticClass:\"small-title\"},[_vm._v(_vm._s(_vm.title))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarItem.vue?vue&type=template&id=d979f4fe&scoped=true&\"\nimport script from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d979f4fe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-side-bar\"},_vm._l((_vm.items),function(item,index){return _c('div',{key:index},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":item.icon,\"title\":item.title,\"url\":item.url},on:{\"launch-app\":_vm.launchApp}})],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarSection.vue?vue&type=template&id=56ddb963&scoped=true&\"\nimport script from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56ddb963\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBar.vue?vue&type=template&id=31476576&scoped=true&\"\nimport script from \"./SideBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31476576\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"web-content\"},[_c('iframe',{attrs:{\"src\":_vm.url}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebContent.vue?vue&type=template&id=a2564c04&scoped=true&\"\nimport script from \"./WebContent.vue?vue&type=script&lang=js&\"\nexport * from \"./WebContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WebContent.vue?vue&type=style&index=0&id=a2564c04&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a2564c04\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
\n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Workspace.vue?vue&type=template&id=6136c26a&scoped=true&\"\nimport script from \"./Workspace.vue?vue&type=script&lang=js&\"\nexport * from \"./Workspace.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Workspace.vue?vue&type=style&index=0&id=6136c26a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6136c26a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',[_c('code',[_vm._v(_vm._s(_vm.jsonParser(_vm.config)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n {{ jsonParser(config) }}
\n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadConfig.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadConfig.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadConfig.vue?vue&type=template&id=33cd2d90&scoped=true&\"\nimport script from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33cd2d90\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Router from 'vue-router';\n\nimport Home from '@/views/Home.vue';\nimport Login from '@/views/Login.vue';\nimport Workspace from '@/views/Workspace.vue';\nimport DownloadConfig from '@/views/DownloadConfig.vue';\nimport { isLoggedIn } from '@/utils/Auth';\nimport { appConfig, pageInfo, sections } from '@/utils/ConfigAccumalator';\nimport { metaTagData } from '@/utils/defaults';\n\nVue.use(Router);\n\nconst isAuthenticated = () => {\n const users = appConfig.auth;\n return (!users || isLoggedIn(users));\n};\n\nconst router = new Router({\n routes: [\n {\n path: '/',\n name: 'home',\n component: Home,\n props: {\n appConfig,\n pageInfo,\n sections,\n },\n meta: {\n title: pageInfo.title || 'Home Page',\n metaTags: metaTagData,\n },\n },\n {\n path: '/workspace',\n name: 'workspace',\n component: Workspace,\n props: { appConfig, pageInfo, sections },\n meta: {\n title: pageInfo.title || 'Dashy Workspace',\n metaTags: metaTagData,\n },\n },\n {\n path: '/login',\n name: 'login',\n component: Login,\n props: {\n appConfig,\n },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated()) router.push({ path: '/' });\n next();\n },\n },\n {\n path: '/about',\n name: 'about',\n component: () => import(/* webpackChunkName: \"about\" */ './views/About.vue'),\n },\n {\n path: '/download',\n name: 'download',\n component: DownloadConfig,\n props: { appConfig, pageInfo, sections },\n meta: {\n title: pageInfo.title || 'Download Dashy Config',\n metaTags: metaTagData,\n },\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (to.name !== 'login' && !isAuthenticated()) next({ name: 'login' });\n else next();\n});\n\nconst defaultTitle = 'Dashy';\nrouter.afterEach((to) => {\n Vue.nextTick(() => {\n document.title = to.meta.title || defaultTitle;\n });\n});\n\nexport default router;\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker';\nimport { sessionStorageKeys } from './utils/defaults';\nimport conf from '../public/conf.yml';\n\n/* Sets a local storage item with the state from the SW lifecycle */\nconst setSwStatus = (swStateToSet) => {\n const initialSwState = {\n ready: false,\n registered: false,\n cached: false,\n updateFound: false,\n updated: false,\n offline: false,\n error: false,\n devMode: false,\n disabledByUser: false,\n };\n const sessionData = sessionStorage[sessionStorageKeys.SW_STATUS];\n const currentSwState = sessionData ? JSON.parse(sessionData) : initialSwState;\n try {\n const newSwState = { ...currentSwState, ...swStateToSet };\n sessionStorage.setItem(sessionStorageKeys.SW_STATUS, JSON.stringify(newSwState));\n } catch (e) {\n console.warn('Error setting SW data', e);\n }\n};\n\n/**\n * Checks if service workers should be enabled\n * Disable if not running in production\n * Or disable if user specified to disable\n */\nconst shouldEnableServiceWorker = () => {\n let shouldEnable = true;\n if (conf && conf.appConfig) { // Check if app Config available\n if (conf.appConfig.disableServiceWorker) { // Disable if user requested\n shouldEnable = false;\n setSwStatus({ disabledByUser: true });\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n shouldEnable = false; // Disable if not in production\n setSwStatus({ devMode: true });\n }\n return shouldEnable;\n};\n\nconst registerServiceWorker = () => {\n if (shouldEnableServiceWorker()) {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n setSwStatus({ ready: true });\n console.log(\n 'App is being served from cache by a service worker.\\n'\n + 'For more details, visit https://goo.gl/AFskqB',\n );\n },\n registered() {\n setSwStatus({ registered: true });\n console.log('Service worker has been registered.');\n },\n cached() {\n setSwStatus({ cached: true });\n console.log('Content has been cached for offline use.');\n },\n updatefound() {\n setSwStatus({ updateFound: true });\n console.log('New content is downloading.');\n },\n updated() {\n setSwStatus({ updated: true });\n console.log('New content is available; please refresh.');\n },\n offline() {\n setSwStatus({ offline: true });\n console.log('No internet connection found. App is running in offline mode.');\n },\n error(error) {\n setSwStatus({ error: true });\n console.error('Error during service worker registration:', error);\n },\n });\n }\n};\n\nexport default registerServiceWorker;\n","import Vue from 'vue';\n\n/* Import component Vue plugins, used throughout the app */\nimport VTooltip from 'v-tooltip'; // A Vue directive for Popper.js, tooltip component\nimport VModal from 'vue-js-modal'; // Modal component\nimport VSelect from 'vue-select'; // Select dropdown component\nimport VTabs from 'vue-material-tabs'; // Tab view component, used on the config page\nimport Toasted from 'vue-toasted'; // Toast component, used to show confirmation notifications\n\nimport { toastedOptions } from './utils/defaults';\nimport Dashy from './App.vue';\nimport router from './router';\nimport registerServiceWorker from './registerServiceWorker';\n\nVue.use(VTooltip);\nVue.use(VModal);\nVue.use(VTabs);\nVue.use(Toasted, toastedOptions);\nVue.component('v-select', VSelect);\n\nVue.config.productionTip = false;\n\n// Register Service Worker\nregisterServiceWorker();\n\nnew Vue({\n router,\n render: (awesome) => awesome(Dashy),\n}).$mount('#app');\n","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sliders-h fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sliders-h\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-th-list fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"th-list\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=style&index=0&id=185e0654&scoped=true&lang=scss&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = {\n pageInfo: {\n title: 'Dashy',\n description: '',\n navLinks: [\n { title: 'Home', path: '/' },\n { title: 'Source', path: 'https://github.com/Lissy93/dashy' },\n ],\n footerText: '',\n },\n appConfig: {},\n iconSize: 'medium',\n layout: 'auto',\n theme: 'default',\n fontAwesomeKey: '0821c65656',\n faviconApi: 'faviconkit',\n builtInThemes: [\n 'callisto',\n 'thebe',\n 'dracula',\n 'material',\n 'material-dark',\n 'colorful',\n 'nord',\n 'nord-frost',\n 'minimal-dark',\n 'minimal-light',\n 'matrix',\n 'matrix-red',\n 'hacker-girl',\n 'raspberry-jam',\n 'bee',\n 'tiger',\n 'material-original',\n 'material-dark-original',\n 'vaporware',\n 'high-contrast-dark',\n 'high-contrast-light',\n ],\n visibleComponents: {\n pageTitle: true,\n navigation: true,\n searchBar: true,\n settings: true,\n footer: true,\n },\n localStorageKeys: {\n HIDE_WELCOME_BANNER: 'hideWelcomeHelpers',\n LAYOUT_ORIENTATION: 'layoutOrientation',\n COLLAPSE_STATE: 'collapseState',\n ICON_SIZE: 'iconSize',\n THEME: 'theme',\n CONF_SECTIONS: 'confSections',\n PAGE_INFO: 'pageInfo',\n APP_CONFIG: 'appConfig',\n BACKUP_ID: 'backupId',\n BACKUP_HASH: 'backupHash',\n HIDE_SETTINGS: 'hideSettings',\n USERNAME: 'username',\n },\n cookieKeys: {\n AUTH_TOKEN: 'authenticationToken',\n },\n sessionStorageKeys: {\n SW_STATUS: 'serviceWorkerStatus',\n },\n modalNames: {\n CONF_EDITOR: 'CONF_EDITOR',\n CLOUD_BACKUP: 'CLOUD_BACKUP',\n REBUILD_APP: 'REBUILD_APP',\n ABOUT_APP: 'ABOUT_APP',\n },\n topLevelConfKeys: {\n PAGE_INFO: 'pageInfo',\n APP_CONFIG: 'appConfig',\n SECTIONS: 'sections',\n },\n toastedOptions: {\n position: 'bottom-center',\n duration: 2500,\n keepOnHover: true,\n className: 'toast-message',\n iconPack: 'fontawesome',\n },\n backupEndpoint: 'https://dashy-sync-service.as93.net',\n splashScreenTime: 1900,\n metaTagData: [\n { name: 'description', content: 'A simple static homepage for you\\'re server' },\n ],\n faviconApiEndpoints: {\n mcapi: 'https://eu.mc-api.net/v3/server/favicon/$URL',\n clearbit: 'https://logo.clearbit.com/$URL',\n faviconkit: 'https://api.faviconkit.com/$URL/64',\n // favicongrabber: 'https://favicongrabber.com//api/grab/$URL',\n google: 'https://www.google.com/s2/favicons?sz=128&domain_url=$URL',\n allesedv: 'https://f1.allesedv.com/128/$URL',\n webmasterapi: 'https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL',\n },\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-times-circle fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"times-circle\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100\",\"height\":\"100\",\"preserveAspectRatio\":\"xMidYMid\"}, attrs),\n ...rest,\n },\n children.concat([_c('defs',[_c('clipPath',{attrs:{\"id\":\"a\"}},[_c('path',{attrs:{\"d\":\"M20 0h60v100H20z\"}})])]),_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"var(--primary, #00af87)\",\"stroke-width\":\"6\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"10\",\"clip-path\":\"url(#a)\",\"d\":\"M90 76.7V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5H55c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5H15c-2.7 0-5-2.2-5-5V23.3\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"translate\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"-20 0;7 0\",\"keyTimes\":\"0;1\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"0 72 125 232;0 197 125 233\",\"keyTimes\":\"0;1\"}})])])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-cloud-upload-alt fa-w-20\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"cloud-upload-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 640 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M395.5 267.5l-99-99c-4.7-4.7-12.3-4.7-17 0l-99 99c-7.6 7.6-2.2 20.5 8.5 20.5h67v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-84h67c10.7 0 16.1-12.9 8.5-20.5zm148.2-67.4C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=style&index=0&id=17201835&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppInfoModal.vue?vue&type=style&index=0&id=40e473c3&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-expand fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"expand\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-css3-alt fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fab\",\"data-icon\":\"css3-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 384 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=style&index=0&id=c819d738&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=style&index=0&id=33a8b630&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=style&index=0&id=72e6bff4&scoped=true&lang=scss&\"","module.exports = {\"pageInfo\":{\"title\":\"Dashy\",\"navLinks\":[{\"title\":\"Home\",\"path\":\"/\"},{\"title\":\"About\",\"path\":\"/about\"},{\"title\":\"Source Code\",\"path\":\"https://github.com/Lissy93/dashy\"}]},\"appConfig\":{\"theme\":\"colorful\",\"fontAwesomeKey\":\"0821c65656\"},\"sections\":[{\"name\":\"Getting Started\",\"items\":[{\"title\":\"Source\",\"description\":\"Source code and documentation on GitHub\",\"icon\":\"fab fa-github\",\"url\":\"https://github.com/Lissy93/dashy\"},{\"title\":\"Issues\",\"description\":\"View currently open issues, or raise a new one\",\"icon\":\"fas fa-bug\",\"url\":\"https://github.com/Lissy93/dashy/issues\"},{\"title\":\"Demo 1\",\"description\":\"Live Demo #1\",\"icon\":\"far fa-rocket\",\"url\":\"https://dashy-demo-1.netlify.app\"},{\"title\":\"Demo 2\",\"description\":\"Live Demo #2\",\"icon\":\"fad fa-planet-ringed\",\"url\":\"https://dashy-demo-2.netlify.app\"}]}]}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=style&index=0&id=3cfec9e9&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-expand-arrows-alt fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"expand-arrows-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M448 344v112a23.94 23.94 0 01-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 01-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0124-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0124 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=style&index=0&id=c5f17d9a&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z\"}}),_c('path',{attrs:{\"d\":\"M271.552 301.072l-77.856-46.72-41.616 15.152 10.944 30.064 27.28-9.92 82.144 49.28 97.6-65.072L480 315.088V480H32V347.2l40.8-14.848-10.928-30.048L0 324.8V512h512V292.912l-146.048-54.768z\"}}),_c('path',{attrs:{\"d\":\"M0 0v278.848l66.576-24.224-10.928-30.064L32 233.152V32h448v168.912l-114.048-42.768-94.4 62.928-77.856-46.72-47.84 17.392 10.944 30.064 33.504-12.16 82.144 49.28 97.6-65.072L512 247.088V0z\"}}),_c('path',{attrs:{\"d\":\"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=style&index=0&id=383db9de&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=style&index=0&id=4d488482&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=style&index=0&id=763657f4&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-table fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"table\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-file-download fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"file-download\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 384 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M216 236.07c0-6.63-5.37-12-12-12h-24c-6.63 0-12 5.37-12 12v84.01h-48.88c-10.71 0-16.05 12.97-8.45 20.52l72.31 71.77c4.99 4.95 13.04 4.95 18.03 0l72.31-71.77c7.6-7.54 2.26-20.52-8.45-20.52H216v-84.01zM369.83 97.98L285.94 14.1c-9-9-21.2-14.1-33.89-14.1H47.99C21.5.1 0 21.6 0 48.09v415.92C0 490.5 21.5 512 47.99 512h287.94c26.5 0 48.07-21.5 48.07-47.99V131.97c0-12.69-5.17-24.99-14.17-33.99zM255.95 51.99l76.09 76.08h-76.09V51.99zM336 464.01H47.99V48.09h159.97v103.98c0 13.3 10.7 23.99 24 23.99H336v287.95z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=style&index=0&id=68c1bd5c&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-compress-arrows-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"compress-arrows-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=style&index=0&id=46972ad8&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-download fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fal\",\"data-icon\":\"download\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h99.4L87 263.6c-25.2-25.2-7.3-68.3 28.3-68.3H168V40c0-22.1 17.9-40 40-40h96c22.1 0 40 17.9 40 40v155.3h52.7c35.6 0 53.4 43.1 28.3 68.3L368.6 320H468c24.3 0 44 19.7 44 44zm-261.7 17.7c3.1 3.1 8.2 3.1 11.3 0L402.3 241c5-5 1.5-13.7-5.7-13.7H312V40c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v187.3h-84.7c-7.1 0-10.7 8.6-5.7 13.7l140.7 140.7zM480 364c0-6.6-5.4-12-12-12H336.6l-52.3 52.3c-15.6 15.6-41 15.6-56.6 0L175.4 352H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-edit fa-w-18\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"edit\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 576 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IframeModal.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=5ca97887&lang=scss&scoped=true&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-columns fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"columns\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"}})])\n )\n }\n }\n ","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=style&index=0&id=6136c26a&scoped=true&lang=scss&\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/dashy.ec01c6d8.js b/js/dashy.ec01c6d8.js
deleted file mode 100644
index aa4ec84f..00000000
--- a/js/dashy.ec01c6d8.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(function(t){function e(e){for(var a,o,r=e[0],c=e[1],l=e[2],u=0,d=[];unew RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(t)}},O=T,E=(s("d16d"),Object(w["a"])(O,k,x,!1,null,"68c1bd5c",null)),L=E.exports,A={name:"Header",components:{PageTitle:_,Nav:L},props:{pageInfo:Object},data(){return{hiddenComponents:this.pageInfo.hiddenComponents||{},titleVisible:p["visibleComponents"].pageTitle,navVisible:p["visibleComponents"].navigation}}},N=A,z=(s("4239"),Object(w["a"])(N,g,v,!1,null,"70a33270",null)),M=z.exports,P=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.text&&""!==t.text?s("footer",{class:t.scrollVisible?"":"fixed",domProps:{innerHTML:t._s(t.text)}}):s("footer",{class:t.scrollVisible?"":"fixed"},[t._v(" Developed by "),s("a",{attrs:{href:t.authorUrl}},[t._v(t._s(t.authorName))]),t._v(". Licensed under "),s("a",{attrs:{href:t.licenseUrl}},[t._v(t._s(t.license))]),t._v(" "+t._s(t.showCopyright?"©":"")+" "+t._s(t.date)+". Get the "),s("a",{attrs:{href:t.repoUrl}},[t._v("Source Code")]),t._v(". ")])},B=[],j={name:"Footer",props:{text:String,authorName:{type:String,default:"Alicia Sykes"},authorUrl:{type:String,default:"https://aliciasykes.com"},license:{type:String,default:"MIT"},licenseUrl:{type:String,default:"https://gist.github.com/Lissy93/143d2ee01ccc5c052a17"},date:{type:String,default:""+(new Date).getFullYear()},showCopyright:{type:Boolean,default:!0},repoUrl:{type:String,default:"https://github.com/lissy93/dashy"}},data:()=>({scrollVisible:!1}),mounted(){this.scrollVisible=document.body.clientHeight>window.innerHeight}},H=j,$=(s("1ac7"),Object(w["a"])(H,P,B,!1,null,"23129a2b",null)),D=$.exports,V=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("transition",{attrs:{name:"slide-fade"}},[t.isLoading?s("div",{class:t.c,attrs:{id:"loading"},on:{click:function(e){t.c="hide"}}},[s("h2",[t._v("Dashy")]),s("div",{staticClass:"inner-container"},[s("p",[t._v("Loading")]),s("span",{staticClass:"dots-cont"},[s("span",{staticClass:"dot dot-1"}),s("span",{staticClass:"dot dot-2"}),s("span",{staticClass:"dot dot-3"}),s("span",{staticClass:"dot dot-4"})])])]):t._e()])},U=[],R={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},K=R,F=(s("2bb3"),Object(w["a"])(K,V,U,!1,null,"a7bc1de6",null)),W=F.exports,G=s("8b8e"),J=s.n(G);const q=(()=>{let t=h.a.appConfig;return localStorage[p["localStorageKeys"].APP_CONFIG]?t=JSON.parse(localStorage[p["localStorageKeys"].APP_CONFIG]):J.a.appConfig&&(t=J.a.appConfig),t.layout=localStorage[p["localStorageKeys"].LAYOUT_ORIENTATION]||J.a.appConfig.layout||h.a.layout,t.iconSize=localStorage[p["localStorageKeys"].ICON_SIZE]||J.a.appConfig.iconSize||h.a.iconSize,t})(),Y=(()=>{const t=h.a.pageInfo;let e;try{e=JSON.parse(localStorage[p["localStorageKeys"].PAGE_INFO])}catch(a){e={}}const s=J.a.pageInfo||t;return s.title=e.title||J.a.pageInfo.title||t.title,s.description=e.description||J.a.pageInfo.description||t.description,s.navLinks=e.navLinks||J.a.pageInfo.navLinks||t.navLinks,s.footerText=e.footerText||J.a.pageInfo.footerText||t.footerText,s})(),Z=(()=>{const t=localStorage[p["localStorageKeys"].CONF_SECTIONS];if(t)try{const e=JSON.parse(t);if(e.length>=1)return e}catch(e){}return J.a.sections})(),X=(()=>{const t={appConfig:q,pageInfo:Y,sections:Z};return t})();var Q={name:"app",components:{Header:M,Footer:D,LoadingScreen:W},provide:{config:X},data(){return{showFooter:h.a.visibleComponents.footer,isLoading:!0,appConfig:q,pageInfo:Y}},methods:{getFooterText(){return this.pageInfo&&this.pageInfo.footerText?this.pageInfo.footerText:""},injectCustomStyles(t){const e=document.createElement("style");e.textContent=t,document.head.append(e)},shouldShowSplash(){return this.appConfig.showSplashScreen||!localStorage[p["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()&&!this.shouldHidePageComponents()?setTimeout(()=>{this.isLoading=!1},p["splashScreenTime"]||2e3):this.isLoading=!1},shouldHidePageComponents(){return["download"].includes(this.$route.name)}},computed:{currentRouteName(){return this.$route.name}},mounted(){if(this.hideSplash(),this.appConfig.customCss){const t=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(t)}}},tt=Q,et=(s("5c0b"),Object(w["a"])(tt,m,f,!1,null,null,null)),st=et.exports,at=s("8c4f"),ot=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"home",style:t.getBackgroundImage()},[s("SettingsContainer",{ref:"filterComp",staticClass:"filter-container",attrs:{displayLayout:t.layout,iconSize:t.itemSizeBound,availableThemes:t.getExternalCSSLinks(),sections:t.getSections(t.sections),appConfig:t.appConfig,pageInfo:t.pageInfo,modalOpen:t.modalOpen},on:{"user-is-searchin":t.searching,"change-display-layout":t.setLayoutOrientation,"change-icon-size":t.setItemSize,"change-modal-visibility":t.updateModalVisibility}}),t.checkTheresData(t.sections)?s("div",{class:"item-group-container orientation-"+t.layout+" item-size-"+t.itemSizeBound},t._l(t.getSections(t.sections),(function(e,a){return s("ItemGroup",{key:a,class:0===t.filterTiles(e.items).length&&t.searchValue?"no-results":"",attrs:{title:e.name,icon:e.icon||void 0,displayData:t.getDisplayData(e),groupId:"section-"+a,items:t.filterTiles(e.items),itemSize:t.itemSizeBound},on:{itemClicked:function(e){return t.finishedSearching()},"change-modal-visibility":t.updateModalVisibility}})})),1):t._e(),t.checkIfResults()?s("div",{staticClass:"no-data"},[t._v(" "+t._s(t.searchValue?"No Search Results":"No Data Configured")+" ")]):t._e()],1)},nt=[],it=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("section",[t.searchVisible?s("SearchBar",{ref:"SearchBar",attrs:{active:!t.modalOpen},on:{"user-is-searchin":t.userIsTypingSomething}}):t._e(),s("div",{staticClass:"options-outer"},[s("div",{class:"options-container "+(t.settingsVisible?"":"hide")},[s("ThemeSelector",{attrs:{themes:t.availableThemes,confTheme:t.getInitialTheme(),userThemes:t.getUserThemes()}}),s("LayoutSelector",{attrs:{displayLayout:t.displayLayout},on:{layoutUpdated:t.updateDisplayLayout}}),s("ItemSizeSelector",{attrs:{iconSize:t.iconSize},on:{iconSizeUpdated:t.updateIconSize}}),s("ConfigLauncher",{attrs:{sections:t.sections,pageInfo:t.pageInfo,appConfig:t.appConfig},on:{modalChanged:t.modalChanged}}),t.isUserLoggedIn()?s("IconLogout",{directives:[{name:"tooltip",rawName:"v-tooltip",value:"Logout",expression:"'Logout'"}],staticClass:"logout-icon",on:{click:function(e){return t.logout()}}}):t._e()],1),s("div",{class:"show-hide-container "+(t.settingsVisible?"hide-btn":"show-btn")},[s("button",{directives:[{name:"tooltip",rawName:"v-tooltip",value:(t.settingsVisible?"Hide":"Open")+" Settings Menu",expression:"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`"}],attrs:{tabindex:"-2"},on:{click:function(e){return t.toggleSettingsVisibility()}}},[t.settingsVisible?s("IconClose"):s("IconOpen")],1)])]),s("KeyboardShortcutInfo")],1)},rt=[],ct=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("form",[s("label",{attrs:{for:"filter-tiles"}},[t._v("Search")]),s("input",{directives:[{name:"model",rawName:"v-model",value:t.input,expression:"input"}],ref:"filter",attrs:{id:"filter-tiles",placeholder:"Start typing to filter..."},domProps:{value:t.input},on:{input:[function(e){e.target.composing||(t.input=e.target.value)},t.userIsTypingSomething],keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.clearFilterInput.apply(null,arguments)}}}),t.input.length>0?s("i",{staticClass:"clear-search",attrs:{title:"Clear search"},on:{click:t.clearFilterInput}},[t._v("x")]):t._e()])},lt=[];class ut{constructor(t){this.index=t}resetIndex(){this.index=0}arrowNavigation(t){void 0===this.index?this.index=0:37===t?this.index-=1:38===t?this.index=ut.goToPrevious(this.index):39===t?this.index+=1:40===t&&(this.index=ut.goToNext(this.index)),this.index=ut.getSafeElementIndex(this.index),ut.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(t){const e=ut.getNumResults();return t<0?e-1:t>=e?0:t}static selectItemByIndex(t){return t>=0&&t<=ut.getNumResults()?document.getElementsByClassName("item")[t]:[document.getElementsByClassName("item")]}static findPreviousRow(t){const e=(t,e)=>ut.selectItemByIndex(t).offsetTop===e,s=(t,a)=>t>=ut.getNumResults()?s(0,a):e(t,a)?s(t-1,a):t,a=ut.selectItemByIndex(t).offsetTop;return s(t,a)}static goToPrevious(t){const e=(t,e)=>ut.selectItemByIndex(t).offsetToput.selectItemByIndex(t).offsetTop===e,s=(t,a)=>t>=ut.getNumResults()?s(0,a):e(t,a)?s(t+1,a):t,a=ut.selectItemByIndex(t).offsetTop;return s(t,a)}static goToNext(t){const e=(t,e)=>ut.selectItemByIndex(t).offsetTop>ut.selectItemByIndex(e).offsetTop,s=ut.findNextRow(t),a=s-t,o=s-ut.findPreviousRow(t)-1,n=e(t,s)?0:o-a;return s+n}}var dt={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new ut}},mounted(){window.addEventListener("keydown",t=>{const e=document.activeElement.id,{key:s,keyCode:a}=t;this.active&&(/^[a-zA-Z]$/.test(s)&&"filter-tiles"!==e?(this.$refs.filter.focus(),this.userIsTypingSomething()):a>=37&&a<=40?this.akn.arrowNavigation(a):27===a&&this.clearFilterInput())})},methods:{userIsTypingSomething(){this.$emit("user-is-searchin",this.input)},clearFilterInput(){this.input="",this.userIsTypingSomething(),document.activeElement.blur(),this.akn.resetIndex()}}},pt=dt,ht=(s("8949"),Object(w["a"])(pt,ct,lt,!1,null,"72e6bff4",null)),mt=ht.exports,ft=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"config-options"},[s("span",[t._v("Config")]),s("div",{staticClass:"config-buttons"},[s("IconSpanner",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Update configuration locally"),expression:"tooltip('Update configuration locally')"}],attrs:{tabindex:"-2"},on:{click:function(e){return t.showEditor()}}}),s("IconCloud",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Backup / restore cloud config"),expression:"tooltip('Backup / restore cloud config')"}],attrs:{tabindex:"-2"},on:{click:function(e){return t.showCloudModal()}}})],1),s("modal",{attrs:{name:t.modalNames.CONF_EDITOR,resizable:!0,width:"60%",height:"85%",classes:"dashy-modal"},on:{closed:function(e){return t.$emit("modalChanged",!1)}}},[s("ConfigContainer",{attrs:{config:t.combineConfig()}})],1),s("modal",{attrs:{name:t.modalNames.CLOUD_BACKUP,resizable:!0,width:"65%",height:"60%",classes:"dashy-modal"},on:{closed:function(e){return t.$emit("modalChanged",!1)}}},[s("CloudBackupRestore",{attrs:{config:t.combineConfig()}})],1)],1)},gt=[],vt=s("35c3"),yt=s.n(vt),bt=s("6780"),Ct=s.n(bt),St=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("Tabs",{ref:"tabView",attrs:{navAuto:!0,name:"Add Item"}},[s("TabItem",{staticClass:"main-tab",attrs:{name:"Config"}},[s("div",{staticClass:"main-options-container"},[s("h2",[t._v("Configuration Options")]),s("a",{staticClass:"hyperlink-wrapper",on:{click:function(e){return t.downloadConfigFile("conf.yml",t.yaml)}}},[s("button",{staticClass:"config-button center"},[s("DownloadIcon",{staticClass:"button-icon"}),t._v(" Download Config ")],1)]),s("button",{staticClass:"config-button center",on:{click:function(e){return t.goToEdit()}}},[s("EditIcon",{staticClass:"button-icon"}),t._v(" Edit Config ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.goToCustomCss()}}},[s("CustomCssIcon",{staticClass:"button-icon"}),t._v(" Edit Custom CSS ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.openCloudSync()}}},[s("CloudIcon",{staticClass:"button-icon"}),t._v(" "+t._s(t.backupId?"Edit Cloud Sync":"Enable Cloud Sync")+" ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.openRebuildAppModal()}}},[s("RebuildIcon",{staticClass:"button-icon"}),t._v(" Rebuild Application ")],1),s("button",{staticClass:"config-button center",on:{click:function(e){return t.resetLocalSettings()}}},[s("DeleteIcon",{staticClass:"button-icon"}),t._v(" Reset Local Settings ")],1),s("p",{staticClass:"small-screen-note",staticStyle:{display:"none"}},[t._v(" You are using a very small screen, and some screens in this menu may not be optimal ")]),s("div",{staticClass:"config-note"},[s("span",[t._v(" It is recommend to make a backup of your conf.yml file, before making any changes. ")])])]),s("RebuildApp")],1),s("TabItem",{staticClass:"code-container",attrs:{name:"View Config"}},[s("pre",{attrs:{id:"conf-yaml"}},[t._v(t._s(t.yaml))]),s("div",{staticClass:"yaml-action-buttons"},[s("h2",[t._v("Actions")]),s("a",{staticClass:"yaml-button download",on:{click:function(e){return t.downloadConfigFile("conf.yml",t.yaml)}}},[t._v(" Download Config ")]),s("a",{staticClass:"yaml-button copy",on:{click:function(e){return t.copyConfigToClipboard()}}},[t._v("Copy Config")]),s("a",{staticClass:"yaml-button reset",on:{click:function(e){return t.resetLocalSettings()}}},[t._v("Reset Config")])])]),s("TabItem",{attrs:{name:"Edit Config"}},[s("JsonEditor",{attrs:{config:t.config}})],1),s("TabItem",{attrs:{name:"Custom Styles"}},[s("CustomCssEditor",{attrs:{config:t.config,initialCss:"hello"}})],1)],1)},wt=[],It=s("1020"),_t=s.n(It),kt=s("2e7b"),xt=s.n(kt),Tt=(s("1d89"),s("d97e"));const Ot=t=>t.split("\n").map(t=>t.trimRight()).join("\n"),Et=t=>{throw new Error("Error in Json to YAML conversion: "+t)},Lt=t=>{let e="";const s={undefined(){return"null"},null(){return"null"},number(t){return t},boolean(t){return t?"true":"false"},string(t){return JSON.stringify(t)},array(t){let a="";return 0===t.length?(a+="[]",a):(e=e.replace(/$/," "),t.forEach(t=>{const o=s[Object(Tt["typeOf"])(t)];o||Et(Object(Tt["typeOf"])(t)),a+=`\n${e}- ${o(t,!0)}`}),e=e.replace(/ {2}/,""),a)},object(t,a,o){let n="";return 0===Object.keys(t).length?(n+="{}",n):(o||(e=e.replace(/$/," ")),Object.keys(t).forEach((o,i)=>{const r=t[o],c=s[Object(Tt["typeOf"])(r)];"undefined"!==typeof r&&(c||Et(Object(Tt["typeOf"])(r)),a&&0===i||(n+="\n"+e),n+=`${o}: ${c(r)}`)}),e=e.replace(/ {2}/,""),n)},function(){return"[object Function]"}};return Ot(s[Object(Tt["typeOf"])(t)](t,!0,!0)+"\n")};var At=Lt,Nt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"json-editor-outer"},[s("v-jsoneditor",{attrs:{options:t.options,height:"500px"},model:{value:t.jsonData,callback:function(e){t.jsonData=e},expression:"jsonData"}}),s("div",{staticClass:"save-options"},[s("span",{staticClass:"save-option-title"},[t._v("Save Location:")]),s("div",{staticClass:"option"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"local",value:"local",disabled:!t.allowWriteToDisk},domProps:{checked:t._q(t.saveMode,"local")},on:{change:function(e){t.saveMode="local"}}}),s("label",{staticClass:"save-option-label",attrs:{for:"local"}},[t._v("Apply Locally")])]),s("div",{staticClass:"option"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"file",value:"file",disabled:!t.allowWriteToDisk},domProps:{checked:t._q(t.saveMode,"file")},on:{change:function(e){t.saveMode="file"}}}),s("label",{staticClass:"save-option-label",attrs:{for:"file"}},[t._v("Write Changes to Config File")])])]),s("button",{class:"save-button "+(t.isValid?"":"err"),on:{click:function(e){return t.save()}}},[t._v("Save Changes")]),s("p",{staticClass:"errors"},[s("ul",[t._l(t.errorMessages,(function(e,a){return s("li",{key:a,class:"type-"+e.type},[t._v(" "+t._s(e.msg)+" ")])})),t.errorMessages.length<1?s("li",{staticClass:"type-valid"},[t._v(" Config is Valid ")]):t._e()],2)]),void 0!==t.saveSuccess?s("p",{class:"response-output status-"+(t.saveSuccess?"success":"fail")},[t._v(" "+t._s(t.saveSuccess?"Task Complete":"Task Failed")+" ")]):t._e(),s("p",{staticClass:"response-output"},[t._v(t._s(t.responseText))]),t.saveSuccess?s("p",{staticClass:"response-output"},[t._v(" The app should rebuild automatically. You will need to refresh the page for changes to take effect. ")]):t._e(),s("p",{staticClass:"note"},[t._v(" It is recommend to backup your existing confiruration before making any changes. ")])],1)},zt=[],Mt=s("bcb2"),Pt=s.n(Mt),Bt=s("831b"),jt=s("94f8"),Ht=s.n(jt);const $t=t=>Ht()(t.toString()).toString().toLowerCase(),Dt=t=>{const e=t.map(t=>$t(t));let s=!1;return document.cookie.split(";").forEach(t=>{if(t&&t.split("=").length>1){const a=t.split("=")[0].trim(),o=t.split("=")[1].trim();a===p["cookieKeys"].AUTH_TOKEN&&e.includes(o)&&(s=!0)}}),s},Vt=(t,e,s)=>{let a;return t?e?s.forEach(s=>{s.user===t&&(a=s.hash.toLowerCase()===Ht()(e).toString().toLowerCase()?{correct:!0,msg:"Logging in..."}:{correct:!1,msg:"Incorrect Password"})}):a={correct:!1,msg:"Missing Password"}:a={correct:!1,msg:"Missing Username"},a||{correct:!1,msg:"User not found"}},Ut=(t,e)=>{const s={user:t,hash:Ht()(e).toString().toLowerCase()};document.cookie=`authenticationToken=${$t(s)}; max-age=600`,localStorage.setItem(p["localStorageKeys"].USERNAME,t)},Rt=()=>{document.cookie="authenticationToken=null",localStorage.removeItem(p["localStorageKeys"].USERNAME)},Kt=t=>{if(!t||0===t.length)return!0;if(!Dt(t))return!1;const e=localStorage[p["localStorageKeys"].USERNAME];let s=!1;return t.forEach(t=>{t.user===e&&"admin"===t.type&&(s=!0)}),s};var Ft=s("bc3a"),Wt=s.n(Ft),Gt={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:Pt.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:Bt,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:At,responseText:"",saveSuccess:void 0,allowWriteToDisk:this.shouldAllowWriteToDisk()}},computed:{isValid(){return this.errorMessages.length<1}},mounted(){this.allowWriteToDisk||(this.saveMode="local")},methods:{shouldAllowWriteToDisk(){const{appConfig:t}=this.config;return!1!==t.allowConfigEdit&&Kt(t.auth)},save(){"local"!==this.saveMode&&this.allowWriteToDisk?"file"===this.saveMode?this.writeConfigToDisk():this.$toasted.show("Please select a Save Mode: Local or File"):this.saveConfigLocally()},writeConfigToDisk(){const t=this.jsonParser(this.jsonData),e=Object({NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,s=e+"/config-manager/save",a={"Content-Type":"text/plain"},o={config:t,timestamp:new Date},n=Wt.a.post(s,o,a);n.then(t=>{this.saveSuccess=t.data.success||!1,this.responseText=t.data.message,this.saveSuccess?(this.carefullyClearLocalStorage(),this.showToast("Config file written to disk succesfully",!0)):this.showToast("An error occurred saving config",!1)}).catch(t=>{this.saveSuccess=!1,this.responseText=t,this.showToast(t,!1)})},saveConfigLocally(){const t=this.jsonData;t.sections&&localStorage.setItem(p["localStorageKeys"].CONF_SECTIONS,JSON.stringify(t.sections)),t.pageInfo&&localStorage.setItem(p["localStorageKeys"].PAGE_INFO,JSON.stringify(t.pageInfo)),t.appConfig&&localStorage.setItem(p["localStorageKeys"].APP_CONFIG,JSON.stringify(t.appConfig)),t.appConfig.theme&&localStorage.setItem(p["localStorageKeys"].THEME,t.appConfig.theme),this.showToast("Changes saved succesfully",!0)},carefullyClearLocalStorage(){localStorage.removeItem(p["localStorageKeys"].PAGE_INFO),localStorage.removeItem(p["localStorageKeys"].APP_CONFIG),localStorage.removeItem(p["localStorageKeys"].CONF_SECTIONS)},validationErrors(t){const e=[];t.forEach(t=>{switch(t.type){case"validation":e.push({type:"validation",msg:`Validatation Warning: ${t.error.keyword} ${t.error.message}`});break;case"error":e.push({type:"parse",msg:t.message});break;default:e.push({type:"editor",msg:"Error in JSON"});break}}),this.errorMessages=e},showToast(t,e){this.$toasted.show(t,{className:"toast-"+(e?"success":"error")})}}},Jt=Gt,qt=(s("80a7"),Object(w["a"])(Jt,Nt,zt,!1,null,null,null)),Yt=qt.exports,Zt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"json-editor-outer"},[s("prism-editor",{staticClass:"my-editor",attrs:{highlight:t.highlighter,"line-numbers":""},model:{value:t.customCss,callback:function(e){t.customCss=e},expression:"customCss"}}),s("button",{staticClass:"save-button",on:{click:function(e){return t.save()}}},[t._v("Save Changes")]),t._m(0)],1)},Xt=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("p",{staticClass:"quick-note"},[s("b",[t._v("Note")]),t._v(": You will need to refresh the page for your changes to take effect. Styles overides are only stored locally, so it is reccomended to make a copy of your CSS. To remove all custom styles, delete the contents and hit Save Changes ")])}],Qt=s("e57a"),te=s("8c7a"),ee=(s("6605"),s("dff1"),s("cabf"),{name:"JsonEditor",props:{config:Object},components:{PrismEditor:Qt["a"]},data(){return{customCss:this.config.appConfig.customCss||"\n\n\n\n\n"}},methods:{validate(t){return""===t||t.match(/((?:^\s*)([\w#.@*,:\-.:>,*\s]+)\s*{(?:[\s]*)((?:[A-Za-z\- \s]+[:]\s*['"0-9\w .,/()\-!%]+;?)*)*\s*}(?:\s*))/gim)},save(){let t="";if(this.validate(this.customCss)){const e={...this.config.appConfig};e.customCss=this.customCss,localStorage.setItem(p["localStorageKeys"].APP_CONFIG,JSON.stringify(e)),t="Changes saved succesfully",this.inject(this.customCss),""===this.customCss&&setTimeout(()=>{location.reload()},1500)}else t="Error - Invalid CSS";this.$toasted.show(t)},inject(t){const e=t.replace(/<\/?[^>]+(>|$)/g,""),s=document.createElement("style");s.textContent=e,document.head.append(s)},highlighter(t){return Object(te["highlight"])(t,te["languages"].css)}}}),se=ee,ae=(s("9e50"),Object(w["a"])(se,Zt,Xt,!1,null,null,null)),oe=ae.exports,ne=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("modal",{attrs:{name:t.modalName,resizable:!0,width:"50%",height:"60%",classes:"dashy-modal"}},[s("div",{staticClass:"rebuild-app-container"},[s("h3",{staticClass:"rebuild-app-title"},[t._v("Rebuild Application")]),s("p",[t._v(" A rebuild is required for changes written to the conf.yml file to take effect. This should happen automatically, but if it hasn't, you can manually trigger it here."),s("br"),t._v(" This is not required for modifications stored locally. ")]),s("Button",{attrs:{click:t.startBuild,disabled:t.loading},scopedSlots:t._u([{key:"text",fn:function(){return[t._v(t._s(t.loading?"Building...":"Start Build"))]},proxy:!0},{key:"icon",fn:function(){return[s("RebuildIcon")]},proxy:!0}])}),t.loading?s("div",{staticClass:"loader-info"},[s("LoadingAnimation",{staticClass:"loader"}),s("p",{staticClass:"loading-message"},[t._v("This may take a few minutes...")])],1):t._e(),void 0!==t.success?s("div",{staticClass:"rebuild-response"},[t.success?s("p",{staticClass:"response-status success"},[t._v("✅ Build completed succesfully")]):s("p",{staticClass:"response-status failure"},[t._v("❌ Build operation failed")]),s("pre",{staticClass:"output"},[s("code",[t._v(t._s(t.output||t.error))])]),s("p",{staticClass:"rebuild-message"},[t._v(t._s(t.message))]),t.success?s("p",{staticClass:"rebuild-message"},[t._v(" A page reload is now required for changes to take effect ")]):t._e(),t.success?s("Button",{attrs:{click:t.refreshPage},scopedSlots:t._u([{key:"text",fn:function(){return[t._v("Reload Page")]},proxy:!0},{key:"icon",fn:function(){return[s("ReloadIcon")]},proxy:!0}],null,!1,1379687826)}):t._e()],1):t._e()],1)])},ie=[],re=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{attrs:{disabled:t.disabled},on:{click:function(e){return t.click()}}},[t._t("default"),t._t("text"),t._t("icon")],2)},ce=[],le={name:"Button",props:{text:String,click:Function,disabled:Boolean}},ue=le,de=(s("df27"),Object(w["a"])(ue,re,ce,!1,null,"620b35ec",null)),pe=de.exports,he=s("0911"),me=s.n(he),fe=s("3ff5"),ge=s.n(fe),ve=s("6266"),ye=s.n(ve),be={name:"RebuildApp",components:{Button:pe,RebuildIcon:me.a,ReloadIcon:ge.a,LoadingAnimation:ye.a},data:()=>({modalName:p["modalNames"].REBUILD_APP,loading:!1,success:void 0,error:"",output:"",message:""}),methods:{startBuild(){const t=Object({NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,e=t+"/config-manager/rebuild";this.loading=!0,Wt.a.get(e).then(t=>{this.finished(t.data||!1)}).catch(t=>{this.finished({success:!1,error:t})})},finished(t){if(this.loading=!1,t){const{success:e,output:s,error:a,message:o}=t;this.success=e,this.output=s,this.message=o,this.error=a}this.$toasted.show(this.success?"✅ Build Completed Succesfully":"❌ Build Failed",{className:"toast-"+(this.success?"success":"error")})},refreshPage(){location.reload()}}},Ce=be,Se=(s("7fda"),Object(w["a"])(Ce,ne,ie,!1,null,"1ee3fcba",null)),we=Se.exports,Ie=s("cbd9"),_e=s.n(Ie),ke=s("0278"),xe=s.n(ke),Te=s("e7fa"),Oe=s.n(Te),Ee=s("7da9"),Le=s.n(Ee),Ae={name:"ConfigContainer",data(){return{jsonParser:At,backupId:localStorage[p["localStorageKeys"].BACKUP_ID]||""}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:Yt,CustomCssEditor:oe,RebuildApp:we,DownloadIcon:_e.a,DeleteIcon:xe.a,EditIcon:Oe.a,CloudIcon:Ct.a,CustomCssIcon:Le.a,RebuildIcon:me.a},methods:{goToEdit(){const t=this.$refs.tabView.navItems[2];this.$refs.tabView.activeTabItem({tabItem:t,byUser:!0})},goToMetaEdit(){const t=this.$refs.tabView.navItems[3];this.$refs.tabView.activeTabItem({tabItem:t,byUser:!0})},goToCustomCss(){const t=this.$refs.tabView.navItems[4];this.$refs.tabView.activeTabItem({tabItem:t,byUser:!0})},openRebuildAppModal(){this.$modal.show(p["modalNames"].REBUILD_APP)},openCloudSync(){this.$modal.show(p["modalNames"].CLOUD_BACKUP)},copyConfigToClipboard(){navigator.clipboard.writeText(this.jsonParser(this.config))},resetLocalSettings(){const t="This will remove all user settings from local storage, but won't effect your 'conf.yml' file. It is recommend to make a backup of your modified YAML settings first.\n\nAre you sure you want to proceed?",e=confirm(t);e&&(localStorage.clear(),this.$toasted.show("Data cleared succesfully"),setTimeout(()=>{location.reload(!0)},1900))},downloadConfigFile(t,e){const s=document.createElement("a");s.setAttribute("href","data:text/plain;charset=utf-8, "+encodeURIComponent(e)),s.setAttribute("download",t),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}},mounted(){_t.a.registerLanguage("yaml",xt.a);const t=_t.a.highlight(this.jsonParser(this.config),{language:"yaml"}).value;document.getElementById("conf-yaml").innerHTML=t}},Ne=Ae,ze=(s("c1bd"),s("1d47"),Object(w["a"])(Ne,St,wt,!1,null,"41a7f69b",null)),Me=ze.exports,Pe=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"cloud-backup-restore-wrapper"},[t._m(0),s("div",{staticClass:"section backup-section"},[t.backupId?s("h3",[t._v("Update Backup")]):s("h3",[t._v("Make a Backup")]),s("Input",{attrs:{name:"backup-password",label:t.backupId?"Enter your Password":"Choose a Password",layout:"vertical",type:"password"},model:{value:t.backupPassword,callback:function(e){t.backupPassword=e},expression:"backupPassword"}}),s("Button",{attrs:{click:t.checkPass},scopedSlots:t._u([{key:"text",fn:function(){return[t._v(t._s(t.backupId?"Update Backup":"Backup"))]},proxy:!0},{key:"icon",fn:function(){return[s("IconBackup")]},proxy:!0}])}),t.backupId?s("div",{staticClass:"results-view"},[s("span",{staticClass:"backup-id-label"},[t._v("Your Backup ID: ")]),s("pre",{staticClass:"backup-id-value"},[t._v(t._s(t.backupId))]),s("span",{staticClass:"backup-id-note"},[t._v(" This is used to restore from backups later. So keep it, along with your password somewhere safe. ")])]):t._e()],1),s("div",{staticClass:"section restore-section"},[s("h3",[t._v("Restore a Backup")]),s("Input",{attrs:{name:"restore-code",label:"Restore ID"},model:{value:t.restoreCode,callback:function(e){t.restoreCode=e},expression:"restoreCode"}}),s("Input",{attrs:{name:"restore-password",label:"Password",type:"password"},model:{value:t.restorePassword,callback:function(e){t.restorePassword=e},expression:"restorePassword"}}),s("Button",{attrs:{click:t.restoreBackup},scopedSlots:t._u([{key:"text",fn:function(){return[t._v("Restore")]},proxy:!0},{key:"icon",fn:function(){return[s("IconRestore")]},proxy:!0}])})],1)])},Be=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"section intro"},[s("h2",[t._v("Cloud Backup & Restore")]),s("p",{staticClass:"intro"},[t._v(" Cloud backup and restore is an optional feature, that enables you to upload your config to the internet, and then restore it on any other device or instance of Dashy. "),s("br"),s("br"),t._v(" All data is fully end-to-end encrypted with AES, using your password as the key. "),s("br"),t._v(" For more info, please see the "),s("a",{attrs:{href:"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md"}},[t._v("docs")])])])}],je=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{class:"input-container "+t.layout},[t.label?s("label",{attrs:{for:"name"}},[t._v(t._s(t.label))]):t._e(),s("input",{attrs:{type:t.type,name:t.name,id:t.name,placeholder:t.placeholder},domProps:{value:t.value},on:{input:function(e){return t.updateValue(e.target.value)}}})])},He=[],$e={name:"Input",props:{value:String,label:String,name:String,placeholder:String,type:{default:"text",type:String},layout:{validator:t=>-1!==["horizontal","vertical"].indexOf(t),type:String,default:"vertical"}},methods:{updateValue(t){this.$emit("input",t)}}},De=$e,Ve=(s("2d25"),Object(w["a"])(De,je,He,!1,null,"5df13ed2",null)),Ue=Ve.exports,Re=s("3a1e"),Ke=s.n(Re),Fe=s("e6a4"),We=s.n(Fe),Ge=s("c198"),Je=s.n(Ge),qe=s("f8d5"),Ye=s.n(qe);const Ze=p["backupEndpoint"],Xe=(t,e)=>{const s=JSON.stringify(t),a=Je.a.encrypt(s,e);return a.toString()},Qe=(t,e)=>Je.a.decrypt(t,e).toString(Ye.a),ts=t=>Ht()(t).toString().slice(0,14),es=(t,e)=>Wt.a.post(Ze,{userData:Xe(t,e),subHash:ts(e)}),ss=(t,e,s)=>Wt.a.put(Ze,{backupId:s,userData:Xe(t,e),subHash:ts(e)}),as=t=>Object.entries(t).map(t=>t.map(encodeURIComponent).join("=")).join("&"),os=(t,e)=>{const s=as({backupId:t,subHash:ts(e)}),a=`${Ze}/?${s}`;return new Promise((t,s)=>{Wt.a.get(a).then(a=>{if(!a.data||a.data.errorMsg)s(a.data.errorMsg||"Error");else{const n=Qe(a.data.userData.userData,e);try{t(JSON.parse(n))}catch(o){s(o)}}})})};var ns={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[p["localStorageKeys"].BACKUP_ID]||""}},components:{Button:pe,Input:Ue,IconBackup:Ke.a,IconRestore:We.a},methods:{restoreBackup(){os(this.restoreCode,this.restorePassword).then(t=>{this.restoreFromBackup(t,this.restoreCode)}).catch(t=>{this.showErrorMsg(t)})},checkPass(){const t=localStorage[p["localStorageKeys"].BACKUP_HASH]||void 0;t?t===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg("Incorrect password. Please enter your current password."):this.makeBackup()},makeBackup(){es(this.config,this.backupPassword).then(t=>{t.data&&!t.data.errorMsg&&t.data.backupId?this.updateUiAfterBackup(t.data.backupId,!1):this.showErrorMsg(t.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg("Unable to process request")})},makeUpdate(){ss(this.config,this.backupPassword,this.backupId).then(t=>{t.data&&!t.data.errorMsg&&t.data.backupId?this.updateUiAfterBackup(t.data.backupId,!0):this.showErrorMsg(t.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg("Unable to process request")})},restoreFromBackup(t,e){localStorage.setItem(p["localStorageKeys"].CONF_SECTIONS,JSON.stringify(t.sections)),localStorage.setItem(p["localStorageKeys"].APP_CONFIG,JSON.stringify(t.appConfig)),localStorage.setItem(p["localStorageKeys"].PAGE_INFO,JSON.stringify(t.pageInfo)),t.appConfig.theme&&localStorage.setItem(p["localStorageKeys"].THEME,t.appConfig.theme),this.setBackupIdLocally(e,this.restorePassword),this.showSuccessMsg("Config Restored Succesfully"),setTimeout(()=>{location.reload()},1500)},updateUiAfterBackup(t,e=!1){this.setBackupIdLocally(t,this.backupPassword),this.showSuccessMsg((e?"Update":"Backup")+" Completed Succesfully"),this.backupPassword=""},showErrorMsg(t){this.$toasted.show(t,{className:"toast-error"})},showSuccessMsg(t){this.$toasted.show(t,{className:"toast-success"})},makeHash(t){return Ht()(t).toString()},setBackupIdLocally(t,e){this.backupId=t;const s=this.makeHash(e);localStorage.setItem(p["localStorageKeys"].BACKUP_ID,t),localStorage.setItem(p["localStorageKeys"].BACKUP_HASH,s)}}},is=ns,rs=(s("baed"),Object(w["a"])(is,Pe,Be,!1,null,"763657f4",null)),cs=rs.exports,ls={name:"ConfigLauncher",data(){return{modalNames:p["modalNames"]}},components:{IconSpanner:yt.a,IconCloud:Ct.a,ConfigContainer:Me,CloudBackupRestore:cs},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show(p["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},showCloudModal:function(){this.$modal.show(p["modalNames"].CLOUD_BACKUP),this.$emit("modalChanged",!0)},combineConfig(){const t={};return t[p["topLevelConfKeys"].APP_CONFIG]=this.appConfig,t[p["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,t[p["topLevelConfKeys"].SECTIONS]=this.sections,t[p["topLevelConfKeys"].APP_CONFIG].theme=localStorage[p["localStorageKeys"].THEME]||t[p["topLevelConfKeys"].APP_CONFIG].theme,t},tooltip(t){return{content:t,trigger:"hover focus",delay:250}}}},us=ls,ds=(s("9c85"),Object(w["a"])(us,ft,gt,!1,null,"383db9de",null)),ps=ds.exports,hs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.themes?s("div",{staticClass:"theme-selector-section"},[s("span",{staticClass:"theme-label"},[t._v("Theme")]),s("v-select",{staticClass:"theme-dropdown",attrs:{options:t.themeNames,tabindex:-2},model:{value:t.selectedTheme,callback:function(e){t.selectedTheme=e},expression:"selectedTheme"}})],1):t._e()},ms=[];const fs=function(){const t=t=>{const e=document.createElement("link");return e.rel="stylesheet",e.href=t,document.head.appendChild(e),new Promise((t,s)=>{e.onload=e=>{const{sheet:s}=e.target;s.disabled=!0,t(s)},e.onerror=s})},e=(t,e)=>{const s=t;if(e&&!t[e])throw new Error(`Theme: '${e}' does not exist.`);Object.keys(t).forEach(t=>{s[t].disabled=t!==e})},s={};return{add(e,a){return t(a).then(t=>{s[e]=t})},set theme(t){e(s,t)},get theme(){return Object.keys(s).find(t=>!s[t].disabled)}}};var gs=fs,vs={name:"ThemeSelector",props:{themes:Object,confTheme:String,userThemes:Array},watch:{selectedTheme(t){this.updateTheme(t)}},data(){return{selectedTheme:this.getInitialTheme(),themeHelper:new gs,loading:!0,builtInThemes:this.userThemes.concat(h.a.builtInThemes)}},computed:{themeNames:function(){const t=Object.keys(this.themes);return t.concat(this.builtInThemes)}},created(){const t=Object.keys(this.themes).map(t=>this.themeHelper.add(t,this.themes[t]));this.isThemeLocal(this.selectedTheme)?this.updateTheme(this.selectedTheme):this.selectedTheme!==h.a.theme&&Promise.all(t).then(()=>{this.updateTheme(this.selectedTheme)})},methods:{setLocalTheme(t){const e=document.getElementsByTagName("html")[0];e.hasAttribute("data-theme")&&e.removeAttribute("data-theme"),e.setAttribute("data-theme",t)},getInitialTheme(){return localStorage[p["localStorageKeys"].THEME]||this.confTheme||h.a.theme},isThemeLocal(t){return this.builtInThemes.includes(t)},updateTheme(t){"Deafault"===t?(this.resetToDefault(),this.themeHelper.theme="Deafault"):this.isThemeLocal(t)?this.setLocalTheme(t):this.themeHelper.theme=t,localStorage.setItem(p["localStorageKeys"].THEME,t)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},ys=vs,bs=(s("4ade"),Object(w["a"])(ys,hs,ms,!1,null,null,null)),Cs=bs.exports,Ss=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("span",{staticClass:"options-label"},[t._v("Layout")]),s("div",{staticClass:"display-options"},[s("IconDeafault",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Auto"),expression:"tooltip('Auto')"}],class:"layout-icon "+("auto"===t.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateDisplayLayout("auto")}}}),s("IconHorizontal",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Horizontal"),expression:"tooltip('Horizontal')"}],class:"layout-icon "+("horizontal"===t.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateDisplayLayout("horizontal")}}}),s("IconVertical",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Vertical"),expression:"tooltip('Vertical')"}],class:"layout-icon "+("vertical"===t.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateDisplayLayout("vertical")}}})],1)])},ws=[],Is=s("c715"),_s=s.n(Is),ks=s("570d"),xs=s.n(ks),Ts=s("f9d7"),Os=s.n(Ts),Es={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:_s.a,IconHorizontal:xs.a,IconVertical:Os.a},methods:{updateDisplayLayout(t){this.$emit("layoutUpdated",t)},tooltip(t){return{content:t,trigger:"hover focus",delay:250}}}},Ls=Es,As=(s("7dc7"),Object(w["a"])(Ls,Ss,ws,!1,null,"c819d738",null)),Ns=As.exports,zs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("span",{staticClass:"options-label"},[t._v("Icon Size")]),s("div",{staticClass:"display-options"},[s("IconSmall",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Small"),expression:"tooltip('Small')"}],class:"layout-icon "+("small"===t.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateIconSize("small")}}}),s("IconMedium",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Medium"),expression:"tooltip('Medium')"}],class:"layout-icon "+("medium"===t.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateIconSize("medium")}}}),s("IconLarge",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip("Large"),expression:"tooltip('Large')"}],class:"layout-icon "+("large"===t.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(e){return t.updateIconSize("large")}}})],1)])},Ms=[],Ps=s("d8e8"),Bs=s.n(Ps),js=s("7075"),Hs=s.n(js),$s=s("922c"),Ds=s.n($s),Vs={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:Bs.a,IconMedium:Hs.a,IconLarge:Ds.a},methods:{updateIconSize(t){this.$emit("iconSizeUpdated",t)},tooltip(t){return{content:t,trigger:"hover focus",delay:250}}}},Us=Vs,Rs=(s("47d9"),Object(w["a"])(Us,zs,Ms,!1,null,"58966274",null)),Ks=Rs.exports,Fs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("transition",{attrs:{name:"slide-fade"}},[t.shouldHide?t._e():s("div",{staticClass:"kb-sc-info"},[s("h5",[t._v("There are keyboard shortcuts! ⌨️🙌")]),s("div",{staticClass:"close",attrs:{title:"Hide forever [Esc]"},on:{click:function(e){return t.hideWelcomeHelper()}}},[t._v("x")]),s("p",{attrs:{title:"Press [Esc] to hide this tip forever. See there's even a shortcut for that! 🚀"}},[t._v(" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy 🥳 ")])])])},Ws=[],Gs={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[p["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem(p["localStorageKeys"].HIDE_WELCOME_BANNER,!0),window.removeEventListener("keyup",this.keyPressEvent)},keyPressEvent(t){27===t.keyCode&&this.hideWelcomeHelper()}},mounted(){const t=this.shouldHideWelcomeMessage();t?this.$destroy():(window.setTimeout(()=>{this.shouldHide=t},this.timeDelay),window.addEventListener("keyup",this.keyPressEvent))}},Js=Gs,qs=(s("9517"),Object(w["a"])(Js,Fs,Ws,!1,null,"c5f17d9a",null)),Ys=qs.exports,Zs=s("0123"),Xs=s.n(Zs),Qs=s("5703"),ta=s.n(Qs),ea=s("5f32"),sa=s.n(ea),aa={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,availableThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:mt,ConfigLauncher:ps,ThemeSelector:Cs,LayoutSelector:Ns,ItemSizeSelector:Ks,KeyboardShortcutInfo:Ys,IconLogout:Xs.a,IconOpen:ta.a,IconClose:sa.a},methods:{userIsTypingSomething(t){this.$emit("user-is-searchin",t)},clearFilterInput(){this.$refs.SearchBar.clearFilterInput()},updateDisplayLayout(t){this.$emit("change-display-layout",t)},updateIconSize(t){this.$emit("change-icon-size",t)},modalChanged(t){this.$emit("change-modal-visibility",t)},getInitialTheme(){return this.appConfig.theme||""},logout(){Rt(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},100)},isUserLoggedIn(){return!!localStorage[p["localStorageKeys"].USERNAME]},getUserThemes(){const t=this.appConfig.cssThemes||[];return"string"===typeof t?[t]:t},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem(p["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[p["localStorageKeys"].HIDE_SETTINGS]||h.a.visibleComponents.settings)}},data(){return{searchVisible:h.a.visibleComponents.searchBar,settingsVisible:this.getSettingsVisibility()}}},oa=aa,na=(s("69ce"),Object(w["a"])(oa,it,rt,!1,null,"d4f6509a",null)),ia=na.exports,ra=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("Collapsable",{attrs:{title:t.title,icon:t.icon,uniqueKey:t.groupId,collapsed:t.displayData.collapsed,cols:t.displayData.cols,rows:t.displayData.rows,color:t.displayData.color,customStyles:t.displayData.customStyles}},[!t.items||t.items.length<1?s("div",{staticClass:"no-items"},[t._v(" No Items to Show Yet ")]):s("div",{class:"there-are-items "+(t.isGridLayout?"item-group-grid":""),style:t.gridStyle},[t._l(t.items,(function(e,a){return s("Item",{key:a+"_"+t.makeId(e.title),attrs:{id:a+"_"+t.makeId(e.title),url:e.url,title:e.title,description:e.description,icon:e.icon,target:e.target,color:e.color,backgroundColor:e.backgroundColor,itemSize:t.newItemSize,enableStatusCheck:t.shouldEnableStatusCheck(e.statusCheck),statusCheckInterval:t.getStatusCheckInterval()},on:{itemClicked:function(e){return t.$emit("itemClicked")},triggerModal:t.triggerModal}})})),s("div",{ref:"modalContainer"})],2),s("IframeModal",{ref:"iframeModal-"+t.groupId,attrs:{name:"iframeModal-"+t.groupId},on:{closed:function(e){return t.$emit("itemClicked")},modalChanged:t.modalChanged}})],1)},ca=[],la=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("a",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.getTooltipOptions(),expression:"getTooltipOptions()"}],class:"item "+(t.icon?"":"short")+" size-"+t.itemSize,style:"--open-icon: "+t.getUnicodeOpeningIcon()+"; "+t.customStyles,attrs:{href:"iframe"!==t.target?t.url:"#",target:"newtab"===t.target?"_blank":"",rel:"noopener noreferrer",tabindex:"0",id:"link-"+t.id},on:{click:t.itemOpened}},[s("div",{class:"tile-title "+(t.icon?"":"bounce"),attrs:{id:"tile-"+t.id}},[s("span",{staticClass:"text"},[t._v(t._s(t.title))]),s("div",{staticClass:"overflow-dots"},[t._v("...")]),s("p",{staticClass:"description"},[t._v(t._s(t.description))])]),s("Icon",{staticClass:"bounce",style:t.customStyles,attrs:{icon:t.icon,url:t.url,size:t.itemSize,color:t.color}}),s("ItemOpenMethodIcon",{staticClass:"opening-method-icon",attrs:{isSmall:!t.icon,openingMethod:t.target,position:"medium"===t.itemSize?"bottom right":"top right"}}),t.enableStatusCheck?s("StatusIndicator",{staticClass:"status-indicator",attrs:{statusSuccess:t.statusResponse?t.statusResponse.successStatus:void 0,statusText:t.statusResponse?t.statusResponse.message:void 0}}):t._e()],1)},ua=[],da=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"item-icon"},["font-awesome"===t.iconType?s("i",{class:t.icon+" "+t.size}):t.icon?s("img",{class:"tile-icon "+t.size+" "+(t.broken?"broken":""),attrs:{src:t.iconPath},on:{error:t.imageNotFound}}):t._e(),t.broken?s("BrokenImage",{staticClass:"missing-image"}):t._e()],1)},pa=[],ha=s("9635"),ma=s.n(ha);const fa=function(t){console.warn(t)};var ga=fa,va={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:ma.a},computed:{iconType:function(){return this.determineImageType(this.icon)},iconPath:function(){return this.getIconPath(this.icon,this.url)}},data(){return{broken:!1}},methods:{isUrl(t){const e=new RegExp(/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-/]))?/);return e.test(t)},isImage(t){const e=/(?:\.([^.]+))?$/,s=["png","jpg"],a=e.exec(t);return a.length>=1&&s.includes(a[1])},getFavicon(t){if(this.shouldUseDefaultFavicon(t)){const e=t.split("/");if(e.length>=2)return`${e[0]}/${e[1]}/${e[2]}/favicon.ico`}else if(t.includes("http")){const e=this.getHostName(t),s=this.config.appConfig.faviconApi||p["faviconApi"],a=p["faviconApiEndpoints"][s];return a.replace("$URL",e)}return""},shouldUseDefaultFavicon(t){const e=/(127\.)|(192\.168\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(::1$)|([fF][cCdD])|(localhost)/;return e.test(t)||"local"===this.config.appConfig.faviconApi},getLocalImagePath(t){return"/item-icons/"+t},getGenerativeIcon(t){return`https://ipsicon.io/${this.getHostName(t)}.svg`},getIconPath(t,e){switch(this.determineImageType(t)){case"url":return t;case"img":return this.getLocalImagePath(t);case"favicon":return this.getFavicon(e);case"generative":return this.getGenerativeIcon(e);case"svg":return t;default:return""}},determineImageType(t){let e="";return e=t?t.endsWith(".svg")?"svg":this.isUrl(t)?"url":this.isImage(t)?"img":t.includes("fa-")?"font-awesome":"favicon"===t?"favicon":"generative"===t?"generative":"none":"none",e},getHostName(t){try{return new URL(t).hostname}catch(e){return t}},imageNotFound(){this.broken=!0,ga(`The path to '${this.icon}' could not be resolved`)}}},ya=va,ba=(s("de40"),Object(w["a"])(ya,da,pa,!1,null,null,null)),Ca=ba.exports,Sa=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{class:t.makeClass(t.position,t.isSmall,t.isTransparent)},["newtab"===t.openingMethod?s("NewTabOpenIcon"):"sametab"===t.openingMethod?s("SameTabOpenIcon"):"iframe"===t.openingMethod?s("IframeOpenIcon"):t._e()],1)},wa=[],Ia=s("237e"),_a=s.n(Ia),ka=s("2352"),xa=s.n(ka),Ta=s("1946"),Oa=s.n(Ta),Ea={name:"ItemOpenMethodIcon",props:{openingMethod:String,isSmall:Boolean,position:String,isTransparent:Boolean},methods:{makeClass(t="top right",e=!1,s=!1){return`opening-method-icon\n ${t||"top right"}\n ${e?"short":""}\n ${s?"transparent":""}`}},components:{NewTabOpenIcon:_a.a,SameTabOpenIcon:xa.a,IframeOpenIcon:Oa.a}},La=Ea,Aa=(s("699c"),Object(w["a"])(La,Sa,wa,!1,null,"17201835",null)),Na=Aa.exports,za=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:{content:t.statusText||t.otherStatusText,classes:["status-tooltip","tip-"+t.color()]},expression:"{\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }"}],staticClass:"indicator",on:{click:function(e){return t.showToast()}}},[s("div",{class:"dot dot-"+t.color()},[t._m(0)])])},Ma=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("span",[s("span")])}],Pa={name:"StatusIndicator",props:{statusText:String,statusSuccess:Boolean},methods:{color(){switch(this.statusSuccess){case void 0:return new Date-this.startTime>2e3?"grey":"yellow";case!0:return"green";default:return"red"}}},data(){return{startTime:new Date,otherStatusText:"Checking..."}},mounted(){setTimeout(()=>{this.statusText||(this.otherStatusText="Request timed out")},2e3)}},Ba=Pa,ja=(s("e697"),s("45d4"),Object(w["a"])(Ba,za,Ma,!1,null,"46972ad8",null)),Ha=ja.exports,$a={name:"Item",props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,target:{type:String,default:"newtab",validator:t=>-1!==["newtab","sametab","iframe"].indexOf(t)},itemSize:String,enableStatusCheck:Boolean,statusCheckInterval:Number},data(){return{getId:this.id,customStyles:{color:this.color,background:this.backgroundColor},statusResponse:void 0}},components:{Icon:Ca,ItemOpenMethodIcon:Na,StatusIndicator:Ha},methods:{itemOpened(t){t.altKey||"iframe"===this.target?(t.preventDefault(),this.$emit("triggerModal",this.url)):this.$emit("itemClicked")},manageTitleEllipse(){const t=document.getElementById("tile-"+this.getId);if(t){const e=(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)&&this.title.length>12;e&&(t.className+=" is-overflowing")}},getTooltipOptions(){return{disabled:!this.description,content:this.description,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:this.statusResponse?"left":"auto",delay:{show:600,hide:200},classes:"item-description-tooltip"}},getUnicodeOpeningIcon(){switch(this.target){case"newtab":return'"\\f360"';case"sametab":return'"\\f24d"';case"iframe":return'"\\f2d0"';default:return'"\\f054"'}},checkWebsiteStatus(){this.statusResponse=void 0;const t=Object({NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,e=`${t}/ping?url=${this.url}`;Wt.a.get(e).then(t=>{t.data&&(this.statusResponse=t.data)}).catch(()=>{this.statusResponse={statusText:"Failed to make request",statusSuccess:!1}})}},mounted(){this.manageTitleEllipse(),this.enableStatusCheck&&this.checkWebsiteStatus(),this.statusCheckInterval>0&&setInterval(this.checkWebsiteStatus,1e3*this.statusCheckInterval)}},Da=$a,Va=(s("826e"),s("f719"),Object(w["a"])(Da,la,ua,!1,null,null,null)),Ua=Va.exports,Ra=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{class:"collapsable "+t.checkSpanNum(t.cols,"col")+" "+t.checkSpanNum(t.rows,"row"),style:(t.color?"background: "+t.color:"")+"; "+t.sanitizeCustomStyles(t.customStyles)+";"},[s("input",{staticClass:"toggle",attrs:{id:"collapsible-"+t.uniqueKey,type:"checkbox",tabIndex:"-1"},domProps:{checked:t.getCollapseState()},on:{change:t.collapseChanged}}),s("label",{staticClass:"lbl-toggle",attrs:{for:"collapsible-"+t.uniqueKey,tabindex:"-1"}},[t.icon?s("Icon",{staticClass:"section-icon",attrs:{icon:t.icon,size:"small",url:t.title}}):t._e(),s("h3",[t._v(t._s(t.title))])],1),s("div",{staticClass:"collapsible-content"},[s("div",{staticClass:"content-inner"},[t._t("default")],2)])])},Ka=[],Fa={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:Ca},data(){return{isOpen:!this.collapsed}},methods:{checkSpanNum(t,e){const s=4;let a=/^\d*$/.test(t)?parseInt(t,10):1;return a=a>s?s:a,`${e}-${a}`},sanitizeCustomStyles(t){return t?t.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const t=()=>localStorage.setItem(p["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[p["localStorageKeys"].COLLAPSE_STATE]||t();try{JSON.parse(localStorage[p["localStorageKeys"].COLLAPSE_STATE])}catch{t()}return JSON.parse(localStorage[p["localStorageKeys"].COLLAPSE_STATE])},getCollapseState(){const t=this.initialiseStorage();let e=!this.collapsed;return void 0!==t[this.uniqueKey]&&(e=t[this.uniqueKey]),e},setCollapseState(t,e){const s=JSON.parse(localStorage[p["localStorageKeys"].COLLAPSE_STATE]);s[t]=e,localStorage.setItem(p["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(s))},collapseChanged(t){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),t.srcElement.checked)}}},Wa=Fa,Ga=(s("8589"),Object(w["a"])(Wa,Ra,Ka,!1,null,"33a8b630",null)),Ja=Ga.exports,qa=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("modal",{attrs:{name:t.name,resizable:!0,width:"80%",height:"80%",classes:"dashy-modal"},on:{closed:function(e){return t.modalClosed()}}},[s("div",{attrs:{slot:"top-right"},on:{click:function(e){return t.hide()}},slot:"top-right"},[t._v("Close")]),s("a",{staticClass:"close-button",attrs:{title:"Close"},on:{click:function(e){return t.hide()}}},[t._v("x")]),t.url?s("iframe",{staticClass:"frame",attrs:{src:t.url},on:{keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.close.apply(null,arguments)}}}):s("div",{staticClass:"no-url"},[t._v("No URL Specified")])])},Ya=[],Za={name:"IframeModal",props:{name:String},data:()=>({url:"#"}),methods:{show(t){this.url=t,this.$modal.show(this.name),this.$emit("modalChanged",!0)},hide(){this.$modal.hide(this.name)},modalClosed(){this.$emit("modalChanged",!1)}}},Xa=Za,Qa=(s("eda6"),Object(w["a"])(Xa,qa,Ya,!1,null,null,null)),to=Qa.exports,eo={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:Ja,Item:Ua,IframeModal:to},computed:{newItemSize(){return this.displayData.itemSize||this.itemSize},isGridLayout(){return"grid"===this.displayData.sectionLayout||!(!this.displayData.itemCountX&&!this.displayData.itemCountY)},gridStyle(){let t="";return t+=this.displayData.itemCountX?`grid-template-columns: repeat(${this.displayData.itemCountX}, 1fr);`:"",t+=this.displayData.itemCountY?`grid-template-rows: repeat(${this.displayData.itemCountY}, 1fr);`:"",t}},methods:{makeId(t){return t.replace(/\s+/g,"-").replace(/[^a-zA-Z ]/g,"").toLowerCase()},triggerModal(t){this.$refs["iframeModal-"+this.groupId].show(t)},modalChanged(t){this.$emit("change-modal-visibility",t)},shouldEnableStatusCheck(t){const e=this.config.appConfig.statusCheck||!1;return void 0!==t?t:e},getStatusCheckInterval(){let t=this.config.appConfig.statusCheckInterval;return t?(t>60&&(t=60),t<1&&(t=0),t):0}}},so=eo,ao=(s("015c"),Object(w["a"])(so,ra,ca,!1,null,"29d94632",null)),oo=ao.exports,no={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:ia,ItemGroup:oo},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||h.a.layout},set:function(t){localStorage.setItem(p["localStorageKeys"].LAYOUT_ORIENTATION,t),this.layout=t}},iconSize:{get(){return this.appConfig.iconSize||h.a.iconSize},set:function(t){localStorage.setItem(p["localStorageKeys"].ICON_SIZE,t),this.itemSizeBound=t}}},methods:{checkTheresData(t){const e=localStorage[p["localStorageKeys"].CONF_SECTIONS];return t&&t.length>=1||e&&e.length>=1},getSections(t){const e=localStorage[p["localStorageKeys"].CONF_SECTIONS];if(e){const t=JSON.parse(e);if(t.length>=1)return t}return t},searching(t){this.searchValue=t||""},finishedSearching(){this.$refs.filterComp.clearFilterInput()},getDomainFromUrl(t){if(!t)return"";const e=/^(?:https?:\/\/)?(?:w{3}\.)?([a-z\d.-]+)\.(?:[a-z.]{2,10})(?:[/\w.-]*)*/,s=t.match(e);return s?s[1]:""},filterTiles(t){return t?t.filter(t=>{const{title:e,description:s,provider:a,url:o}=t,n=this.searchValue.toLowerCase();return e&&e.toLowerCase().includes(n)||a&&a.toLowerCase().includes(n)||s&&s.toLowerCase().includes(n)||this.getDomainFromUrl(o).includes(n)}):[]},getDisplayData(t){return t.displayData?t.displayData:{}},setLayoutOrientation(t){this.layoutOrientation=t},setItemSize(t){this.iconSize=t},updateModalVisibility(t){this.modalOpen=t},getExternalCSSLinks(){const t={};if(this.appConfig&&this.appConfig.externalStyleSheet){const e=this.appConfig.externalStyleSheet;Array.isArray(e)?e.forEach((e,s)=>{t["External Stylesheet "+(s+1)]=e}):t["External Stylesheet"]=this.appConfig.externalStyleSheet}return t.Deafault="#",t},checkIfFontAwesomeNeeded(){let t=!1;return this.sections.forEach(e=>{e.items.forEach(e=>{e.icon&&e.icon.includes("fa-")&&(t=!0)})}),t},initiateFontAwesome(){if(this.appConfig.enableFontAwesome||this.checkIfFontAwesomeNeeded()){const t=document.createElement("script"),e=this.appConfig.fontAwesomeKey||h.a.fontAwesomeKey;t.setAttribute("src",`https://kit.fontawesome.com/${e}.js`),document.head.appendChild(t)}},checkIfResults(){if(this.sections){let t=!0;return this.sections.forEach(e=>{this.filterTiles(e.items).length>0&&(t=!1)}),t}return!1},getBackgroundImage(){return this.appConfig&&this.appConfig.backgroundImg?`background: url('${this.appConfig.backgroundImg}');background-size:cover;`:""}},mounted(){this.initiateFontAwesome(),this.layout=this.layoutOrientation,this.itemSizeBound=this.iconSize}},io=no,ro=(s("39ab"),Object(w["a"])(io,ot,nt,!1,null,"b011a44e",null)),co=ro.exports,lo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"login-page"},[s("form",{staticClass:"login-form"},[s("h2",{staticClass:"login-title"},[t._v("Dashy")]),s("Input",{staticClass:"login-field username",attrs:{label:"Username",type:"text"},model:{value:t.username,callback:function(e){t.username=e},expression:"username"}}),s("Input",{staticClass:"login-field password",attrs:{label:"Password",type:"password"},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}}),s("Button",{staticClass:"login-button",attrs:{click:t.submitLogin}},[t._v("Login")]),s("transition",{attrs:{name:"bounce"}},[s("p",{directives:[{name:"show",rawName:"v-show",value:t.message,expression:"message"}],class:"login-error-message "+t.status},[t._v(t._s(t.message))])])],1)])},uo=[],po={name:"login",props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting"}},components:{Button:pe,Input:Ue},methods:{submitLogin(){const t=Vt(this.username,this.password,this.appConfig.auth||[]);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Ut(this.username,this.password),setTimeout(()=>{en.push({path:"/"})},250))},setTheme(){const t=localStorage[p["localStorageKeys"].THEME]||h.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",t)}},created(){this.setTheme()}},ho=po,mo=(s("206d6"),Object(w["a"])(ho,lo,uo,!1,null,null,null)),fo=mo.exports,go=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"work-space"},[s("SideBar",{attrs:{sections:t.sections},on:{"launch-app":t.launchApp}}),s("WebContent",{attrs:{url:t.url}})],1)},vo=[],yo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("nav",{staticClass:"side-bar"},t._l(t.sections,(function(e,a){return s("div",{key:a},[s("div",{staticClass:"side-bar-item-container",on:{click:function(e){return t.openSection(a)}}},[s("SideBarItem",{staticClass:"item",attrs:{icon:e.icon,title:e.name}})],1),s("transition",{attrs:{name:"slide"}},[t.isOpen[a]?s("SideBarSection",{attrs:{items:e.items},on:{"launch-app":t.launchApp}}):t._e()],1)],1)})),0)},bo=[],Co=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip,expression:"tooltip"}],class:"side-bar-item "+(t.icon?"w-icon":"text-only"),on:{click:function(e){return t.itemClicked()}}},[t.icon?s("Icon",{attrs:{icon:t.icon,size:"small",url:t.url}}):s("p",{staticClass:"small-title"},[t._v(t._s(t.title))])],1)},So=[],wo={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:Ca},methods:{itemClicked(){this.url&&this.$emit("launch-app",this.url)}},data(){return{tooltip:{disabled:!this.title,content:this.title,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:"right-start",delay:{show:800,hide:1e3}}}}},Io=wo,_o=(s("5e61"),Object(w["a"])(Io,Co,So,!1,null,"d979f4fe",null)),ko=_o.exports,xo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sub-side-bar"},t._l(t.items,(function(e,a){return s("div",{key:a},[s("SideBarItem",{staticClass:"item",attrs:{icon:e.icon,title:e.title,url:e.url},on:{"launch-app":t.launchApp}})],1)})),0)},To=[],Oo={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:ko},methods:{launchApp(t){this.$emit("launch-app",t)}}},Eo=Oo,Lo=(s("cf1c"),Object(w["a"])(Eo,xo,To,!1,null,"56ddb963",null)),Ao=Lo.exports,No={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:ko,SideBarSection:Ao},methods:{openSection(t){this.isOpen=this.isOpen.map((e,s)=>s===t&&!e)},launchApp(t){this.$emit("launch-app",t)}}},zo=No,Mo=(s("85e1"),Object(w["a"])(zo,yo,bo,!1,null,"31476576",null)),Po=Mo.exports,Bo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"web-content"},[s("iframe",{attrs:{src:t.url}})])},jo=[],Ho={name:"WebContent",props:{url:String}},$o=Ho,Do=(s("44e9"),Object(w["a"])($o,Bo,jo,!1,null,"a2564c04",null)),Vo=Do.exports,Uo={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:""}),components:{SideBar:Po,WebContent:Vo},methods:{launchApp(t){this.url=t},setTheme(){const t=localStorage[p["localStorageKeys"].THEME]||this.confTheme||h.a.theme,e=document.getElementsByTagName("html")[0];e.hasAttribute("data-theme")&&e.removeAttribute("data-theme"),e.setAttribute("data-theme",t)},initiateFontAwesome(){const t=document.createElement("script"),e=this.appConfig.fontAwesomeKey||h.a.fontAwesomeKey;t.setAttribute("src",`https://kit.fontawesome.com/${e}.js`),document.head.appendChild(t)}},mounted(){this.setTheme(),this.initiateFontAwesome()}},Ro=Uo,Ko=Object(w["a"])(Ro,go,vo,!1,null,"5517abc2",null),Fo=Ko.exports,Wo=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("pre",[s("code",[t._v(t._s(t.jsonParser(t.config)))])])},Go=[],Jo={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:At}}},qo=Jo,Yo=(s("6cd5"),Object(w["a"])(qo,Wo,Go,!1,null,"33cd2d90",null)),Zo=Yo.exports;a["a"].use(at["a"]);const Xo=()=>{const t=q.auth;return!t||Dt(t)},Qo=new at["a"]({routes:[{path:"/",name:"home",component:co,props:{appConfig:q,pageInfo:Y,sections:Z},meta:{title:Y.title||"Home Page",metaTags:p["metaTagData"]}},{path:"/workspace",name:"workspace",component:Fo,props:{appConfig:q,pageInfo:Y,sections:Z},meta:{title:Y.title||"Dashy Workspace",metaTags:p["metaTagData"]}},{path:"/login",name:"login",component:fo,props:{appConfig:q},beforeEnter:(t,e,s)=>{Xo()&&Qo.push({path:"/"}),s()}},{path:"/about",name:"about",component:()=>s.e("about").then(s.bind(null,"f820"))},{path:"/download",name:"download",component:Zo,props:{appConfig:q,pageInfo:Y,sections:Z},meta:{title:Y.title||"Download Dashy Config",metaTags:p["metaTagData"]}}]});Qo.beforeEach((t,e,s)=>{"login"===t.name||Xo()?s():s({name:"login"})});const tn="Dashy";Qo.afterEach(t=>{a["a"].nextTick(()=>{document.title=t.meta.title||tn})});var en=Qo,sn=s("9483");Object(sn["a"])("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(t){console.error("Error during service worker registration:",t)}}),a["a"].use(o["a"]),a["a"].use(i.a),a["a"].use(l["a"]),a["a"].use(d.a,p["toastedOptions"]),a["a"].component("v-select",c.a),a["a"].config.productionTip=!1,new a["a"]({router:en,render:t=>t(st)}).$mount("#app")},5703:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-sliders-h fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"sliders-h",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}})]))}}},"570d":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-grip-horizontal fa-w-14",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"grip-horizontal",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"}})]))}}},"58c1":function(t,e,s){},"5c0b":function(t,e,s){"use strict";s("9c0c")},"5cc6":function(t,e){t.exports={pageInfo:{title:"Dashy",description:"",navLinks:[{title:"Home",path:"/"},{title:"Source",path:"https://github.com/Lissy93/dashy"}],footerText:""},appConfig:{},iconSize:"medium",layout:"auto",theme:"default",fontAwesomeKey:"0821c65656",faviconApi:"faviconkit",builtInThemes:["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","material-original","material-dark-original","vaporware","high-contrast-dark","high-contrast-light"],visibleComponents:{pageTitle:!0,navigation:!0,searchBar:!0,settings:!0,footer:!0},localStorageKeys:{HIDE_WELCOME_BANNER:"hideWelcomeHelpers",LAYOUT_ORIENTATION:"layoutOrientation",COLLAPSE_STATE:"collapseState",ICON_SIZE:"iconSize",THEME:"theme",CONF_SECTIONS:"confSections",PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",BACKUP_ID:"backupId",BACKUP_HASH:"backupHash",HIDE_SETTINGS:"hideSettings",USERNAME:"username"},cookieKeys:{AUTH_TOKEN:"authenticationToken"},modalNames:{CONF_EDITOR:"CONF_EDITOR",CLOUD_BACKUP:"CLOUD_BACKUP",REBUILD_APP:"REBUILD_APP"},topLevelConfKeys:{PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",SECTIONS:"sections"},toastedOptions:{position:"bottom-center",duration:2500,keepOnHover:!0,className:"toast-message",iconPack:"fontawesome"},backupEndpoint:"https://dashy-sync-service.as93.net",splashScreenTime:1900,metaTagData:[{name:"description",content:"A simple static homepage for you're server"}],faviconApiEndpoints:{mcapi:"https://eu.mc-api.net/v3/server/favicon/$URL",clearbit:"https://logo.clearbit.com/$URL",faviconkit:"https://api.faviconkit.com/$URL/64",google:"https://www.google.com/s2/favicons?sz=128&domain_url=$URL",allesedv:"https://f1.allesedv.com/128/$URL",webmasterapi:"https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL"}}},"5e61":function(t,e,s){"use strict";s("b315")},"5f32":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-times-circle fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"times-circle",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"}})]))}}},6:function(t,e){},6266:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:[i,r],style:[c,l],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100",height:"100",preserveAspectRatio:"xMidYMid"},u),...d},n.concat([s("defs",[s("clipPath",{attrs:{id:"a"}},[s("path",{attrs:{d:"M20 0h60v100H20z"}})])]),s("path",{attrs:{fill:"none",stroke:"var(--primary, #00af87)","stroke-width":"6","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10","clip-path":"url(#a)",d:"M90 76.7V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5H55c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5H15c-2.7 0-5-2.2-5-5V23.3"}},[s("animateTransform",{attrs:{attributeName:"transform",type:"translate",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"-20 0;7 0",keyTimes:"0;1"}}),s("animate",{attrs:{attributeName:"stroke-dasharray",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"0 72 125 232;0 197 125 233",keyTimes:"0;1"}})])]))}}},6504:function(t,e,s){},6780:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-cloud-upload-alt fa-w-20",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"cloud-upload-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M395.5 267.5l-99-99c-4.7-4.7-12.3-4.7-17 0l-99 99c-7.6 7.6-2.2 20.5 8.5 20.5h67v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-84h67c10.7 0 16.1-12.9 8.5-20.5zm148.2-67.4C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96z"}})]))}}},"699c":function(t,e,s){"use strict";s("806e")},"69ce":function(t,e,s){"use strict";s("a592")},"6cd5":function(t,e,s){"use strict";s("6504")},7:function(t,e){},7075:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-expand fa-w-14",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}})]))}}},7941:function(t,e,s){},"7da9":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-css3-alt fa-w-12",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fab","data-icon":"css3-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"}})]))}}},"7dc7":function(t,e,s){"use strict";s("1e5e")},"7eb0":function(t,e,s){},"7f59":function(t,e,s){},"7fda":function(t,e,s){"use strict";s("ca69")},8:function(t,e){},"806e":function(t,e,s){},"80a7":function(t,e,s){"use strict";s("7eb0")},"826e":function(t,e,s){"use strict";s("939b")},"831b":function(t){t.exports=JSON.parse('{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"pageInfo":{"type":"object","properties":{"title":{"type":"string","description":"Title and heading for the app"},"description":{"type":"string","description":"Sub-title, displayed in header"},"navLinks":{"type":"array","maxItems":6,"description":"Quick access links, displayed in header","items":{"type":"object","additionalProperties":false,"required":["title","path"],"properties":{"title":{"type":"string"},"path":{"type":"string"}}}},"footerText":{"type":"string"}},"required":["title"],"additionalProperties":false},"appConfig":{"type":"object","description":"Application configuration","properties":{"backgroundImg":{"type":"string","description":"A URL to an image asset to be displayed as background"},"theme":{"type":"string","default":"Callisto","description":"A theme to be applied by default on first load"},"enableFontAwesome":{"type":"boolean","default":true,"description":"Should load font-awesome assets"},"fontAwesomeKey":{"type":"string","pattern":"^[a-z0-9]{10}$","description":"API key for font-awesome"},"faviconApi":{"enum":["local","faviconkit","google","clearbit","webmasterapi","allesedv"],"default":"faviconkit","description":"Which service to use to resolve favicons. Set to local to do this locally instead"},"layout":{"enum":["horizontal","vertical","auto","sidebar"],"default":"auto","description":"Specifies sections layout orientation on the home screen"},"iconSize":{"enum":["small","medium","large"],"default":"medium","description":"The size of each link item / icon"},"cssThemes":{"type":"array","description":"Theme names to be added to the dropdown","items":{"type":"string"}},"externalStyleSheet":{"description":"URL or URLs of external stylesheets to add to dropdown/ load","type":["string","array"],"items":{"type":"string"}},"customCss":{"type":"string","description":"Any custom CSS overides, must be minified"},"showSplashScreen":{"type":"boolean","default":false,"description":"Display a loading screen when the app is launched"},"statusCheck":{"type":"boolean","default":false,"description":"Displays an online/ offline status for each of your services"},"statusCheckInterval":{"type":"number","default":0,"description":"How often to recheck statuses. If set to 0, status will only be checked on page load"},"auth":{"type":"array","description":"Usernames and hashed credentials for frontend authentication","items":{"type":"object","additionalProperties":false,"required":["user","hash"],"properties":{"user":{"type":"string","description":"The username for a user"},"hash":{"type":"string","description":"A SHA-256 hashed password for that user","minLength":64,"maxLength":64},"type":{"enum":["admin","normal"],"description":"User type, denoting privilege level, either admin or normal","default":"normal"}}}},"allowConfigEdit":{"type":"boolean","default":true,"description":"Can user write changes to conf.yml file from the UI. If set to false, preferences are only stored locally"}},"additionalProperties":false},"sections":{"type":"array","description":"Array of sections, containing items","items":{"type":"object","required":["name","items"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"Title/ heading for a section"},"icon":{"type":"string","description":"Icon will be displayed next to title"},"displayData":{"type":"object","additionalProperties":false,"description":"Optional meta data for customizing a section","properties":{"collapsed":{"type":"boolean","default":false,"description":"If true, section needs to be clicked to open"},"color":{"type":"string","description":"Hex code, or HTML color for section fill"},"customStyles":{"type":"string","description":"CSS overides for section container"},"itemSize":{"enum":["small","medium","large"],"default":"medium","description":"Size of items within the section"},"rows":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans vertically"},"cols":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans horizontally"},"sectionLayout":{"enum":["grid","auto"],"default":"auto","description":"If set to grid, items have uniform width, and itemCount can be set"},"itemCountX":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per column"},"itemCountY":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per row"}}},"items":{"type":"array","description":"Array of items to display with a section","items":{"type":"object","additionalProperties":false,"required":["title"],"properties":{"title":{"type":"string","description":"Text shown on the item"},"description":{"type":"string","nullable":true,"description":"Short description, shown on hover or in a tooltip"},"icon":{"type":"string","nullable":true,"description":"An icon, either as a font-awesome identifier, local or remote URL, or the word favicon or generative"},"url":{"type":"string","description":"The destination to navigate to when item is clicked"},"target":{"enum":["newtab","sametab","iframe"],"default":"newtab","description":"Opening method, when item is clicked"},"color":{"type":"string","description":"A custom fill color of the item"},"provider":{"type":"string","description":"Provider name, e.g. Microsoft"},"statusCheck":{"type":"boolean","default":false,"description":"Whether or not to display online/ offline status for this service. Will override appConfig.statusCheck"}}}}}}}}}')},"832d":function(t,e,s){},"83ba":function(t,e,s){},8589:function(t,e,s){"use strict";s("16a0")},"85e1":function(t,e,s){"use strict";s("1036")},8949:function(t,e,s){"use strict";s("8e1b")},"8b35":function(t,e,s){},"8b8e":function(t,e){t.exports={pageInfo:{title:"Dashy",navLinks:[{title:"Home",path:"/"},{title:"About",path:"/about"},{title:"Source Code",path:"https://github.com/Lissy93/dashy"}]},appConfig:{theme:"colorful",fontAwesomeKey:"0821c65656"},sections:[{name:"Getting Started",items:[{title:"Source",description:"Source code and documentation on GitHub",icon:"fab fa-github",url:"https://github.com/Lissy93/dashy"},{title:"Issues",description:"View currently open issues, or raise a new one",icon:"fas fa-bug",url:"https://github.com/Lissy93/dashy/issues"},{title:"Demo 1",description:"Live Demo #1",icon:"far fa-rocket",url:"https://dashy-demo-1.netlify.app"},{title:"Demo 2",description:"Live Demo #2",icon:"fad fa-planet-ringed",url:"https://dashy-demo-2.netlify.app"}]}]}},"8d7c":function(t,e,s){},"8e1b":function(t,e,s){},9:function(t,e){},"922c":function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-expand-arrows-alt fa-w-14",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M448 344v112a23.94 23.94 0 01-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 01-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0124-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0124 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}})]))}}},"939b":function(t,e,s){},9517:function(t,e,s){"use strict";s("a8d0")},9635:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:[i,r],style:[c,l],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{d:"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z"}}),s("path",{attrs:{d:"M271.552 301.072l-77.856-46.72-41.616 15.152 10.944 30.064 27.28-9.92 82.144 49.28 97.6-65.072L480 315.088V480H32V347.2l40.8-14.848-10.928-30.048L0 324.8V512h512V292.912l-146.048-54.768z"}}),s("path",{attrs:{d:"M0 0v278.848l66.576-24.224-10.928-30.064L32 233.152V32h448v168.912l-114.048-42.768-94.4 62.928-77.856-46.72-47.84 17.392 10.944 30.064 33.504-12.16 82.144 49.28 97.6-65.072L512 247.088V0z"}}),s("path",{attrs:{d:"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z"}})]))}}},"97fb":function(t,e,s){},"9c0c":function(t,e,s){},"9c85":function(t,e,s){"use strict";s("b993")},"9e50":function(t,e,s){"use strict";s("3323")},a592:function(t,e,s){},a8d0:function(t,e,s){},abf6:function(t,e,s){},b315:function(t,e,s){},b993:function(t,e,s){},baed:function(t,e,s){"use strict";s("7941")},bd96:function(t,e,s){"use strict";s("d6b0")},c1bd:function(t,e,s){"use strict";s("83ba")},c715:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-th fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"th",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"}})]))}}},ca69:function(t,e,s){},cbd9:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-file-download fa-w-12",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"file-download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M216 236.07c0-6.63-5.37-12-12-12h-24c-6.63 0-12 5.37-12 12v84.01h-48.88c-10.71 0-16.05 12.97-8.45 20.52l72.31 71.77c4.99 4.95 13.04 4.95 18.03 0l72.31-71.77c7.6-7.54 2.26-20.52-8.45-20.52H216v-84.01zM369.83 97.98L285.94 14.1c-9-9-21.2-14.1-33.89-14.1H47.99C21.5.1 0 21.6 0 48.09v415.92C0 490.5 21.5 512 47.99 512h287.94c26.5 0 48.07-21.5 48.07-47.99V131.97c0-12.69-5.17-24.99-14.17-33.99zM255.95 51.99l76.09 76.08h-76.09V51.99zM336 464.01H47.99V48.09h159.97v103.98c0 13.3 10.7 23.99 24 23.99H336v287.95z"}})]))}}},cf1c:function(t,e,s){"use strict";s("8d7c")},d16d:function(t,e,s){"use strict";s("18dd")},d6b0:function(t,e,s){},d8e8:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-compress-arrows-alt fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"compress-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"}})]))}}},de40:function(t,e,s){"use strict";s("7f59")},df27:function(t,e,s){"use strict";s("abf6")},e697:function(t,e,s){"use strict";s("2574")},e6a4:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-download fa-w-16",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fal","data-icon":"download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h99.4L87 263.6c-25.2-25.2-7.3-68.3 28.3-68.3H168V40c0-22.1 17.9-40 40-40h96c22.1 0 40 17.9 40 40v155.3h52.7c35.6 0 53.4 43.1 28.3 68.3L368.6 320H468c24.3 0 44 19.7 44 44zm-261.7 17.7c3.1 3.1 8.2 3.1 11.3 0L402.3 241c5-5 1.5-13.7-5.7-13.7H312V40c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v187.3h-84.7c-7.1 0-10.7 8.6-5.7 13.7l140.7 140.7zM480 364c0-6.6-5.4-12-12-12H336.6l-52.3 52.3c-15.6 15.6-41 15.6-56.6 0L175.4 352H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z"}})]))}}},e7fa:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-edit fa-w-18",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"edit",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"}})]))}}},eda6:function(t,e,s){"use strict";s("1864")},ef83:function(t,e,s){},f719:function(t,e,s){"use strict";s("27c1")},f9d7:function(t,e){t.exports={functional:!0,render(t,e){const{_c:s,_v:a,data:o,children:n=[]}=e,{class:i,staticClass:r,style:c,staticStyle:l,attrs:u={},...d}=o;return s("svg",{class:["svg-inline--fa fa-grip-vertical fa-w-10",i,r],style:[c,l],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"grip-vertical",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512"},u),...d},n.concat([s("path",{attrs:{fill:"currentColor",d:"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"}})]))}}}});
-//# sourceMappingURL=dashy.ec01c6d8.js.map
\ No newline at end of file
diff --git a/js/dashy.ec01c6d8.js.map b/js/dashy.ec01c6d8.js.map
deleted file mode 100644
index c63b26c4..00000000
--- a/js/dashy.ec01c6d8.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/interface-icons/user-logout.svg","webpack:///./src/components/LinkItems/ItemGroup.vue?d2c4","webpack:///./src/assets/interface-icons/config-delete-local.svg","webpack:///./src/assets/interface-icons/application-rebuild.svg","webpack:///./src/assets/interface-icons/open-iframe.svg","webpack:///./src/components/PageStrcture/Footer.vue?33ea","webpack:///./src/components/Configuration/ConfigContainer.vue?09fd","webpack:///./src/views/Login.vue?2567","webpack:///./src/assets/interface-icons/open-current-tab.svg","webpack:///./src/assets/interface-icons/open-new-tab.svg","webpack:///./src/components/PageStrcture/LoadingScreen.vue?ea0c","webpack:///./src/components/FormElements/Input.vue?fb76","webpack:///./src/assets/interface-icons/config-editor.svg","webpack:///./src/views/Home.vue?a65b","webpack:///./src/assets/interface-icons/config-backup.svg","webpack:///./src/assets/interface-icons/application-reload.svg","webpack:///./src/components/PageStrcture/Header.vue?cea7","webpack:///./src/components/Workspace/WebContent.vue?7bf3","webpack:///./src/components/LinkItems/StatusIndicator.vue?dc21","webpack:///./src/components/Settings/ItemSizeSelector.vue?6445","webpack:///./src/components/Settings/ThemeSelector.vue?89f8","webpack:///./src/App.vue?f535","webpack:///./src/components/PageStrcture/Header.vue?ca1d","webpack:///./src/components/PageStrcture/PageTitle.vue?1a31","webpack:///src/components/PageStrcture/PageTitle.vue","webpack:///./src/components/PageStrcture/PageTitle.vue?ea63","webpack:///./src/components/PageStrcture/PageTitle.vue","webpack:///./src/components/PageStrcture/Nav.vue?c847","webpack:///src/components/PageStrcture/Nav.vue","webpack:///./src/components/PageStrcture/Nav.vue?c674","webpack:///./src/components/PageStrcture/Nav.vue","webpack:///src/components/PageStrcture/Header.vue","webpack:///./src/components/PageStrcture/Header.vue?83b0","webpack:///./src/components/PageStrcture/Header.vue","webpack:///./src/components/PageStrcture/Footer.vue?2684","webpack:///src/components/PageStrcture/Footer.vue","webpack:///./src/components/PageStrcture/Footer.vue?6588","webpack:///./src/components/PageStrcture/Footer.vue","webpack:///./src/components/PageStrcture/LoadingScreen.vue?bb12","webpack:///src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/components/PageStrcture/LoadingScreen.vue?96ea","webpack:///./src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/utils/ConfigAccumalator.js","webpack:///src/App.vue","webpack:///./src/App.vue?382d","webpack:///./src/App.vue","webpack:///./src/views/Home.vue?a3f4","webpack:///./src/components/Settings/SettingsContainer.vue?95ae","webpack:///./src/components/Settings/SearchBar.vue?3275","webpack:///./src/utils/ArrowKeyNavigation.js","webpack:///src/components/Settings/SearchBar.vue","webpack:///./src/components/Settings/SearchBar.vue?8307","webpack:///./src/components/Settings/SearchBar.vue","webpack:///./src/components/Settings/ConfigLauncher.vue?fbac","webpack:///./src/components/Configuration/ConfigContainer.vue?679a","webpack:///./src/utils/JsonToYaml.js","webpack:///./src/components/Configuration/JsonEditor.vue?6709","webpack:///./src/utils/Auth.js","webpack:///src/components/Configuration/JsonEditor.vue","webpack:///./src/components/Configuration/JsonEditor.vue?579f","webpack:///./src/components/Configuration/JsonEditor.vue","webpack:///./src/components/Configuration/CustomCss.vue?7059","webpack:///src/components/Configuration/CustomCss.vue","webpack:///./src/components/Configuration/CustomCss.vue?3340","webpack:///./src/components/Configuration/CustomCss.vue","webpack:///./src/components/Configuration/RebuildApp.vue?a36e","webpack:///./src/components/FormElements/Button.vue?47c7","webpack:///src/components/FormElements/Button.vue","webpack:///./src/components/FormElements/Button.vue?52f8","webpack:///./src/components/FormElements/Button.vue","webpack:///src/components/Configuration/RebuildApp.vue","webpack:///./src/components/Configuration/RebuildApp.vue?1840","webpack:///./src/components/Configuration/RebuildApp.vue","webpack:///src/components/Configuration/ConfigContainer.vue","webpack:///./src/components/Configuration/ConfigContainer.vue?d8c3","webpack:///./src/components/Configuration/ConfigContainer.vue","webpack:///./src/components/Configuration/CloudBackupRestore.vue?a0bd","webpack:///./src/components/FormElements/Input.vue?5c24","webpack:///src/components/FormElements/Input.vue","webpack:///./src/components/FormElements/Input.vue?49a6","webpack:///./src/components/FormElements/Input.vue","webpack:///./src/utils/CloudBackup.js","webpack:///src/components/Configuration/CloudBackupRestore.vue","webpack:///./src/components/Configuration/CloudBackupRestore.vue?d065","webpack:///./src/components/Configuration/CloudBackupRestore.vue","webpack:///src/components/Settings/ConfigLauncher.vue","webpack:///./src/components/Settings/ConfigLauncher.vue?5a66","webpack:///./src/components/Settings/ConfigLauncher.vue","webpack:///./src/components/Settings/ThemeSelector.vue?2b9c","webpack:///./src/utils/ThemeHelper.js","webpack:///src/components/Settings/ThemeSelector.vue","webpack:///./src/components/Settings/ThemeSelector.vue?3fa2","webpack:///./src/components/Settings/ThemeSelector.vue","webpack:///./src/components/Settings/LayoutSelector.vue?6ace","webpack:///src/components/Settings/LayoutSelector.vue","webpack:///./src/components/Settings/LayoutSelector.vue?4a31","webpack:///./src/components/Settings/LayoutSelector.vue","webpack:///./src/components/Settings/ItemSizeSelector.vue?9ace","webpack:///src/components/Settings/ItemSizeSelector.vue","webpack:///./src/components/Settings/ItemSizeSelector.vue?7880","webpack:///./src/components/Settings/ItemSizeSelector.vue","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?b69a","webpack:///src/components/Settings/KeyboardShortcutInfo.vue","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?6297","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue","webpack:///src/components/Settings/SettingsContainer.vue","webpack:///./src/components/Settings/SettingsContainer.vue?5e44","webpack:///./src/components/Settings/SettingsContainer.vue","webpack:///./src/components/LinkItems/ItemGroup.vue?7903","webpack:///./src/components/LinkItems/Item.vue?5aba","webpack:///./src/components/LinkItems/ItemIcon.vue?f22a","webpack:///./src/utils/ErrorHandler.js","webpack:///src/components/LinkItems/ItemIcon.vue","webpack:///./src/components/LinkItems/ItemIcon.vue?e801","webpack:///./src/components/LinkItems/ItemIcon.vue","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?aedd","webpack:///src/components/LinkItems/ItemOpenMethodIcon.vue","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?b230","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue","webpack:///./src/components/LinkItems/StatusIndicator.vue?2e6f","webpack:///src/components/LinkItems/StatusIndicator.vue","webpack:///./src/components/LinkItems/StatusIndicator.vue?9938","webpack:///./src/components/LinkItems/StatusIndicator.vue","webpack:///src/components/LinkItems/Item.vue","webpack:///./src/components/LinkItems/Item.vue?a851","webpack:///./src/components/LinkItems/Item.vue","webpack:///./src/components/LinkItems/Collapsable.vue?4810","webpack:///src/components/LinkItems/Collapsable.vue","webpack:///./src/components/LinkItems/Collapsable.vue?bb21","webpack:///./src/components/LinkItems/Collapsable.vue","webpack:///./src/components/LinkItems/IframeModal.vue?e234","webpack:///src/components/LinkItems/IframeModal.vue","webpack:///./src/components/LinkItems/IframeModal.vue?5f28","webpack:///./src/components/LinkItems/IframeModal.vue","webpack:///src/components/LinkItems/ItemGroup.vue","webpack:///./src/components/LinkItems/ItemGroup.vue?d5bc","webpack:///./src/components/LinkItems/ItemGroup.vue","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?1ead","webpack:///./src/views/Home.vue","webpack:///./src/views/Login.vue?aab2","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?8434","webpack:///./src/views/Login.vue","webpack:///./src/views/Workspace.vue?e1f0","webpack:///./src/components/Workspace/SideBar.vue?1c95","webpack:///./src/components/Workspace/SideBarItem.vue?9520","webpack:///src/components/Workspace/SideBarItem.vue","webpack:///./src/components/Workspace/SideBarItem.vue?61b9","webpack:///./src/components/Workspace/SideBarItem.vue","webpack:///./src/components/Workspace/SideBarSection.vue?a945","webpack:///src/components/Workspace/SideBarSection.vue","webpack:///./src/components/Workspace/SideBarSection.vue?3ca7","webpack:///./src/components/Workspace/SideBarSection.vue","webpack:///src/components/Workspace/SideBar.vue","webpack:///./src/components/Workspace/SideBar.vue?368a","webpack:///./src/components/Workspace/SideBar.vue","webpack:///./src/components/Workspace/WebContent.vue?fa5d","webpack:///src/components/Workspace/WebContent.vue","webpack:///./src/components/Workspace/WebContent.vue?01ce","webpack:///./src/components/Workspace/WebContent.vue","webpack:///src/views/Workspace.vue","webpack:///./src/views/Workspace.vue?c5ca","webpack:///./src/views/Workspace.vue","webpack:///./src/views/DownloadConfig.vue?c603","webpack:///src/views/DownloadConfig.vue","webpack:///./src/views/DownloadConfig.vue?a1ac","webpack:///./src/views/DownloadConfig.vue","webpack:///./src/router.js","webpack:///./src/registerServiceWorker.js","webpack:///./src/main.js","webpack:///./src/assets/interface-icons/config-open-settings.svg","webpack:///./src/assets/interface-icons/layout-horizontal.svg","webpack:///./src/App.vue?595f","webpack:///./src/utils/defaults.js","webpack:///./src/components/Workspace/SideBarItem.vue?3a0a","webpack:///./src/assets/interface-icons/config-close.svg","webpack:///./src/assets/interface-icons/loader.svg","webpack:///./src/assets/interface-icons/cloud-backup-restore.svg","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?c798","webpack:///./src/components/Settings/SettingsContainer.vue?9fe3","webpack:///./src/views/DownloadConfig.vue?4e96","webpack:///./src/assets/interface-icons/icon-size-medium.svg","webpack:///./src/assets/interface-icons/config-custom-css.svg","webpack:///./src/components/Settings/LayoutSelector.vue?02de","webpack:///./src/components/Configuration/RebuildApp.vue?1214","webpack:///./src/components/Configuration/JsonEditor.vue?5179","webpack:///./src/components/LinkItems/Item.vue?b4f3","webpack:///./src/components/LinkItems/Collapsable.vue?8683","webpack:///./src/components/Workspace/SideBar.vue?34c4","webpack:///./src/components/Settings/SearchBar.vue?fc1a","webpack:///./public/conf.yml","webpack:///./src/assets/interface-icons/icon-size-large.svg","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?300b","webpack:///./src/assets/interface-icons/broken-icon.svg","webpack:///./src/components/Settings/ConfigLauncher.vue?38ba","webpack:///./src/components/Configuration/CustomCss.vue?fa1a","webpack:///./src/components/Configuration/CloudBackupRestore.vue?5526","webpack:///./src/components/PageStrcture/PageTitle.vue?9727","webpack:///./src/components/Configuration/ConfigContainer.vue?5de6","webpack:///./src/assets/interface-icons/layout-default.svg","webpack:///./src/assets/interface-icons/config-download-file.svg","webpack:///./src/components/Workspace/SideBarSection.vue?8693","webpack:///./src/components/PageStrcture/Nav.vue?efdc","webpack:///./src/assets/interface-icons/icon-size-small.svg","webpack:///./src/components/LinkItems/ItemIcon.vue?e410","webpack:///./src/components/FormElements/Button.vue?9c15","webpack:///./src/components/LinkItems/StatusIndicator.vue?b7eb","webpack:///./src/assets/interface-icons/config-restore.svg","webpack:///./src/assets/interface-icons/config-edit-json.svg","webpack:///./src/components/LinkItems/IframeModal.vue?f46c","webpack:///./src/components/LinkItems/Item.vue?d111","webpack:///./src/assets/interface-icons/layout-vertical.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","functional","_h","_vm","_c","_v","children","class","classNames","staticClass","style","staticStyle","attrs","rest","assign","concat","render","this","$createElement","_self","shouldShowSplash","isLoading","_e","shouldHidePageComponents","pageInfo","showFooter","getFooterText","staticRenderFns","title","description","navLinks","_s","props","String","component","_l","link","index","path","isUrl","links","Array","methods","components","PageTitle","Nav","hiddenComponents","titleVisible","navVisible","text","scrollVisible","domProps","authorUrl","authorName","licenseUrl","license","showCopyright","date","repoUrl","body","clientHeight","innerHeight","on","$event","appConfig","usersAppConfig","Defaults","localStorage","localStorageKeys","APP_CONFIG","JSON","parse","conf","layout","LAYOUT_ORIENTATION","iconSize","ICON_SIZE","defaults","localPageInfo","PAGE_INFO","pi","footerText","sections","localSections","CONF_SECTIONS","json","config","Header","Footer","LoadingScreen","provide","usersCss","textContent","append","showSplashScreen","computed","$route","hideSplash","customCss","cleanedCss","replace","injectCustomStyles","getBackgroundImage","ref","itemSizeBound","getExternalCSSLinks","getSections","modalOpen","searching","setLayoutOrientation","setItemSize","updateModalVisibility","checkTheresData","section","filterTiles","items","searchValue","icon","getDisplayData","finishedSearching","checkIfResults","userIsTypingSomething","settingsVisible","availableThemes","getInitialTheme","getUserThemes","displayLayout","updateDisplayLayout","updateIconSize","modalChanged","isUserLoggedIn","directives","rawName","expression","logout","toggleSettingsVisibility","composing","input","indexOf","_k","keyCode","clearFilterInput","arguments","ArrowKeyNavigation","constructor","resetIndex","arrowNavigation","goToPrevious","goToNext","getSafeElementIndex","selectItemByIndex","focus","getElementsByClassName","numResults","getNumResults","startingIndex","isSameRow","indx","pos","offsetTop","checkPreviousIndex","currentIndex","yPos","position","isBelow","start","end","nextIndex","findPreviousRow","count","rowLen","findNextRow","adjustment","checkNextIndex","isAbove","active","Boolean","akn","addEventListener","currentElem","activeElement","id","test","$refs","filter","$emit","blur","tooltip","showEditor","showCloudModal","modalNames","CONF_EDITOR","combineConfig","CLOUD_BACKUP","downloadConfigFile","yaml","goToEdit","goToCustomCss","openCloudSync","backupId","openRebuildAppModal","resetLocalSettings","copyConfigToClipboard","trimWhitespace","split","map","x","trimRight","join","throwError","msg","stringify","indentLevel","handlers","null","number","boolean","string","array","output","forEach","y","handler","typeOf","inArray","rootNode","keys","k","val","function","options","model","callback","$$v","jsonData","allowWriteToDisk","_q","saveMode","isValid","save","errorMessages","saveSuccess","responseText","generateUserToken","user","sha256","toString","toLowerCase","isLoggedIn","users","validTokens","userAuthenticated","cookie","cookieKey","trim","cookieValue","cookieKeys","AUTH_TOKEN","includes","checkCredentials","username","pass","response","hash","correct","login","userObject","setItem","USERNAME","removeItem","isUserAdmin","currentUser","isAdmin","VJsoneditor","schema","modes","onValidationError","validationErrors","jsonParser","JsonToYaml","shouldAllowWriteToDisk","allowConfigEdit","auth","writeConfigToDisk","$toasted","show","saveConfigLocally","baseUrl","endpoint","headers","success","carefullyClearLocalStorage","showToast","theme","errors","keyword","highlighter","_m","PrismEditor","css","match","validate","inject","userStyles","modalName","startBuild","loading","scopedSlots","_u","fn","proxy","refreshPage","disabled","click","_t","Function","Button","RebuildIcon","ReloadIcon","LoadingAnimation","responseData","location","reload","JsonEditor","CustomCssEditor","RebuildApp","DownloadIcon","DeleteIcon","EditIcon","CloudIcon","CustomCssIcon","itemToSelect","tabView","navItems","activeTabItem","$modal","navigator","clipboard","writeText","isTheUserSure","confirm","clear","filename","filecontents","element","encodeURIComponent","display","highlighted","getElementById","innerHTML","backupPassword","checkPass","restoreCode","restorePassword","restoreBackup","label","placeholder","updateValue","default","validator","ENDPOINT","backupEndpoint","encryptData","password","stringifiedData","encryptedData","aes","encrypt","decryptData","decrypt","Utf8","makeSubHash","backup","axios","post","userData","subHash","update","put","encodeGetParams","entries","kv","restore","params","url","errorMsg","decryptedData","Input","IconBackup","IconRestore","savedHash","makeUpdate","showErrorMsg","makeBackup","setBackupIdLocally","showSuccessMsg","isUpdate","makeHash","IconSpanner","IconCloud","ConfigContainer","CloudBackupRestore","content","themeNames","selectedTheme","ThemeHelper","preloadTheme","sheet","selectTheme","themes","add","find","confTheme","userThemes","watch","newTheme","themeHelper","builtInThemes","externalThemeNames","added","isThemeLocal","updateTheme","htmlTag","hasAttribute","removeAttribute","themeToCheck","resetToDefault","setLocalTheme","IconDeafault","IconHorizontal","IconVertical","IconSmall","IconMedium","IconLarge","shouldHide","hideWelcomeHelper","timeDelay","removeEventListener","keyPressEvent","shouldHideWelcomeMessage","$destroy","SearchBar","ConfigLauncher","ThemeSelector","LayoutSelector","ItemSizeSelector","KeyboardShortcutInfo","IconLogout","IconOpen","IconClose","something","changedTo","cssThemes","searchVisible","getSettingsVisibility","groupId","displayData","collapsed","cols","rows","color","customStyles","isGridLayout","item","makeId","backgroundColor","newItemSize","shouldEnableStatusCheck","statusCheck","getStatusCheckInterval","triggerModal","getTooltipOptions","itemSize","getUnicodeOpeningIcon","itemOpened","statusResponse","successStatus","iconType","size","broken","iconPath","imageNotFound","ErrorHandler","warn","BrokenImage","determineImageType","getIconPath","str","pattern","RegExp","img","fileExtRegex","validImgExtensions","splitPath","exec","fullUrl","shouldUseDefaultFavicon","urlParts","host","getHostName","faviconApi","isLocalIP","imgType","makeClass","isSmall","isTransparent","openingMethod","transparent","NewTabOpenIcon","SameTabOpenIcon","IframeOpenIcon","statusText","otherStatusText","classes","statusSuccess","startTime","Date","subtitle","enableStatusCheck","statusCheckInterval","Number","getId","background","Icon","ItemOpenMethodIcon","StatusIndicator","altKey","preventDefault","tileElem","isOverflowing","scrollHeight","className","trigger","hideOnTargetClick","html","placement","delay","manageTitleEllipse","checkWebsiteStatus","setInterval","checkSpanNum","sanitizeCustomStyles","uniqueKey","getCollapseState","collapseChanged","isOpen","span","classPrefix","maxSpan","numSpan","parseInt","userCss","initStorage","collapseStateObject","initialiseStorage","collapseState","newState","whatChanged","setCollapseState","srcElement","checked","modalClosed","hide","slot","close","Collapsable","Item","IframeModal","sectionLayout","styles","itemCountX","itemCountY","itemPreference","globalPreference","interval","SettingsContainer","ItemGroup","layoutOrientation","set","filterComp","urlPattern","domainPattern","allTiles","searchTerm","modalState","availibleThemes","externalStyleSheet","externals","isArray","ext","Deafault","isFound","enableFontAwesome","checkIfFontAwesomeNeeded","fontAwesomeScript","faKey","fontAwesomeKey","itemsFound","backgroundImg","initiateFontAwesome","submitLogin","status","setTheme","launchApp","openSection","itemClicked","SideBarItem","fill","SideBarSection","ind","SideBar","WebContent","Vue","use","Router","isAuthenticated","router","routes","Home","meta","metaTags","metaTagData","Workspace","Login","beforeEnter","to","from","next","DownloadConfig","beforeEach","defaultTitle","afterEach","nextTick","register","ready","log","registered","cached","updatefound","updated","offline","VTooltip","VModal","VTabs","Toasted","toastedOptions","VSelect","productionTip","awesome","Dashy","$mount","visibleComponents","pageTitle","navigation","searchBar","settings","footer","HIDE_WELCOME_BANNER","COLLAPSE_STATE","THEME","BACKUP_ID","BACKUP_HASH","HIDE_SETTINGS","REBUILD_APP","topLevelConfKeys","SECTIONS","duration","keepOnHover","iconPack","splashScreenTime","faviconApiEndpoints","mcapi","clearbit","faviconkit","google","allesedv","webmasterapi"],"mappings":"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","file":"js/dashy.ec01c6d8.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"dashy\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"dashy\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"c5136cd2\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"a64c098d\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sign-out-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sign-out-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=style&index=0&id=29d94632&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-trash-alt fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"trash-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M268 416h24a12 12 0 0012-12V188a12 12 0 00-12-12h-24a12 12 0 00-12 12v216a12 12 0 0012 12zM432 80h-82.41l-34-56.7A48 48 0 00274.41 0H173.59a48 48 0 00-41.16 23.3L98.41 80H16A16 16 0 000 96v16a16 16 0 0016 16h16v336a48 48 0 0048 48h288a48 48 0 0048-48V128h16a16 16 0 0016-16V96a16 16 0 00-16-16zM171.84 50.91A6 6 0 01177 48h94a6 6 0 015.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0012-12V188a12 12 0 00-12-12h-24a12 12 0 00-12 12v216a12 12 0 0012 12z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-hammer fa-w-18\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"hammer\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 576 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-clone fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"clone\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=23129a2b&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-window-maximize fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"window-maximize\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-external-link-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"external-link-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M432 320h-32a16 16 0 00-16 16v112H64V128h144a16 16 0 0016-16V80a16 16 0 00-16-16H48a48 48 0 00-48 48v352a48 48 0 0048 48h352a48 48 0 0048-48V336a16 16 0 00-16-16zM488 0H360c-21.37 0-32.05 25.91-17 41l35.73 35.73L135 320.37a24 24 0 000 34L157.67 377a24 24 0 0034 0l243.61-243.68L471 169c15 15 41 4.5 41-17V24a24 24 0 00-24-24z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=style&index=0&id=a7bc1de6&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=style&index=0&id=5df13ed2&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-wrench fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"wrench\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"}})])\n )\n }\n }\n ","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=b011a44e&lang=scss&scoped=true&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-upload fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fal\",\"data-icon\":\"upload\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h124v-99.3h-52.7c-35.6 0-53.4-43.1-28.3-68.3L227.7 11.7c15.6-15.6 40.9-15.6 56.6 0L425 152.4c25.2 25.2 7.3 68.3-28.3 68.3H344V320h124c24.3 0 44 19.7 44 44zM200 188.7V376c0 4.4 3.6 8 8 8h96c4.4 0 8-3.6 8-8V188.7h84.7c7.1 0 10.7-8.6 5.7-13.7L261.7 34.3c-3.1-3.1-8.2-3.1-11.3 0L109.7 175c-5 5-1.5 13.7 5.7 13.7H200zM480 364c0-6.6-5.4-12-12-12H344v24c0 22.1-17.9 40-40 40h-96c-22.1 0-40-17.9-40-40v-24H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sync fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sync\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M440.65 12.57l4 82.77A247.16 247.16 0 00255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0024.09 224h49.05a12 12 0 0011.67-9.26 175.91 175.91 0 01317-56.94l-101.46-4.86a12 12 0 00-12.57 12v47.41a12 12 0 0012 12H500a12 12 0 0012-12V12a12 12 0 00-12-12h-47.37a12 12 0 00-11.98 12.57zM255.83 432a175.61 175.61 0 01-146-77.8l101.8 4.87a12 12 0 0012.57-12v-47.4a12 12 0 00-12-12H12a12 12 0 00-12 12V500a12 12 0 0012 12h47.35a12 12 0 0012-12.6l-4.15-82.57A247.17 247.17 0 00255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 00-11.8-14.18h-49.05a12 12 0 00-11.67 9.26A175.86 175.86 0 01255.83 432z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=70a33270&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebContent.vue?vue&type=style&index=0&id=a2564c04&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=style&index=0&id=58966274&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"dashy\"}},[(_vm.shouldShowSplash())?_c('LoadingScreen',{attrs:{\"isLoading\":_vm.isLoading}}):_vm._e(),(!_vm.shouldHidePageComponents())?_c('Header',{attrs:{\"pageInfo\":_vm.pageInfo}}):_vm._e(),_c('router-view'),(_vm.showFooter && !_vm.shouldHidePageComponents())?_c('Footer',{attrs:{\"text\":_vm.getFooterText()}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',[(_vm.titleVisible)?_c('PageTitle',{attrs:{\"title\":_vm.pageInfo.title,\"description\":_vm.pageInfo.description}}):_vm._e(),(_vm.navVisible)?_c('Nav',{staticClass:\"nav\",attrs:{\"links\":_vm.pageInfo.navLinks}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-titles\"},[_c('h1',[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.description))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
{{ title }} \n {{ description }} \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageTitle.vue?vue&type=template&id=290d21a8&scoped=true&\"\nimport script from \"./PageTitle.vue?vue&type=script&lang=js&\"\nexport * from \"./PageTitle.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PageTitle.vue?vue&type=style&index=0&id=290d21a8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"290d21a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{attrs:{\"id\":\"nav\"}},_vm._l((_vm.links),function(link,index){return _c('router-link',{key:index,staticClass:\"nav-item\",attrs:{\"to\":link.path,\"href\":link.path,\"target\":_vm.isUrl(link.path) ? '_blank' : '',\"rel\":\"noopener noreferrer\"}},[_vm._v(_vm._s(link.title))])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{link.title}} \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Nav.vue?vue&type=template&id=68c1bd5c&scoped=true&\"\nimport script from \"./Nav.vue?vue&type=script&lang=js&\"\nexport * from \"./Nav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Nav.vue?vue&type=style&index=0&id=68c1bd5c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68c1bd5c\",\n null\n \n)\n\nexport default component.exports","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=70a33270&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=70a33270&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70a33270\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.text && _vm.text !== '')?_c('footer',{class:!_vm.scrollVisible ? 'fixed' : '',domProps:{\"innerHTML\":_vm._s(_vm.text)}}):_c('footer',{class:!_vm.scrollVisible ? 'fixed' : ''},[_vm._v(\" Developed by \"),_c('a',{attrs:{\"href\":_vm.authorUrl}},[_vm._v(_vm._s(_vm.authorName))]),_vm._v(\". Licensed under \"),_c('a',{attrs:{\"href\":_vm.licenseUrl}},[_vm._v(_vm._s(_vm.license))]),_vm._v(\" \"+_vm._s(_vm.showCopyright? '©': '')+\" \"+_vm._s(_vm.date)+\". Get the \"),_c('a',{attrs:{\"href\":_vm.repoUrl}},[_vm._v(\"Source Code\")]),_vm._v(\". \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=23129a2b&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=23129a2b&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"23129a2b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slide-fade\"}},[(_vm.isLoading)?_c('div',{class:_vm.c,attrs:{\"id\":\"loading\"},on:{\"click\":function($event){_vm.c = 'hide'}}},[_c('h2',[_vm._v(\"Dashy\")]),_c('div',{staticClass:\"inner-container\"},[_c('p',[_vm._v(\"Loading\")]),_c('span',{staticClass:\"dots-cont\"},[_c('span',{staticClass:\"dot dot-1\"}),_c('span',{staticClass:\"dot dot-2\"}),_c('span',{staticClass:\"dot dot-3\"}),_c('span',{staticClass:\"dot dot-4\"})])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
Dashy \n
\n
Loading
\n
\n \n \n \n \n \n
\n
\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingScreen.vue?vue&type=template&id=a7bc1de6&scoped=true&\"\nimport script from \"./LoadingScreen.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingScreen.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingScreen.vue?vue&type=style&index=0&id=a7bc1de6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a7bc1de6\",\n null\n \n)\n\nexport default component.exports","/**\n * Reads the users config from `conf.yml`, and combines it with any local preferences\n * Also ensures that any missing attributes are populated with defaults, and the\n * object is structurally sound, to avoid any error if the user is missing something\n * The main config object is made up of three parts: appConfig, pageInfo and sections\n */\nimport Defaults, { localStorageKeys } from '@/utils/defaults';\nimport conf from '../../public/conf.yml';\n\n/**\n * Returns the appConfig section, as JSON\n */\nexport const appConfig = (() => {\n let usersAppConfig = Defaults.appConfig;\n if (localStorage[localStorageKeys.APP_CONFIG]) {\n usersAppConfig = JSON.parse(localStorage[localStorageKeys.APP_CONFIG]);\n } else if (conf.appConfig) {\n usersAppConfig = conf.appConfig;\n }\n usersAppConfig.layout = localStorage[localStorageKeys.LAYOUT_ORIENTATION]\n || conf.appConfig.layout || Defaults.layout;\n usersAppConfig.iconSize = localStorage[localStorageKeys.ICON_SIZE]\n || conf.appConfig.iconSize || Defaults.iconSize;\n return usersAppConfig;\n})();\n\n/**\n * Returns the pageInfo section, as JSON\n */\nexport const pageInfo = (() => {\n const defaults = Defaults.pageInfo;\n let localPageInfo;\n try {\n localPageInfo = JSON.parse(localStorage[localStorageKeys.PAGE_INFO]);\n } catch (e) {\n localPageInfo = {};\n }\n const pi = conf.pageInfo || defaults; // The page info object to return\n pi.title = localPageInfo.title || conf.pageInfo.title || defaults.title;\n pi.description = localPageInfo.description || conf.pageInfo.description || defaults.description;\n pi.navLinks = localPageInfo.navLinks || conf.pageInfo.navLinks || defaults.navLinks;\n pi.footerText = localPageInfo.footerText || conf.pageInfo.footerText || defaults.footerText;\n return pi;\n})();\n\n/**\n * Returns the sections section, as an array of JSON objects\n */\nexport const sections = (() => {\n // If the user has stored sections in local storage, return those\n const localSections = localStorage[localStorageKeys.CONF_SECTIONS];\n if (localSections) {\n try {\n const json = JSON.parse(localSections);\n if (json.length >= 1) return json;\n } catch (e) {\n // The data in local storage has been malformed, will return conf.sections instead\n }\n }\n // If the function hasn't yet returned, then return the config file sections\n return conf.sections;\n})();\n\n/**\n * Returns the complete configuration, as JSON\n */\nexport const config = (() => {\n const result = {\n appConfig,\n pageInfo,\n sections,\n };\n return result;\n})();\n","\n \n \n \n \n \n
\n \n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--11-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--11-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2732caa4&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\",style:(_vm.getBackgroundImage())},[_c('SettingsContainer',{ref:\"filterComp\",staticClass:\"filter-container\",attrs:{\"displayLayout\":_vm.layout,\"iconSize\":_vm.itemSizeBound,\"availableThemes\":_vm.getExternalCSSLinks(),\"sections\":_vm.getSections(_vm.sections),\"appConfig\":_vm.appConfig,\"pageInfo\":_vm.pageInfo,\"modalOpen\":_vm.modalOpen},on:{\"user-is-searchin\":_vm.searching,\"change-display-layout\":_vm.setLayoutOrientation,\"change-icon-size\":_vm.setItemSize,\"change-modal-visibility\":_vm.updateModalVisibility}}),(_vm.checkTheresData(_vm.sections))?_c('div',{class:(\"item-group-container orientation-\" + _vm.layout + \" item-size-\" + _vm.itemSizeBound)},_vm._l((_vm.getSections(_vm.sections)),function(section,index){return _c('ItemGroup',{key:index,class:(_vm.filterTiles(section.items).length === 0 && _vm.searchValue) ? 'no-results' : '',attrs:{\"title\":section.name,\"icon\":section.icon || undefined,\"displayData\":_vm.getDisplayData(section),\"groupId\":(\"section-\" + index),\"items\":_vm.filterTiles(section.items),\"itemSize\":_vm.itemSizeBound},on:{\"itemClicked\":function($event){return _vm.finishedSearching()},\"change-modal-visibility\":_vm.updateModalVisibility}})}),1):_vm._e(),(_vm.checkIfResults())?_c('div',{staticClass:\"no-data\"},[_vm._v(\" \"+_vm._s(_vm.searchValue ? 'No Search Results' : 'No Data Configured')+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.searchVisible)?_c('SearchBar',{ref:\"SearchBar\",attrs:{\"active\":!_vm.modalOpen},on:{\"user-is-searchin\":_vm.userIsTypingSomething}}):_vm._e(),_c('div',{staticClass:\"options-outer\"},[_c('div',{class:(\"options-container \" + (!_vm.settingsVisible ? 'hide' : ''))},[_c('ThemeSelector',{attrs:{\"themes\":_vm.availableThemes,\"confTheme\":_vm.getInitialTheme(),\"userThemes\":_vm.getUserThemes()}}),_c('LayoutSelector',{attrs:{\"displayLayout\":_vm.displayLayout},on:{\"layoutUpdated\":_vm.updateDisplayLayout}}),_c('ItemSizeSelector',{attrs:{\"iconSize\":_vm.iconSize},on:{\"iconSizeUpdated\":_vm.updateIconSize}}),_c('ConfigLauncher',{attrs:{\"sections\":_vm.sections,\"pageInfo\":_vm.pageInfo,\"appConfig\":_vm.appConfig},on:{\"modalChanged\":_vm.modalChanged}}),(_vm.isUserLoggedIn())?_c('IconLogout',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Logout'),expression:\"'Logout'\"}],staticClass:\"logout-icon\",on:{\"click\":function($event){return _vm.logout()}}}):_vm._e()],1),_c('div',{class:(\"show-hide-container \" + (_vm.settingsVisible? 'hide-btn' : 'show-btn'))},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(((_vm.settingsVisible? 'Hide' : 'Open') + \" Settings Menu\")),expression:\"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.toggleSettingsVisibility()}}},[(_vm.settingsVisible)?_c('IconClose'):_c('IconOpen')],1)])]),_c('KeyboardShortcutInfo')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',[_c('label',{attrs:{\"for\":\"filter-tiles\"}},[_vm._v(\"Search\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],ref:\"filter\",attrs:{\"id\":\"filter-tiles\",\"placeholder\":\"Start typing to filter...\"},domProps:{\"value\":(_vm.input)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.input=$event.target.value},_vm.userIsTypingSomething],\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.clearFilterInput.apply(null, arguments)}}}),(_vm.input.length > 0)?_c('i',{staticClass:\"clear-search\",attrs:{\"title\":\"Clear search\"},on:{\"click\":_vm.clearFilterInput}},[_vm._v(\"x\")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Class encapsulating the functionality that enables the user to\n * navigate through tiles/ search result grid using the arrow keys\n * This code is very hacky, it's best not to look at it for too long\n */\nexport default class ArrowKeyNavigation {\n constructor(index) {\n this.index = index;\n }\n\n resetIndex() {\n this.index = 0;\n }\n\n /* Figures out which element is next, based on the key pressed *\n * current index and total number of items. Then calls focus function */\n arrowNavigation(key) {\n if (this.index === undefined) this.index = 0; // Start at beginning\n else if (key === 37) { // Left --> Previous\n this.index -= 1;\n } else if (key === 38) { // Up --> Previous\n this.index = ArrowKeyNavigation.goToPrevious(this.index);\n } else if (key === 39) { // Right --> Next\n this.index += 1;\n } else if (key === 40) { // Down --> Next\n this.index = ArrowKeyNavigation.goToNext(this.index);\n }\n /* Ensure the index is within bounds, then focus element */\n this.index = ArrowKeyNavigation.getSafeElementIndex(this.index);\n ArrowKeyNavigation.selectItemByIndex(this.index).focus();\n }\n\n /* Returns the number of visible items / results */\n static getNumResults() {\n return document.getElementsByClassName('item').length;\n }\n\n /* Returns the index for an element, ensuring that it's within bounds */\n static getSafeElementIndex(index) {\n const numResults = ArrowKeyNavigation.getNumResults();\n if (index < 0) return numResults - 1;\n else if (index >= numResults) return 0;\n return index;\n }\n\n /* Selects a given element, by it's ID. If out of bounds, returns element 0 */\n static selectItemByIndex(index) {\n return (index >= 0 && index <= ArrowKeyNavigation.getNumResults())\n ? document.getElementsByClassName('item')[index] : [document.getElementsByClassName('item')];\n }\n\n /* Returns the index of the first cell in the previous/ above row */\n static findPreviousRow(startingIndex) {\n const isSameRow = (indx, pos) => ArrowKeyNavigation.selectItemByIndex(indx).offsetTop === pos;\n const checkPreviousIndex = (currentIndex, yPos) => {\n if (currentIndex >= ArrowKeyNavigation.getNumResults()) return checkPreviousIndex(0, yPos);\n else if (isSameRow(currentIndex, yPos)) return checkPreviousIndex(currentIndex - 1, yPos);\n return currentIndex;\n };\n const position = ArrowKeyNavigation.selectItemByIndex(startingIndex).offsetTop;\n return checkPreviousIndex(startingIndex, position);\n }\n\n /* Moves to the cell directly above the current */\n static goToPrevious(startingIndex) {\n const isBelow = (start, end) => (ArrowKeyNavigation.selectItemByIndex(start).offsetTop\n < ArrowKeyNavigation.selectItemByIndex(end).offsetTop);\n const nextIndex = ArrowKeyNavigation.findPreviousRow(startingIndex);\n const count = nextIndex - startingIndex;\n const rowLen = nextIndex - ArrowKeyNavigation.findNextRow(startingIndex) + 1;\n const adjustment = isBelow(startingIndex, nextIndex) ? 0 : rowLen - count;\n return nextIndex + adjustment;\n }\n\n /* Returns the index of the first cell in the next/ below row */\n static findNextRow(startingIndex) {\n const isSameRow = (indx, pos) => ArrowKeyNavigation.selectItemByIndex(indx).offsetTop === pos;\n const checkNextIndex = (currentIndex, yPos) => {\n if (currentIndex >= ArrowKeyNavigation.getNumResults()) return checkNextIndex(0, yPos);\n else if (isSameRow(currentIndex, yPos)) return checkNextIndex(currentIndex + 1, yPos);\n return currentIndex;\n };\n const position = ArrowKeyNavigation.selectItemByIndex(startingIndex).offsetTop;\n return checkNextIndex(startingIndex, position);\n }\n\n /* Moves to the cell directly below the current */\n static goToNext(startingIndex) {\n const isAbove = (start, end) => (ArrowKeyNavigation.selectItemByIndex(start).offsetTop\n > ArrowKeyNavigation.selectItemByIndex(end).offsetTop);\n const nextIndex = ArrowKeyNavigation.findNextRow(startingIndex);\n const count = nextIndex - startingIndex;\n const rowLen = nextIndex - ArrowKeyNavigation.findPreviousRow(startingIndex) - 1;\n const adjustment = isAbove(startingIndex, nextIndex) ? 0 : rowLen - count;\n return nextIndex + adjustment;\n }\n}\n","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchBar.vue?vue&type=template&id=72e6bff4&scoped=true&\"\nimport script from \"./SearchBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBar.vue?vue&type=style&index=0&id=72e6bff4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72e6bff4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"config-options\"},[_c('span',[_vm._v(\"Config\")]),_c('div',{staticClass:\"config-buttons\"},[_c('IconSpanner',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Update configuration locally')),expression:\"tooltip('Update configuration locally')\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.showEditor()}}}),_c('IconCloud',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Backup / restore cloud config')),expression:\"tooltip('Backup / restore cloud config')\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.showCloudModal()}}})],1),_c('modal',{attrs:{\"name\":_vm.modalNames.CONF_EDITOR,\"resizable\":true,\"width\":\"60%\",\"height\":\"85%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.$emit('modalChanged', false)}}},[_c('ConfigContainer',{attrs:{\"config\":_vm.combineConfig()}})],1),_c('modal',{attrs:{\"name\":_vm.modalNames.CLOUD_BACKUP,\"resizable\":true,\"width\":\"65%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.$emit('modalChanged', false)}}},[_c('CloudBackupRestore',{attrs:{\"config\":_vm.combineConfig()}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Tabs',{ref:\"tabView\",attrs:{\"navAuto\":true,\"name\":\"Add Item\"}},[_c('TabItem',{staticClass:\"main-tab\",attrs:{\"name\":\"Config\"}},[_c('div',{staticClass:\"main-options-container\"},[_c('h2',[_vm._v(\"Configuration Options\")]),_c('a',{staticClass:\"hyperlink-wrapper\",on:{\"click\":function($event){return _vm.downloadConfigFile('conf.yml', _vm.yaml)}}},[_c('button',{staticClass:\"config-button center\"},[_c('DownloadIcon',{staticClass:\"button-icon\"}),_vm._v(\" Download Config \")],1)]),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.goToEdit()}}},[_c('EditIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Config \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.goToCustomCss()}}},[_c('CustomCssIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Custom CSS \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openCloudSync()}}},[_c('CloudIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.backupId ? 'Edit Cloud Sync' : 'Enable Cloud Sync')+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openRebuildAppModal()}}},[_c('RebuildIcon',{staticClass:\"button-icon\"}),_vm._v(\" Rebuild Application \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_c('DeleteIcon',{staticClass:\"button-icon\"}),_vm._v(\" Reset Local Settings \")],1),_c('p',{staticClass:\"small-screen-note\",staticStyle:{\"display\":\"none\"}},[_vm._v(\" You are using a very small screen, and some screens in this menu may not be optimal \")]),_c('div',{staticClass:\"config-note\"},[_c('span',[_vm._v(\" It is recommend to make a backup of your conf.yml file, before making any changes. \")])])]),_c('RebuildApp')],1),_c('TabItem',{staticClass:\"code-container\",attrs:{\"name\":\"View Config\"}},[_c('pre',{attrs:{\"id\":\"conf-yaml\"}},[_vm._v(_vm._s(_vm.yaml))]),_c('div',{staticClass:\"yaml-action-buttons\"},[_c('h2',[_vm._v(\"Actions\")]),_c('a',{staticClass:\"yaml-button download\",on:{\"click\":function($event){return _vm.downloadConfigFile('conf.yml', _vm.yaml)}}},[_vm._v(\" Download Config \")]),_c('a',{staticClass:\"yaml-button copy\",on:{\"click\":function($event){return _vm.copyConfigToClipboard()}}},[_vm._v(\"Copy Config\")]),_c('a',{staticClass:\"yaml-button reset\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_vm._v(\"Reset Config\")])])]),_c('TabItem',{attrs:{\"name\":\"Edit Config\"}},[_c('JsonEditor',{attrs:{\"config\":_vm.config}})],1),_c('TabItem',{attrs:{\"name\":\"Custom Styles\"}},[_c('CustomCssEditor',{attrs:{\"config\":_vm.config,\"initialCss\":\"hello\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { typeOf } from 'remedial';\n\nconst trimWhitespace = (input) => input.split('\\n').map(x => x.trimRight()).join('\\n');\n\nconst throwError = (msg) => {\n throw new Error(`Error in Json to YAML conversion: ${msg}`);\n};\n\n/* A function that converts valid JSON into valid YAML */\nconst stringify = (data) => {\n let indentLevel = '';\n const handlers = {\n undefined() {\n return 'null';\n },\n null() {\n return 'null';\n },\n number(x) {\n return x;\n },\n boolean(x) {\n return x ? 'true' : 'false';\n },\n string(x) {\n return JSON.stringify(x);\n },\n array(x) {\n let output = '';\n if (x.length === 0) {\n output += '[]';\n return output;\n }\n\n indentLevel = indentLevel.replace(/$/, ' ');\n x.forEach((y) => {\n const handler = handlers[typeOf(y)];\n\n if (!handler) throwError(typeOf(y));\n\n output += `\\n${indentLevel}- ${handler(y, true)}`;\n });\n indentLevel = indentLevel.replace(/ {2}/, '');\n\n return output;\n },\n object(x, inArray, rootNode) {\n let output = '';\n\n if (Object.keys(x).length === 0) {\n output += '{}';\n return output;\n }\n\n if (!rootNode) {\n indentLevel = indentLevel.replace(/$/, ' ');\n }\n\n Object.keys(x).forEach((k, i) => {\n const val = x[k];\n const handler = handlers[typeOf(val)];\n\n if (typeof val === 'undefined') {\n return;\n }\n\n if (!handler) throwError(typeOf(val));\n\n if (!(inArray && i === 0)) {\n output += `\\n${indentLevel}`;\n }\n\n output += `${k}: ${handler(val)}`;\n });\n indentLevel = indentLevel.replace(/ {2}/, '');\n\n return output;\n },\n function() {\n return '[object Function]';\n },\n };\n\n return trimWhitespace(`${handlers[typeOf(data)](data, true, true)}\\n`);\n};\n\nexport default stringify;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"json-editor-outer\"},[_c('v-jsoneditor',{attrs:{\"options\":_vm.options,\"height\":\"500px\"},model:{value:(_vm.jsonData),callback:function ($$v) {_vm.jsonData=$$v},expression:\"jsonData\"}}),_c('div',{staticClass:\"save-options\"},[_c('span',{staticClass:\"save-option-title\"},[_vm._v(\"Save Location:\")]),_c('div',{staticClass:\"option\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.saveMode),expression:\"saveMode\"}],staticClass:\"radio-option\",attrs:{\"type\":\"radio\",\"id\":\"local\",\"value\":\"local\",\"disabled\":!_vm.allowWriteToDisk},domProps:{\"checked\":_vm._q(_vm.saveMode,\"local\")},on:{\"change\":function($event){_vm.saveMode=\"local\"}}}),_c('label',{staticClass:\"save-option-label\",attrs:{\"for\":\"local\"}},[_vm._v(\"Apply Locally\")])]),_c('div',{staticClass:\"option\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.saveMode),expression:\"saveMode\"}],staticClass:\"radio-option\",attrs:{\"type\":\"radio\",\"id\":\"file\",\"value\":\"file\",\"disabled\":!_vm.allowWriteToDisk},domProps:{\"checked\":_vm._q(_vm.saveMode,\"file\")},on:{\"change\":function($event){_vm.saveMode=\"file\"}}}),_c('label',{staticClass:\"save-option-label\",attrs:{\"for\":\"file\"}},[_vm._v(\"Write Changes to Config File\")])])]),_c('button',{class:(\"save-button \" + (!_vm.isValid ? 'err' : '')),on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\"Save Changes\")]),_c('p',{staticClass:\"errors\"},[_c('ul',[_vm._l((_vm.errorMessages),function(error,index){return _c('li',{key:index,class:(\"type-\" + (error.type))},[_vm._v(\" \"+_vm._s(error.msg)+\" \")])}),(_vm.errorMessages.length < 1)?_c('li',{staticClass:\"type-valid\"},[_vm._v(\" Config is Valid \")]):_vm._e()],2)]),(_vm.saveSuccess !== undefined)?_c('p',{class:(\"response-output status-\" + (_vm.saveSuccess ? 'success' : 'fail'))},[_vm._v(\" \"+_vm._s(_vm.saveSuccess ? 'Task Complete' : 'Task Failed')+\" \")]):_vm._e(),_c('p',{staticClass:\"response-output\"},[_vm._v(_vm._s(_vm.responseText))]),(_vm.saveSuccess)?_c('p',{staticClass:\"response-output\"},[_vm._v(\" The app should rebuild automatically. You will need to refresh the page for changes to take effect. \")]):_vm._e(),_c('p',{staticClass:\"note\"},[_vm._v(\" It is recommend to backup your existing confiruration before making any changes. \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import sha256 from 'crypto-js/sha256';\nimport { cookieKeys, localStorageKeys } from './defaults';\n\nconst generateUserToken = (user) => sha256(user.toString()).toString().toLowerCase();\n\nexport const isLoggedIn = (users) => {\n const validTokens = users.map((user) => generateUserToken(user));\n let userAuthenticated = false;\n document.cookie.split(';').forEach((cookie) => {\n if (cookie && cookie.split('=').length > 1) {\n const cookieKey = cookie.split('=')[0].trim();\n const cookieValue = cookie.split('=')[1].trim();\n if (cookieKey === cookieKeys.AUTH_TOKEN) {\n if (validTokens.includes(cookieValue)) {\n userAuthenticated = true;\n }\n }\n }\n });\n return userAuthenticated;\n};\n\nexport const checkCredentials = (username, pass, users) => {\n let response;\n if (!username) {\n response = { correct: false, msg: 'Missing Username' };\n } else if (!pass) {\n response = { correct: false, msg: 'Missing Password' };\n } else {\n users.forEach((user) => {\n if (user.user === username) {\n if (user.hash.toLowerCase() === sha256(pass).toString().toLowerCase()) {\n response = { correct: true, msg: 'Logging in...' };\n } else {\n response = { correct: false, msg: 'Incorrect Password' };\n }\n }\n });\n }\n return response || { correct: false, msg: 'User not found' };\n};\n\nexport const login = (username, pass) => {\n const userObject = { user: username, hash: sha256(pass).toString().toLowerCase() };\n document.cookie = `authenticationToken=${generateUserToken(userObject)}; max-age=600`;\n localStorage.setItem(localStorageKeys.USERNAME, username);\n};\n\nexport const logout = () => {\n document.cookie = 'authenticationToken=null';\n localStorage.removeItem(localStorageKeys.USERNAME);\n};\n\n/**\n * Checks if the current user has admin privileges.\n * If no users are setup, then function will always return true\n * But if auth is configured, then will verify user is correctly\n * logged in and then check weather they are of type admin, and\n * return false if any conditions fail\n * @param users[] : Array of users\n * @returns Boolean : True if admin privileges\n */\nexport const isUserAdmin = (users) => {\n if (!users || users.length === 0) return true; // Authentication not setup\n if (!isLoggedIn(users)) return false; // Auth setup, but not signed in as a valid user\n const currentUser = localStorage[localStorageKeys.USERNAME];\n let isAdmin = false;\n users.forEach((user) => {\n if (user.user === currentUser) {\n if (user.type === 'admin') isAdmin = true;\n }\n });\n return isAdmin;\n};\n","\n \n \n
\n \n
\n
Save Location: \n
\n \n Apply Locally \n
\n
\n \n Write Changes to Config File \n
\n
\n
Save Changes \n \n
\n
\n \n {{error.msg}}\n \n \n Config is Valid\n \n \n \n \n
\n {{saveSuccess ? 'Task Complete' : 'Task Failed'}}\n
\n
{{ responseText }}
\n
\n The app should rebuild automatically.\n You will need to refresh the page for changes to take effect.\n
\n
\n It is recommend to backup your existing confiruration before making any changes.\n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./JsonEditor.vue?vue&type=template&id=2ec9c242&\"\nimport script from \"./JsonEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./JsonEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./JsonEditor.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"json-editor-outer\"},[_c('prism-editor',{staticClass:\"my-editor\",attrs:{\"highlight\":_vm.highlighter,\"line-numbers\":\"\"},model:{value:(_vm.customCss),callback:function ($$v) {_vm.customCss=$$v},expression:\"customCss\"}}),_c('button',{staticClass:\"save-button\",on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\"Save Changes\")]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"quick-note\"},[_c('b',[_vm._v(\"Note\")]),_vm._v(\": You will need to refresh the page for your changes to take effect. Styles overides are only stored locally, so it is reccomended to make a copy of your CSS. To remove all custom styles, delete the contents and hit Save Changes \")])}]\n\nexport { render, staticRenderFns }","\n \n
\n
Save Changes \n
\n Note : You will need to refresh the page for your changes to take effect.\n Styles overides are only stored locally, so it is reccomended to make a copy of your CSS.\n To remove all custom styles, delete the contents and hit Save Changes\n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomCss.vue?vue&type=template&id=816a95e4&\"\nimport script from \"./CustomCss.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomCss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomCss.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.modalName,\"resizable\":true,\"width\":\"50%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"}},[_c('div',{staticClass:\"rebuild-app-container\"},[_c('h3',{staticClass:\"rebuild-app-title\"},[_vm._v(\"Rebuild Application\")]),_c('p',[_vm._v(\" A rebuild is required for changes written to the conf.yml file to take effect. This should happen automatically, but if it hasn't, you can manually trigger it here.\"),_c('br'),_vm._v(\" This is not required for modifications stored locally. \")]),_c('Button',{attrs:{\"click\":_vm.startBuild,\"disabled\":_vm.loading},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(_vm._s(_vm.loading ? 'Building...' : 'Start Build'))]},proxy:true},{key:\"icon\",fn:function(){return [_c('RebuildIcon')]},proxy:true}])}),(_vm.loading)?_c('div',{staticClass:\"loader-info\"},[_c('LoadingAnimation',{staticClass:\"loader\"}),_c('p',{staticClass:\"loading-message\"},[_vm._v(\"This may take a few minutes...\")])],1):_vm._e(),(_vm.success !== undefined)?_c('div',{staticClass:\"rebuild-response\"},[(_vm.success)?_c('p',{staticClass:\"response-status success\"},[_vm._v(\"✅ Build completed succesfully\")]):_c('p',{staticClass:\"response-status failure\"},[_vm._v(\"❌ Build operation failed\")]),_c('pre',{staticClass:\"output\"},[_c('code',[_vm._v(_vm._s(_vm.output || _vm.error))])]),_c('p',{staticClass:\"rebuild-message\"},[_vm._v(_vm._s(_vm.message))]),(_vm.success)?_c('p',{staticClass:\"rebuild-message\"},[_vm._v(\" A page reload is now required for changes to take effect \")]):_vm._e(),(_vm.success)?_c('Button',{attrs:{\"click\":_vm.refreshPage},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(\"Reload Page\")]},proxy:true},{key:\"icon\",fn:function(){return [_c('ReloadIcon')]},proxy:true}],null,false,1379687826)}):_vm._e()],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.click()}}},[_vm._t(\"default\"),_vm._t(\"text\"),_vm._t(\"icon\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=620b35ec&scoped=true&\"\nimport script from \"./Button.vue?vue&type=script&lang=js&\"\nexport * from \"./Button.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Button.vue?vue&type=style&index=0&id=620b35ec&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"620b35ec\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
Rebuild Application \n
\n A rebuild is required for changes written to the conf.yml file to take effect.\n This should happen automatically, but if it hasn't, you can manually trigger it here. \n This is not required for modifications stored locally.\n
\n
\n {{ loading ? 'Building...' : 'Start Build' }} \n \n \n \n
\n
\n
This may take a few minutes...
\n
\n \n
\n
✅ Build completed succesfully
\n
❌ Build operation failed
\n
{{ output || error }}
\n
{{ message }}
\n
\n A page reload is now required for changes to take effect\n
\n
\n Reload Page \n \n \n
\n
\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RebuildApp.vue?vue&type=template&id=1ee3fcba&scoped=true&\"\nimport script from \"./RebuildApp.vue?vue&type=script&lang=js&\"\nexport * from \"./RebuildApp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RebuildApp.vue?vue&type=style&index=0&id=1ee3fcba&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ee3fcba\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
Configuration Options \n
\n \n \n Download Config\n \n \n
\n \n Edit Config\n \n
\n \n Edit Custom CSS\n \n
\n \n {{backupId ? 'Edit Cloud Sync' : 'Enable Cloud Sync'}}\n \n
\n \n Rebuild Application\n \n
\n \n Reset Local Settings\n \n
\n You are using a very small screen, and some screens in this menu may not be optimal\n
\n
\n \n It is recommend to make a backup of your conf.yml file, before making any changes.\n \n
\n
\n \n \n \n \n {{yaml}} \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigContainer.vue?vue&type=template&id=41a7f69b&scoped=true&\"\nimport script from \"./ConfigContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfigContainer.vue?vue&type=style&index=0&id=41a7f69b&scoped=true&lang=scss&\"\nimport style1 from \"./ConfigContainer.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"41a7f69b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cloud-backup-restore-wrapper\"},[_vm._m(0),_c('div',{staticClass:\"section backup-section\"},[(_vm.backupId)?_c('h3',[_vm._v(\"Update Backup\")]):_c('h3',[_vm._v(\"Make a Backup\")]),_c('Input',{attrs:{\"name\":\"backup-password\",\"label\":_vm.backupId ? 'Enter your Password' : 'Choose a Password',\"layout\":\"vertical\",\"type\":\"password\"},model:{value:(_vm.backupPassword),callback:function ($$v) {_vm.backupPassword=$$v},expression:\"backupPassword\"}}),_c('Button',{attrs:{\"click\":_vm.checkPass},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(_vm._s(_vm.backupId ? 'Update Backup' : 'Backup'))]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconBackup')]},proxy:true}])}),(_vm.backupId)?_c('div',{staticClass:\"results-view\"},[_c('span',{staticClass:\"backup-id-label\"},[_vm._v(\"Your Backup ID: \")]),_c('pre',{staticClass:\"backup-id-value\"},[_vm._v(_vm._s(_vm.backupId))]),_c('span',{staticClass:\"backup-id-note\"},[_vm._v(\" This is used to restore from backups later. So keep it, along with your password somewhere safe. \")])]):_vm._e()],1),_c('div',{staticClass:\"section restore-section\"},[_c('h3',[_vm._v(\"Restore a Backup\")]),_c('Input',{attrs:{\"name\":\"restore-code\",\"label\":\"Restore ID\"},model:{value:(_vm.restoreCode),callback:function ($$v) {_vm.restoreCode=$$v},expression:\"restoreCode\"}}),_c('Input',{attrs:{\"name\":\"restore-password\",\"label\":\"Password\",\"type\":\"password\"},model:{value:(_vm.restorePassword),callback:function ($$v) {_vm.restorePassword=$$v},expression:\"restorePassword\"}}),_c('Button',{attrs:{\"click\":_vm.restoreBackup},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(\"Restore\")]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconRestore')]},proxy:true}])})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section intro\"},[_c('h2',[_vm._v(\"Cloud Backup & Restore\")]),_c('p',{staticClass:\"intro\"},[_vm._v(\" Cloud backup and restore is an optional feature, that enables you to upload your config to the internet, and then restore it on any other device or instance of Dashy. \"),_c('br'),_c('br'),_vm._v(\" All data is fully end-to-end encrypted with AES, using your password as the key. \"),_c('br'),_vm._v(\" For more info, please see the \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md\"}},[_vm._v(\"docs\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"input-container \" + _vm.layout)},[(_vm.label)?_c('label',{attrs:{\"for\":\"name\"}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('input',{attrs:{\"type\":_vm.type,\"name\":_vm.name,\"id\":_vm.name,\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.updateValue($event.target.value)}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{label}} \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Input.vue?vue&type=template&id=5df13ed2&scoped=true&\"\nimport script from \"./Input.vue?vue&type=script&lang=js&\"\nexport * from \"./Input.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Input.vue?vue&type=style&index=0&id=5df13ed2&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5df13ed2\",\n null\n \n)\n\nexport default component.exports","import sha256 from 'crypto-js/sha256';\nimport aes from 'crypto-js/aes';\nimport Utf8 from 'crypto-js/enc-utf8';\nimport axios from 'axios';\nimport { backupEndpoint } from '@/utils/defaults';\n\nconst ENDPOINT = backupEndpoint; // 'https://dashy-sync-service.as93.net';\n\n/* Stringify, encrypt and encode data for transmission */\nconst encryptData = (data, password) => {\n const stringifiedData = JSON.stringify(data);\n const encryptedData = aes.encrypt(stringifiedData, password);\n return encryptedData.toString();\n};\n\n/* Decrypt, decode and parse received data */\nconst decryptData = (data, password) => aes.decrypt(data, password).toString(Utf8);\n\n/* Returns a splice of the hash of the users password */\nconst makeSubHash = (pass) => sha256(pass).toString().slice(0, 14);\n\n/* Makes the backup */\nexport const backup = (data, password) => axios.post(ENDPOINT, {\n userData: encryptData(data, password),\n subHash: makeSubHash(password),\n});\n\n/* Updates and existing backup */\nexport const update = (data, password, backupId) => axios.put(ENDPOINT, {\n backupId,\n userData: encryptData(data, password),\n subHash: makeSubHash(password),\n});\n\nconst encodeGetParams = p => Object.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&');\n\n/* Restores the backup */\nexport const restore = (backupId, password) => {\n const params = encodeGetParams({ backupId, subHash: makeSubHash(password) });\n const url = `${ENDPOINT}/?${params}`;\n return new Promise((resolve, reject) => {\n axios.get(url).then((response) => {\n if (!response.data || response.data.errorMsg) {\n reject(response.data.errorMsg || 'Error');\n } else {\n const decryptedData = decryptData(response.data.userData.userData, password);\n try { resolve(JSON.parse(decryptedData)); } catch (e) { reject(e); }\n }\n });\n });\n};\n","\n \n
\n
Cloud Backup & Restore \n
\n Cloud backup and restore is an optional feature, that enables you to upload your\n config to the internet, and then restore it on any other device or instance of Dashy.\n \n All data is fully end-to-end encrypted with AES, using your password as the key.\n \n For more info, please see the\n docs \n
\n
\n
\n
Update Backup \n
Make a Backup \n
\n
\n {{backupId ? 'Update Backup' : 'Backup'}} \n \n \n
\n
Your Backup ID: \n
{{ backupId }} \n
\n This is used to restore from backups later.\n So keep it, along with your password somewhere safe.\n \n
\n
\n
\n
Restore a Backup \n \n \n \n Restore \n \n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CloudBackupRestore.vue?vue&type=template&id=763657f4&scoped=true&\"\nimport script from \"./CloudBackupRestore.vue?vue&type=script&lang=js&\"\nexport * from \"./CloudBackupRestore.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CloudBackupRestore.vue?vue&type=style&index=0&id=763657f4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"763657f4\",\n null\n \n)\n\nexport default component.exports","\n \n \n
Config \n
\n \n \n
\n\n \n
\n \n \n\n \n
\n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigLauncher.vue?vue&type=template&id=383db9de&scoped=true&\"\nimport script from \"./ConfigLauncher.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigLauncher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfigLauncher.vue?vue&type=style&index=0&id=383db9de&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"383db9de\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.themes)?_c('div',{staticClass:\"theme-selector-section\"},[_c('span',{staticClass:\"theme-label\"},[_vm._v(\"Theme\")]),_c('v-select',{staticClass:\"theme-dropdown\",attrs:{\"options\":_vm.themeNames,\"tabindex\":-2},model:{value:(_vm.selectedTheme),callback:function ($$v) {_vm.selectedTheme=$$v},expression:\"selectedTheme\"}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * A function for pre-loading, and easy switching of external stylesheets\n * External CSS is preloaded to avoid FOUC\n */\nconst ThemeHelper = function th() {\n const preloadTheme = (href) => {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n document.head.appendChild(link);\n return new Promise((resolve, reject) => {\n link.onload = e => {\n const { sheet } = e.target;\n sheet.disabled = true;\n resolve(sheet);\n };\n link.onerror = reject;\n });\n };\n\n const selectTheme = (themes, name) => {\n const t = themes; // To avoid ESLint complaining about mutating a param\n if (name && !themes[name]) throw new Error(`Theme: '${name}' does not exist.`);\n Object.keys(themes).forEach(n => { t[n].disabled = (n !== name); });\n };\n\n const themes = {};\n\n return {\n add(name, href) { return preloadTheme(href).then(s => { themes[name] = s; }); },\n set theme(name) { selectTheme(themes, name); },\n get theme() { return Object.keys(themes).find(n => !themes[n].disabled); },\n };\n};\n\nexport default ThemeHelper;\n","\n \n Theme \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemeSelector.vue?vue&type=template&id=423b52b4&\"\nimport script from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThemeSelector.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"options-label\"},[_vm._v(\"Layout\")]),_c('div',{staticClass:\"display-options\"},[_c('IconDeafault',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Auto')),expression:\"tooltip('Auto')\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'auto' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('auto')}}}),_c('IconHorizontal',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Horizontal')),expression:\"tooltip('Horizontal')\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'horizontal' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('horizontal')}}}),_c('IconVertical',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Vertical')),expression:\"tooltip('Vertical')\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'vertical' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('vertical')}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
Layout \n
\n \n \n \n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutSelector.vue?vue&type=template&id=c819d738&scoped=true&\"\nimport script from \"./LayoutSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LayoutSelector.vue?vue&type=style&index=0&id=c819d738&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c819d738\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"options-label\"},[_vm._v(\"Icon Size\")]),_c('div',{staticClass:\"display-options\"},[_c('IconSmall',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Small')),expression:\"tooltip('Small')\"}],class:(\"layout-icon \" + (_vm.iconSize === 'small' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('small')}}}),_c('IconMedium',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Medium')),expression:\"tooltip('Medium')\"}],class:(\"layout-icon \" + (_vm.iconSize === 'medium' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('medium')}}}),_c('IconLarge',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Large')),expression:\"tooltip('Large')\"}],class:(\"layout-icon \" + (_vm.iconSize === 'large' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('large')}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
Icon Size \n
\n \n \n \n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemSizeSelector.vue?vue&type=template&id=58966274&scoped=true&\"\nimport script from \"./ItemSizeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemSizeSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemSizeSelector.vue?vue&type=style&index=0&id=58966274&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58966274\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slide-fade\"}},[(!_vm.shouldHide)?_c('div',{staticClass:\"kb-sc-info\"},[_c('h5',[_vm._v(\"There are keyboard shortcuts! ⌨️🙌\")]),_c('div',{staticClass:\"close\",attrs:{\"title\":\"Hide forever [Esc]\"},on:{\"click\":function($event){return _vm.hideWelcomeHelper()}}},[_vm._v(\"x\")]),_c('p',{attrs:{\"title\":\"Press [Esc] to hide this tip forever. See there's even a shortcut for that! 🚀\"}},[_vm._v(\" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy 🥳 \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
There are keyboard shortcuts! ⌨️🙌 \n
x
\n
\n Just start typing to filter. Then use the tab key to cycle through results,\n and press enter to launch the selected item, or alt + enter to open in a modal.\n You can hit Esc at anytime to clear the search. Easy 🥳\n
\n
\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KeyboardShortcutInfo.vue?vue&type=template&id=c5f17d9a&scoped=true&\"\nimport script from \"./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KeyboardShortcutInfo.vue?vue&type=style&index=0&id=c5f17d9a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c5f17d9a\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsContainer.vue?vue&type=template&id=d4f6509a&scoped=true&\"\nimport script from \"./SettingsContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsContainer.vue?vue&type=style&index=0&id=d4f6509a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d4f6509a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Collapsable',{attrs:{\"title\":_vm.title,\"icon\":_vm.icon,\"uniqueKey\":_vm.groupId,\"collapsed\":_vm.displayData.collapsed,\"cols\":_vm.displayData.cols,\"rows\":_vm.displayData.rows,\"color\":_vm.displayData.color,\"customStyles\":_vm.displayData.customStyles}},[(!_vm.items || _vm.items.length < 1)?_c('div',{staticClass:\"no-items\"},[_vm._v(\" No Items to Show Yet \")]):_c('div',{class:(\"there-are-items \" + (_vm.isGridLayout? 'item-group-grid': '')),style:(_vm.gridStyle)},[_vm._l((_vm.items),function(item,index){return _c('Item',{key:(index + \"_\" + (_vm.makeId(item.title))),attrs:{\"id\":(index + \"_\" + (_vm.makeId(item.title))),\"url\":item.url,\"title\":item.title,\"description\":item.description,\"icon\":item.icon,\"target\":item.target,\"color\":item.color,\"backgroundColor\":item.backgroundColor,\"itemSize\":_vm.newItemSize,\"enableStatusCheck\":_vm.shouldEnableStatusCheck(item.statusCheck),\"statusCheckInterval\":_vm.getStatusCheckInterval()},on:{\"itemClicked\":function($event){return _vm.$emit('itemClicked')},\"triggerModal\":_vm.triggerModal}})}),_c('div',{ref:\"modalContainer\"})],2),_c('IframeModal',{ref:(\"iframeModal-\" + _vm.groupId),attrs:{\"name\":(\"iframeModal-\" + _vm.groupId)},on:{\"closed\":function($event){return _vm.$emit('itemClicked')},\"modalChanged\":_vm.modalChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getTooltipOptions()),expression:\"getTooltipOptions()\"}],class:(\"item \" + (!_vm.icon? 'short': '') + \" size-\" + _vm.itemSize),style:((\"--open-icon: \" + (_vm.getUnicodeOpeningIcon()) + \"; \" + _vm.customStyles)),attrs:{\"href\":_vm.target !== 'iframe' ? _vm.url : '#',\"target\":_vm.target === 'newtab' ? '_blank' : '',\"rel\":\"noopener noreferrer\",\"tabindex\":\"0\",\"id\":(\"link-\" + _vm.id)},on:{\"click\":_vm.itemOpened}},[_c('div',{class:(\"tile-title \" + (!_vm.icon? 'bounce': '')),attrs:{\"id\":(\"tile-\" + _vm.id)}},[_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"overflow-dots\"},[_vm._v(\"...\")]),_c('p',{staticClass:\"description\"},[_vm._v(_vm._s(_vm.description))])]),_c('Icon',{staticClass:\"bounce\",style:(_vm.customStyles),attrs:{\"icon\":_vm.icon,\"url\":_vm.url,\"size\":_vm.itemSize,\"color\":_vm.color}}),_c('ItemOpenMethodIcon',{staticClass:\"opening-method-icon\",attrs:{\"isSmall\":!_vm.icon,\"openingMethod\":_vm.target,\"position\":_vm.itemSize === 'medium'? 'bottom right' : 'top right'}}),(_vm.enableStatusCheck)?_c('StatusIndicator',{staticClass:\"status-indicator\",attrs:{\"statusSuccess\":_vm.statusResponse ? _vm.statusResponse.successStatus : undefined,\"statusText\":_vm.statusResponse ? _vm.statusResponse.message : undefined}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-icon\"},[(_vm.iconType === 'font-awesome')?_c('i',{class:(_vm.icon + \" \" + _vm.size)}):(_vm.icon)?_c('img',{class:(\"tile-icon \" + _vm.size + \" \" + (_vm.broken ? 'broken' : '')),attrs:{\"src\":_vm.iconPath},on:{\"error\":_vm.imageNotFound}}):_vm._e(),(_vm.broken)?_c('BrokenImage',{staticClass:\"missing-image\"}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint no-console: [\"error\", { allow: [\"warn\", \"error\"] }] */\n\n/**\n * Function called when an error happens\n * If you wish to use an error logging service, put code for it here\n */\nconst ErrorHandler = function handler(msg) {\n console.warn(msg);\n};\n\nexport default ErrorHandler;\n","\n \n
\n
\n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemIcon.vue?vue&type=template&id=4d17ab48&\"\nimport script from \"./ItemIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemIcon.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.makeClass(_vm.position, _vm.isSmall, _vm.isTransparent)},[(_vm.openingMethod === 'newtab')?_c('NewTabOpenIcon'):(_vm.openingMethod === 'sametab')?_c('SameTabOpenIcon'):(_vm.openingMethod === 'iframe')?_c('IframeOpenIcon'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemOpenMethodIcon.vue?vue&type=template&id=17201835&scoped=true&\"\nimport script from \"./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemOpenMethodIcon.vue?vue&type=style&index=0&id=17201835&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17201835\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:({\n content: _vm.statusText || _vm.otherStatusText, classes: ['status-tooltip', (\"tip-\" + (_vm.color()))] }),expression:\"{\\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }\"}],staticClass:\"indicator\",on:{\"click\":function($event){return _vm.showToast()}}},[_c('div',{class:(\"dot dot-\" + (_vm.color()))},[_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('span')])}]\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusIndicator.vue?vue&type=template&id=46972ad8&scoped=true&\"\nimport script from \"./StatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusIndicator.vue?vue&type=style&index=0&id=46972ad8&scoped=true&lang=scss&\"\nimport style1 from \"./StatusIndicator.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46972ad8\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
{{ title }} \n
...
\n
{{ description }}
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=7f5c50ae&ref=container&\"\nimport script from \"./Item.vue?vue&type=script&lang=js&\"\nexport * from \"./Item.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./Item.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"collapsable \" + (_vm.checkSpanNum(_vm.cols, 'col')) + \" \" + (_vm.checkSpanNum(_vm.rows, 'row'))),style:(((_vm.color ? 'background: '+_vm.color : '') + \"; \" + (_vm.sanitizeCustomStyles(_vm.customStyles)) + \";\"))},[_c('input',{staticClass:\"toggle\",attrs:{\"id\":(\"collapsible-\" + _vm.uniqueKey),\"type\":\"checkbox\",\"tabIndex\":\"-1\"},domProps:{\"checked\":_vm.getCollapseState()},on:{\"change\":_vm.collapseChanged}}),_c('label',{staticClass:\"lbl-toggle\",attrs:{\"for\":(\"collapsible-\" + _vm.uniqueKey),\"tabindex\":\"-1\"}},[(_vm.icon)?_c('Icon',{staticClass:\"section-icon\",attrs:{\"icon\":_vm.icon,\"size\":\"small\",\"url\":_vm.title}}):_vm._e(),_c('h3',[_vm._v(_vm._s(_vm.title))])],1),_c('div',{staticClass:\"collapsible-content\"},[_c('div',{staticClass:\"content-inner\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n
\n \n {{ title }} \n \n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Collapsable.vue?vue&type=template&id=33a8b630&scoped=true&\"\nimport script from \"./Collapsable.vue?vue&type=script&lang=js&\"\nexport * from \"./Collapsable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Collapsable.vue?vue&type=style&index=0&id=33a8b630&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33a8b630\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.name,\"resizable\":true,\"width\":\"80%\",\"height\":\"80%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.modalClosed()}}},[_c('div',{attrs:{\"slot\":\"top-right\"},on:{\"click\":function($event){return _vm.hide()}},slot:\"top-right\"},[_vm._v(\"Close\")]),_c('a',{staticClass:\"close-button\",attrs:{\"title\":\"Close\"},on:{\"click\":function($event){return _vm.hide()}}},[_vm._v(\"x\")]),(_vm.url)?_c('iframe',{staticClass:\"frame\",attrs:{\"src\":_vm.url},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.close.apply(null, arguments)}}}):_c('div',{staticClass:\"no-url\"},[_vm._v(\"No URL Specified\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n Close
\n x \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IframeModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IframeModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IframeModal.vue?vue&type=template&id=08cda45c&\"\nimport script from \"./IframeModal.vue?vue&type=script&lang=js&\"\nexport * from \"./IframeModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IframeModal.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n \n No Items to Show Yet\n
\n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemGroup.vue?vue&type=template&id=29d94632&scoped=true&\"\nimport script from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemGroup.vue?vue&type=style&index=0&id=29d94632&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29d94632\",\n null\n \n)\n\nexport default component.exports","\n \n \n
\n \n
\n \n
\n \n
\n {{searchValue ? 'No Search Results' : 'No Data Configured'}}\n
\n
\n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=b011a44e&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=b011a44e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b011a44e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-page\"},[_c('form',{staticClass:\"login-form\"},[_c('h2',{staticClass:\"login-title\"},[_vm._v(\"Dashy\")]),_c('Input',{staticClass:\"login-field username\",attrs:{\"label\":\"Username\",\"type\":\"text\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('Input',{staticClass:\"login-field password\",attrs:{\"label\":\"Password\",\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('Button',{staticClass:\"login-button\",attrs:{\"click\":_vm.submitLogin}},[_vm._v(\"Login\")]),_c('transition',{attrs:{\"name\":\"bounce\"}},[_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],class:(\"login-error-message \" + _vm.status)},[_vm._v(_vm._s(_vm.message))])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=e5594ddc&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"work-space\"},[_c('SideBar',{attrs:{\"sections\":_vm.sections},on:{\"launch-app\":_vm.launchApp}}),_c('WebContent',{attrs:{\"url\":_vm.url}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"side-bar\"},_vm._l((_vm.sections),function(section,index){return _c('div',{key:index},[_c('div',{staticClass:\"side-bar-item-container\",on:{\"click\":function($event){return _vm.openSection(index)}}},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":section.icon,\"title\":section.name}})],1),_c('transition',{attrs:{\"name\":\"slide\"}},[(_vm.isOpen[index])?_c('SideBarSection',{attrs:{\"items\":section.items},on:{\"launch-app\":_vm.launchApp}}):_vm._e()],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],class:(\"side-bar-item \" + (_vm.icon ? 'w-icon' : 'text-only')),on:{\"click\":function($event){return _vm.itemClicked()}}},[(_vm.icon)?_c('Icon',{attrs:{\"icon\":_vm.icon,\"size\":\"small\",\"url\":_vm.url}}):_c('p',{staticClass:\"small-title\"},[_vm._v(_vm._s(_vm.title))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarItem.vue?vue&type=template&id=d979f4fe&scoped=true&\"\nimport script from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d979f4fe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-side-bar\"},_vm._l((_vm.items),function(item,index){return _c('div',{key:index},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":item.icon,\"title\":item.title,\"url\":item.url},on:{\"launch-app\":_vm.launchApp}})],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarSection.vue?vue&type=template&id=56ddb963&scoped=true&\"\nimport script from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56ddb963\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBar.vue?vue&type=template&id=31476576&scoped=true&\"\nimport script from \"./SideBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31476576\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"web-content\"},[_c('iframe',{attrs:{\"src\":_vm.url}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebContent.vue?vue&type=template&id=a2564c04&scoped=true&\"\nimport script from \"./WebContent.vue?vue&type=script&lang=js&\"\nexport * from \"./WebContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WebContent.vue?vue&type=style&index=0&id=a2564c04&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a2564c04\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n
\n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Workspace.vue?vue&type=template&id=5517abc2&scoped=true&\"\nimport script from \"./Workspace.vue?vue&type=script&lang=js&\"\nexport * from \"./Workspace.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5517abc2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',[_c('code',[_vm._v(_vm._s(_vm.jsonParser(_vm.config)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n {{ jsonParser(config) }}
\n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadConfig.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadConfig.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadConfig.vue?vue&type=template&id=33cd2d90&scoped=true&\"\nimport script from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33cd2d90\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Router from 'vue-router';\n\nimport Home from '@/views/Home.vue';\nimport Login from '@/views/Login.vue';\nimport Workspace from '@/views/Workspace.vue';\nimport DownloadConfig from '@/views/DownloadConfig.vue';\nimport { isLoggedIn } from '@/utils/Auth';\nimport { appConfig, pageInfo, sections } from '@/utils/ConfigAccumalator';\nimport { metaTagData } from '@/utils/defaults';\n\nVue.use(Router);\n\nconst isAuthenticated = () => {\n const users = appConfig.auth;\n return (!users || isLoggedIn(users));\n};\n\nconst router = new Router({\n routes: [\n {\n path: '/',\n name: 'home',\n component: Home,\n props: {\n appConfig,\n pageInfo,\n sections,\n },\n meta: {\n title: pageInfo.title || 'Home Page',\n metaTags: metaTagData,\n },\n },\n {\n path: '/workspace',\n name: 'workspace',\n component: Workspace,\n props: { appConfig, pageInfo, sections },\n meta: {\n title: pageInfo.title || 'Dashy Workspace',\n metaTags: metaTagData,\n },\n },\n {\n path: '/login',\n name: 'login',\n component: Login,\n props: {\n appConfig,\n },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated()) router.push({ path: '/' });\n next();\n },\n },\n {\n path: '/about',\n name: 'about',\n component: () => import(/* webpackChunkName: \"about\" */ './views/About.vue'),\n },\n {\n path: '/download',\n name: 'download',\n component: DownloadConfig,\n props: { appConfig, pageInfo, sections },\n meta: {\n title: pageInfo.title || 'Download Dashy Config',\n metaTags: metaTagData,\n },\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (to.name !== 'login' && !isAuthenticated()) next({ name: 'login' });\n else next();\n});\n\nconst defaultTitle = 'Dashy';\nrouter.afterEach((to) => {\n Vue.nextTick(() => {\n document.title = to.meta.title || defaultTitle;\n });\n});\n\nexport default router;\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker';\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n'\n + 'For more details, visit https://goo.gl/AFskqB',\n );\n },\n registered() {\n console.log('Service worker has been registered.');\n },\n cached() {\n console.log('Content has been cached for offline use.');\n },\n updatefound() {\n console.log('New content is downloading.');\n },\n updated() {\n console.log('New content is available; please refresh.');\n },\n offline() {\n console.log('No internet connection found. App is running in offline mode.');\n },\n error(error) {\n console.error('Error during service worker registration:', error);\n },\n });\n}\n","import Vue from 'vue';\n\n/* Import component Vue plugins, used throughout the app */\nimport VTooltip from 'v-tooltip'; // A Vue directive for Popper.js, tooltip component\nimport VModal from 'vue-js-modal'; // Modal component\nimport VSelect from 'vue-select'; // Select dropdown component\nimport VTabs from 'vue-material-tabs'; // Tab view component, used on the config page\nimport Toasted from 'vue-toasted'; // Toast component, used to show confirmation notifications\n\nimport { toastedOptions } from './utils/defaults';\nimport Dashy from './App.vue';\nimport router from './router';\nimport './registerServiceWorker';\n\nVue.use(VTooltip);\nVue.use(VModal);\nVue.use(VTabs);\nVue.use(Toasted, toastedOptions);\nVue.component('v-select', VSelect);\n\nVue.config.productionTip = false;\n\nnew Vue({\n router,\n render: (awesome) => awesome(Dashy),\n}).$mount('#app');\n","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sliders-h fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sliders-h\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-grip-horizontal fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"grip-horizontal\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"}})])\n )\n }\n }\n ","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = {\n pageInfo: {\n title: 'Dashy',\n description: '',\n navLinks: [\n { title: 'Home', path: '/' },\n { title: 'Source', path: 'https://github.com/Lissy93/dashy' },\n ],\n footerText: '',\n },\n appConfig: {},\n iconSize: 'medium',\n layout: 'auto',\n theme: 'default',\n fontAwesomeKey: '0821c65656',\n faviconApi: 'faviconkit',\n builtInThemes: [\n 'callisto',\n 'thebe',\n 'dracula',\n 'material',\n 'material-dark',\n 'colorful',\n 'nord',\n 'nord-frost',\n 'minimal-dark',\n 'minimal-light',\n 'matrix',\n 'matrix-red',\n 'hacker-girl',\n 'raspberry-jam',\n 'bee',\n 'tiger',\n 'material-original',\n 'material-dark-original',\n 'vaporware',\n 'high-contrast-dark',\n 'high-contrast-light',\n ],\n visibleComponents: {\n pageTitle: true,\n navigation: true,\n searchBar: true,\n settings: true,\n footer: true,\n },\n localStorageKeys: {\n HIDE_WELCOME_BANNER: 'hideWelcomeHelpers',\n LAYOUT_ORIENTATION: 'layoutOrientation',\n COLLAPSE_STATE: 'collapseState',\n ICON_SIZE: 'iconSize',\n THEME: 'theme',\n CONF_SECTIONS: 'confSections',\n PAGE_INFO: 'pageInfo',\n APP_CONFIG: 'appConfig',\n BACKUP_ID: 'backupId',\n BACKUP_HASH: 'backupHash',\n HIDE_SETTINGS: 'hideSettings',\n USERNAME: 'username',\n },\n cookieKeys: {\n AUTH_TOKEN: 'authenticationToken',\n },\n modalNames: {\n CONF_EDITOR: 'CONF_EDITOR',\n CLOUD_BACKUP: 'CLOUD_BACKUP',\n REBUILD_APP: 'REBUILD_APP',\n },\n topLevelConfKeys: {\n PAGE_INFO: 'pageInfo',\n APP_CONFIG: 'appConfig',\n SECTIONS: 'sections',\n },\n toastedOptions: {\n position: 'bottom-center',\n duration: 2500,\n keepOnHover: true,\n className: 'toast-message',\n iconPack: 'fontawesome',\n },\n backupEndpoint: 'https://dashy-sync-service.as93.net',\n splashScreenTime: 1900,\n metaTagData: [\n { name: 'description', content: 'A simple static homepage for you\\'re server' },\n ],\n faviconApiEndpoints: {\n mcapi: 'https://eu.mc-api.net/v3/server/favicon/$URL',\n clearbit: 'https://logo.clearbit.com/$URL',\n faviconkit: 'https://api.faviconkit.com/$URL/64',\n // favicongrabber: 'https://favicongrabber.com//api/grab/$URL',\n google: 'https://www.google.com/s2/favicons?sz=128&domain_url=$URL',\n allesedv: 'https://f1.allesedv.com/128/$URL',\n webmasterapi: 'https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL',\n },\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-times-circle fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"times-circle\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100\",\"height\":\"100\",\"preserveAspectRatio\":\"xMidYMid\"}, attrs),\n ...rest,\n },\n children.concat([_c('defs',[_c('clipPath',{attrs:{\"id\":\"a\"}},[_c('path',{attrs:{\"d\":\"M20 0h60v100H20z\"}})])]),_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"var(--primary, #00af87)\",\"stroke-width\":\"6\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"10\",\"clip-path\":\"url(#a)\",\"d\":\"M90 76.7V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5H55c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5H15c-2.7 0-5-2.2-5-5V23.3\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"translate\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"-20 0;7 0\",\"keyTimes\":\"0;1\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"0 72 125 232;0 197 125 233\",\"keyTimes\":\"0;1\"}})])])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-cloud-upload-alt fa-w-20\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"cloud-upload-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 640 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M395.5 267.5l-99-99c-4.7-4.7-12.3-4.7-17 0l-99 99c-7.6 7.6-2.2 20.5 8.5 20.5h67v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-84h67c10.7 0 16.1-12.9 8.5-20.5zm148.2-67.4C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=style&index=0&id=17201835&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=style&index=0&id=d4f6509a&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-expand fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"expand\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-css3-alt fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fab\",\"data-icon\":\"css3-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 384 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=style&index=0&id=c819d738&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=style&index=0&id=1ee3fcba&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=style&index=0&id=33a8b630&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=style&index=0&id=72e6bff4&scoped=true&lang=scss&\"","module.exports = {\"pageInfo\":{\"title\":\"Dashy\",\"navLinks\":[{\"title\":\"Home\",\"path\":\"/\"},{\"title\":\"About\",\"path\":\"/about\"},{\"title\":\"Source Code\",\"path\":\"https://github.com/Lissy93/dashy\"}]},\"appConfig\":{\"theme\":\"colorful\",\"fontAwesomeKey\":\"0821c65656\"},\"sections\":[{\"name\":\"Getting Started\",\"items\":[{\"title\":\"Source\",\"description\":\"Source code and documentation on GitHub\",\"icon\":\"fab fa-github\",\"url\":\"https://github.com/Lissy93/dashy\"},{\"title\":\"Issues\",\"description\":\"View currently open issues, or raise a new one\",\"icon\":\"fas fa-bug\",\"url\":\"https://github.com/Lissy93/dashy/issues\"},{\"title\":\"Demo 1\",\"description\":\"Live Demo #1\",\"icon\":\"far fa-rocket\",\"url\":\"https://dashy-demo-1.netlify.app\"},{\"title\":\"Demo 2\",\"description\":\"Live Demo #2\",\"icon\":\"fad fa-planet-ringed\",\"url\":\"https://dashy-demo-2.netlify.app\"}]}]}","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-expand-arrows-alt fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"expand-arrows-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M448 344v112a23.94 23.94 0 01-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 01-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0124-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0124 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=style&index=0&id=c5f17d9a&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z\"}}),_c('path',{attrs:{\"d\":\"M271.552 301.072l-77.856-46.72-41.616 15.152 10.944 30.064 27.28-9.92 82.144 49.28 97.6-65.072L480 315.088V480H32V347.2l40.8-14.848-10.928-30.048L0 324.8V512h512V292.912l-146.048-54.768z\"}}),_c('path',{attrs:{\"d\":\"M0 0v278.848l66.576-24.224-10.928-30.064L32 233.152V32h448v168.912l-114.048-42.768-94.4 62.928-77.856-46.72-47.84 17.392 10.944 30.064 33.504-12.16 82.144 49.28 97.6-65.072L512 247.088V0z\"}}),_c('path',{attrs:{\"d\":\"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=style&index=0&id=383db9de&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=style&index=0&id=763657f4&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=style&index=0&id=290d21a8&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=style&index=0&id=41a7f69b&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-th fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"th\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-file-download fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"file-download\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 384 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M216 236.07c0-6.63-5.37-12-12-12h-24c-6.63 0-12 5.37-12 12v84.01h-48.88c-10.71 0-16.05 12.97-8.45 20.52l72.31 71.77c4.99 4.95 13.04 4.95 18.03 0l72.31-71.77c7.6-7.54 2.26-20.52-8.45-20.52H216v-84.01zM369.83 97.98L285.94 14.1c-9-9-21.2-14.1-33.89-14.1H47.99C21.5.1 0 21.6 0 48.09v415.92C0 490.5 21.5 512 47.99 512h287.94c26.5 0 48.07-21.5 48.07-47.99V131.97c0-12.69-5.17-24.99-14.17-33.99zM255.95 51.99l76.09 76.08h-76.09V51.99zM336 464.01H47.99V48.09h159.97v103.98c0 13.3 10.7 23.99 24 23.99H336v287.95z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=style&index=0&id=68c1bd5c&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-compress-arrows-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"compress-arrows-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&id=620b35ec&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=style&index=0&id=46972ad8&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-download fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fal\",\"data-icon\":\"download\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h99.4L87 263.6c-25.2-25.2-7.3-68.3 28.3-68.3H168V40c0-22.1 17.9-40 40-40h96c22.1 0 40 17.9 40 40v155.3h52.7c35.6 0 53.4 43.1 28.3 68.3L368.6 320H468c24.3 0 44 19.7 44 44zm-261.7 17.7c3.1 3.1 8.2 3.1 11.3 0L402.3 241c5-5 1.5-13.7-5.7-13.7H312V40c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v187.3h-84.7c-7.1 0-10.7 8.6-5.7 13.7l140.7 140.7zM480 364c0-6.6-5.4-12-12-12H336.6l-52.3 52.3c-15.6 15.6-41 15.6-56.6 0L175.4 352H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-edit fa-w-18\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"edit\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 576 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IframeModal.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=style&index=1&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-grip-vertical fa-w-10\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"grip-vertical\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 320 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"}})])\n )\n }\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index e2e7b3c0..d5440008 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1 +1 @@
-{"name":"Dashy","short_name":"Dashy","theme_color":"#4DBA87","icons":[{"src":"./web-icons/windows10/SmallTile.scale-100.png","sizes":"71x71"},{"src":"./web-icons/windows10/SmallTile.scale-125.png","sizes":"89x89"},{"src":"./web-icons/windows10/SmallTile.scale-150.png","sizes":"107x107"},{"src":"./web-icons/windows10/SmallTile.scale-200.png","sizes":"142x142"},{"src":"./web-icons/windows10/SmallTile.scale-400.png","sizes":"284x284"},{"src":"./web-icons/windows10/Square150x150Logo.scale-100.png","sizes":"150x150"},{"src":"./web-icons/windows10/Square150x150Logo.scale-125.png","sizes":"188x188"},{"src":"./web-icons/windows10/Square150x150Logo.scale-150.png","sizes":"225x225"},{"src":"./web-icons/windows10/Square150x150Logo.scale-200.png","sizes":"300x300"},{"src":"./web-icons/windows10/Square150x150Logo.scale-400.png","sizes":"600x600"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-100.png","sizes":"310x150"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-125.png","sizes":"388x188"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-150.png","sizes":"465x225"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-200.png","sizes":"620x300"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-400.png","sizes":"1240x600"},{"src":"./web-icons/windows10/LargeTile.scale-100.png","sizes":"310x310"},{"src":"./web-icons/windows10/LargeTile.scale-125.png","sizes":"388x388"},{"src":"./web-icons/windows10/LargeTile.scale-150.png","sizes":"465x465"},{"src":"./web-icons/windows10/LargeTile.scale-200.png","sizes":"620x620"},{"src":"./web-icons/windows10/LargeTile.scale-400.png","sizes":"1240x1240"},{"src":"./web-icons/windows10/Square44x44Logo.scale-100.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.scale-125.png","sizes":"55x55"},{"src":"./web-icons/windows10/Square44x44Logo.scale-150.png","sizes":"66x66"},{"src":"./web-icons/windows10/Square44x44Logo.scale-200.png","sizes":"88x88"},{"src":"./web-icons/windows10/Square44x44Logo.scale-400.png","sizes":"176x176"},{"src":"./web-icons/windows10/StoreLogo.scale-100.png","sizes":"50x50"},{"src":"./web-icons/windows10/StoreLogo.scale-125.png","sizes":"63x63"},{"src":"./web-icons/windows10/StoreLogo.scale-150.png","sizes":"75x75"},{"src":"./web-icons/windows10/StoreLogo.scale-200.png","sizes":"100x100"},{"src":"./web-icons/windows10/StoreLogo.scale-400.png","sizes":"200x200"},{"src":"./web-icons/windows10/SplashScreen.scale-100.png","sizes":"620x300"},{"src":"./web-icons/windows10/SplashScreen.scale-125.png","sizes":"775x375"},{"src":"./web-icons/windows10/SplashScreen.scale-150.png","sizes":"930x450"},{"src":"./web-icons/windows10/SplashScreen.scale-200.png","sizes":"1240x600"},{"src":"./web-icons/windows10/SplashScreen.scale-400.png","sizes":"2480x1200"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-16.png","sizes":"16x16"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-20.png","sizes":"20x20"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-24.png","sizes":"24x24"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-30.png","sizes":"30x30"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-32.png","sizes":"32x32"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-36.png","sizes":"36x36"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-40.png","sizes":"40x40"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-44.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-48.png","sizes":"48x48"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-60.png","sizes":"60x60"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-64.png","sizes":"64x64"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-72.png","sizes":"72x72"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-80.png","sizes":"80x80"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-96.png","sizes":"96x96"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-256.png","sizes":"256x256"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-16.png","sizes":"16x16"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-20.png","sizes":"20x20"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-24.png","sizes":"24x24"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-30.png","sizes":"30x30"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-32.png","sizes":"32x32"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-36.png","sizes":"36x36"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-40.png","sizes":"40x40"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-44.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-48.png","sizes":"48x48"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-60.png","sizes":"60x60"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-64.png","sizes":"64x64"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-72.png","sizes":"72x72"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-80.png","sizes":"80x80"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-96.png","sizes":"96x96"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-256.png","sizes":"256x256"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-16.png","sizes":"16x16"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-20.png","sizes":"20x20"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-24.png","sizes":"24x24"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-30.png","sizes":"30x30"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-32.png","sizes":"32x32"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-36.png","sizes":"36x36"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-40.png","sizes":"40x40"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-44.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-48.png","sizes":"48x48"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-60.png","sizes":"60x60"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-64.png","sizes":"64x64"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-72.png","sizes":"72x72"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-80.png","sizes":"80x80"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-96.png","sizes":"96x96"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-256.png","sizes":"256x256"},{"src":"./web-icons/windows/windows-smallsquare-24-24.png","sizes":"24x24"},{"src":"./web-icons/windows/windows-smallsquare-30-30.png","sizes":"30x30"},{"src":"./web-icons/windows/windows-smallsquare-42-42.png","sizes":"42x42"},{"src":"./web-icons/windows/windows-smallsquare-54-54.png","sizes":"54x54"},{"src":"./web-icons/windows/windows-splashscreen-1116-540.png","sizes":"1116x540"},{"src":"./web-icons/windows/windows-splashscreen-868-420.png","sizes":"868x420"},{"src":"./web-icons/windows/windows-splashscreen-620-300.png","sizes":"620x300"},{"src":"./web-icons/windows/windows-squarelogo-270-270.png","sizes":"270x270"},{"src":"./web-icons/windows/windows-squarelogo-210-210.png","sizes":"210x210"},{"src":"./web-icons/windows/windows-squarelogo-150-150.png","sizes":"150x150"},{"src":"./web-icons/windows/windows-squarelogo-120-120.png","sizes":"120x120"},{"src":"./web-icons/windows/windows-storelogo-90-90.png","sizes":"90x90"},{"src":"./web-icons/windows/windows-storelogo-70-70.png","sizes":"70x70"},{"src":"./web-icons/windows/windows-storelogo-50-50.png","sizes":"50x50"},{"src":"./web-icons/windows/windowsphone-appicon-106-106.png","sizes":"106x106"},{"src":"./web-icons/windows/windowsphone-appicon-62-62.png","sizes":"62x62"},{"src":"./web-icons/windows/windowsphone-appicon-44-44.png","sizes":"44x44"},{"src":"./web-icons/windows/windowsphone-mediumtile-360-360.png","sizes":"360x360"},{"src":"./web-icons/windows/windowsphone-mediumtile-210-210.png","sizes":"210x210"},{"src":"./web-icons/windows/windowsphone-mediumtile-150-150.png","sizes":"150x150"},{"src":"./web-icons/windows/windowsphone-smalltile-170-170.png","sizes":"170x170"},{"src":"./web-icons/windows/windowsphone-smalltile-99-99.png","sizes":"99x99"},{"src":"./web-icons/windows/windowsphone-smalltile-71-71.png","sizes":"71x71"},{"src":"./web-icons/windows/windowsphone-storelogo-120-120.png","sizes":"120x120"},{"src":"./web-icons/windows/windowsphone-storelogo-70-70.png","sizes":"70x70"},{"src":"./web-icons/windows/windowsphone-storelogo-50-50.png","sizes":"50x50"},{"src":"./web-icons/msteams/msteams-192-192.png","sizes":"192x192"},{"src":"./web-icons/msteams/msteams-silhouette-32-32.png","sizes":"32x32"},{"src":"./web-icons/android/android-launchericon-512-512.png","sizes":"512x512"},{"src":"./web-icons/android/android-launchericon-192-192.png","sizes":"192x192"},{"src":"./web-icons/android/android-launchericon-144-144.png","sizes":"144x144"},{"src":"./web-icons/android/android-launchericon-96-96.png","sizes":"96x96"},{"src":"./web-icons/android/android-launchericon-72-72.png","sizes":"72x72"},{"src":"./web-icons/android/android-launchericon-48-48.png","sizes":"48x48"},{"src":"./web-icons/chrome/chrome-extensionmanagementpage-48-48.png","sizes":"48x48"},{"src":"./web-icons/chrome/chrome-favicon-16-16.png","sizes":"16x16"},{"src":"./web-icons/chrome/chrome-installprocess-128-128.png","sizes":"128x128"},{"src":"./web-icons/firefox/firefox-marketplace-512-512.png","sizes":"512x512"},{"src":"./web-icons/firefox/firefox-marketplace-128-128.png","sizes":"128x128"},{"src":"./web-icons/firefox/firefox-general-256-256.png","sizes":"256x256"},{"src":"./web-icons/firefox/firefox-general-128-128.png","sizes":"128x128"},{"src":"./web-icons/firefox/firefox-general-90-90.png","sizes":"90x90"},{"src":"./web-icons/firefox/firefox-general-64-64.png","sizes":"64x64"},{"src":"./web-icons/firefox/firefox-general-48-48.png","sizes":"48x48"},{"src":"./web-icons/firefox/firefox-general-32-32.png","sizes":"32x32"},{"src":"./web-icons/firefox/firefox-general-16-16.png","sizes":"16x16"}],"start_url":"./index.html","display":"standalone","background_color":"#0b1021"}
\ No newline at end of file
+{"name":"Dashy Web","short_name":"Dashy","theme_color":"#4DBA87","icons":[{"src":"./web-icons/windows10/SmallTile.scale-100.png","sizes":"71x71"},{"src":"./web-icons/windows10/SmallTile.scale-125.png","sizes":"89x89"},{"src":"./web-icons/windows10/SmallTile.scale-150.png","sizes":"107x107"},{"src":"./web-icons/windows10/SmallTile.scale-200.png","sizes":"142x142"},{"src":"./web-icons/windows10/SmallTile.scale-400.png","sizes":"284x284"},{"src":"./web-icons/windows10/Square150x150Logo.scale-100.png","sizes":"150x150"},{"src":"./web-icons/windows10/Square150x150Logo.scale-125.png","sizes":"188x188"},{"src":"./web-icons/windows10/Square150x150Logo.scale-150.png","sizes":"225x225"},{"src":"./web-icons/windows10/Square150x150Logo.scale-200.png","sizes":"300x300"},{"src":"./web-icons/windows10/Square150x150Logo.scale-400.png","sizes":"600x600"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-100.png","sizes":"310x150"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-125.png","sizes":"388x188"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-150.png","sizes":"465x225"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-200.png","sizes":"620x300"},{"src":"./web-icons/windows10/Wide310x150Logo.scale-400.png","sizes":"1240x600"},{"src":"./web-icons/windows10/LargeTile.scale-100.png","sizes":"310x310"},{"src":"./web-icons/windows10/LargeTile.scale-125.png","sizes":"388x388"},{"src":"./web-icons/windows10/LargeTile.scale-150.png","sizes":"465x465"},{"src":"./web-icons/windows10/LargeTile.scale-200.png","sizes":"620x620"},{"src":"./web-icons/windows10/LargeTile.scale-400.png","sizes":"1240x1240"},{"src":"./web-icons/windows10/Square44x44Logo.scale-100.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.scale-125.png","sizes":"55x55"},{"src":"./web-icons/windows10/Square44x44Logo.scale-150.png","sizes":"66x66"},{"src":"./web-icons/windows10/Square44x44Logo.scale-200.png","sizes":"88x88"},{"src":"./web-icons/windows10/Square44x44Logo.scale-400.png","sizes":"176x176"},{"src":"./web-icons/windows10/StoreLogo.scale-100.png","sizes":"50x50"},{"src":"./web-icons/windows10/StoreLogo.scale-125.png","sizes":"63x63"},{"src":"./web-icons/windows10/StoreLogo.scale-150.png","sizes":"75x75"},{"src":"./web-icons/windows10/StoreLogo.scale-200.png","sizes":"100x100"},{"src":"./web-icons/windows10/StoreLogo.scale-400.png","sizes":"200x200"},{"src":"./web-icons/windows10/SplashScreen.scale-100.png","sizes":"620x300"},{"src":"./web-icons/windows10/SplashScreen.scale-125.png","sizes":"775x375"},{"src":"./web-icons/windows10/SplashScreen.scale-150.png","sizes":"930x450"},{"src":"./web-icons/windows10/SplashScreen.scale-200.png","sizes":"1240x600"},{"src":"./web-icons/windows10/SplashScreen.scale-400.png","sizes":"2480x1200"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-16.png","sizes":"16x16"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-20.png","sizes":"20x20"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-24.png","sizes":"24x24"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-30.png","sizes":"30x30"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-32.png","sizes":"32x32"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-36.png","sizes":"36x36"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-40.png","sizes":"40x40"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-44.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-48.png","sizes":"48x48"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-60.png","sizes":"60x60"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-64.png","sizes":"64x64"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-72.png","sizes":"72x72"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-80.png","sizes":"80x80"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-96.png","sizes":"96x96"},{"src":"./web-icons/windows10/Square44x44Logo.targetsize-256.png","sizes":"256x256"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-16.png","sizes":"16x16"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-20.png","sizes":"20x20"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-24.png","sizes":"24x24"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-30.png","sizes":"30x30"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-32.png","sizes":"32x32"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-36.png","sizes":"36x36"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-40.png","sizes":"40x40"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-44.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-48.png","sizes":"48x48"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-60.png","sizes":"60x60"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-64.png","sizes":"64x64"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-72.png","sizes":"72x72"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-80.png","sizes":"80x80"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-96.png","sizes":"96x96"},{"src":"./web-icons/windows10/Square44x44Logo.altform-unplated_targetsize-256.png","sizes":"256x256"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-16.png","sizes":"16x16"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-20.png","sizes":"20x20"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-24.png","sizes":"24x24"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-30.png","sizes":"30x30"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-32.png","sizes":"32x32"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-36.png","sizes":"36x36"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-40.png","sizes":"40x40"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-44.png","sizes":"44x44"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-48.png","sizes":"48x48"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-60.png","sizes":"60x60"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-64.png","sizes":"64x64"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-72.png","sizes":"72x72"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-80.png","sizes":"80x80"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-96.png","sizes":"96x96"},{"src":"./web-icons/windows10/Square44x44Logo.altform-lightunplated_targetsize-256.png","sizes":"256x256"},{"src":"./web-icons/windows/windows-smallsquare-24-24.png","sizes":"24x24"},{"src":"./web-icons/windows/windows-smallsquare-30-30.png","sizes":"30x30"},{"src":"./web-icons/windows/windows-smallsquare-42-42.png","sizes":"42x42"},{"src":"./web-icons/windows/windows-smallsquare-54-54.png","sizes":"54x54"},{"src":"./web-icons/windows/windows-splashscreen-1116-540.png","sizes":"1116x540"},{"src":"./web-icons/windows/windows-splashscreen-868-420.png","sizes":"868x420"},{"src":"./web-icons/windows/windows-splashscreen-620-300.png","sizes":"620x300"},{"src":"./web-icons/windows/windows-squarelogo-270-270.png","sizes":"270x270"},{"src":"./web-icons/windows/windows-squarelogo-210-210.png","sizes":"210x210"},{"src":"./web-icons/windows/windows-squarelogo-150-150.png","sizes":"150x150"},{"src":"./web-icons/windows/windows-squarelogo-120-120.png","sizes":"120x120"},{"src":"./web-icons/windows/windows-storelogo-90-90.png","sizes":"90x90"},{"src":"./web-icons/windows/windows-storelogo-70-70.png","sizes":"70x70"},{"src":"./web-icons/windows/windows-storelogo-50-50.png","sizes":"50x50"},{"src":"./web-icons/windows/windowsphone-appicon-106-106.png","sizes":"106x106"},{"src":"./web-icons/windows/windowsphone-appicon-62-62.png","sizes":"62x62"},{"src":"./web-icons/windows/windowsphone-appicon-44-44.png","sizes":"44x44"},{"src":"./web-icons/windows/windowsphone-mediumtile-360-360.png","sizes":"360x360"},{"src":"./web-icons/windows/windowsphone-mediumtile-210-210.png","sizes":"210x210"},{"src":"./web-icons/windows/windowsphone-mediumtile-150-150.png","sizes":"150x150"},{"src":"./web-icons/windows/windowsphone-smalltile-170-170.png","sizes":"170x170"},{"src":"./web-icons/windows/windowsphone-smalltile-99-99.png","sizes":"99x99"},{"src":"./web-icons/windows/windowsphone-smalltile-71-71.png","sizes":"71x71"},{"src":"./web-icons/windows/windowsphone-storelogo-120-120.png","sizes":"120x120"},{"src":"./web-icons/windows/windowsphone-storelogo-70-70.png","sizes":"70x70"},{"src":"./web-icons/windows/windowsphone-storelogo-50-50.png","sizes":"50x50"},{"src":"./web-icons/msteams/msteams-192-192.png","sizes":"192x192"},{"src":"./web-icons/msteams/msteams-silhouette-32-32.png","sizes":"32x32"},{"src":"./web-icons/android/android-launchericon-512-512.png","sizes":"512x512"},{"src":"./web-icons/android/android-launchericon-192-192.png","sizes":"192x192"},{"src":"./web-icons/android/android-launchericon-144-144.png","sizes":"144x144"},{"src":"./web-icons/android/android-launchericon-96-96.png","sizes":"96x96"},{"src":"./web-icons/android/android-launchericon-72-72.png","sizes":"72x72"},{"src":"./web-icons/android/android-launchericon-48-48.png","sizes":"48x48"},{"src":"./web-icons/chrome/chrome-extensionmanagementpage-48-48.png","sizes":"48x48"},{"src":"./web-icons/chrome/chrome-favicon-16-16.png","sizes":"16x16"},{"src":"./web-icons/chrome/chrome-installprocess-128-128.png","sizes":"128x128"},{"src":"./web-icons/firefox/firefox-marketplace-512-512.png","sizes":"512x512"},{"src":"./web-icons/firefox/firefox-marketplace-128-128.png","sizes":"128x128"},{"src":"./web-icons/firefox/firefox-general-256-256.png","sizes":"256x256"},{"src":"./web-icons/firefox/firefox-general-128-128.png","sizes":"128x128"},{"src":"./web-icons/firefox/firefox-general-90-90.png","sizes":"90x90"},{"src":"./web-icons/firefox/firefox-general-64-64.png","sizes":"64x64"},{"src":"./web-icons/firefox/firefox-general-48-48.png","sizes":"48x48"},{"src":"./web-icons/firefox/firefox-general-32-32.png","sizes":"32x32"},{"src":"./web-icons/firefox/firefox-general-16-16.png","sizes":"16x16"}],"start_url":"./index.html","display":"standalone","background_color":"#0b1021","description":"A Dashboard for your Homelab","scope":"/","lang":"en-GB","orientation":"portrait-primary","screenshots":[{"src":"./web-icons/screenshots/dashy-scrsht-1.png","sizes":"1523x1347","type":"image/png","label":"Dashy example homelab with Callisto theme"},{"src":"./web-icons/screenshots/dashy-scrsht-2.png","sizes":"1264x861","type":"image/png","label":"Example, Networking services with Minimal Dark theme and a Horizontal layout"},{"src":"./web-icons/screenshots/dashy-scrsht-3.png","sizes":"1303x864","type":"image/png","label":"Dashy example homelab with Material theme and auto-fetched favicons"},{"src":"./web-icons/screenshots/dashy-scrsht-4.png","sizes":"1273x865","type":"image/png","label":"Dashy CFT Toolbox using Matrix theme"},{"src":"./web-icons/screenshots/dashy-scrsht-5.png","sizes":"1146x851","type":"image/png","label":"Dashy as a Bookmark Manager, with Dracula theme and Font-Awesome icons"},{"src":"./web-icons/screenshots/dashy-scrsht-6.png","sizes":"1147x872","type":"image/png","label":"Dashy example homelab with Nord theme"}]}
\ No newline at end of file
diff --git a/precache-manifest.0a0e924d2de2e034187eac5031777d5c.js b/precache-manifest.e90b55537464c2c128ed538f8f36b24b.js
similarity index 92%
rename from precache-manifest.0a0e924d2de2e034187eac5031777d5c.js
rename to precache-manifest.e90b55537464c2c128ed538f8f36b24b.js
index 67bb94fe..2e72f611 100644
--- a/precache-manifest.0a0e924d2de2e034187eac5031777d5c.js
+++ b/precache-manifest.e90b55537464c2c128ed538f8f36b24b.js
@@ -1,4 +1,8 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
+ {
+ "revision": "bf34287921a30191e95e75c4c1148d85",
+ "url": "/./manifest.json"
+ },
{
"revision": "d41d8cd98f00b204e9800998ecf8427e",
"url": "/.nojekyll"
@@ -8,7 +12,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/conf.yml"
},
{
- "revision": "c3bf51c8284f92a57df6",
+ "revision": "1a0aecb9bbd902250a79",
"url": "/css/about.a64c098d.css"
},
{
@@ -16,8 +20,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/css/chunk-vendors.64811416.css"
},
{
- "revision": "dfe26364e4fab7ac5943",
- "url": "/css/dashy.85b892c9.css"
+ "revision": "8db42aa987c0b1469b14",
+ "url": "/css/dashy.65904dde.css"
},
{
"revision": "e24265f6c4bd4450fdafdf37cd825bfc",
@@ -36,7 +40,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/fonts/Raleway-Variable.3b5635ac.ttf"
},
{
- "revision": "7c24f2b7deca65047bd26198b8e9fb18",
+ "revision": "4c38a7a0c743b4e85e58388d53e70b31",
"url": "/index.html"
},
{
@@ -44,19 +48,19 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/item-icons/.gitignore"
},
{
- "revision": "c3bf51c8284f92a57df6",
- "url": "/js/about.c5136cd2.js"
+ "revision": "1a0aecb9bbd902250a79",
+ "url": "/js/about.86662eed.js"
},
{
"revision": "d557f42226725d82854d",
"url": "/js/chunk-vendors.e93bd977.js"
},
{
- "revision": "dfe26364e4fab7ac5943",
- "url": "/js/dashy.ec01c6d8.js"
+ "revision": "8db42aa987c0b1469b14",
+ "url": "/js/dashy.df0bf72a.js"
},
{
- "revision": "e9b444abe90ba9d34ae73550a5239b65",
+ "revision": "e3bf86400a2b80531902e65f51d52be0",
"url": "/manifest.json"
},
{
@@ -99,6 +103,18 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"revision": "7a3ae90dac82a7aee73e87779359a986",
"url": "/web-icons/chrome/chrome-installprocess-128-128.png"
},
+ {
+ "revision": "6707fa2ad59a893ae070eadaef112fc2",
+ "url": "/web-icons/dashy-logo.png"
+ },
+ {
+ "revision": "65c204c61000a7c86fd45c4906465f73",
+ "url": "/web-icons/favicon-32x32.png"
+ },
+ {
+ "revision": "a9dff530c95315d3e9f33d5b9073056a",
+ "url": "/web-icons/favicon-64x64.png"
+ },
{
"revision": "7a3ae90dac82a7aee73e87779359a986",
"url": "/web-icons/firefox/firefox-general-128-128.png"
@@ -143,6 +159,30 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"revision": "1ad5ab74d031b187fcdbeac7c9b64461",
"url": "/web-icons/msteams/msteams-silhouette-32-32.png"
},
+ {
+ "revision": "a716e9dd7bca9a41b6f7a287f9611692",
+ "url": "/web-icons/screenshots/dashy-scrsht-1.png"
+ },
+ {
+ "revision": "c6af8ec57d2cad1daf528e9386bf2886",
+ "url": "/web-icons/screenshots/dashy-scrsht-2.png"
+ },
+ {
+ "revision": "c23cece778936d81549be91cf6e12c54",
+ "url": "/web-icons/screenshots/dashy-scrsht-3.png"
+ },
+ {
+ "revision": "1aeaa5e700912be23ea57f6a068a2780",
+ "url": "/web-icons/screenshots/dashy-scrsht-4.png"
+ },
+ {
+ "revision": "9a9f4fea0729857446ba31ce07a44715",
+ "url": "/web-icons/screenshots/dashy-scrsht-5.png"
+ },
+ {
+ "revision": "6e18bcbe89598c4451ef63d47b675e9f",
+ "url": "/web-icons/screenshots/dashy-scrsht-6.png"
+ },
{
"revision": "36527e5e98523ae88f3c180847ea8430",
"url": "/web-icons/windows/windows-smallsquare-24-24.png"
diff --git a/service-worker.js b/service-worker.js
index c202c8f9..777859c8 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
- "/precache-manifest.0a0e924d2de2e034187eac5031777d5c.js"
+ "/precache-manifest.e90b55537464c2c128ed538f8f36b24b.js"
);
workbox.core.setCacheNameDetails({prefix: "Dashy"});
diff --git a/web-icons/dashy-logo.png b/web-icons/dashy-logo.png
new file mode 100644
index 00000000..78fabd25
Binary files /dev/null and b/web-icons/dashy-logo.png differ
diff --git a/web-icons/favicon-32x32.png b/web-icons/favicon-32x32.png
new file mode 100644
index 00000000..1c0a2979
Binary files /dev/null and b/web-icons/favicon-32x32.png differ
diff --git a/web-icons/favicon-64x64.png b/web-icons/favicon-64x64.png
new file mode 100644
index 00000000..369f1c60
Binary files /dev/null and b/web-icons/favicon-64x64.png differ
diff --git a/web-icons/screenshots/dashy-scrsht-1.png b/web-icons/screenshots/dashy-scrsht-1.png
new file mode 100644
index 00000000..d5f3cd3f
Binary files /dev/null and b/web-icons/screenshots/dashy-scrsht-1.png differ
diff --git a/web-icons/screenshots/dashy-scrsht-2.png b/web-icons/screenshots/dashy-scrsht-2.png
new file mode 100644
index 00000000..bfaab618
Binary files /dev/null and b/web-icons/screenshots/dashy-scrsht-2.png differ
diff --git a/web-icons/screenshots/dashy-scrsht-3.png b/web-icons/screenshots/dashy-scrsht-3.png
new file mode 100644
index 00000000..605a520c
Binary files /dev/null and b/web-icons/screenshots/dashy-scrsht-3.png differ
diff --git a/web-icons/screenshots/dashy-scrsht-4.png b/web-icons/screenshots/dashy-scrsht-4.png
new file mode 100644
index 00000000..a728a8a9
Binary files /dev/null and b/web-icons/screenshots/dashy-scrsht-4.png differ
diff --git a/web-icons/screenshots/dashy-scrsht-5.png b/web-icons/screenshots/dashy-scrsht-5.png
new file mode 100644
index 00000000..9a61a2dc
Binary files /dev/null and b/web-icons/screenshots/dashy-scrsht-5.png differ
diff --git a/web-icons/screenshots/dashy-scrsht-6.png b/web-icons/screenshots/dashy-scrsht-6.png
new file mode 100644
index 00000000..8402f0a1
Binary files /dev/null and b/web-icons/screenshots/dashy-scrsht-6.png differ