keeweb/index.html

1 line
1.6 MiB
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>KeeWeb</title><meta http-equiv="Content-Security-Policy" content=" default-src 'self'; font-src data:; script-src 'sha512-jYN26k9MdXnhqu7Ssy7r+y/87ND1Br7yx4NzRHwx8dSII1LvinqIRKaXoIb0ObI9HQFILRWBg5gPRszhILAC9g==' 'unsafe-eval'; style-src 'sha512-63edYbLgq599MAsyyqgCBk18k1RCKpZ3FjZ9G3l0pQlvxVchNVaPhiAE+GwP9NKPZVIinJuNXJx2xY1tZkzvZg==' blob:; connect-src 'self' ws: https:; child-src 'self' blob:; worker-src 'self' blob:; img-src 'self' data: blob: https://services.keeweb.info/; object-src 'none'; form-action 'none'; "><meta name="application-name" content="KeeWeb"><meta name="kw-config" content="(no-config)"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-title" content="KeeWeb"><meta name="theme-color" content="#6386ec"><meta name="msapplication-config" content="browserconfig.xml"><meta name="msapplication-TileColor" content="#6386ec"><link rel="apple-touch-icon" sizes="180x180" href="icons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png"><link rel="mask-icon" href="icons/safari-pinned-tab.svg" color="#6386ec"><link rel="apple-touch-startup-image" href="icons/splash-640x1136.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><link rel="apple-touch-startup-image" href="icons/splash-750x1294.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"><link rel="apple-touch-startup-image" href="icons/splash-1242x2148.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><link rel="apple-touch-startup-image" href="icons/splash-1125x2436.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"><link rel="apple-touch-startup-image" href="icons/splash-1536x2048.png" media="(min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"><link rel="apple-touch-startup-image" href="icons/splash-1668x2224.png" media="(min-device-width: 834px) and (max-device-width: 834px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"><link rel="apple-touch-startup-image" href="icons/splash-2048x2732.png" media="(min-device-width: 1024px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"><link rel="manifest" href="manifest.json"><style>html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:initial;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:initial}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid;border-color:#ccc #ccc #bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px rgba(0,0,0,.5)}.pika-single:after,.pika-single:before{content:" ";display:table}.pika-single:after{clear:both}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{position:relative;text-align:center}.pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;opacity:0}.pika-label{display:inline-block;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;color:#333;background-color:#fff}.pika-next,.pika-prev{display:block;cursor:pointer;position:relative;outline:none;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:initial;background-position:50%;background-repeat:no-repeat;background-size:75% 75%;opacity:.5}.pika-next:hover,.pika-prev:hover{opacity:1}.pika-next.is-disabled,.pika-prev.is-disabled{cursor:default;opacity:.2}.is-rtl .pika-next,.pika-prev{float:left;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}.is-rtl .pika-prev,.pika-next{float:right;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}.pika-select{display:inline-block}.pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.pika-table td,.pika-table th{width:14.2857142857%;padding:0}.pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:700;text-align:center}.pika-table abbr{border-bottom:none;cursor:help}.pika-button{cursor:pointer;display:block;box-sizing:border-box;outline:none;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:right;background:#f5f5f5;height:auto}.has-event .pika-button{color:#fff;background:#3af}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button{color:#fff;font-weight:700;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.is-disabled .pika-button,.is-outside-current-month .pika-button{color:#999;opacity:.3}.is-disabled .pika-button{pointer-events:none;cursor:default}.pika-button:hover{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.pika-button .is-selection-disabled{pointer-events:none;cursor:default}.pika-week{font-size:11px;color:#999}.is-inrange .pika-button{color:#666;background:#d5e9f7}.is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}body{--white-color:#d8e5f1;--black-color:#111;--red-color:#ed5f5e;--orange-color:#e8873a;--yellow-color:#f7c644;--green-color:#78b756;--blue-color:#2f7cf7;--violet-color:#e55d9c}.white-color{color:var(--white-color)}.black-color{color:var(--black-color)}.red-color{color:var(--red-color)}.orange-color{color:var(--orange-color)}.yellow-color{color:var(--yellow-color)}.green-color{color:var(--green-color)}.blue-color{color:var(--blue-color)}.violet-color{color:var(--violet-color)}.muted-color{color:var(--muted-color)}.action-color{color:var(--action-color)}.error-color{color:var(--error-color)}body{--focus-shadow-spread:3px;--button-border-radius:3px;--input-border-radius:4px;--block-border-radius:5px;--selected-item-text-color:var(--text-color);--open-icon-color:var(--text-color);--dropdown-box-shadow-color:rgba(0,0,0,0.1)}@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2")}.fa{font-family:Font Awesome\ 5 Free;font-weight:400;font-style:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;display:inline-block;line-height:1.5}.fa.bottom{vertical-align:bottom}.fa-keyboard{position:relative;top:.1em}html{height:100%;width:100%}body,html{overflow:hidden;position:fixed}body{cursor:default;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}noscript{display:block;margin-top:10%;text-align:center;font-size:16px}[type=button],[type=reset],[type=submit],button{-webkit-appearance:none;appearance:none;border-radius:var(--button-border-radius);cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Helvetica,Roboto,Arial,Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,STXihei,华文细黑,sans-serif;font-size:1rem;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1;padding:.75em 1.5em;text-decoration:none;transition:background-color border-color .15s ease;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;outline:none;min-width:80px;border:1px solid var(--action-color);background-color:var(--action-color);color:var(--text-contrast-action-color)}[type=button].btn-error,[type=button].btn-silent,[type=reset].btn-error,[type=reset].btn-silent,[type=submit].btn-error,[type=submit].btn-silent,button.btn-error,button.btn-silent{border-color:var(--base-border-color);background-color:initial;color:var(--text-color)}[type=button]:hover,[type=reset]:hover,[type=submit]:hover,button:hover{border-color:var(--action-background-color-focus);background-color:var(--action-background-color-focus)}[type=button]:hover.btn-error,[type=reset]:hover.btn-error,[type=submit]:hover.btn-error,button:hover.btn-error{border-color:var(--error-background-color-focus);background-color:var(--error-background-color-focus-tr)}[type=button]:hover.btn-silent,[type=reset]:hover.btn-silent,[type=submit]:hover.btn-silent,button:hover.btn-silent{border-color:var(--action-background-color-focus);background-color:var(--action-background-color-focus-tr)}[type=button]:active,[type=reset]:active,[type=submit]:active,button:active{border-color:var(--action-background-color-active);background-color:var(--action-background-color-active)}[type=button]:active.btn-error,[type=reset]:active.btn-error,[type=submit]:active.btn-error,button:active.btn-error{border-color:var(--error-background-color-active);background-color:var(--error-background-color-active-tr)}[type=button]:active.btn-silent,[type=reset]:active.btn-silent,[type=submit]:active.btn-silent,button:active.btn-silent{border-color:var(--action-background-color-active);background-color:var(--action-background-color-active-tr)}[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled,button:disabled{cursor:default;opacity:.5}[type=button]:disabled:hover,[type=reset]:disabled:hover,[type=submit]:disabled:hover,button:disabled:hover{border-color:var(--action-color);background-color:var(--action-color)}[type=button]:disabled:hover.btn-error,[type=reset]:disabled:hover.btn-error,[type=submit]:disabled:hover.btn-error,button:disabled:hover.btn-error{border-color:var(--error-color);background-color:initial}[type=button]:disabled:hover.btn-silent,[type=reset]:disabled:hover.btn-silent,[type=submit]:disabled:hover.btn-silent,button:disabled:hover.btn-silent{border-color:var(--action-color);background-color:initial}.btn~.btn,button~button{margin-left:.75em}:focus{outline:none}fieldset{background-color:var(--secondary-background-color);border:1px solid var(--base-border-color);margin:0 0 .75em;padding:1.5em}input{line-height:normal;color:inherit}input,select{display:block;-webkit-app-region:no-drag}input,label,select{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Helvetica,Roboto,Arial,Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,STXihei,华文细黑,sans-serif;font-size:1rem}label{display:inline-block;font-weight:600;margin-bottom:.375em}label.required:after{content:"*"}label abbr{display:none}input:not([type]),input[type=password],input[type=text],textarea{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Helvetica,Roboto,Arial,Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,STXihei,华文细黑,sans-serif;font-size:1rem;margin-bottom:.75em;padding:.5em;transition:border-color .15s ease;color:var(--text-color);background-color:var(--background-color);border:1px solid var(--base-border-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.06);border-radius:var(--input-border-radius)}input:not([type])::-ms-clear,input[type=password]::-ms-clear,input[type=text]::-ms-clear,textarea::-ms-clear{display:none}input:not([type])::-webkit-credentials-auto-fill-button,input[type=password]::-webkit-credentials-auto-fill-button,input[type=text]::-webkit-credentials-auto-fill-button,textarea::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}input:not([type]):hover,input[type=password]:hover,input[type=text]:hover,textarea:hover{border-color:var(--accent-border-color)}input:not([type]):focus,input[type=password]:focus,input[type=text]:focus,textarea:focus{border-color:var(--form-box-border-color-focus);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 0 var(--focus-shadow-spread) var(--form-box-shadow-color-focus);outline:none}input:not([type]):disabled,input[type=password]:disabled,input[type=text]:disabled,textarea:disabled{background-color:var(--disabled-background-color);cursor:not-allowed}input:not([type]):disabled:hover,input[type=password]:disabled:hover,input[type=text]:disabled:hover,textarea:disabled:hover{border:1px solid var(--base-border-color)}input:not([type]).input--error,input:not([type]).input--error:focus,input:not([type]).input--error:hover,input:not([type]):invalid,input[type=password].input--error,input[type=password].input--error:focus,input[type=password].input--error:hover,input[type=password]:invalid,input[type=text].input--error,input[type=text].input--error:focus,input[type=text].input--error:hover,input[type=text]:invalid,textarea.input--error,textarea.input--error:focus,textarea.input--error:hover,textarea:invalid{border-color:var(--error-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 0 var(--focus-shadow-spread) var(--form-box-shadow-color-focus-error)}input:not([type]).input--error::selection,input:not([type]).input--error:focus::selection,input:not([type]).input--error:hover::selection,input:not([type]):invalid::selection,input[type=password].input--error::selection,input[type=password].input--error:focus::selection,input[type=password].input--error:hover::selection,input[type=password]:invalid::selection,input[type=text].input--error::selection,input[type=text].input--error:focus::selection,input[type=text].input--error:hover::selection,input[type=text]:invalid::selection,textarea.input--error::selection,textarea.input--error:focus::selection,textarea.input--error:hover::selection,textarea:invalid::selection{background-color:var(--text-selection-bg-color-error)}input:not([type]).input-search,input[type=password].input-search,input[type=text].input-search,textarea.input-search{padding-left:2.9em;padding-right:1.8em}input:not([type])::placeholder,input[type=password]::placeholder,input[type=text]::placeholder,textarea::placeholder{color:var(--muted-color)}textarea{resize:vertical}input[type=search]{-webkit-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{display:inline;margin-right:.375em}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=file]{margin-bottom:.75em;width:100%}select{margin-bottom:.75em;max-width:100%;-webkit-appearance:none;appearance:none;transition:border-color .15s ease;border-radius:var(--input-border-radius);padding-left:.5em;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDYiIGhlaWdodD0iMzA2Ij48cGF0aCBmaWxsPSIjOTk4NDgzIiBkPSJNMjcwLjMgNTguNjVMMTUzIDE3NS45NSAzNS43IDU4LjY1IDAgOTQuMzVsMTUzIDE1MyAxNTMtMTUzeiIvPjwvc3ZnPg==);background-position:calc(100% - 5px) 50%;background-size:10px;background-repeat:no-repeat;background-color:var(--background-color);border:1px solid var(--base-border-color);color:var(--text-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.06)}select:hover{border-color:var(--accent-border-color)}select:focus{border-color:var(--form-box-border-color-focus);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 0 var(--focus-shadow-spread) var(--form-box-shadow-color-focus);outline:none}select:disabled{background-color:var(--disabled-background-color);cursor:not-allowed}select:disabled:hover{border:1px solid var(--base-border-color)}select::-ms-expand{display:none}option{background-color:var(--background-color);color:var(--text-color)}input[type=checkbox]{display:none}input[type=checkbox]:not([disabled])+label:hover:before{color:var(--action-color)}input[type=checkbox]+label:before{font-family:Font Awesome\ 5 Free;font-weight:400;font-style:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;line-height:1.5;content:"\f002";display:inline-block;width:1.3em;color:var(--text-color);font-size:1.2em;vertical-align:bottom;position:relative;top:.08em}input[type=checkbox]:checked+label:before{content:"\f003"}input[type=range]{-webkit-appearance:none;width:100%;margin:12px 0;padding:0;background:transparent}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{background:var(--text-color);width:100%;height:1px;cursor:pointer;border-radius:1px;border:none}input[type=range]::-webkit-slider-thumb{background:var(--text-color);border:none;height:14px;width:14px;border-radius:14px;cursor:pointer;-webkit-appearance:none;margin-top:-6.5px}input[type=range]::-moz-range-track{background:var(--text-color);width:100%;height:1px;cursor:pointer;border-radius:1px;border:none}input[type=range]::-moz-range-thumb{background:var(--text-color);border:none;height:14px;width:14px;border-radius:14px;cursor:pointer}input[type=range]::-moz-focus-outer{border:0}input[type=range]::-ms-track{width:100%;height:1px;cursor:pointer;background:transparent;border-color:transparent;border-width:14px 0;color:transparent}input[type=range]::-ms-tooltip{display:none}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper,input[type=range]:focus::-ms-fill-lower,input[type=range]:focus::-ms-fill-upper{background:#d3d3d3}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:14px;cursor:pointer;background:#d3d3d3}.input-base,.input-size-base,.settings__row{width:60%}@media(max-width:736px){.input-base,.input-size-base,.settings__row{width:calc(100% - 20px)}}select.input-base{height:2em}ol,ul{list-style-type:none;margin:0;padding:0}dl{margin-bottom:.75em}dl dt{font-weight:700;margin-top:.75em}dl dd{margin:0}html{font-size:12px}body{height:100%;width:100%;-webkit-user-select:none;user-select:none;color:var(--text-color);background-color:var(--background-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Helvetica,Roboto,Arial,Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,STXihei,华文细黑,sans-serif;font-feature-settings:"kern","liga 0";font-size:1rem;line-height:1.5}@-moz-document url-prefix(){body{text-shadow:0 0}}h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Helvetica,Roboto,Arial,Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,STXihei,华文细黑,sans-serif;line-height:1.2;margin:0 0 .75em}h6{font-size:1rem}h5{font-size:1.1rem}h4{font-size:1.21rem}h3{font-size:1.331rem}h2{font-size:1.5625rem}h1{font-size:2.44140625rem}p{margin:0 0 .75em}hr{border:0;border-bottom:1px solid var(--base-border-color);margin:1.5em 0}img{margin:0;max-width:100%}::selection{background-color:var(--text-selection-bg-color)}code{font-family:SFMono-Regular,Monaco,Consolas,Lucida Console,monospace}body.th-dark{--form-box-border-color-focus:#407091;--form-box-shadow-color-focus:#3a698b;--form-box-shadow-color-hover:rgba(58,105,139,0.8);--light-border-color:rgba(68,68,69,0.7);--secondary-background-color:#2d2d2e;--selected-item-color:#2463c8;--selected-on-secondary-item-color:#403f40}body.th-dark .list__item--active .blue-color{color:#689ff7}body.th-light{--form-box-border-color-focus:#8aacec;--form-box-shadow-color-focus:#90b2f2;--form-box-shadow-color-hover:rgba(144,178,242,0.8);--light-border-color:#dedede;--secondary-background-color:#efefef;--selected-item-color:#2366d9;--selected-on-secondary-item-color:#d6d6d6;--selected-item-text-color:#f6f6f6;--open-icon-color:#565656}body.th-light .list__item--active .blue-color{color:#7baeff}body.th-db .list__item--active .blue-color{color:#0051d2}body.th-db .list__item--active .green-color{color:#77d644}body.th-lb .list__item--active .blue-color{color:#0051d2}body.th-lb .list__item--active .green-color{color:#77d644}body.th-fb .list__item--active .blue-color{color:#98bfff}body.th-bl{--open-icon-color:#525462}body.th-bl .list__item--active .blue-color{color:#98bfff}body.th-te .list__item--active .green-color{color:#7be045}body.th-te .list__item--active .blue-color{color:#0750c5}body.th-lt .list__item--active .green-color{color:#7be045}body.th-lt .list__item--active .blue-color{color:#0750c5}body.th-hc{--selected-item-color:#1e5db8;--selected-item-text-color:#fafafa}body.th-hc .list__item--active .red-color{color:#ff6d6b}body.th-hc .list__item--active .orange-color{color:#ffbb86}body.th-hc .list__item--active .green-color{color:#baff92}body.th-hc .list__item--active .blue-color{color:#c1d9ff}body.th-hc .list__item--active .violet-color{color:#ff93c5}body.th-dc{--selected-item-color:#1e5db8;--selected-item-text-color:#fafafa}body.th-dc .list__item--active .red-color{color:#ff6d6b}body.th-dc .list__item--active .orange-color{color:#ffbb86}body.th-dc .list__item--active .green-color{color:#baff92}body.th-dc .list__item--active .blue-color{color:#c1d9ff}body.th-dc .list__item--active .violet-color{color:#ff93c5}body.th-sd{--selected-item-text-color:#002b36}body.th-sd .list__item--active .blue-color{color:#0249bd}body.th-sl{--selected-item-text-color:#fdf6e3}body.th-sl .list__item--active .orange-color{color:#ff9846}body.th-sl .list__item--active .green-color{color:#63d823}.th-dark{--muted-color:#4c4c4c;--muted-color-border:#353535;--text-selection-bg-color:rgba(49,126,246,0.3);--text-selection-bg-color-error:rgba(236,101,90,0.8);--text-semi-muted-color:#f6f6f7;--text-contrast-action-color:#f7f7f7;--text-contrast-error-color:#f7f7f7;--base-border-color:#6b6b6b;--accent-border-color:#818182;--light-border-color:#3d3d3d;--form-box-border-color-focus:#6ca2f6;--form-box-shadow-color-focus:rgba(108,162,246,0.7);--form-box-shadow-color-hover:rgba(108,162,246,0.5);--form-box-shadow-color-focus-error:rgba(233,80,67,0.7);--secondary-background-color:#2d2d2d;--intermediate-background-color:#232323;--intermediate-pressed-background-color:#222;--disabled-background-color:#1d1d1d;--unselected-background-color:#2c2c2c;--unselected-background-color-hover:#333334;--action-background-color-focus:#2765c5;--action-background-color-focus-tr:rgba(39,101,197,0.1);--action-background-color-active:#255fb9;--action-background-color-active-tr:rgba(37,95,185,0.15);--modal-background-color:rgba(30,30,30,0.9);--modal-background-color-tr:rgba(30,30,30,0);--selected-item-color:#2e70d6;--selected-on-secondary-item-color:#4c4c4c;--selectable-on-secondary-item-color:#333334;--clickable-on-secondary-color:#919192;--titlebar-button-background-color:hsla(0,0%,96.9%,0.085);--mute-percent:30%;--modal-opacity:0.9;--background-color:#1e1e1e;--medium-color:#b7b7b8;--text-color:#f7f7f7;--action-color:#317ef6}.th-dark,.th-light{--error-background-color-focus:#bd5148;--error-background-color-focus-tr:rgba(189,81,72,0.1);--error-background-color-active:#b14c44;--error-background-color-active-tr:rgba(177,76,68,0.15);--light-border-percent:20%;--color-lightness-shift:0;--error-color:#ec655a}.th-light{--muted-color:#a1a1a1;--muted-color-border:#ccc;--text-selection-bg-color:rgba(48,99,212,0.3);--text-selection-bg-color-error:rgba(236,101,90,0.8);--text-semi-muted-color:#303031;--text-contrast-action-color:#f6f6f6;--text-contrast-error-color:#f6f6f6;--base-border-color:#a1a1a1;--accent-border-color:#888;--light-border-color:#d4d4d4;--form-box-border-color-focus:#3054a3;--form-box-shadow-color-focus:rgba(48,84,163,0.7);--form-box-shadow-color-hover:rgba(48,84,163,0.5);--form-box-shadow-color-focus-error:rgba(233,80,67,0.7);--secondary-background-color:#e5e5e5;--intermediate-background-color:#f1f1f1;--intermediate-pressed-background-color:#f2f2f2;--disabled-background-color:#eaeaea;--unselected-background-color:#e7e7e7;--unselected-background-color-hover:#dedede;--action-background-color-focus:#264faa;--action-background-color-focus-tr:rgba(38,79,170,0.1);--action-background-color-active:#244a9f;--action-background-color-active-tr:rgba(36,74,159,0.15);--modal-background-color:hsla(0,0%,96.5%,0.9);--modal-background-color-tr:hsla(0,0%,96.5%,0);--selected-item-color:#4e79d9;--selected-on-secondary-item-color:#c3c3c3;--selectable-on-secondary-item-color:#dedede;--clickable-on-secondary-color:#777;--titlebar-button-background-color:rgba(48,48,48,0.085);--mute-percent:50%;--modal-opacity:0.9;--white-color:#d8e5f1;--black-color:#111;--red-color:#d04745;--orange-color:#e9873a;--yellow-color:#f7c84e;--green-color:#79b656;--blue-color:#2f7cf7;--violet-color:#e55d9c;--background-color:#f6f6f6;--medium-color:#4c4c4c;--text-color:#303030;--action-color:#3063d4}.th-db{--muted-color:#716261;--muted-color-border:#524948;--text-selection-bg-color:rgba(44,153,87,0.3);--text-selection-bg-color-error:rgba(253,109,103,0.8);--text-semi-muted-color:#feeae8;--text-contrast-action-color:#ffeae9;--text-contrast-error-color:#ffeae9;--base-border-color:#998483;--accent-border-color:#b79e9d;--light-border-color:#5c5150;--form-box-border-color-focus:#6bb183;--form-box-shadow-color-focus:rgba(107,177,131,0.7);--form-box-shadow-color-hover:rgba(107,177,131,0.5);--form-box-shadow-color-focus-error:rgba(253,85,78,0.7);--secondary-background-color:#48403f;--intermediate-background-color:#3a3433;--intermediate-pressed-background-color:#393332;--disabled-background-color:#312d2c;--unselected-background-color:#463e3d;--unselected-background-color-hover:#504746;--modal-background-color:rgba(52,47,46,0.9);--modal-background-color-tr:rgba(52,47,46,0);--selected-item-color:#2d8951;--selected-on-secondary-item-color:#716261;--selectable-on-secondary-item-color:#504746;--clickable-on-secondary-color:#ccafae;--titlebar-button-background-color:rgba(255,234,233,0.085);--mute-percent:30%;--modal-opacity:0.9;--background-color:#342f2e;--medium-color:#fed9d8;--text-color:#ffeae9}.th-db,.th-lb{--action-background-color-focus:#237a46;--action-background-color-focus-tr:rgba(35,122,70,0.1);--error-background-color-focus:#ca5752;--error-background-color-focus-tr:rgba(202,87,82,0.1);--action-background-color-active:#217341;--action-background-color-active-tr:rgba(33,115,65,0.15);--error-background-color-active:#be524d;--error-background-color-active-tr:rgba(190,82,77,0.15);--light-border-percent:20%;--color-lightness-shift:0;--action-color:#2c9957;--error-color:#fd6d67}.th-lb{--muted-color:#a19894;--muted-color-border:#cec4be;--text-selection-bg-color:rgba(44,153,87,0.3);--text-selection-bg-color-error:rgba(253,109,103,0.8);--text-semi-muted-color:#34302e;--text-contrast-action-color:#fcf0e8;--text-contrast-error-color:#fcf0e8;--base-border-color:#a19894;--accent-border-color:#857e7b;--light-border-color:#d7cdc6;--form-box-border-color-focus:#2e794b;--form-box-shadow-color-focus:rgba(46,121,75,0.7);--form-box-shadow-color-hover:rgba(46,121,75,0.5);--form-box-shadow-color-focus-error:rgba(253,85,78,0.7);--secondary-background-color:#eaded7;--intermediate-background-color:#f7ebe3;--intermediate-pressed-background-color:#f7ebe4;--disabled-background-color:#efe4dc;--unselected-background-color:#ece0d9;--unselected-background-color-hover:#e2d7d0;--modal-background-color:rgba(252,240,232,0.9);--modal-background-color-tr:rgba(252,240,232,0);--selected-item-color:#4ba66d;--selected-on-secondary-item-color:#c5bbb6;--selectable-on-secondary-item-color:#e2d7d0;--clickable-on-secondary-color:#736c6a;--titlebar-button-background-color:rgba(52,47,46,0.085);--mute-percent:50%;--modal-opacity:0.9;--background-color:#fcf0e8;--medium-color:#454040;--text-color:#342f2e}.th-fb{--muted-color:#4f545e;--muted-color-border:#3c4049;--text-selection-bg-color:rgba(82,139,255,0.3);--text-selection-bg-color-error:rgba(195,64,52,0.8);--text-semi-muted-color:#d6dae0;--text-contrast-action-color:#d7dae0;--text-contrast-error-color:#d7dae0;--base-border-color:#6a6f7a;--accent-border-color:#7d838e;--light-border-color:#424750;--form-box-border-color-focus:#7aa3f6;--form-box-shadow-color-focus:rgba(122,163,246,0.7);--form-box-shadow-color-hover:rgba(122,163,246,0.5);--form-box-shadow-color-focus-error:rgba(175,57,47,0.7);--secondary-background-color:#353942;--intermediate-background-color:#2c3038;--intermediate-pressed-background-color:#2b2f38;--disabled-background-color:#262a31;--unselected-background-color:#343841;--unselected-background-color-hover:#3a3f47;--modal-background-color:rgba(40,44,52,0.9);--modal-background-color-tr:rgba(40,44,52,0);--selected-item-color:#4c7de1;--selected-on-secondary-item-color:#4f545e;--selectable-on-secondary-item-color:#3a3f47;--clickable-on-secondary-color:#8a919c;--titlebar-button-background-color:rgba(215,218,224,0.085);--mute-percent:30%;--modal-opacity:0.9;--background-color:#282c34;--medium-color:#abb2bf;--text-color:#d7dae0}.th-bl,.th-fb{--action-background-color-focus:#426fcc;--action-background-color-focus-tr:rgba(66,111,204,0.1);--error-background-color-focus:#9c332a;--error-background-color-focus-tr:rgba(156,51,42,0.1);--action-background-color-active:#3e68bf;--action-background-color-active-tr:rgba(62,104,191,0.15);--error-background-color-active:#923027;--error-background-color-active-tr:rgba(146,48,39,0.15);--light-border-percent:20%;--color-lightness-shift:0;--action-color:#528bff;--error-color:#c34034}.th-bl{--muted-color:#8f929a;--muted-color-border:#babdc3;--text-selection-bg-color:rgba(82,139,255,0.3);--text-selection-bg-color-error:rgba(195,64,52,0.8);--text-semi-muted-color:#282c35;--text-contrast-action-color:#e5e8ec;--text-contrast-error-color:#e5e8ec;--base-border-color:#8f929a;--accent-border-color:#757881;--light-border-color:#c2c5cb;--form-box-border-color-focus:#456fc2;--form-box-shadow-color-focus:rgba(69,111,194,0.7);--form-box-shadow-color-hover:rgba(69,111,194,0.5);--form-box-shadow-color-focus-error:rgba(175,57,47,0.7);--secondary-background-color:#d4d7dc;--intermediate-background-color:#e0e3e7;--intermediate-pressed-background-color:#e1e4e8;--disabled-background-color:#dadce0;--unselected-background-color:#d5d8dd;--unselected-background-color-hover:#cdd0d5;--modal-background-color:rgba(229,232,236,0.9);--modal-background-color-tr:rgba(229,232,236,0);--selected-item-color:#6899fc;--selected-on-secondary-item-color:#b1b4bb;--selectable-on-secondary-item-color:#cdd0d5;--clickable-on-secondary-color:#636671;--titlebar-button-background-color:rgba(40,44,52,0.085);--mute-percent:50%;--modal-opacity:0.9;--background-color:#e5e8ec;--medium-color:#383b48;--text-color:#282c34}.th-te{--muted-color:#464646;--muted-color-border:#343434;--text-selection-bg-color:rgba(19,164,83,0.3);--text-selection-bg-color-error:rgba(195,64,52,0.8);--text-semi-muted-color:#edeeed;--text-contrast-action-color:#eee;--text-contrast-error-color:#eee;--base-border-color:#5e5e5e;--accent-border-color:#6f6f6f;--light-border-color:#3a3a3a;--form-box-border-color-focus:#55ba82;--form-box-shadow-color-focus:rgba(85,186,130,0.7);--form-box-shadow-color-hover:rgba(85,186,130,0.5);--form-box-shadow-color-focus-error:rgba(175,57,47,0.7);--secondary-background-color:#2e2e2e;--intermediate-background-color:#262626;--intermediate-pressed-background-color:#252525;--disabled-background-color:#202020;--unselected-background-color:#2d2d2d;--unselected-background-color-hover:#333;--modal-background-color:rgba(34,34,34,0.9);--modal-background-color-tr:rgba(34,34,34,0);--selected-item-color:#15914c;--selected-on-secondary-item-color:#464646;--selectable-on-secondary-item-color:#333;--clickable-on-secondary-color:#7b7b7b;--titlebar-button-background-color:hsla(0,0%,93.3%,0.085);--mute-percent:30%;--modal-opacity:0.9;--background-color:#222;--medium-color:#999;--text-color:#eee}.th-lt,.th-te{--action-background-color-focus:#0f8342;--action-background-color-focus-tr:rgba(15,131,66,0.1);--error-background-color-focus:#9c332a;--error-background-color-focus-tr:rgba(156,51,42,0.1);--action-background-color-active:#0e7b3e;--action-background-color-active-tr:rgba(14,123,62,0.15);--error-background-color-active:#923027;--error-background-color-active-tr:rgba(146,48,39,0.15);--light-border-percent:20%;--color-lightness-shift:0;--action-color:#13a453;--error-color:#c34034}.th-lt{--muted-color:#999;--muted-color-border:#c4c4c4;--text-selection-bg-color:rgba(19,164,83,0.3);--text-selection-bg-color-error:rgba(195,64,52,0.8);--text-semi-muted-color:#222322;--text-contrast-action-color:#eee;--text-contrast-error-color:#eee;--base-border-color:#999;--accent-border-color:grey;--light-border-color:#ccc;--form-box-border-color-focus:#187d44;--form-box-shadow-color-focus:rgba(24,125,68,0.7);--form-box-shadow-color-hover:rgba(24,125,68,0.5);--form-box-shadow-color-focus-error:rgba(175,57,47,0.7);--secondary-background-color:#ddd;--intermediate-background-color:#e9e9e9;--intermediate-pressed-background-color:#eaeaea;--disabled-background-color:#e2e2e2;--unselected-background-color:#dfdfdf;--unselected-background-color-hover:#d6d6d6;--modal-background-color:hsla(0,0%,93.3%,0.9);--modal-background-color-tr:hsla(0,0%,93.3%,0);--selected-item-color:#34af6a;--selected-on-secondary-item-color:#bbb;--selectable-on-secondary-item-color:#d6d6d6;--clickable-on-secondary-color:#6f6f6f;--titlebar-button-background-color:rgba(34,34,34,0.085);--mute-percent:50%;--modal-opacity:0.9;--background-color:#eee;--medium-color:#444;--text-color:#222}.th-hc{--muted-color:#676767;--muted-color-border:#b1b1b1;--text-selection-bg-color:rgba(30,93,184,0.3);--text-selection-bg-color-error:rgba(231,72,89,0.8);--text-semi-muted-color:#050506;--text-contrast-action-color:#fafafa;--text-contrast-error-color:#fafafa;--accent-border-color:#5b5b5b;--form-box-border-color-focus:#174382;--form-box-shadow-color-focus:rgba(23,67,130,0.7);--form-box-shadow-color-hover:rgba(23,67,130,0.5);--form-box-shadow-color-focus-error:rgba(228,49,69,0.7);--secondary-background-color:#e2e2e2;--intermediate-background-color:#f3f3f3;--intermediate-pressed-background-color:#f4f4f4;--disabled-background-color:#eee;--unselected-background-color:#e4e4e4;--unselected-background-color-hover:#d8d8d8;--modal-background-color:#fafafa;--modal-background-color-tr:hsla(0,0%,98%,0);--selected-item-color:#3f75c2;--selected-on-secondary-item-color:#b1b1b1;--selectable-on-secondary-item-color:#d8d8d8;--clickable-on-secondary-color:#424242;--titlebar-button-background-color:rgba(5,5,5,0.085);--modal-opacity:1;--background-color:#fafafa;--medium-color:#050505;--text-color:#050505}.th-dc,.th-hc{--base-border-color:grey;--light-border-color:grey;--action-background-color-focus:#184a93;--action-background-color-focus-tr:rgba(24,74,147,0.1);--error-background-color-focus:#b93a47;--error-background-color-focus-tr:rgba(185,58,71,0.1);--action-background-color-active:#17468a;--action-background-color-active-tr:rgba(23,70,138,0.15);--error-background-color-active:#ad3643;--error-background-color-active-tr:rgba(173,54,67,0.15);--mute-percent:60%;--light-border-percent:50%;--color-lightness-shift:0;--white-color:#d8e5f1;--black-color:#111;--red-color:#d04745;--orange-color:#e9873a;--yellow-color:#f7c84e;--green-color:#79b656;--blue-color:#2f7cf7;--violet-color:#e55d9c;--action-color:#1e5db8;--error-color:#e74859}.th-dc{--muted-color:#989898;--muted-color-border:#4f4f4f;--text-selection-bg-color:rgba(30,93,184,0.3);--text-selection-bg-color-error:rgba(231,72,89,0.8);--text-semi-muted-color:#f9f9fa;--text-contrast-action-color:#fafafa;--text-contrast-error-color:#fafafa;--accent-border-color:#a4a4a4;--form-box-border-color-focus:#608ccc;--form-box-shadow-color-focus:rgba(96,140,204,0.7);--form-box-shadow-color-hover:rgba(96,140,204,0.5);--form-box-shadow-color-focus-error:rgba(228,49,69,0.7);--secondary-background-color:#1e1e1e;--intermediate-background-color:#0c0c0c;--intermediate-pressed-background-color:#0b0b0b;--disabled-background-color:#050505;--unselected-background-color:#1b1b1b;--unselected-background-color-hover:#272727;--modal-background-color:#050505;--modal-background-color-tr:rgba(5,5,5,0);--selected-item-color:#1a509d;--selected-on-secondary-item-color:#4f4f4f;--selectable-on-secondary-item-color:#272727;--clickable-on-secondary-color:#bdbdbd;--titlebar-button-background-color:hsla(0,0%,98%,0.085);--modal-opacity:1;--background-color:#050505;--medium-color:#fafafa;--text-color:#fafafa}.th-sd{--muted-color:#587276;--muted-color-border:#2c4e56;--text-selection-bg-color:rgba(133,153,0,0.3);--text-selection-bg-color-error:rgba(220,50,47,0.8);--text-semi-muted-color:#839495;--text-contrast-action-color:#002b36;--text-contrast-error-color:#002b36;--base-border-color:#4a666c;--accent-border-color:#60787c;--light-border-color:#1d434b;--form-box-border-color-focus:#84982d;--form-box-shadow-color-focus:rgba(132,152,45,0.7);--form-box-shadow-color-hover:rgba(132,152,45,0.5);--form-box-shadow-color-focus-error:rgba(207,38,35,0.7);--secondary-background-color:#0f3741;--intermediate-background-color:#042f39;--intermediate-pressed-background-color:#042e39;--disabled-background-color:#002933;--unselected-background-color:#0d3640;--unselected-background-color-hover:#153c45;--modal-background-color:rgba(0,43,54,0.9);--modal-background-color-tr:rgba(0,43,54,0);--selected-item-color:#718908;--selected-on-secondary-item-color:#2c4e56;--selectable-on-secondary-item-color:#153c45;--clickable-on-secondary-color:#6e8486;--titlebar-button-background-color:rgba(131,148,150,0.085);--modal-opacity:0.9;--color-lightness-shift:50%;--white-color:#d8e5f1;--black-color:#111;--red-color:#d04745;--orange-color:#e9873a;--yellow-color:#f7c84e;--green-color:#79b656;--blue-color:#2f7cf7;--violet-color:#e55d9c;--background-color:#002b36;--medium-color:#93a1a1;--text-color:#839496}.th-sd,.th-sl{--action-background-color-focus:#6a7a00;--action-background-color-focus-tr:rgba(106,122,0,0.1);--error-background-color-focus:#b02826;--error-background-color-focus-tr:rgba(176,40,38,0.1);--action-background-color-active:#647300;--action-background-color-active-tr:rgba(100,115,0,0.15);--error-background-color-active:#a52623;--error-background-color-active-tr:rgba(165,38,35,0.15);--mute-percent:60%;--light-border-percent:20%;--action-color:#859900;--error-color:#dc322f}.th-sl{--muted-color:#9aa4a1;--muted-color-border:#cccdc2;--text-selection-bg-color:rgba(133,153,0,0.3);--text-selection-bg-color-error:rgba(220,50,47,0.8);--text-semi-muted-color:#657b82;--text-contrast-action-color:#fdf6e3;--text-contrast-error-color:#fdf6e3;--base-border-color:#abb2ac;--accent-border-color:#929e9c;--light-border-color:#dcdbcd;--form-box-border-color-focus:#7b9027;--form-box-shadow-color-focus:rgba(123,144,39,0.7);--form-box-shadow-color-hover:rgba(123,144,39,0.5);--form-box-shadow-color-focus-error:rgba(207,38,35,0.7);--secondary-background-color:#ede8d8;--intermediate-background-color:#f8f2e0;--intermediate-pressed-background-color:#f9f2e0;--disabled-background-color:#f0ead8;--unselected-background-color:#eeead9;--unselected-background-color-hover:#e6e3d4;--modal-background-color:rgba(253,246,227,0.9);--modal-background-color-tr:rgba(253,246,227,0);--selected-item-color:#97a722;--selected-on-secondary-item-color:#cccdc2;--selectable-on-secondary-item-color:#e6e3d4;--clickable-on-secondary-color:#819091;--titlebar-button-background-color:rgba(101,123,131,0.085);--modal-opacity:0.9;--color-lightness-shift:0;--background-color:#fdf6e3;--medium-color:#586e75;--text-color:#657b83}.back-button{cursor:pointer;position:absolute;top:0;right:1em;padding:1em 0 1px;z-index:1}.back-button__post{margin-left:.375em;margin-right:.75em;position:relative;top:.2em}.auto-type-hint{-webkit-app-region:no-drag;color:var(--text-color);background:var(--background-color);border:1px solid var(--light-border-color);box-shadow:0 .15rem .5rem .25rem var(--dropdown-box-shadow-color);position:absolute;z-index:10000;border-radius:var(--block-border-radius);padding:.5em 1em;box-sizing:border-box;overflow:hidden}.auto-type-hint__body{height:100%;overflow-y:auto}.auto-type-hint__block{margin-bottom:.5em}.auto-type-hint__block>a,.auto-type-hint__block>b{font-weight:400;display:inline-block;margin-right:1em;margin-bottom:.5em}.auto-type-hint__link-details{position:absolute;right:0;top:0;margin:.5em 1em}.drag-mask{height:100%;width:100%;top:0;left:0;-webkit-app-region:no-drag}.drag-handle__inner,.drag-mask{position:absolute}.drag-handle__inner--x{top:0;left:-2px;width:5px;height:100%}.drag-handle__inner--y{top:-2px;left:0;width:100%;height:5px}@media(max-width:620px){.drag-handle__inner{display:none}}.info-btn{cursor:pointer;color:var(--muted-color);margin-left:.375em;position:relative;top:.15em;font-size:1.1em}.info-btn:hover,.pika-single{color:var(--text-color)}.pika-single{-webkit-app-region:no-drag;border:1px solid var(--light-border-color);box-shadow:0 .15rem .5rem .25rem var(--dropdown-box-shadow-color);border-radius:var(--block-border-radius)}.pika-label,.pika-single{background:var(--background-color)}.pika-label{color:var(--muted-color)}button.pika-next,button.pika-prev{min-width:0;background:none;border:none;border-radius:2px;position:relative}button.pika-next:after,button.pika-prev:after{display:block;content:" ";position:absolute;top:8px;left:6px;left:50%;transform:translateX(-50%)}button.pika-prev:after{border-left:0 solid transparent;border-right:7px solid var(--text-color)}button.pika-next:after,button.pika-prev:after{height:0;width:0;border-bottom:7px solid transparent;border-top:7px solid transparent}button.pika-next:after{border-left:7px solid var(--text-color);border-right:0 solid transparent}.pika-table th{color:var(--medium-color)}.pika-button,button.pika-button{min-width:0;border:none;color:var(--text-color);background-color:var(--background-color);border-radius:2px;padding:8px 4px}.pika-week{color:var(--medium-color)}.is-today .pika-button{color:var(--action-color)}.is-selected .pika-button{color:var(--text-color);background:var(--action-color);box-shadow:inset 0 1px 3px var(--action-color)}.is-disabled .pika-button{color:var(--muted-color);opacity:.3}.pika-button:hover{color:var(--text-color)!important;background:var(--action-color)!important}.dropdown{position:absolute;z-index:10000;border-radius:var(--block-border-radius);background:var(--background-color);border:1px solid var(--light-border-color);box-shadow:0 .15rem .5rem .25rem var(--dropdown-box-shadow-color);padding:.375em}.dropdown__item{padding:8px 12px;cursor:pointer;white-space:nowrap;border-radius:var(--block-border-radius)}.dropdown__item--active,.dropdown__item--active:hover{cursor:default;-webkit-app-region:no-drag;background-color:var(--selected-item-color);color:var(--selected-item-text-color)}.dropdown__item--active:hover,.dropdown__item--active:hover:hover{color:var(--selected-item-text-color)}@media(min-width:621px){.dropdown__item{cursor:pointer;-webkit-app-region:no-drag}.dropdown__item.sel--active,.dropdown__item:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.dropdown__item:active{background-color:var(--intermediate-pressed-background-color)}.dropdown__item:hover{color:var(--selected-item-text-color);background-color:var(--action-color)}.dropdown__item--active,.dropdown__item--active:hover{cursor:default;-webkit-app-region:no-drag;background-color:var(--selected-item-color);color:var(--selected-item-text-color)}.dropdown__item--active:hover,.dropdown__item--active:hover:hover{color:var(--selected-item-text-color)}}.dropdown__item-icon{width:1.6em}.empty-block{display:flex;align-items:center;flex-direction:column;justify-content:center;height:100%;width:100%;position:absolute;top:0;left:0;text-align:center}.empty-block__icon{font-size:80px;margin-bottom:10px}.empty-block__text,.empty-block__title{padding:0 1em}.empty-block__lower-btns{position:absolute;bottom:calc(1.5em + 1px);left:1.5em}.hide{display:none!important}.hide-by-pos{position:absolute;top:-10000px;left:-10000px}.invisible{visibility:hidden!important}.flip3d{animation:flip3d 1s linear 0s infinite;transform-style:preserve-3d}.grayscale{filter:grayscale(1)}.input-shake{animation:shake 50s cubic-bezier(.36,.07,.19,.97) 0s}.fade-in{animation:fade-in 80ms ease-in 0s}.fade-out{opacity:0;animation:fade-out 80ms ease-out 0s}.fa.rotate-90:before,.rotate-90{transform:rotate(90deg)}.spin{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes flip3d{0%{transform:rotateY(0)}to{transform:rotateY(1turn)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes shake{0%,1%,to{transform:translateZ(0)}.1%,.9%{transform:translate3d(-1px,0,0)}.2%,.8%{transform:translate3d(2px,0,0)}.3%,.5%,.7%{transform:translate3d(-3px,0,0)}.4%,.6%{transform:translate3d(3px,0,0)}}.icon-select__items{display:flex;align-items:flex-start;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;-webkit-user-select:none;user-select:none;padding-bottom:1em}.icon-select__items--actions,.icon-select__items--custom{padding-top:1em;border-top:1px solid var(--light-border-color)}.icon-select__icon{cursor:pointer;-webkit-app-region:no-drag;text-align:center;border-radius:var(--block-border-radius);transition:color .15s ease;font-size:1.6em;width:26px;padding:.5em}.icon-select__icon.sel--active,.icon-select__icon:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.icon-select__icon:active{background-color:var(--intermediate-pressed-background-color)}.icon-select__icon>i{vertical-align:middle}.icon-select__icon.icon-select__icon--active{cursor:default;-webkit-app-region:no-drag;background-color:var(--selected-item-color);color:var(--selected-item-text-color)}.icon-select__icon.icon-select__icon--active:hover{color:var(--selected-item-text-color)}.icon-select__icon-btn{padding:5px 10px}.icon-select__icon-btn>img{width:16px;height:16px}.icon-select__icon--custom-selected>i{display:none}.icon-select__icon--progress>i:before{content:"\f075"}.icon-select__icon--download-error>i:before{content:"\f010"}.modal{position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--modal-background-color);z-index:100000;transition:background-color .15s ease}.modal.modal--hidden{background-color:var(--modal-background-color-tr)}.modal.modal--opaque{background-color:var(--background-color)}.modal__content{height:100%;width:100%;display:flex;align-items:stretch;flex-direction:column;justify-content:center;transition:all .15s ease}.modal--hidden .modal__content{transform:scale(.01);opacity:0}.modal__icon{font-size:6em;text-align:center}.modal__header{text-align:center;font-size:1.5625rem}.modal__body,.modal__header{-webkit-user-select:text;user-select:text}.modal__body{text-align:left;margin:1.5em}.modal__buttons{text-align:right}.modal__buttons>button{margin-bottom:.75em}.modal__body,.modal__buttons{align-self:center;width:40%}.modal--wide .modal__body,.modal--wide .modal__buttons{width:80%}@media(max-width:736px){.modal__body,.modal__buttons{width:90%}}.modal__check-wrap{margin-top:1.5em}.modal__pre{white-space:pre-wrap}.scroller{overflow-y:scroll;height:100%}.scroller::-webkit-scrollbar{width:0}.scroller__bar-wrapper{pointer-events:none;position:absolute;z-index:3;top:10px;bottom:10px;right:1px;width:7px}.scroller__bar{position:absolute;z-index:1;width:7px;border-radius:3px;pointer-events:auto;-webkit-app-region:no-drag}@media screen and (-moz-windows-theme){@-moz-document url-prefix(){.scroller{margin-right:0!important;padding-right:0!important}}}.tip{position:absolute;padding:.5em 1em;white-space:nowrap;z-index:10000;pointer-events:none;opacity:1;-webkit-app-region:no-drag;color:var(--text-color);background:var(--background-color);border:1px solid var(--light-border-color);box-shadow:0 .15rem .5rem .25rem var(--dropdown-box-shadow-color);border-radius:var(--block-border-radius)}@media(min-width:621px){.tip{animation:tip .5s cubic-bezier(.95,.05,.795,.035)}}.tip.tip--fast,.tip.tip--fast:after,.tip.tip--fast:before{animation-duration:.15s}.tip--hide.tip,.tip--hide.tip:after,.tip--hide.tip:before{transition:all .15s ease-out;transition-property:color,border-color,background-color,box-shadow;color:transparent;background-color:initial;border-color:transparent!important;box-shadow:none}.tip:after,.tip:before{content:" ";width:0;height:0}@media(min-width:621px){.tip:after,.tip:before{animation:tip .5s cubic-bezier(.95,.05,.795,.035)}}.tip.tip--bottom:after{position:absolute;top:-8px;left:50%;transform:translate(-50%);height:0;width:0;border-left:5px solid transparent;border-bottom:8px solid var(--background-color);border-right:5px solid transparent;border-top:0 solid transparent}.tip.tip--top:after{left:50%}.tip.tip--top-left:after,.tip.tip--top:after{position:absolute;top:100%;transform:translate(-50%);height:0;width:0;border-left:5px solid transparent;border-bottom:0 solid transparent;border-right:5px solid transparent;border-top:8px solid var(--background-color)}.tip.tip--top-left:after{left:calc(100% - 10px)}.tip.tip--left:after{left:100%;border-left:8px solid var(--background-color);border-right:0 solid transparent}.tip.tip--left:after,.tip.tip--right:after{position:absolute;top:50%;transform:translateY(-50%);height:0;width:0;border-bottom:5px solid transparent;border-top:5px solid transparent}.tip.tip--right:after{left:-8px;border-left:0 solid transparent;border-right:8px solid var(--background-color)}.tip.tip--bottom:before{position:absolute;top:-9px;left:50%;transform:translate(-50%);height:0;width:0;border-left:6px solid transparent;border-bottom:9px solid var(--light-border-color);border-right:6px solid transparent;border-top:0 solid transparent}.tip.tip--top:before{left:50%}.tip.tip--top-left:before,.tip.tip--top:before{position:absolute;top:100%;transform:translate(-50%);height:0;width:0;border-left:6px solid transparent;border-bottom:0 solid transparent;border-right:6px solid transparent;border-top:9px solid var(--light-border-color)}.tip.tip--top-left:before{left:calc(100% - 10px)}.tip.tip--left:before{left:100%;border-left:9px solid var(--light-border-color);border-right:0 solid transparent}.tip.tip--left:before,.tip.tip--right:before{position:absolute;top:50%;transform:translateY(-50%);height:0;width:0;border-bottom:6px solid transparent;border-top:6px solid transparent}.tip.tip--right:before{left:-9px;border-left:0 solid transparent;border-right:9px solid var(--light-border-color)}@keyframes tip{0%{opacity:0}}a{color:var(--text-color);text-decoration:none;display:inline-block;transition:color .15s ease;cursor:pointer;height:1.2em;border-bottom:1px dotted}a.icon-link,a.no-border{border-bottom:none}a.icon-link{cursor:pointer;-webkit-app-region:no-drag;display:inline-block;text-align:center;font-size:1.1em;width:1.8em;height:1.6em;border-radius:var(--button-border-radius)}a.icon-link.sel--active,a.icon-link:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}a.icon-link:active{background-color:var(--intermediate-pressed-background-color)}a.icon-link>i{position:relative;top:.1em}a.icon-link:active,a.icon-link:focus,a.icon-link:hover{outline:none;border-bottom:none}a:active,a:focus,a:hover{outline:none;border-bottom:1px solid}.app{height:100%;width:100%;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start}.titlebar-hidden-inset .app{-webkit-app-region:drag}.app__body{flex:1;display:flex;align-items:stretch;flex-direction:row;justify-content:flex-start;overflow:hidden}.app__titlebar-drag{position:absolute;width:100%;height:30px;top:0;right:0;-webkit-app-region:drag;pointer-events:none}.app__menu{flex:0 0 auto;display:flex;width:15em;background-color:var(--secondary-background-color);transition:padding-top .15s}@media(max-width:620px){.app__menu:not(.menu-visible){display:none}}.titlebar-hidden .app__menu{padding-top:24px}.titlebar-hidden-inset .app__menu{padding-top:40px}.titlebar-custom.titlebar-hidden-inset .app__menu,.titlebar-custom.titlebar-hidden .app__menu{padding-top:32px}.fullscreen .app .app__menu{padding-top:0}.app__list-wrap{flex:1;display:flex;align-items:stretch;flex-direction:row;justify-content:flex-start;overflow:hidden}.app__list-wrap.app__list-wrap--table{flex-direction:column}.app__list-drag,.app__menu-drag{position:relative;-webkit-app-region:no-drag;transition:background-color .15s ease-out;background:var(--light-border-color);flex:0 0 auto;width:1px;cursor:col-resize}@media(min-width:621px){.app__list-drag.dragging,.app__list-drag:hover,.app__menu-drag.dragging,.app__menu-drag:hover{transition:background-color .3s ease-in;background:var(--accent-border-color)}}@media(max-width:620px){.app__list-drag,.app__menu-drag{display:none}}.app__list-wrap--table .app__list-drag{width:auto;height:1px;cursor:row-resize}.app__list-wrap--table .app__list-drag .drag-handle__inner{top:-2px;left:0;width:100%;height:5px}.menu-visible+.app__menu-drag{display:block}.app__list{flex:0 0 25em;display:flex;align-items:stretch;flex-direction:column;overflow-y:auto}.titlebar-hidden .app__list{padding-top:8px}@media(max-width:620px){.app__list{flex:1 1}.app--details-visible .app__list{display:none}}.app__details{flex:1;display:flex;overflow:hidden;padding:1.5em;position:relative}@media(max-width:620px){.app__details{width:100vw;padding:.5em 1em;display:none}.app--details-visible .app__details{display:flex}}.titlebar-custom .app__details{margin-top:32px}.app__panel{flex:1;display:flex;overflow:hidden;position:relative}@media(max-width:620px){.app__panel{padding:.5em 1em}}.app__footer{flex:0 0 auto;border-top:1px solid var(--light-border-color);background-color:var(--secondary-background-color)}.app__beta{padding:.5em 1em;text-align:center;background-color:var(--error-color);color:var(--text-contrast-error-color)}.app__beta>.fa{vertical-align:bottom}.details{display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;-webkit-user-select:text;user-select:text;width:100%}.details__back-button{display:none}@media(max-width:620px){.details__back-button{display:block;padding-bottom:.5em;cursor:pointer;line-height:3em;height:3em;font-size:1.2em}.details__back-button>i{margin-right:.7em;font-size:1.2em;vertical-align:middle;position:relative;top:-.15em}}.details__header{display:flex;align-items:flex-start;padding-bottom:.75em;overflow:visible;min-height:40px}.details__header-title{-webkit-user-select:text;user-select:text;flex:1;align-self:flex-start;cursor:text;margin:0 6px;padding:3px 6px 1px;overflow:hidden;text-overflow:ellipsis;border-radius:var(--input-border-radius);border:1px solid transparent;height:42px;line-height:40px;white-space:nowrap}.details__header-title:hover{transition:border-color .15s ease;border:1px solid var(--light-border-color)}@media(max-width:620px){.details__header-title:hover{border-color:transparent}}.details__header input.details__header-title-input{height:48px;line-height:40px;-webkit-user-select:text;user-select:text;flex:1;margin:0 6px;padding:0 6px;font-size:2.44140625rem;font-weight:700;min-width:0}@media(max-width:620px){.details__header input.details__header-title-input{width:100%}}.details__header-color,.details__header-icon{-webkit-user-select:none;user-select:none;font-size:2.44140625rem;padding-top:.1em}.details__header-icon{cursor:pointer;-webkit-app-region:no-drag;display:inline;border-radius:var(--block-border-radius);width:1.8em;height:1.5em;text-align:center}.details__header-icon.sel--active,.details__header-icon:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.details__header-icon:active{background-color:var(--intermediate-pressed-background-color)}.details__header-icon-img{vertical-align:middle}.details__colors-popup{-webkit-user-select:none;user-select:none;display:none;position:absolute;z-index:10000;border-radius:2px;background:var(--background-color);box-shadow:0 0 3px var(--background-color);left:.2em;font-size:2.44140625rem}@media(min-width:621px){.details__colors-popup:hover,.details__header-color:hover .details__colors-popup{display:block}}.details__colors-popup-item{padding:0 12px;cursor:pointer;display:block;position:relative}.details__colors-popup-item--active:before{content:"\f004"}.details__colors-popup-item:hover:after{content:"\f004";opacity:.3;position:absolute;left:.4em}.details__body{flex:1;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;flex-wrap:wrap;position:relative;overflow:hidden}.details__body .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.details__body:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.details__body:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.details--drag .details__body{display:none}.details__body>.scroller{flex:1;display:flex;align-items:stretch;align-content:flex-start;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;overflow-x:hidden;padding-top:3px}@media screen and (-webkit-min-device-pixel-ratio:0){.details__body>.scroller{width:100%!important}}.details__body-fields{flex:1 0 50%;min-width:0;margin-right:1em}.details__body-aside{flex:0 0 auto;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start}@media(max-width:620px){.details__body-aside{width:100%}}.details__body-after{flex:100% 1 0}.details__field{display:flex;align-items:stretch;flex-direction:row;justify-content:flex-start;margin-bottom:.5em;position:relative}.details__field-label{color:var(--muted-color);width:7em;text-align:right;cursor:pointer;padding-right:1em;border:1px solid transparent;line-height:18px;position:relative}.details__field-label:hover{color:var(--medium-color)}.details__field--can-edit-title .details__field-label{cursor:text}.details__field-label>input{margin:0 0 0 2px;padding:0 1em;line-height:18px;height:18px;width:100%;color:var(--text-color)}.chrome .details__field-label>input{padding-bottom:1px}.details__field-value{flex:1;-webkit-user-select:text;user-select:text;align-self:flex-start;position:relative;cursor:text;padding:0 1em;border:1px solid transparent;min-height:18px;box-sizing:border-box;line-height:18px;overflow:hidden;text-overflow:ellipsis;margin-right:2em}.details__field-value-add-label{color:transparent}.details__field--editable .details__field-value{border-radius:var(--input-border-radius)}@media(min-width:621px){.details__field--editable .details__field-value:hover{transition:border-color .15s ease;border:1px solid;border-color:var(--light-border-color);box-shadow:0 0 3px rgba(0,0,0,.06)}.details__field--editable .details__field-value:hover .details__field-value-add-label{color:var(--muted-color);transition:color .15s ease}}.details__field--protect .details__field-value{-webkit-user-select:none;user-select:none}.details__field--multiline .details__field-value{width:0;white-space:pre-wrap}.details__field--url .details__field-value{height:20px}.details__field--edit.details__field--editable .details__field-value,.details__field--edit.details__field--editable:hover .details__field-value,.details__field--edit .details__field-value{border:0 solid transparent;padding:0;overflow:visible}.details__field-value>input,.details__field-value>textarea{margin:0;padding:0 1em;line-height:18px;width:100%;height:20px;transition:background-color .15s ease-out,border-color .15s ease-out}.details__field--protected .details__field-value>input,.details__field--protected .details__field-value>textarea{font-family:SFMono-Regular,Monaco,Consolas,Lucida Console,monospace}.details__field--can-gen .details__field-value>input,.details__field--can-gen .details__field-value>textarea{padding-right:2.4em}.details__field--edit[active-mobile-action] .details__field-value>input,.details__field--edit[active-mobile-action] .details__field-value>textarea{transition:background-color .3s ease-in,border-color .3s ease-in}.details__field--edit[active-mobile-action=apply] .details__field-value>input,.details__field--edit[active-mobile-action=apply] .details__field-value>textarea{background:var(--action-color)}.details__field--edit[active-mobile-action=cancel] .details__field-value>input,.details__field--edit[active-mobile-action=cancel] .details__field-value>textarea{background:var(--error-color);border-color:var(--error-color)}@media(max-width:620px){.details__field-value>input,.details__field-value>textarea{border-color:transparent!important}}.chrome .details__field-value>input{padding-bottom:1px}.details__field-value>textarea{display:block;resize:none;line-height:1.5em;overflow:hidden}.details__field-value>label{font-weight:400;-webkit-user-select:none;user-select:none}.details__field-value>a{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.details__body-aside .details__field-value{color:var(--muted-color);width:13em;padding-right:0;margin-right:0;flex:0 0 auto}.details__body-aside .details__field-value a{color:var(--muted-color)}.details__field-value-btn{position:absolute;top:-.2em;right:0;color:var(--muted-color);cursor:pointer}.details__field-value-btn:hover{color:var(--medium-color)}.details__field-value-btn:before{position:absolute;top:0;right:0;font-family:Font Awesome\ 5 Free;font-weight:400;font-style:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;display:inline-block;line-height:1.5;cursor:pointer;padding:.3em 1em}.details__field-value-btn-gen:before{content:"\f008"}.details__field-value-btn-protect:before{content:"\f009"}.details__field--protected .details__field-value-btn-protect:before{content:"\f00a"}@media(max-width:620px){.details__field-value-btn-apply,.details__field-value-btn-cancel{height:100%;width:50%;position:absolute;top:0;-webkit-user-select:none;user-select:none;background:var(--background-color)}.details__field-value-btn-apply:before,.details__field-value-btn-cancel:before{padding:.2em 1.5em}.details__field-value-btn-apply{right:0}.details__field-value-btn-apply:before{content:"\f00b"}.details__field-value-btn-cancel{left:0}.details__field-value-btn-cancel:before{content:"\f00c"}}.details__field-value--select{border-width:0;padding:0}.details__field--editable:hover .details__field-value--select{border-width:0}.details__field-value--revealed{font-family:SFMono-Regular,Monaco,Consolas,Lucida Console,monospace}.details__field-value>select{margin:0;width:100%;padding:0 1em}.details__field-value .markdown{white-space:normal}.details__field-value .markdown h6{font-size:1rem}.details__field-value .markdown h5{font-size:1.05rem}.details__field-value .markdown h4{font-size:1.1025rem}.details__field-value .markdown h3{font-size:1.157625rem}.details__field-value .markdown h2{font-size:1.21550625rem}.details__field-value .markdown h1{font-size:1.5625rem}.details__field-value .markdown ol,.details__field-value .markdown ul{margin-bottom:1em}.details__field-value .markdown ul{list-style-type:disc}.details__field-value .markdown ol{list-style-type:decimal}.details__field-value .markdown li{margin-left:2em}.details__field--options .details__field-value{margin-right:0}.details__field--no-select .details__field-label,.details__field--no-select .details__field-value{-webkit-user-select:none;user-select:none}@media(max-width:620px){.details__field{border-bottom:1px solid var(--light-border-color);padding-bottom:.5em}}.details__field-options{color:var(--muted-color);cursor:pointer;opacity:0;transition:opacity .15s ease-out,color .15s ease;align-self:flex-start;width:2em;text-align:center;padding-top:.1em}.details__field:hover .details__field-options{opacity:1;transition:opacity .3s ease-in}.details__field-options:hover{color:var(--medium-color)}.details__field-mobile-actions{position:absolute;background:var(--background-color);z-index:10000}.details__field-mobile-action{padding:1em 1.2em;cursor:pointer}.details__attachments{flex:1;display:flex;align-items:stretch;flex-direction:row;justify-content:flex-end;flex-wrap:wrap;-webkit-user-select:none;user-select:none;overflow:hidden;white-space:nowrap}.details--drag .details__attachments{display:none}.details__attachment{-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-app-region:no-drag;padding:1em 1.2em;text-align:center;overflow:hidden;text-overflow:ellipsis;border-radius:var(--block-border-radius);background-color:var(--intermediate-background-color);transition:color .15s ease;align-self:flex-end;flex:0 1 auto;margin-right:.75em;margin-top:.75em}.details__attachment>i{margin-right:.4em;line-height:inherit;vertical-align:bottom}.details__attachment:hover{background-color:var(--intermediate-background-color);color:var(--medium-color);transform:background-color .15s ease}.details__attachment:active{background-color:var(--intermediate-pressed-background-color);color:var(--text-color)}.details__attachment--active,.details__attachment--active:hover{color:var(--selected-item-text-color);background-color:var(--selected-item-color)}.details__attachment-add{cursor:pointer;-webkit-app-region:no-drag;padding:1em 1.2em;border-radius:var(--block-border-radius);transition:color .15s ease;-webkit-user-select:none;user-select:none;align-self:flex-end;flex:0 0 auto;color:var(--muted-color);margin-right:.75em;text-align:center;overflow:hidden}.details__attachment-add.sel--active,.details__attachment-add:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.details__attachment-add:active{background-color:var(--intermediate-pressed-background-color)}.details__attachment-add>i{vertical-align:middle}.details__attachment-add:hover{color:var(--medium-color)}.details__attachment-add-title{display:none;transition:color .15s ease-out;margin-right:1em;color:transparent}.details__attachment-add:hover .details__attachment-add-title{display:inline;transition:color .3s ease-in;color:var(--muted-color)}.details__attachment-preview{margin-right:1em;width:100%}.details__attachment-preview-data>image{width:100%}.details__attachment-preview-data>pre{white-space:pre-wrap}.details__attachment-preview-download-text{-webkit-user-select:none;user-select:none;position:absolute;bottom:.5em;right:1em;opacity:.15;display:none}@media(min-width:621px){.details__attachment-preview-download-text{display:block}}.details__attachment-preview-icon{display:none}.details__attachment-preview--empty{display:flex;flex-direction:column;flex:1 0 auto;justify-content:flex-start;align-self:flex-start;align-items:center;text-align:center}.details__attachment-preview--empty .details__attachment-preview-icon{display:block;font-size:10em}.details__attachment-preview--empty .details__attachment-preview-download-text{position:static;margin-top:2em;opacity:1}.details__attachment-preview--empty .details__attachment-preview-buttons{margin-top:2em}.details__attachment-preview--empty .details__attachment-preview-data{padding-top:2em}.details__issues{margin-top:.5em;color:var(--text-contrast-error-color);background-color:var(--error-color);border-radius:var(--block-border-radius);display:flex;align-items:stretch;flex-direction:row;justify-content:flex-start}.details__issues-body{padding:1em 0;flex-grow:1}.details__issues-body>a{color:var(--text-contrast-error-color)}.details__issues-icon{padding:1em 1.2em;width:1em}.details__issues-icon-spin{display:none}.details__issues-icon--loading .details__issues-icon-spin{display:inline-block}.details__issues-icon--loading .details__issues-icon-warning{display:none}.details__issues-close-btn{padding:1em 1.2em;cursor:pointer;align-self:flex-start;opacity:.8;transition:opacity .15s ease}.details__issues-close-btn:hover{opacity:1}.details__buttons{display:flex;align-items:stretch;flex-direction:row;flex-shrink:0;justify-content:flex-start;margin-top:.5em}.details--drag .details__buttons{display:none}.details__buttons-trash,.details__buttons-trash-del{cursor:pointer;-webkit-app-region:no-drag;padding:1em 1.2em;text-align:center;border-radius:var(--block-border-radius);transition:color .15s ease;color:var(--muted-color);align-self:flex-end;margin-right:10px}.details__buttons-trash-del.sel--active,.details__buttons-trash-del:hover,.details__buttons-trash.sel--active,.details__buttons-trash:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.details__buttons-trash-del:active,.details__buttons-trash:active{background-color:var(--intermediate-pressed-background-color)}.details__buttons-trash-del>i,.details__buttons-trash>i{vertical-align:middle}.details__buttons-trash-del:hover,.details__buttons-trash:hover{color:var(--error-color)}.details__buttons-trash-del{color:var(--muted-color)}.details__buttons button~button{margin-left:.75em}.details__history{flex:1 0 auto;flex-direction:column;max-width:100%}.details__history,.details__history-top{display:flex;align-items:stretch;justify-content:flex-start}.details__history-top{flex:0 0 auto;flex-direction:row;padding-right:1em;margin-right:20px}.details__history-desc{-webkit-user-select:none;user-select:none}.details__history-timeline{flex:1 0 auto;position:relative;height:44px;margin-left:5px}.details__history-timeline-axis{width:100%;position:absolute;top:9px;border-bottom:1px solid var(--light-border-color)}.details__history-timeline-item{position:absolute;top:0;cursor:pointer}.details__history-timeline-item:hover{color:var(--text-semi-muted-color)}.details__history-timeline-item--active,.details__history-timeline-item--active:hover{z-index:10000;cursor:default;color:var(--action-color)}.details__history-timeline-label{position:absolute;top:16px;white-space:nowrap;transform:translateX(-50%);color:var(--muted-color)}.details__history-arrow-next,.details__history-arrow-prev{transform:scaleX(2);transform-origin:left top;cursor:pointer;position:absolute;top:30px;font-size:14px}.details__history-arrow-next:hover,.details__history-arrow-prev:hover{color:var(--text-semi-muted-color)}.details__history-arrow-prev{left:-5px}.details__history-arrow-next{right:5px}.details__history-close{margin-left:20px}.details__history-body{flex:1 1 auto}.details__history-buttons{-webkit-user-select:none;user-select:none;align-self:flex-end;margin-bottom:.5em;padding-right:1em;margin-right:20px}.details__dropzone{display:none}.details--drag .details__dropzone{display:flex;flex-direction:column;flex:1 0 auto;justify-content:center;align-self:center;align-items:center;text-align:center}.details__dropzone-icon{font-size:10em}.details__dropzone-header{margin-top:1em}.details__field-autocomplete{position:absolute;overflow:hidden;-webkit-app-region:no-drag;color:var(--text-color);background:var(--background-color);border:1px solid var(--light-border-color);box-shadow:0 .15rem .5rem .25rem var(--dropdown-box-shadow-color);border-radius:var(--block-border-radius)}.details__field-autocomplete-item{padding:.5em 1em;display:inline-block;word-break:break-all;cursor:pointer;-webkit-app-region:no-drag}.details__field-autocomplete-item.sel--active,.details__field-autocomplete-item:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.details__field-autocomplete-item:active{background-color:var(--intermediate-pressed-background-color)}.details__field-autocomplete-item--selected{background-color:var(--secondary-background-color)}.details__subview-close{align-self:flex-end;float:right;cursor:pointer;-webkit-user-select:none;user-select:none}.details__subview-close-post{margin-left:.375em;margin-right:.75em;position:relative;top:.2em}.details__subview-close-post,.details__subview-close-pre{display:none}@media(max-width:620px){.details__subview-close{line-height:3em;height:3em;padding:.5em 1em;font-size:1.2em}.details__subview-close>i{margin-right:.7em;font-size:1.2em;vertical-align:middle;position:relative;top:-.15em}.details__subview-close-pre{display:inline}}@media(min-width:621px){.details__subview-close-post{display:inline}}.extension-connect__files{display:flex;flex-wrap:wrap}.extension-connect__file{margin:.5em 1em}.footer{display:flex;align-items:stretch;flex-direction:row;justify-content:flex-start}@media(max-width:620px){.footer{background:var(--intermediate-background-color)}}.footer__db{flex:0 0 auto;cursor:pointer;-webkit-app-region:no-drag;position:relative;padding:1em 1.3em 1em 1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer__db.sel--active,.footer__db:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.footer__db:active{background-color:var(--intermediate-pressed-background-color)}.footer__db.sel--active,.footer__db:hover{background-color:var(--selectable-on-secondary-item-color)}.footer__db.footer__db--dimmed{color:var(--muted-color)}.footer__db.footer__db--dimmed:hover{color:var(--medium-color)}.footer__db:first-of-type{padding-left:1.5em}.footer__db--expanded{flex:1}@media(max-width:620px){.footer__db--expanded{flex:0 0 auto}.footer__db--expanded>.footer__db-text{display:none}}.footer__db-sign{font-size:6px;vertical-align:top;margin-left:1em;position:absolute;right:1em;top:1em;color:var(--action-color)}.footer__db-sign--error{color:var(--error-color)}.footer__db-open-title{margin-left:.3em}@media(max-width:620px){.footer__db-item{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.footer__db-item>.fa{display:none}}.footer__btn{flex:0 0 auto;cursor:pointer;-webkit-app-region:no-drag;padding:.5em 1em;font-size:1.4em;text-align:center;width:1em}.footer__btn.sel--active,.footer__btn:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.footer__btn:active{background-color:var(--intermediate-pressed-background-color)}.footer__btn.sel--active,.footer__btn:hover{background-color:var(--selectable-on-secondary-item-color)}.standalone .footer__btn{padding-top:.5em;padding-bottom:1.2em}.footer__btn:last-of-type{padding-right:1.5em}.footer__update-icon{color:var(--action-color);animation:shake 50s cubic-bezier(.36,.07,.19,.97) 0s infinite}.grp{flex:1;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;width:100%;-webkit-user-select:none;user-select:none;overflow:hidden;position:relative}.grp .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.grp:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.grp:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.titlebar-custom .grp{margin-top:32px}.grp>.scroller{flex:1;overflow-x:hidden}.grp__buttons,.grp__content{padding:1em 1.2em}.grp__icon{display:block;font-size:2.44140625rem;padding:5px 10px;align-self:flex-start;cursor:pointer;-webkit-app-region:no-drag}.grp__icon.sel--active,.grp__icon:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.grp__icon:active{background-color:var(--intermediate-pressed-background-color)}.grp__icon--image{width:28px;height:28px}.grp__icon-wrap{display:flex}.grp__buttons{display:flex;flex-direction:row;margin-top:.5em}.grp__buttons-trash{cursor:pointer;-webkit-app-region:no-drag;padding:1em 1.2em;text-align:center;border-radius:var(--block-border-radius);transition:color .15s ease;color:var(--muted-color)}.grp__buttons-trash.sel--active,.grp__buttons-trash:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.grp__buttons-trash:active{background-color:var(--intermediate-pressed-background-color)}.grp__buttons-trash>i{vertical-align:middle}.grp__buttons-trash:hover{color:var(--error-color)}.tag{flex:1;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;width:100%;-webkit-user-select:none;user-select:none;padding:1em 1.2em}.titlebar-custom .tag{margin-top:32px}.tag__space{flex:1}.tag__buttons{display:flex;flex-direction:row;margin-top:.5em}.tag__buttons-trash{cursor:pointer;-webkit-app-region:no-drag;padding:1em 1.2em;text-align:center;border-radius:var(--block-border-radius);transition:color .15s ease;color:var(--muted-color)}.tag__buttons-trash.sel--active,.tag__buttons-trash:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.tag__buttons-trash:active{background-color:var(--intermediate-pressed-background-color)}.tag__buttons-trash>i{vertical-align:middle}.tag__buttons-trash:hover{color:var(--error-color)}.gen{position:absolute;-webkit-app-region:no-drag;color:var(--text-color);background:var(--background-color);border:1px solid var(--light-border-color);box-shadow:0 .15rem .5rem .25rem var(--dropdown-box-shadow-color);border-radius:var(--block-border-radius);padding:1.5em;width:11em}.gen__top-btn{float:right;cursor:pointer;position:relative;color:var(--muted-color)}.gen__top-btn~.gen__top-btn{margin-right:.5em}.gen__top-btn:hover{color:var(--text-color)}.gen__sel-tpl{width:100%;height:2em;margin-top:.5em}.gen__check{width:40%;display:inline-block}.gen__check:nth-child(2n){margin-left:15%}.gen__result{-webkit-user-select:text;user-select:text;font-family:SFMono-Regular,Monaco,Consolas,Lucida Console,monospace;margin-top:6px;margin-bottom:3px;height:50px;text-align:center;white-space:pre-wrap;word-break:break-all;overflow:hidden}.gen__result--long-pass{font-size:.75em}.gen__check-hide-label{text-align:center;position:relative;top:-2px}.gen__check-hide+label.gen__check-hide-label:before{font-family:Font Awesome\ 5 Free;font-weight:400;font-style:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;display:inline-block;line-height:1.5;content:"\f006";color:inherit}.gen__check-hide:checked+label.gen__check-hide-label:before{content:"\f007";color:inherit}.gen__check-hide:not([disabled])+label.gen__check-hide-label:hover:before{color:var(--text-color)}.gen__btn-wrap{text-align:center}@-moz-document url-prefix(){.gen__result{white-space:pre-wrap;word-break:break-all}}.gen-ps{flex:1;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;width:100%;-webkit-user-select:none;user-select:none;overflow:hidden;position:relative}.gen-ps .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.gen-ps:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.gen-ps:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.titlebar-custom .gen-ps{margin-top:32px}.gen-ps>.scroller{flex:1;overflow-x:hidden}.gen-ps__buttons,.gen-ps__content{margin:.5em 1em}.gen-ps__sample{font-weight:400;color:var(--muted-color)}.gen-ps__example,.gen-ps__sample{-webkit-user-select:text;user-select:text}.gen-ps__example{font-family:SFMono-Regular,Monaco,Consolas,Lucida Console,monospace;margin-top:0;white-space:pre-wrap;word-break:break-all}.gen-ps__input,.gen-ps__list{height:2em}.gen-ps__pattern-help{margin-bottom:.5em}.key-change{flex:1;display:flex;align-items:stretch;flex-direction:column;justify-content:center;overflow:hidden;padding:1.5em;position:relative}@media(max-width:620px){.key-change{padding:.5em 1em}}.key-change__icon{font-size:6em;text-align:center}.key-change__header{font-size:1.5625rem;text-align:center}.key-change__body{display:flex;align-items:flex-start;flex-direction:column;flex-shrink:0;margin:1.5em 0}.key-change__input{align-self:center}.key-change input[type=password].key-change__pass,.key-change input[type=password].key-change__pass-repeat{font-size:2em;margin:.75em 0 0}.key-change__keyfile{color:var(--muted-color);margin-top:.5em;cursor:pointer}.key-change__keyfile:hover{color:var(--medium-color)}.key-change__buttons{text-align:right}.key-change__buttons button~button{margin-left:.75em}.key-change__buttons>button{margin-bottom:.75em}.key-change__body,.key-change__buttons{align-self:center;width:40%}.list{justify-content:flex-start}.list,.list__items{flex:1;display:flex;align-items:stretch;flex-direction:column;overflow:hidden}.list__items{position:relative}.list__items .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.list__items:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.list__items:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.list__items>.scroller{flex:1;align-self:stretch;position:relative;overflow-x:hidden}@media(max-width:620px){.list__items>.scroller{width:100%!important;max-width:100%!important}}.list__search{padding:.75em}.list__search-header{display:flex;align-items:stretch;flex-direction:row;justify-content:flex-start;flex-wrap:wrap}@media(max-width:620px){.list__search-header{font-size:1.2em}}.list__search-field-wrap{flex:1;position:relative;margin-right:.75em}.list__search-field{width:100%;height:2.5em}@media(max-width:620px){.list__search-field{font-size:1.05em!important;box-shadow:none!important;border-radius:.6em!important;border:none!important;background-color:var(--secondary-background-color)!important}}.list__search-icon-clear,.list__search-icon-search{color:var(--muted-color);position:absolute;top:.53em;cursor:pointer}.list__search-icon-clear:hover,.list__search-icon-search:hover{color:var(--medium-color)}@media(max-width:620px){.list__search-icon-clear,.list__search-icon-search{top:.6em}}.list__search-icon-search{left:.6em}.list__search-icon-clear{right:.6em;display:none}.list__search-field-wrap--text .list__search-icon-clear{display:block}.list__search-btn-new,.list__search-btn-sort{cursor:pointer;-webkit-app-region:no-drag;text-align:center;border-radius:var(--block-border-radius);transition:color .15s ease;height:2.5em;line-height:2.3em;padding:0 1em}.list__search-btn-new.sel--active,.list__search-btn-new:hover,.list__search-btn-sort.sel--active,.list__search-btn-sort:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.list__search-btn-new:active,.list__search-btn-sort:active{background-color:var(--intermediate-pressed-background-color)}.list__search-btn-new>i,.list__search-btn-sort>i{vertical-align:middle}.list__search-btn-menu{display:none}@media(max-width:620px){.list__search-btn-menu{display:block;cursor:pointer;-webkit-app-region:no-drag;padding:.7em .6em 0;height:1.6em;margin-right:1em}.list__search-btn-menu.sel--active,.list__search-btn-menu:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.list__search-btn-menu:active{background-color:var(--intermediate-pressed-background-color)}.list__search-btn-menu>i{display:block}}.list__search-adv{flex:100%;display:flex;align-items:stretch;flex-direction:row;flex-wrap:wrap;padding:0 .75em}.list__search-adv-text{flex:100%;padding:.5em 0}.list__search-check{flex:50%}.list__table-body{position:relative}.list__table-row{display:flex;align-items:center;width:100%}.list__table-cell{padding:.5em 1em;text-align:left;flex-grow:1;flex-shrink:0;flex-basis:0;overflow:hidden;text-overflow:ellipsis}.list__table-cell:first-child{text-align:center;padding:0;width:3em;flex-basis:3em;flex-grow:0;flex-shrink:0}.list__table-options{-webkit-app-region:no-drag;padding:1em 1.2em;text-align:center;border-radius:var(--block-border-radius);transition:color .15s ease;cursor:pointer}.list__table-options.sel--active,.list__table-options:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.list__table-options:active{background-color:var(--intermediate-pressed-background-color)}.list__table-options>i{vertical-align:middle}.list__items-container{position:relative}.list__item{left:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;position:absolute;top:0;box-sizing:border-box}@media(min-width:621px){.list__item{cursor:pointer;-webkit-app-region:no-drag}.list__item.sel--active,.list__item:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.list__item:active{background-color:var(--intermediate-pressed-background-color)}.list__item--active,.list__item--active:hover{cursor:default;-webkit-app-region:no-drag;background-color:var(--selected-item-color);color:var(--selected-item-text-color)}.list__item--active:hover,.list__item--active:hover:hover{color:var(--selected-item-text-color)}}@media(max-width:620px){.list__item{margin:0 1em;border-bottom:1px solid var(--light-border-color)}.list__item:last-of-type{border-bottom:none}}.list__item:not(.list__item--table){padding:.5em 1em;margin:0 .75em;width:calc(100% - 1.5em)}@media(min-width:621px){.list__item:not(.list__item--table){border-radius:var(--block-border-radius)}}.list__item--expired .list__item-descr,.list__item--expired .list__item-title{text-decoration:line-through}.list__item-icon{margin-right:.2em;width:14px;height:14px;vertical-align:top;position:relative;top:-1px}@media(max-width:620px){.list__item-icon{margin-right:4px}}.list__item-icon--custom{vertical-align:text-bottom}.list__item-icon--custom.yellow{filter:grayscale(1) sepia(1) hue-rotate(20deg) brightness(1.17) saturate(5.7)}.list__item-icon--custom.green{filter:grayscale(1) sepia(1) hue-rotate(55deg) brightness(1.01) saturate(4.9)}.list__item-icon--custom.red{filter:grayscale(1) sepia(1) hue-rotate(316deg) brightness(1.1) saturate(6)}.list__item-icon--custom.orange{filter:grayscale(1) sepia(1) hue-rotate(355deg) brightness(.92) saturate(5)}.list__item-icon--custom.blue{filter:grayscale(1) sepia(1) hue-rotate(180deg) brightness(.9) saturate(5)}.list__item-icon--custom.violet{filter:grayscale(1) sepia(1) hue-rotate(238deg) brightness(1) saturate(6.2)}.list__item-title{margin-left:2px}.list__item-descr{font-size:.8em;color:var(--muted-color);display:block;text-overflow:ellipsis;overflow:hidden;margin-bottom:.375em}.list__item--active .list__item-descr{color:var(--selected-item-text-color)}.menu{width:100%;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;overflow:hidden}.menu__section{flex:0 0 auto;border-bottom:1px solid var(--light-border-color);position:relative;overflow:hidden;padding:.75em 0}.menu__section .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.menu__section:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.menu__section:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.menu__section--grow{flex:1;display:flex;flex-direction:column}.menu__section--grow>.scroller{flex:1}.menu__section--drag{flex:0 0 auto}.menu__section--drag,.menu__section--drag>.scroller{max-height:calc(100vh - 200px)}.menu__section--drag.menu__section,.menu__section:last-child{border-bottom:none}.menu__drag-section{position:relative;-webkit-app-region:no-drag;transition:background-color .15s ease-out;background:var(--light-border-color);flex:0 0 auto;height:1px;cursor:row-resize}@media(min-width:621px){.menu__drag-section.dragging,.menu__drag-section:hover{transition:background-color .3s ease-in;background:var(--accent-border-color)}}.menu__item{text-overflow:ellipsis;overflow:hidden;position:relative;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start}.menu__item--collapsed>.menu__item,.menu__item-collapse{display:none}.menu__item--collapsed>.menu__item-collapse{display:block;cursor:pointer;position:absolute;top:50%;left:1.6em;transform:translateY(-50%)}.menu__item-body{cursor:pointer;-webkit-app-region:no-drag;padding:.5em 1em;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;border-radius:var(--block-border-radius);margin:0 .75em}.menu__item-body.sel--active,.menu__item-body:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.menu__item-body:active{background-color:var(--intermediate-pressed-background-color)}.menu__item-body.sel--active,.menu__item-body:hover{background-color:var(--selectable-on-secondary-item-color)}.menu__item--active.menu__item--hover>.menu__item-body,.menu__item--active>.menu__item-body{cursor:default;-webkit-app-region:no-drag;background-color:var(--selected-item-color);color:var(--selected-item-text-color);color:var(--text-color);background-color:var(--selected-on-secondary-item-color)}.menu__item--active.menu__item--hover>.menu__item-body:hover,.menu__item--active>.menu__item-body:hover{color:var(--selected-item-text-color);color:var(--text-color)}.menu__item>.menu__item>.menu__item-body{padding-left:2em}.menu__item>.menu__item>.menu__item>.menu__item-body{padding-left:3em}.menu__item>.menu__item>.menu__item>.menu__item>.menu__item-body{padding-left:4em}.menu__item>.menu__item>.menu__item>.menu__item>.menu__item>.menu__item-body{padding-left:5em}.menu__item>.menu__item>.menu__item>.menu__item>.menu__item>.menu__item>.menu__item-body{padding-left:6em}.menu__item-options{display:none}.menu__item--with-options:hover .menu__item-options{display:block}.menu__item-option{cursor:pointer;display:inline-block}.menu__item-colors .menu__item-option:before{content:"\f005"}.menu__item-colors .menu__item-option:hover:before{content:"\f004"}.menu__item-icon{width:.8em;position:relative;top:.1em}.menu__item-icon--image{width:12px;height:12px;position:relative;top:1px}.menu__item-icon--no-icon:before{content:"\f00f"}.menu__item--collapsed>.menu__item-body>.menu__item-icon--no-icon:before{content:"\f00e"}.menu__item--with-options:hover .menu__item-icon{display:none}.menu__item-title{padding-left:.4em}.menu__item-colors .menu__item-title{display:inline-block;color:var(--text-color)}.menu__item--with-options:hover .menu__item-title{display:none}.menu__item-edit,.menu__item-empty-trash{display:none;opacity:0;position:absolute;right:1.2em;top:.55em;cursor:pointer;transition:opacity .15s ease,color .15s ease;color:var(--clickable-on-secondary-color)}.menu__item-edit:hover,.menu__item-empty-trash:hover{color:var(--medium-color)}.menu__item--active>.menu__item-body>.menu__item-edit,.menu__item--active>.menu__item-body>.menu__item-empty-trash{display:block}.menu__item--active>.menu__item-body:hover>.menu__item-edit,.menu__item--active>.menu__item-body:hover>.menu__item-empty-trash{opacity:.5}.menu__item .fa{margin-right:.5em}.menu__item-drag-top{position:absolute;top:0;left:0;width:100%;height:5px}.menu__item--drag-top>.menu__item-body>.menu__item-drag-top{background-color:var(--action-color)}.menu__item--drag:not(.menu__item--drag-top)>.menu__item-body{color:var(--action-color)}.open{flex:1;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;background:var(--background-color)}.mobile .open{overflow-y:auto}.open__icons{display:flex;align-items:stretch;flex-direction:row;flex-shrink:0;justify-content:center;flex-wrap:wrap}.open--drag .open__icons{display:none}.open__icon{cursor:pointer;-webkit-app-region:no-drag;text-align:center;border-radius:var(--block-border-radius);transition:color .15s ease;color:var(--open-icon-color);padding:0 1.2em 1em;margin:.2em .5em}.open__icon.sel--active,.open__icon:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.open__icon:active{background-color:var(--intermediate-pressed-background-color)}.open__icon>i{vertical-align:middle}.open__icon:hover{color:var(--medium-color)}.open--show-focus .open__icon:focus{box-shadow:0 0 0 1px var(--action-color)}.open__icon-i{font-size:4em}.open__icon-text{color:var(--muted-color)}.open__icon:hover>.open__icon-text{color:var(--medium-color)}.open__pass-area{display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;position:relative}.open--drag .open__pass-area{display:none}.open__pass-warn-wrap{display:flex;flex-direction:row;justify-content:flex-end}.open__pass-field-wrap{display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch;flex-shrink:0;margin-bottom:.5em}.open__pass-enter-btn,.open__pass-opening-icon{padding:.6em 1.5em;position:absolute;left:100%;border-radius:var(--block-border-radius);color:var(--muted-color);line-height:3em;height:3.2em}@media(max-width:620px){.open__pass-enter-btn,.open__pass-opening-icon{left:auto;right:0}}.open__pass-enter-btn>i,.open__pass-opening-icon>i{font-size:3em;line-height:1}@media(max-width:620px){.open__pass-enter-btn>i,.open__pass-opening-icon>i{line-height:1.1}}.open--show-focus .open__pass-enter-btn:focus,.open--show-focus .open__pass-opening-icon:focus{box-shadow:0 0 0 1px var(--action-color)}.open--file .open__pass-enter-btn{cursor:pointer}.open--file .open__pass-enter-btn:hover{color:var(--medium-color)}.open--opening .open__pass-enter-btn{display:none}.open__pass-enter-btn-icon-enter{display:block}.open__pass-enter-btn--touch-id .open__pass-enter-btn-icon-enter,.open__pass-enter-btn-icon-touch-id{display:none}.open__pass-enter-btn--touch-id .open__pass-enter-btn-icon-touch-id{display:block}.open__pass-opening-icon{display:none}.open--opening .open__pass-opening-icon{display:block}.open__config{display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;position:relative}@media(min-width:621px){.open__config{width:30em}}.open--drag .open__config{display:none}.open__config-buttons{align-self:flex-end}.open__config-header>i{margin-right:.3em}.open__config-field{width:100%}.open__config-error{min-height:1.7em}.open__config:not(.open__config--disabled) .open__config-btn-ok-text{display:inline}.open__config.open__config--disabled .open__config-btn-ok-text,.open__config:not(.open__config--disabled) .open__config-btn-ok-spinner{display:none}.open__config.open__config--disabled .open__config-btn-ok-spinner{display:block}.open input[type=password].open__pass-input{font-size:2em;margin-bottom:0;width:38vw}.open input[type=password].open__pass-input[readonly]{cursor:pointer}@media(max-width:1000px){.open input[type=password].open__pass-input{width:16em}}@media(max-width:620px){.open input[type=password].open__pass-input{width:calc(100vw - 20px)}}.open__settings{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;padding-left:1em;height:2em}.open__settings-key-file{border-radius:var(--block-border-radius)}.open--file:not(.open--opening) .open__settings-key-file{cursor:pointer}.open--key-file .open__settings-key-file{color:var(--medium-color)}.open__settings-key-file-icon{width:2em}.open__settings-key-file-dropbox{visibility:hidden;margin-left:.3em}.open--file .open__settings-key-file-dropbox:hover{visibility:visible}.open--opening .open__settings-key-file-dropbox,.open__settings-key-file-dropbox .open--key-file{display:none}.open--file .open__settings-key-file:hover .open__settings-key-file-dropbox{visibility:visible}.open--show-focus .open__settings-key-file:focus{box-shadow:0 0 0 1px var(--action-color)}.open__settings-key-file,.open__settings-key-file-dropbox{color:var(--muted-color)}.open--file:not(.open--opening) .open__settings-key-file-dropbox:hover,.open--file:not(.open--opening) .open__settings-key-file:hover{color:var(--medium-color)}.open__settings-yubikey{display:none}.open__settings-yubikey--active,.open__settings-yubikey--present{display:flex}.open__settings-yubikey__text{margin-right:.4em;display:none}.open__settings-yubikey--active .open__settings-yubikey__text{display:block}.open__settings-yubikey-img{fill:var(--muted-color);width:1em;position:relative;top:-.22em;font-size:1.5em;margin-right:.375em;cursor:pointer}.open__settings-yubikey--active .open__settings-yubikey-img,.open__settings-yubikey-img:hover{fill:var(--text-color)}.open__last{flex-direction:column;align-items:stretch;margin-top:1.5em}.open__last,.open__last-item{display:flex;justify-content:flex-start}.open__last-item{flex-direction:row;align-items:baseline;flex-shrink:0;color:var(--muted-color);padding:.5em 1em;border-radius:var(--block-border-radius)}.open:not(.open--opening) .open__last-item{cursor:pointer;-webkit-app-region:no-drag}.open:not(.open--opening) .open__last-item.sel--active,.open:not(.open--opening) .open__last-item:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.open:not(.open--opening) .open__last-item:active{background-color:var(--intermediate-pressed-background-color)}.open--show-focus .open__last-item:focus{box-shadow:0 0 0 1px var(--action-color)}.open__last-item-icon{width:2em;position:relative;top:.1em}.open__last-item-text{flex-grow:1}.open__last-item-icon-del{opacity:0;color:var(--muted-color)}.open__last-item:hover .open__last-item-icon-del{opacity:.3;cursor:pointer}.open__last-item-icon-del:hover{color:var(--medium-color)}.open__last-item:hover .open__last-item-icon-del:hover{opacity:1}.open__dropzone{display:none}.open--drag .open__dropzone{display:flex;flex-direction:column;flex:1 0 auto;justify-content:center;align-self:center;align-items:center;text-align:center}.open__dropzone-icon{font-size:10em}.open__dropzone-header{margin-top:1em}.open__message{display:flex;justify-content:space-between;min-width:20vw;background:var(--secondary-background-color);border-radius:var(--block-border-radius);margin-bottom:2em}.open__message-content{padding:1em .75em 1em 1.2em}.open__message-cancel-btn{padding:1em 1.2em 1em .75em;cursor:pointer;opacity:.5;transition:opacity .15s ease}.open__message-cancel-btn:hover{opacity:1}.open__message-cancel-btn-icon{vertical-align:bottom}.open-list__content{margin:.5em 0 .5em -1em;max-height:calc(100vh - 22em);position:relative;overflow:hidden}.open-list__scrollable{max-height:calc(100vh - 22em);width:calc(100% + 50px);overflow-y:auto;overflow-x:hidden}.open-list__files{display:flex;flex-wrap:wrap;width:calc(100% - 50px)}.open-list__file{cursor:pointer;padding:.5em 1em;border-radius:var(--block-border-radius);box-sizing:border-box;flex-basis:100%}@media(min-width:621px){.open-list--density2 .open-list__file{flex-basis:50%}.open-list--density3 .open-list__file{flex-basis:33.33333%}}.open-list__file:hover{background-color:var(--action-background-color-focus-tr)}.open-list__file-icon{margin-right:.3em}.open-list__file--another{color:var(--medium-color)}.open-list__check-label{width:100%;display:inline-block}.open-chal-resp__head{padding:.5em 1em}.open-chal-resp__icon{margin-right:.75em}.open-chal-resp__item{padding:.5em 1em;cursor:pointer;border-radius:var(--block-border-radius)}.open-chal-resp__item:hover{background-color:var(--action-background-color-focus-tr)}.select-entry,.select-entry-field{position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--background-color);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;box-sizing:border-box;z-index:10000;opacity:1;padding:1em 1.2em}.titlebar-hidden .select-entry,.titlebar-hidden .select-entry-field{padding-top:24px}.titlebar-hidden-inset .select-entry,.titlebar-hidden-inset .select-entry-field{padding-top:40px}.select-entry-field__header,.select-entry__header{display:flex}.select-entry-field__header-text,.select-entry__header-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:1em}.select-entry-field__message,.select-entry__message{display:flex;margin-bottom:1em}.select-entry-field__message-text,.select-entry__message-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1em}.select-entry-field__hint,.select-entry__hint{flex:.5 0;margin-bottom:1em;text-align:right}.select-entry-field__hint-text,.select-entry__hint-text{flex:1 1;font-size:.8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1em}.select-entry-field__items,.select-entry__items{flex:1;margin-bottom:.5em;position:relative;overflow:hidden}.select-entry-field__items .scroller__bar-wrapper>.scroller__bar,.select-entry__items .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.select-entry-field__items:hover .scroller__bar-wrapper>.scroller__bar,.select-entry__items:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.select-entry-field__items:hover .scroller__bar-wrapper>.scroller__bar:hover,.select-entry__items:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.select-entry-field__items>.scroller,.select-entry__items>.scroller{display:flex;flex-direction:row;justify-content:center}.select-entry-field__large-text,.select-entry__large-text{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.select-entry-field__large-icon,.select-entry__large-icon{font-size:6em}.select-entry-field__table,.select-entry__table{flex:1;width:100%;height:0;overflow:hidden;border-collapse:collapse;table-layout:fixed}.select-entry-field__table tr.select-entry__item,.select-entry__table tr.select-entry__item{border-right-width:3px}.select-entry-field__table td,.select-entry-field__table th,.select-entry__table td,.select-entry__table th{padding:.5em 1em;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word}.select-entry-field__table td.select-entry__item-icon-cell,.select-entry-field__table th.select-entry__item-icon-cell,.select-entry__table td.select-entry__item-icon-cell,.select-entry__table th.select-entry__item-icon-cell{width:2em;text-align:center}.select-entry-field__table td.select-entry__item-url-cell,.select-entry-field__table td.select-entry__item-user-cell,.select-entry-field__table th.select-entry__item-url-cell,.select-entry-field__table th.select-entry__item-user-cell,.select-entry__table td.select-entry__item-url-cell,.select-entry__table td.select-entry__item-user-cell,.select-entry__table th.select-entry__item-url-cell,.select-entry__table th.select-entry__item-user-cell{width:25%}.select-entry-field__table td.select-entry__item-options,.select-entry-field__table th.select-entry__item-options,.select-entry__table td.select-entry__item-options,.select-entry__table th.select-entry__item-options{width:2em}.select-entry-field__item,.select-entry__item{cursor:pointer;-webkit-app-region:no-drag}.select-entry-field__item.sel--active,.select-entry-field__item:hover,.select-entry__item.sel--active,.select-entry__item:hover{background-color:var(--intermediate-background-color);color:var(--medium-color)}.select-entry-field__item:active,.select-entry__item:active{background-color:var(--intermediate-pressed-background-color)}.select-entry-field__item--active,.select-entry-field__item--active:hover,.select-entry__item--active,.select-entry__item--active:hover{cursor:default;-webkit-app-region:no-drag;background-color:var(--selected-item-color);color:var(--selected-item-text-color);cursor:pointer}.select-entry-field__item--active:hover,.select-entry-field__item--active:hover:hover,.select-entry__item--active:hover,.select-entry__item--active:hover:hover{color:var(--selected-item-text-color)}.select-entry-field__item-options,.select-entry__item-options{text-align:center}.select-entry-field__item-options:hover,.select-entry__item-options:hover{background:var(--background-color)}.select-entry__item--active .select-entry-field__item-options:hover,.select-entry__item--active .select-entry__item-options:hover{background:var(--action-color)}.select-entry-field__empty-title,.select-entry__empty-title{align-self:center}.select-entry-field__filters,.select-entry__filters{display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap}.select-entry-field__filter,.select-entry__filter{display:flex;margin-bottom:.75em;margin-right:.75em;border-radius:var(--button-border-radius);background-color:var(--unselected-background-color);cursor:pointer}.select-entry-field__filter:hover,.select-entry__filter:hover{background-color:var(--unselected-background-color-hover)}.select-entry-field__filter-icon,.select-entry-field__filter-text,.select-entry__filter-icon,.select-entry__filter-text{padding:.5em 1em}.select-entry-field__filter-check,.select-entry__filter-check{font-size:1.2em;padding:.35em 0 0 1em}.select-entry-field__filter-text,.select-entry__filter-text{padding-left:0}.select-entry-field__buttons,.select-entry__buttons{display:flex;justify-content:flex-end;margin-top:.75em}.settings{flex:1;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;flex-wrap:wrap;overflow:hidden;position:relative}.settings .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.settings:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.settings:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.titlebar-custom .settings{margin-top:32px}.settings__content{margin:1em 1.2em}.settings>.scroller{flex:1 0 0}.settings h2,.settings h3{margin-top:20px}.settings .shortcut{border:1px solid var(--muted-color);display:inline-block;border-radius:2px;width:8em;text-align:center;padding:.5em 1em;margin:0 1em .5em;line-height:1.5em;min-width:unset;box-sizing:border-box;vertical-align:initial}.settings .shortcut-large{width:12em}.settings .shortcut:first-of-type{margin-left:0}.settings .shortcut__editor{margin-bottom:.5em}.settings .shortcut__editor-input{text-align:center;margin:.5em 0 1em;width:15em}.settings .shortcut__editor-input--large{width:30em}.settings__back-button{cursor:pointer}.settings__back-button-post,.settings__back-button-pre{display:none}.settings__back-button-post{margin-left:.375em;margin-right:.75em;position:relative;top:.2em}@media(max-width:620px){.settings__back-button{line-height:3em;height:3em;padding:.5em 1em;font-size:1.2em}.settings__back-button>i{margin-right:.7em;font-size:1.2em;vertical-align:middle;position:relative;top:-.15em}.settings__back-button-pre{display:inline}}@media(min-width:621px){.settings__back-button{position:absolute;top:0;right:1em;padding:1em 0 1px;z-index:1;background:var(--background-color);box-shadow:0 0 5px 5px var(--background-color)}.settings__back-button-post{display:inline}}.settings__input,.settings__select{height:2em}.settings__row{display:flex;justify-content:space-between}.settings__col-small{width:30%;position:relative}.settings__col-small>.settings__input{width:100%}.settings__col-small-label{text-overflow:ellipsis;overflow:hidden;width:100%}.settings__pre{-webkit-user-select:text;user-select:text;white-space:pre-wrap}.settings__select-no-margin{margin-bottom:.5em}.settings #settings__file-confirm-master-pass,.settings #settings__file-master-pass{font-family:SFMono-Regular,Monaco,Consolas,Lucida Console,monospace}.settings #settings__file-confirm-master-pass-group{display:none}.settings__file-confirm-master-pass-warning,.settings__file-master-pass-warning{font-weight:400;float:right;display:none}.settings__file-save-to{cursor:pointer;display:inline-block;margin-right:1em;text-align:center}.settings__file-save-to>i{display:block;font-size:3em;padding:5px 10px;margin:auto}.settings__file-save-to:hover{transition:color .15s ease;color:var(--medium-color)}.settings__general-update-buttons{margin-top:1.5em}.settings__general-update-btn{width:15em}.settings__general-storage-header{margin-bottom:0;line-height:1.3em}.settings__general-prv,.settings__general-prv-logout{margin-bottom:.5em}.settings__general-themes{width:calc(100% - 10em);display:grid;grid-template-columns:repeat(auto-fill,minmax(10em,1fr));grid-gap:1.5em;margin-bottom:1.5em}@media(max-width:620px){.settings__general-themes{width:100%}}.settings__general-theme{padding:.5em 1em;border:1px solid var(--light-border-color);border-radius:var(--input-border-radius);text-align:center;background:var(--background-color);color:var(--text-color);cursor:pointer}body .settings__general-theme{--focus-shadow-spread:unset;--form-box-shadow-color-focus:unset;--form-box-shadow-color-hover:unset}.settings__general-theme-name{border-bottom:1px solid var(--light-border-color);padding-bottom:.375em;margin-bottom:.75em}.settings__general-theme-button{margin-bottom:.5em}.settings__general-theme-plugins-icon{font-size:3em}.settings__general-theme:hover{box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 0 var(--focus-shadow-spread) var(--form-box-shadow-color-hover)}.settings__general-theme--selected,.settings__general-theme--selected:hover{border:1px solid var(--action-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 0 var(--focus-shadow-spread) var(--form-box-shadow-color-focus)}.settings__logs{-webkit-user-select:text;user-select:text;margin-top:.5em;word-break:break-all}.settings__logs-log{margin:0;white-space:pre-wrap}.settings__plugins-install-error{margin-top:.5em}.settings__plugins-plugin-files{margin-top:.5em;margin-bottom:.5em}.settings__plugins-plugin-file{padding-left:1em}.settings__plugins-plugin-desc{margin-bottom:.5em}.settings__plugins-plugin-updates>label{font-weight:400}.settings__plugins-gallery{margin-top:1.5em;display:flex;flex-wrap:wrap}.settings__plugins-gallery-load-btn{margin-top:1em}.settings__plugins-gallery-plugin{position:relative;width:calc(50% - 40px);border-radius:2px;border:1px solid var(--light-border-color);padding:1em 1.2em;box-sizing:border-box;margin:0 .5em 1em 0;vertical-align:top}@media(max-width:620px){.settings__plugins-gallery-plugin{width:100%;margin-right:0}}.settings__plugins-gallery-plugin-install-btn{position:absolute;right:0;bottom:0}.settings__plugins-gallery-plugin-country-flag{position:absolute;right:10px;top:6px;font-size:1.5em}.settings__plugins-gallery-plugin-title-link,.settings__plugins-gallery-plugin-title-link:active,.settings__plugins-gallery-plugin-title-link:focus,.settings__plugins-gallery-plugin-title-link:hover,.settings__plugins-gallery-plugin-title-link:visited{border-bottom:0}.settings__plugins-gallery-search{margin-top:1em}@media(min-width:621px){.settings__plugins-gallery-search{width:calc(100% - 74px)}}@media(max-width:620px){.settings__plugins-gallery-search{width:100%}}.settings__browser-table td,.settings__browser-table th{padding:.5em 1em}.settings__browser-extension-status{display:inline-block;width:0;height:0;border-radius:100%;border:5px solid;margin-right:.2em}.settings__browser-session-buttons{margin-top:1em}.settings__browser-session-files{display:flex;flex-wrap:wrap}.settings__browser-session-file{margin:.5em 1em}.settings__donate-btn{background:#fff;border:2px solid #89abed;border-radius:2.8rem;text-align:center;display:inline-block;text-decoration:none;padding:.2rem 2.4rem .1rem;line-height:1.4;height:2.8rem;margin-bottom:1em}.settings__donate-btn:hover{border-bottom:2px solid #89abed}.settings__donate-btn-bottom,.settings__donate-btn-top{pointer-events:none;display:block}.settings__donate-btn-top{color:#606a79}.settings__donate-btn-bottom{color:#89abed;font-weight:700}.settings__head-icon{position:relative;top:.1em;margin-right:.2em}.import-csv{padding:.5em 1em;display:flex;flex-direction:column;flex:1;position:relative}.titlebar-custom .import-csv{margin-top:32px}.import-csv__body{overflow:hidden;position:relative;flex:1;display:flex;flex-direction:column;align-items:stretch}.import-csv__body .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.import-csv__body:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.import-csv__body:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.import-csv__body>.scroller{flex:1 0 0;overflow-x:scroll;position:relative}.import-csv__table-wrap{overflow-x:auto;width:calc(100vw - 3em);max-width:calc(100vw - 3em)}.import-csv__table-wrap .scroller__bar-wrapper>.scroller__bar{background-color:initial;transition:background-color .15s ease}.import-csv__table-wrap:hover .scroller__bar-wrapper>.scroller__bar{transition:background-color .15s ease-out;background-color:hsla(0,0%,53.3%,.2)}.import-csv__table-wrap:hover .scroller__bar-wrapper>.scroller__bar:hover{transition:background-color .3s ease-in;background-color:hsla(0,0%,53.3%,.8)}.import-csv__table{border-collapse:collapse}.import-csv__table td,.import-csv__table th{text-align:left;padding:.5em 1em;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.import-csv__table td{-webkit-user-select:text;user-select:text}@media(min-width:621px){.import-csv__table tbody tr:hover{background-color:var(--intermediate-background-color)}}.import-csv__field-select{width:100%;height:2em;padding-right:2em;overflow:hidden;text-overflow:ellipsis}.import-csv__top{padding:0 1em}.import-csv__bottom{padding:1em;display:flex;align-items:baseline}.import-csv__bottom button~button{margin-left:.75em}.import-csv__target{flex:1 1 0;display:flex;align-items:baseline}.import-csv__target-select{width:30%;height:2em;margin-left:1em;padding-right:2em}.titlebar{font-size:0}.titlebar-custom .titlebar{position:fixed;top:0;left:0;width:100vw;display:flex;height:32px}.titlebar__logo{height:30px;width:30px;padding:6px;pointer-events:none}.titlebar__grow{flex-grow:1;-webkit-app-region:drag}.titlebar>.fa{font-size:16px;padding:4px 16px;height:32px;box-sizing:border-box}.titlebar>.fa:hover{background:var(--titlebar-button-background-color)}.titlebar>.fa.fa-titlebar-close:hover{background:#d71525}.fa-square:before{content:"\f001"}.fa-square-o:before{content:"\f002"}.fa-check-square-o:before{content:"\f003"}.fa-bookmark:before{content:"\f004"}.fa-bookmark-o:before{content:"\f005"}.fa-eye:before{content:"\f006"}.fa-eye-slash:before{content:"\f007"}.fa-bolt:before{content:"\f008"}.fa-unlock:before{content:"\f009"}.fa-lock:before{content:"\f00a"}.fa-check:before{content:"\f00b"}.fa-times:before{content:"\f00c"}.fa-times-circle:before{content:"\f00d"}.fa-folder:before{content:"\f00e"}.fa-folder-open:before{content:"\f00f"}.fa-ban:before{content:"\f010"}.fa-dropbox:before{content:"\f011"}.fa-google-drive:before{content:"\f012"}.fa-plus:before{content:"\f013"}.fa-ellipsis-h:before{content:"\f014"}.fa-ellipsis-v:before{content:"\f015"}.fa-magic:before{content:"\f016"}.fa-cog:before{content:"\f017"}.fa-server:before{content:"\f018"}.fa-file-alt:before{content:"\f019"}.fa-file-alt-o:before{content:"\f01a"}.fa-file-code:before{content:"\f01b"}.fa-file-pdf:before{content:"\f01c"}.fa-file-archive:before{content:"\f01d"}.fa-file-word:before{content:"\f01e"}.fa-file-excel:before{content:"\f01f"}.fa-file-powerpoint:before{content:"\f020"}.fa-file-image:before{content:"\f021"}.fa-file-video:before{content:"\f022"}.fa-file-audio:before{content:"\f023"}.fa-onedrive:before{content:"\f024"}.fa-user-friends:before{content:"\f025"}.fa-question:before{content:"\f026"}.fa-sign-out-alt:before{content:"\f027"}.fa-sync-alt:before{content:"\f028"}.fa-level-down-alt:before{content:"\f029"}.fa-tag:before{content:"\f02a"}.fa-tags:before{content:"\f02b"}.fa-th-large:before{content:"\f02c"}.fa-trash:before{content:"\f02d"}.fa-trash-alt:before{content:"\f02e"}.fa-keyboard:before{content:"\f02f"}.fa-puzzle-piece:before{content:"\f030"}.fa-usb:before{content:"\f031"}.fa-info:before{content:"\f032"}.fa-info-circle:before{content:"\f033"}.fa-key:before{content:"\f034"}.fa-globe:before{content:"\f035"}.fa-exclamation-triangle:before{content:"\f036"}.fa-exclamation-circle:before{content:"\f037"}.fa-thumbtack:before{content:"\f038"}.fa-comments:before{content:"\f039"}.fa-edit:before{content:"\f03a"}.fa-plug:before{content:"\f03b"}.fa-newspaper:before{content:"\f03c"}.fa-paperclip:before{content:"\f03d"}.fa-camera:before{content:"\f03e"}.fa-wifi:before{content:"\f03f"}.fa-link:before{content:"\f040"}.fa-battery-three-quarters:before{content:"\f041"}.fa-bars:before{content:"\f042"}.fa-barcode:before{content:"\f043"}.fa-certificate:before{content:"\f044"}.fa-signature:before{content:"\f045"}.fa-bullseye:before{content:"\f046"}.fa-desktop:before{content:"\f047"}.fa-envelope:before{content:"\f048"}.fa-clipboard:before{content:"\f049"}.fa-paper-plane:before{content:"\f04a"}.fa-address-card:before{content:"\f04b"}.fa-inbox:before{content:"\f04c"}.fa-save:before{content:"\f04d"}.fa-hdd:before{content:"\f04e"}.fa-dot-circle:before{content:"\f04f"}.fa-user:before{content:"\f050"}.fa-user-lock:before{content:"\f051"}.fa-terminal:before{content:"\f052"}.fa-print:before{content:"\f053"}.fa-project-diagram:before{content:"\f054"}.fa-flag-checkered:before{content:"\f055"}.fa-wrench:before{content:"\f056"}.fa-laptop:before{content:"\f057"}.fa-archive:before{content:"\f058"}.fa-credit-card:before{content:"\f059"}.fa-windows:before{content:"\f05a"}.fa-clock:before{content:"\f05b"}.fa-search:before{content:"\f05c"}.fa-flask:before{content:"\f05d"}.fa-gamepad:before{content:"\f05e"}.fa-sticky-note:before{content:"\f05f"}.fa-sticky-note-o:before{content:"\f060"}.fa-question-circle:before{content:"\f061"}.fa-cube:before{content:"\f062"}.fa-folder-o:before{content:"\f063"}.fa-folder-open-o:before{content:"\f064"}.fa-database:before{content:"\f065"}.fa-unlock-alt:before{content:"\f066"}.fa-pencil-alt:before{content:"\f067"}.fa-image:before{content:"\f068"}.fa-book:before{content:"\f069"}.fa-list-alt:before{content:"\f06a"}.fa-user-secret:before{content:"\f06b"}.fa-utensils:before{content:"\f06c"}.fa-home:before{content:"\f06d"}.fa-star:before{content:"\f06e"}.fa-linux:before{content:"\f06f"}.fa-map-pin:before{content:"\f070"}.fa-apple:before{content:"\f071"}.fa-wikipedia-w:before{content:"\f072"}.fa-dollar-sign:before{content:"\f073"}.fa-mobile:before{content:"\f074"}.fa-spinner:before{content:"\f075"}.fa-minus-circle:before{content:"\f076"}.fa-keeweb:before{content:"\f077"}.fa-copy:before{content:"\f078"}.fa-clone:before{content:"\f079"}.fa-chevron-down:before{content:"\f07a"}.fa-chevron-left:before{content:"\f07b"}.fa-qrcode:before{content:"\f07c"}.fa-sort-alpha-down:before{content:"\f07d"}.fa-sort-alpha-down-alt:before{content:"\f07e"}.fa-sort-numeric-down:before{content:"\f07f"}.fa-sort-numeric-down-alt:before{content:"\f080"}.fa-sort-amount-down:before{content:"\f081"}.fa-language:before{content:"\f082"}.fa-circle:before{content:"\f083"}.fa-circle-o:before{content:"\f084"}.fa-arrow-circle-left:before{content:"\f085"}.fa-cloud-download-alt:before{content:"\f086"}.fa-caret-down:before{content:"\f087"}.fa-long-arrow-alt-left:before{content:"\f088"}.fa-long-arrow-alt-right:before{content:"\f089"}.fa-github-alt:before{content:"\f08a"}.fa-code:before{content:"\f08b"}.fa-html5:before{content:"\f08c"}.fa-chrome:before{content:"\f08d"}.fa-firefox-browser:before{content:"\f08e"}.fa-safari:before{content:"\f08f"}.fa-opera:before{content:"\f090"}.fa-edge:before{content:"\f091"}.fa-twitter:before{content:"\f092"}.fa-paint-brush:before{content:"\f093"}.fa-at:before{content:"\f094"}.fa-usb-token:before{content:"\f095"}.fa-bell:before{content:"\f096"}.fa-fingerprint:before{content:"\f097"}.fa-titlebar-close:before{content:"\f098"}.fa-titlebar-maximize:before{content:"\f099"}.fa-titlebar-minimize:before{content:"\f09a"}.fa-titlebar-restore:before{content:"\f09b"}.fa-window-maximize:before{content:"\f09c"}.fa-download:before{content:"\f09d"}.fa-exchange-alt:before{content:"\f09e"}.fa-folder-plus:before{content:"\f09f"}.fa-filter:before{content:"\f0a0"}</style><script>(()=>{var __webpack_modules__={6846:e=>{"use strict";e.exports=JSON.parse('{"retToApp":"return to app","name":"name","icon":"icon","title":"title","password":"password","user":"user","website":"website","tags":"tags","notes":"notes","entry":"entry","group":"group","noTitle":"no title","or":"or","history":"history","template":"template","templates":"templates","notImplemented":"Not Implemented","saveChanges":"Save changes","discardChanges":"Discard changes","advanced":"Advanced","shortcuts":"Shortcuts","help":"Help","settings":"Settings","plugins":"Plugins","ctrlKey":"ctrl","shiftKey":"shift","altKey":"alt","error":"error","oneMinute":"one minute","minutes":"{} minutes","oneHour":"one hour","hours":"{} hours","oneDay":"one day","days":"{} days","oneWeek":"one week","oneMonth":"one month","oneYear":"one year","cache":"cache","file":"file","device":"device","webdav":"WebDAV","dropbox":"Dropbox","gdrive":"Google Drive","onedrive":"OneDrive","msteams":"Microsoft Teams","menuAllItems":"All Items","menuColors":"Colors","menuTrash":"Trash","menuSetGeneral":"General","menuSetBrowser":"Browser","menuSetAbout":"About","menuSetDevices":"Devices","menuAlertNoTags":"No tags","menuAlertNoTagsBody":"You can add new tags while editing fields, in the Tags section.","menuEmptyTrash":"Empty Trash","menuEmptyTrashAlert":"Empty Trash?","menuEmptyTrashAlertBody":"You will not be able to put items back","menuItemCollapsed":"Double-click to expand","menuRestoreApp":"Open {}","menuQuitApp":"Quit {}","sysMenuAboutKeeWeb":"About {}","sysMenuServices":"Services","sysMenuHide":"Hide {}","sysMenuHideOthers":"Hide Others","sysMenuUnhide":"Show All","sysMenuQuit":"Quit {}","sysMenuEdit":"Edit","sysMenuUndo":"Undo","sysMenuRedo":"Redo","sysMenuCut":"Cut","sysMenuCopy":"Copy","sysMenuPaste":"Paste","sysMenuSelectAll":"Select All","sysMenuWindow":"Window","sysMenuMinimize":"Minimize","sysMenuClose":"Close Window","alertYes":"Yes","alertNo":"No","alertOk":"OK","alertCancel":"Cancel","alertSignIn":"Sign In","alertCopy":"Copy","alertClose":"Close","alertDoNotAsk":"Don\'t ask me anymore","alertAllow":"Allow","alertDeny":"Deny","appBeta":"WARNING: beta version, only for preview","footerOpen":"Open / New","footerSyncError":"Sync error","footerTitleGen":"Generate","footerTitleLock":"Lock","genLen":"Length","genNewPass":"New password","genPresetDefault":"default preset","genPresetDerived":"like old password","genPresetPronounceable":"pronounceable","genPresetMed":"medium length","genPresetLong":"long","genPresetPin4":"4-digit PIN","genPresetMac":"MAC address","genPresetHash128":"128-bit hash","genPresetHash256":"256-bit hash","genHidePass":"Hide password","genShowPass":"Show password","grpTitle":"Group","grpSearch":"Enable searching entries in this group","grpAutoType":"Enable auto-type","grpAutoTypeSeq":"Auto-type sequence","grpAutoTypeSeqDefault":"Use default auto-type sequence","grpTrash":"Delete group with all entries","tagTitle":"Tag","tagTrash":"Remove tag from all entries","tagRename":"Rename","tagTrashQuestion":"Remove tag from all entries?","tagTrashQuestionBody":"This tag will be removed from all entries. There will be no easy way to put it back.","tagExists":"Tag already exists","tagExistsBody":"Tag with this name already exists. Please choose another name.","tagBadName":"Bad name","tagBadNameBody":"Tag name cannot contain characters {}. Please remove them.","genPsTitle":"Generator Presets","genPsCreate":"New preset","genPsDelete":"Delete preset","genPsNew":"preset","genPsEnabled":"Show in presets list","genPsDefault":"Selected by default","genPsDefaultLength":"Default length","genPsUpper":"Uppercase latin letters","genPsLower":"Lowercase latin letters","genPsDigits":"Digits","genPsSpecial":"Special symbols","genPsBrackets":"Brackets","genPsHigh":"High ASCII characters","genPsAmbiguous":"Ambiguous symbols","genPsInclude":"Additional symbols to include","genPsExample":"Example of generated password","genPsPattern":"Pattern","genPsPatternHelp":"Patterns can be used to specify custom rules for selecting characters. For example, 1-AA will generate passwords starting with a digit, followed by a dash and two letters. You can use these symbols:","genPsAllRanges":"All symbols","genPsIncluded":"Additional symbols added above","keyChangeTitleRemote":"Master Key Changed","keyChangeMessageRemote":"Master key was changed for this database. Please enter a new key","keyChangeTitleExpired":"Master Key Expired","keyChangeMessageExpired":"Master key for this database is expired. Please enter a new key","keyChangeRepeatPassword":"Password, once again","keyEnter":"Enter","keyEsc":"Esc","iconFavTitle":"Download and use website favicon","iconSelCustom":"Select a custom icon","listEmptyTitle":"Empty","listEmptyAdd":"add with {} button above","listGroup":"Group","listNoWebsite":"no website","listNoUser":"no user","listNoAttachments":"no attachments","listAddTemplateHeader":"Templates","listAddTemplateBody1":"Templates allow you to create entries with one click. Add something to template entry and then click {} again to use this template.","listAddTemplateBody2":"You can always find your templates in {} group.","searchAddNew":"Add New","searchSort":"Sort","searchCreated":"Created","searchUpdated":"Updated","searchAttachments":"Attachments","searchAZ":"A {} Z","searchZA":"Z {} A","searchON":"Old {} New","searchNO":"New {} Old","searchShiftClickOr":"shift-click or","searchAdvTitle":"Toggle advanced search","searchSearchIn":"Search in","searchOther":"Other fields","searchProtect":"Secure fields","searchOptions":"Options","searchCase":"Match case","searchRegex":"RegEx","searchRank":"Auto","searchExact":"Exact","openOpen":"Open","openNew":"New","openNewFile":"New","openMore":"More","openDemo":"Demo","openGenerate":"Generate","openXml":"Import XML","openCaps":"Caps Lock is on","openClickToOpen":"Click to open a file","openKeyFile":"key file","openKeyFileDropbox":"(from dropbox)","openDropHere":"drop files here","openFailedRead":"Failed to read file","openNothingFound":"Nothing found","openNothingFoundBody":"We haven\'t found any suitable files.","openSelectFile":"Select a file","openSelectFileBody":"Select a file you would like to open","openPassFor":"Password for","openRemoveLastQuestion":"Delete local file?","openRemoveLastQuestionBody":"The file you are deleting is stored only inside the app. Delete it permanently?","openRemoveLastQuestionModBody":"The file you are deleting has local modifications. Delete it and discard these modifications?","openLocalFile":"Local file","openLocalFileBody":"You are going to open a file that will be stored inside the app. Changes you make will not be saved back to file system. To get the file with your data, export it from settings.","openLocalFileDontShow":"Don\'t show this again","openWrongFile":"Bad file","openWrongFileBody":"This file format is not supported. This app works with KeePass database format files (kdbx).","openKdbFileBody":"You are opening an old version format file (KDB). This app supports only new format (kdbx), please use KeePass v2 to convert between them.","openConfigHeader":"{} Settings","openUrl":"URL","openUrlDesc":"https://server/path/file.kdbx, or just file.kdbx","openUser":"User","openUserDesc":"WebDAV server user (if required)","openUserPlaceholder":"no user","openPass":"Password","openPassDesc":"WebDAV server password (this is not your file password)","openPassPlaceholder":"no password","openConfigError":"Error: {}","openConfigErrorNotFound":"File not found","openError":"Error","openErrorDescription":"There was an error opening file","openErrorDescriptionMaybeTouchIdChanged":"The error looks similar to what usually happens when Touch ID setup is changed, for example, you added or removed an additional finger. If it\'s the case, go to Settings, disable Touch ID, and re-enable it again.","openErrorFileNotFound":"File not found","openListErrorBody":"There was an error loading file list","openShowAllFiles":"Show all files","openFileNoCacheError":"File not found in the cache storage. This can happen because browser storage was cleaned up. To open the file, remove it from KeeWeb and add it again.","openChalRespHeader":"Challenge-Response","openChalRespLoading":"Loading the list of YubiKeys","openChalRespSelectYubiKey":"Select a YubiKey that you would like to use","openChalRespErrorEmpty":"No YubiKeys found.","openChalRespErrorEmptyMac":"First time using this feature on macOS? KeeWeb must be added to the Input Monitoring section of security settings.","detAttDownload":"Shift-click the attachment button to download it or","detAttDelToRemove":"Delete to remove","detAttSave":"Save as …","detEmpty":"Your passwords will be displayed here","detGroupRestore":"To restore this group, please drag it to any group outside trash","detHistoryClickPoint":"Click entry history timeline point to view state","detHistoryReturn":"return to entry","detHistoryRevert":"Revert to state","detHistoryDel":"Delete state","detHistoryEmpty":"empty","detHistoryModified":"modified","detHistoryRec":"record","detHistoryRecs":"records","detHistoryVersion":"Version","detHistorySaved":"Saved","detHistoryNoTitle":"no title","detHistoryCurState":"current state","detHistoryCurUnsavedState":"current unsaved state","detHistoryRevertAlert":"Revert to this history state?","detHistoryRevertAlertBody":"Your current state will be saved to history.","detHistoryDeleteAlert":"Delete this history state?","detHistoryDeleteAlertBody":"You will not be able to restore it.","detHistoryDiscardChangesAlert":"Discard changes made to entry?","detHistoryDiscardChangesAlertBody":"Unsaved changes will be lost, there will be no way back.","detBackToList":"back to list","detSetIconColor":"Change color","detSetIcon":"Change icon","detDropAttachments":"drop attachments here","detDelEntry":"Delete","detDelEntryPerm":"Delete permanently","detExpires":"Expires","detExpired":"expired","detGroup":"Group","detCreated":"Created","detUpdated":"Updated","detNetField":"New Field","detAttachments":"Attachments","detDelFromTrash":"Delete from trash?","detDelFromTrashBody":"You will not be able to put it back.","detDelFromTrashBodyHint":"To quickly remove all items from trash, click Empty icon in Trash menu.","detDelToTrash":"Delete the entry?","detDelToTrashBody":"The entry will be moved to the trash folder.","detFieldCopied":"Copied","detFieldCopiedTime":"Copied for {} seconds","detCopyHint":"You can copy field value by clicking its title","detMore":"more","detClickToAddField":"click to add a new field","detMenuAddNewField":"Add a new field","detMenuAddNewWebsite":"Add another website","detMenuShowEmpty":"Show empty fields","detMenuHideEmpty":"Hide empty fields","detMenuAddField":"Add {}","detMenuCopyPassword":"Copy password","detMenuCopyUser":"Copy user","detMenuCopyOtp":"Copy one-time code","detSetupOtp":"One-time codes","detClone":"Make a copy","detCopyEntryToClipboard":"Copy all fields","detClonedName":"Copy","detAutoType":"Auto-type","detAutoTypeSettings":"Auto-type settings","detAutoTypeEnabled":"Enable auto-type for this entry","detAutoTypeSequence":"Keystrokes","detAutoTypeInput":"Input","detAutoTypeShortcutsDesc":"{} or {} while the app is inactive","detAutoTypeObfuscation":"Mix real keystrokes with random","detAutoTypeWindow":"Window","detAutoTypeInputWindow":"Window title","detSetupOtpAlert":"Scan the QR code","detSetupOtpAlertBody":"Please copy the QR code which is displayed on the authorization page.","detSetupOtpAlertBody1":"1. go to the authorization page","detSetupOtpAlertBody2":"2. make a screenshot of the QR code {}","detSetupOtpAlertBody3":"3. paste it here {}","detSetupOtpAlertBody3Mobile":"3. select it or scan with your camera using Select/Scan button below","detSetupOtpAlertBody4":"If you can\'t scan the code, click Enter code manually","detSetupOtpManualButton":"Enter code manually","detSetupOtpScanButton":"Select/Scan","detSetupOtpAlertBodyWith":"with {}","detOtpImageError":"Error reading image","detOtpImageErrorBody":"Sorry, we could not read the image format, please contact the app authors with error details.","detOtpImageReading":"Reading QR code...","detOtpQrError":"QR code scan error","detOtpQrErrorBody":"Sorry, we could not read the QR code, please try once again or contact the app authors with error details.","detOtpQrWrong":"Wrong QR code","detOtpQrWrongBody":"Your QR code was successfully scanned but it doesn\'t contain one-time code data.","detOtpField":"One-time code","detOtpClickToTouch":"Click to generate","detOtpGenerating":"Generating...","detOtpTouch":"Touch your {}","detLockField":"Lock this field, so its content isn\'t searchable and visible. Displaying the content requires explicitly clicking it.","detUnlockField":"Unlock this field, making its content searchable and visible immediately","detRevealField":"Reveal","detHideField":"Hide","detAutoTypeField":"Auto type","detIssuesHideTooltip":"Hide this warning","detIssueWeakPassword":"The password is weak, it\'s recommended to change it.","detIssuePoorPassword":"The password is very weak, it\'s strongly recommended to change it.","detIssuePwnedPassword":"This password has been exposed in a data breach according to {}, it\'s recommended to change it.","detIssuePasswordCheckError":"There was an error checking password strength online.","detIssueOldPassword":"The password is old.","detIssueCloseAlertHeader":"Hide password issues","detIssueCloseAlertBody":"There are different ways you can hide this warning:","detIssueCloseAlertEntry":"Don\'t show for this entry","detIssueCloseAlertSettings":"Adjust global settings","autoTypeEntryFields":"Entry fields","autoTypeModifiers":"Modifier keys","autoTypeKeys":"Keys","autoTypeLink":"more...","autoTypeError":"Auto-type error","autoTypeErrorGeneric":"There was an error performing auto-type: {}","autoTypeErrorAccessibilityMacOS":"We tried to send keystrokes to the application, but it doesn\'t seem to work. This may happen because of missing permissions, click here to read more about it:","autoTypeErrorGlobal":"To use a system-wide shortcut, please focus the app where you want to type your password","autoTypeErrorNotInstalled":"{} is not installed","autoTypeHeader":"Auto-Type: Select","autoTypeMsgNoWindow":"We were unable to get active window title, start typing to search","autoTypeMsgMatchedByWindow":"Select a password for {}","autoTypeNoMatches":"no matches","autoTypeSelectionHint":"Type the autotype sequence","autoTypeSelectionHintAction":"Only type the password","autoTypeSelectionHintOpt":"Only type the username","autoTypeSelectionHintShift":"Other fields","autoTypeSelectionOtp":"One-time code","autoTypeUnlockMessage":"Unlock to auto-type","appSecWarn":"Not Secure!","appSecWarnBody1":"You have loaded this app with an insecure connection. Someone may be watching you and stealing your passwords. We strongly advise you to stop, unless you clearly understand what you\'re doing.","appSecWarnBody2":"Yes, your database is encrypted but no one can guarantee that the app has not been modified on the way to you.","appSecWarnBtn":"I understand the risks, continue","appUnsavedWarn":"Unsaved changes!","appUnsavedWarnBody":"You have unsaved files, if you close the app, changes will be lost.","appDontExitBtn":"Don\'t exit","appCannotLockAutoInit":"The app cannot be locked because autosave is disabled.","appCannotLock":"You have unsaved changes that will be lost. Continue?","appAutoSave":"Save changes automatically","appSaveError":"Save Error","appSaveErrorBody":"Failed to auto-save file","appSaveErrorBodyMul":"Failed to auto-save files:","appSaveErrorExitLoseChanges":"Quit and lose all changes","appSaveErrorExitLoseChangesBody":"You can either quit the app and lose all changes, or go file settings to export data","appSettingsError":"Error loading app","appSettingsErrorBody":"There was an error loading app settings. Please double check the app URL or contact your administrator.","appNotSupportedError":"Your browser doesn\'t support some important features we\'re using.","appTabWarn":"Too many tabs","appTabWarnBody":"KeeWeb cannot be used in two browser tabs simultaneously, please close this tab.","appRightsAlert":"Locking KeeWeb app","appRightsAlertBody1":"Your KeeWeb app is currently not guarded against unauthorized changes. We\'re asking you for permissions to make the app writable only for administrators.","appRightsAlertBody2":"Don\'t want to give permissions? You can do it yourself in Terminal","appBrowserAuthComplete":"Authentication is complete, you may close this tab now.","setGenTitle":"General Settings","setGenUpdate":"Update","setGenNewVersion":"New app version was released and downloaded","setGenReleaseNotes":"View release notes","setGenReloadToUpdate":"Reload to update","setGenUpdateManual":"A new version has been released. It will check for updates and install them automatically, but auto-upgrading from your version is not possible.","setGenDownloadUpdate":"Download update","setGenUpdateAuto":"Download and install automatically","setGenUpdateCheck":"Check but don\'t install","setGenNoUpdate":"Never check for updates","setGenUpdateChecking":"Checking for updates","setGenCheckUpdate":"Check for updates","setGenErrorChecking":"Error checking for updates","setGenLastCheckSuccess":"Last successful check was at {}","setGenLastCheckVer":"the latest version was {}","setGenCheckedAt":"Checked at","setGenLatestVer":"you are using the latest version","setGenNewVer":"new version {} available, released","setGenDownloadingUpdate":"Downloading update...","setGenExtractingUpdate":"Extracting update...","setGenCheckErr":"There was an error downloading new version","setGenNeverChecked":"Never checked for updates","setGenRestartToUpdate":"Restart KeeWeb to update","setGenDownloadAndRestart":"Download update and restart","setGenAppearance":"Appearance","setGenTheme":"Theme","setGenThemeDefault":"Default","setGenThemeDark":"Dark","setGenThemeLight":"Light","setGenThemeBlue":"Flat blue","setGenThemeFb":"Dark blue","setGenThemeBl":"Light blue","setGenThemeBrown":"Brownie","setGenThemeDb":"Dark brown","setGenThemeLb":"Light brown","setGenThemeTerminal":"Terminal","setGenThemeTe":"Terminal","setGenThemeLt":"Terminal light","setGenThemeHighContrast":"High contrast","setGenThemeHc":"High contrast","setGenThemeDc":"Dark contrast","setGenThemeSol":"Solarized","setGenThemeSd":"Solarized dark","setGenThemeSl":"Solarized light","setGenMoreThemes":"More themes","setGenAutoSwitchTheme":"Automatically switch between light and dark theme when possible","setGenLocale":"Language","setGenLocOther":"other languages are available as plugins","setGenFontSize":"Font size","setGenFontSizeNormal":"Normal","setGenFontSizeLarge":"Large","setGenFontSizeLargest":"Largest","setGenTitlebarStyle":"Window style (requires restart)","setGenTitlebarStyleDefault":"Default","setGenTitlebarStyleHidden":"Custom title","setGenTitlebarStyleHiddenInset":"Custom title, draggable window","setGenShowSubgroups":"Show entries from all subgroups","setGenTableView":"Entries list table view","setGenColorfulIcons":"Colorful custom icons in the list","setGenUseMarkdown":"Markdown in notes","setGenUseGroupIconForEntries":"Automatically use group icon for new entries","setGenDirectAutotype":"If only one matching entry is found, select that one automatically for auto-type","setGenAutoTypeTitleFilterEnabled":"Filter entries by title in auto-type","setGenFunction":"Function","setGenAutoSyncOnClose":"Automatically save and sync on close","setGenAutoSyncTimer":"Automatically save and sync periodically","setGenAutoSyncTimerOff":"Disabled","setGenAutoSyncTimerOnChange":"On every change","setGenAutoSyncTimerInterval":"Every {} minute(s)","setGenRememberKeyFiles":"Remember key files","setGenNoRememberKeyFiles":"Don\'t remember","setGenRememberKeyFilesData":"Store in the internal app storage","setGenRememberKeyFilesPath":"Remember only path to key files","setGenLockInactive":"If the app is inactive","setGenNoAutoLock":"Don\'t auto-lock","setGenLockMinutes":"In {} minutes","setGenLockHour":"In an hour","setGenLockHours":"In {} hours","setGenLockDay":"In a day","setGenClearClip":"Clear clipboard after copy","setGenNoClear":"Don\'t clear","setGenClearSeconds":"In {} seconds","setGenClearMinute":"In a minute","setGenMinInstead":"Minimize the app instead of close","setGenMinOnFieldCopy":"Minimize on field copy","setGenLock":"Auto lock","setGenLockMinimize":"When the app is minimized","setGenLockCopy":"On password copy","setGenLockAutoType":"On auto-type","setGenLockOrSleep":"When the computer is locked or put to sleep","setGenStorage":"Storage","setGenDisableOfflineStorage":"Don\'t cache loaded files in offline storage","setGenShortLivedStorageToken":"Use short-lived sessions in cloud storage providers","setGenStorageLogout":"Log out","setGenShowAdvanced":"Show advanced settings","setGenDevTools":"Show dev tools","setGenTryBeta":"Try beta version until restart","setGenTryBetaWarning":"Unsaved files","setGenTryBetaWarningBody":"Please save all files and click this button again","setGenShowAppLogs":"Show app logs","setGenReloadApp":"Reload the app","setGenFieldLabelDblClickAutoType":"Auto-type on double-clicking field labels","setGenTouchId":"Touch ID","setGenTouchIdDisabled":"Don\'t use Touch ID","setGenTouchIdMemory":"Unlock with Touch ID only while KeeWeb is running","setGenTouchIdFile":"Always use Touch ID instead of master password","setGenTouchIdPass":"Require master password after","setGenAudit":"Audit","setGenAuditPasswords":"Show warnings about password strength","setGenAuditPasswordEntropy":"Check password length and randomness","setGenExcludePinsFromAudit":"Never check short numeric PIN codes, such as 123456","setGenCheckPasswordsOnHIBP":"Check passwords using an online service {}","setGenHelpHIBP":"KeeWeb can check if your passwords have been previously exposed in a data breach using an online service. Your password cannot be recovered based on data sent online, however, the number of passwords checked this way may be exposed. More about your privacy when using this service can be found {}. If this option is enabled, KeeWeb will automatically check your passwords there.","setGenHelpHIBPLink":"here","setGenAuditPasswordAge":"Old passwords","setGenAuditPasswordAgeOff":"Don\'t show warnings about old passwords","setGenAuditPasswordAgeOneYear":"Show warnings for passwords older than one year","setGenAuditPasswordAgeYears":"Show warnings for passwords older than {} years","setFilePath":"File path","setFileStorage":"This file is loaded from {}.","setFileIntl":"This file is stored in the internal app storage","setFileLocalHint":"Want to work seamlessly with local files?","setFileDownloadApp":"Download a desktop app","setFileSave":"Save","setFileSaveTo":"Save to …","setFileClose":"Close","setFileSync":"Sync","setFileSyncVerb":"Sync","setFileSaveToXml":"XML","setFileSaveToHtml":"HTML","setFileLastSync":"Last sync","setFileLastSyncUnknown":"unknown","setFileSyncInProgress":"sync in progress","setFileSyncError":"Sync error","setFilePass":"Master password","setFileConfirmPass":"Confirm Master password","setFilePassChange":"to change your password, please type it in the Confirm field","setFilePassChanged":"your password was changed; leave the field blank to use the old password","setFilePassNotMatch":"passwords don\'t match, please type it again","setFileKeyFile":"Key file","setFileSelKeyFile":"Select a key file","setFileNames":"Names","setFileDefUser":"Default user","setFileEnableTrash":"Enable trash","setFileHistMode":"Entry history","setFileHistLimited":"Delete old history records automatically","setFileHistDisabled":"Don\'t save history","setFileHistUnlimited":"Keep history records forever","setFileHistLen":"History length, keep last records per entry","setFileHistSize":"History size, total MB per file","setFileBackups":"Backups","setFileBackupEnable":"Backup this file","setFileBackupPath":"Backup path","setFileBackupTime":"Make backups","setFileBackupNow":"Backup now","setFileBackupNowWorking":"Working...","setFileBackupError":"Backup error","setFileBackupErrorDescription":"Error writing backup file","setFileBackupErrorIsDir":"Backup path invalid","setFileBackupErrorIsDirDescription":"The backup path seems to point to a directory. Please specify a filename inside a directory instead.","setFileBackupOnSave":"Every time I save the file","setFileBackupDaily":"Daily","setFileBackupWeekly":"Weekly","setFileBackupMonthly":"Monthly","setFileBackupManually":"Manually, no auto-backups","setFileRounds":"Key encryption rounds","setFileKdfParams":"Key derivation function","setFileKdfParamsIter":"Iterations","setFileKdfParamsMem":"Memory, KB","setFileKdfParamsPar":"Parallelism","setFileKeyChangeForce":"Ask to change key after (days)","setFileUseKeyFile":"Use key file","setFileUseGenKeyFile":"Use the generated key file","setFileUseOldKeyFile":"Use the old key file","setFileGenKeyFile":"Generate a new key file","setFileDontUseKeyFile":"Don\'t use a key file","setFileEmptyPass":"Empty password","setFileEmptyPassBody":"Saving database with an empty password makes it completely unprotected. Do you really want to do it?","setFileSaveError":"Save error","setFileSaveErrorBody":"Error saving to file","setFileAlreadyExists":"Already exists","setFileAlreadyExistsBody":"File {} already exists. Overwrite it?","setFileUnsaved":"Unsaved changes","setFileUnsavedBody":"There are unsaved changes in this file","setFileCloseNoSave":"Close and lose changes","setFileDontClose":"Don\'t close","setFileFormatVersion":"File format","setFileExportRaw":"Exporting your passwords","setFileExportRawBody":"The exported file will contain your passwords, they will not be encrypted there. Would you like to proceed?","setFileDeviceIntro":"One-time codes from this {} will be displayed in the app.","setFileDeviceSettings":"Settings","setFileYubiKey":"YubiKey","setFileDontUseYubiKey":"Don\'t use a YubiKey","setFileRefreshYubiKeyList":"Refresh the list","setFileYubiKeyHeader":"YubiKey","setFileYubiKeyBody":"Using a YubiKey as a part of master key is dangerous and you may lose access to your passwords if something goes wrong. Have you made a backup of your file before changing this setting?","setFileYubiKeyErrorEmptyMac":"Looks like there\'s a YubiKey plugged in, but it\'s not visible. KeeWeb must be added to the Input Monitoring section of security settings to access YubiKeys.","setShTitle":"Shortcuts","setShShowAll":"show all items","setShColors":"show items with colors","setShTrash":"go to Trash","setShFind":"search, or just start typing","setShClearSearch":"clear search","setShCopyPass":"copy password or selected field","setShCopyUser":"copy user","setShCopyUrl":"copy website","setShAutoType":"auto-type selected entry","setShPrev":"go to previous item","setShNext":"go to next item","setShCreateEntry":"create entry","setShOpen":"open / new","setShSave":"save all files","setShGen":"generate password","setShSet":"app settings","setShCopyPassGlobal":"copy password","setShCopyOtp":"copy OTP","setShAutoTypeGlobal":"auto-type","setShCopyPassOnly":"copy password","setShRestoreApp":"open {}","setShGlobal":"These system-wide shortcuts work when the app is running in background. You can click them to select your own shortcut.","setShLock":"lock database","setShEdit":"Press a new key combination to set it as shortcut","setPlInstallTitle":"Install new plugins","setPlInstallDesc":"KeeWeb plugins add features, themes, and languages to KeeWeb. Plugins run with the same privileges as KeeWeb, they can access and manage all your passwords. Never install plugins you don\'t trust.","setPlInstallLabel":"Plugin URL","setPlInstallBtn":"Install","setPlInstallBtnProgress":"Installing","setPlUninstallBtn":"Uninstall","setPlDisableBtn":"Disable","setPlEnableBtn":"Enable","setPlUpdateBtn":"Update","setPlLocaleBtn":"Switch to this language","setPlThemeBtn":"Switch to this theme","setPlJs":"code","setPlCss":"styles","setPlLoc":"language","setPlCreatedBy":"Created by {}","setPlLoadTime":"took {} to load","setPlLastUpdate":"Last check for updates","setPlLoadError":"error loading plugin","setPlGalleryLoading":"Loading plugins, please wait a bit","setPlGalleryLoadError":"Error loading plugins","setPlInstallUrlTitle":"Add plugin from URL","setPlInstallUrlDesc":"If the plugin is not in the gallery, you can install it manually from URL","setPlOfficial":"Official KeeWeb plugin","setPlSearch":"Search for plugins","setPlDevelop":"Want to develop your own plugins?","setPlDevelopStart":"Start here","setPlTranslate":"Or you can {}","setPlTranslateLink":"translate the app to your language","setPlAutoUpdate":"Update automatically","setPlLoadGallery":"Load plugin gallery","setBrowserTitle":"Browser","setBrowserIntroDesktop":"KeeWeb can enter passwords using auto-type, however, a browser extension may be a more convenient way of doing it. KeeWeb supports two browser extensions:","setBrowserIntroKeeWebConnect":"the official KeeWeb extension, it\'s built with features of KeeWeb in mind, but you may miss some advanced capabilities that can be found in the other extension.","setBrowserIntroKeePassXcBrowser":"this extension was developed for KeePassXC, it\'s been on the market for a while and it is quite solid. The extension is not a part of KeeWeb and there may be compatibility issues.","setBrowserIntroWeb":"Install our browser extension to auto-fill passwords from KeeWeb on different pages. The browser extension will connect to a KeeWeb tab in your browser to fetch passwords. Click here to download the extension:","setBrowserNotEnabled":"Browser integration is not enabled, extensions won\'t be able to connect to KeeWeb. Use the checkboxes below to enable it:","setBrowserEnablePerBrowser":"Enable browser integration using the checkboxes below:","setBrowserFocusIfLocked":"Open KeeWeb if a browser extension tries to connect while there\'s no open file","setBrowserFocusIfEmpty":"Show the entry selection screen if there\'s no match found by URL","setBrowserOtherBrowsers":"Other browsers","setBrowserExtensionFor":"for {}","setBrowserExtensionNotSupported":"Not supported","setBrowserExtensionHelp":"How to install?","setBrowserExtensionInstall":"Install the extension","setBrowserExtensionKPXCWarnHeader":"{} will stop working","setBrowserExtensionKPXCWarnBody1":"Unfortunately it\'s not possible to connect one extension to several apps. If you connect the extension to KeeWeb, we\'ll overwrite its app association, which means that integration with {} will stop working. Even if you uncheck this checkbox, the association with {} won\'t be restored. To make it work again, configure browser integration in {} settings.","setBrowserExtensionKPXCWarnBody2":"Configure the extension to use KeeWeb?","setBrowserSessions":"Sessions","setBrowserSessionsEmpty":"No connected sessions.","setBrowserSessionsIntro":"These extensions are now connected to KeeWeb.","setBrowserSessionsActiveTooltip":"Active session","setBrowserSessionsActiveText":"This session is active. It can exchange data with KeeWeb based on the following permissions:","setBrowserSessionsInactiveTooltip":"Inactive session","setBrowserSessionsInactiveText":"This session is inactive. The extension is connected to KeeWeb, however, it hasn\'t tried to exchange data. When the extension requests anything, you will be able to choose what you want to share.","setBrowserSessionsDeniedTooltip":"Access denied","setBrowserSessionsDeniedText":"This session is inactive. The extension is connected to KeeWeb, however, you denied access to data.","setBrowserSessionsConnectedDate":"Connected","setBrowserSessionsTerminate":"Terminate this session","setBrowserSessionsAccessToFiles":"Allow access to files","setBrowserSessionsNoFileAccess":"The extension doesn\'t have access to any file, it won\'t be able to fetch passwords from KeeWeb.","setBrowserSessionsPasswordsRead":"Passwords read","setBrowserSessionsPasswordsWritten":"Passwords saved","setDevicesTitle":"Devices","setDevicesEnableUsb":"Enable interaction with USB devices","setDevicesYubiKeyIntro":"It\'s recommended to read {} before using a YubiKey.","setDevicesYubiKeyIntroLink":"this document","setDevicesYubiKeyToolsDesc":"To be able to use YubiKey in this mode, you need to install a tool called {}.","setDevicesYubiKeyToolsDesc2":"{} to get more information about this tool.","setDevicesYubiKeyToolsDescLink":"Click here","setDevicesYubiKeyToolsStatusChecking":"Checking if {} is installed","setDevicesYubiKeyToolsStatusOk":"{} is installed","setDevicesYubiKeyToolsStatusError":"{} is not installed or not working","setDevicesYubiKeyOtpTitle":"One-time codes","setDevicesYubiKeyOtpDesc":"YubiKey can be used to generate one-time codes for different services.","setDevicesYubiKeyOtpShowIcon":"Show the icon on the start screen","setDevicesYubiKeyOtpAutoOpen":"Automatically load one-time codes when there are open files","setDevicesYubiKeyOtpMatchEntries":"Show matching one-time codes in entries","setDevicesYubiKeyChalRespTitle":"Challenge-Response","setDevicesYubiKeyChalRespDesc":"It\'s also possible to use a YubiKey in challenge-response mode, so that a piece of private key used to encrypt files resides on a YubiKey.","setDevicesYubiKeyChalRespShow":"Show the option to use a YubiKey when opening files","setDevicesYubiKeyStuckWorkaround":"Reconnect the YubiKey if it seems to be stuck during loading","setDevicesYubiKeyRememberChalResp":"Remember challenge-response while the app is open","setAboutTitle":"About","setAboutBuilt":"This app is built with these awesome tools","setAboutLic":"License","setAboutLicComment":"The app itself and all included components are licensed under MIT license, unless otherwise specified","setAboutFirst":"This is an open-source app created by {}","setAboutSecond":"and licensed under {}.","setAboutSource":"The source code and issues are on {}.","setHelpFormat":"File Format","setHelpFormatBody":"This is a port of {} app built with web technologies. It understands files in KeePass format (kdbx). You can create such files (password databases) either in KeePass or in this app. The file format is 100% compatible and should be understood by both apps.","setHelpProblems":"Need some help?","setHelpProblems1":"If something goes wrong, please {}","setHelpProblems2":"or {}","setHelpOpenIssue":"open an issue on GitHub","setHelpContactLink":"contact the developer directly","setHelpAppInfo":"App information","setHelpOtherPlatforms":"Other platforms","setHelpDesktopApps":"Desktop apps","setHelpWebApp":"Web app","setHelpUpdates":"Updates","setHelpTwitter":"App twitter","dropboxSetupDesc":"Some configuration is required to use Dropbox in a self-hosted app. Please create your own Dropbox app and fill in its key below.","dropboxAppKey":"Dropbox app key","dropboxAppKeyDesc":"Copy the key from your Dropbox app (Developer settings)","dropboxAppKeyHint":"your app key","dropboxAppSecret":"Dropbox app secret","dropboxAppSecretDesc":"The secret can be found next to the app key","dropboxFolder":"App folder","dropboxFolderDesc":"If your app is linked to entire Dropbox (not app folder), set the folder with your kdbx files here","dropboxFolderSettingsDesc":"Select any folder in your Dropbox where files will be stored (root folder by default)","dropboxFolderPlaceholder":"default folder","dropboxLink":"Link the app to","dropboxLinkApp":"App folder (Apps/KeeWeb)","dropboxLinkFull":"Full Dropbox or any folder","dropboxLinkCustom":"Own Dropbox app","gdriveSharedWithMe":"Shared with me","gdriveSharedDrives":"Shared drives","webdavSaveMethod":"Save method","webdavSaveMove":"Upload a temporary file and move","webdavSavePut":"Overwrite the kdbx file with PUT","webdavNoLastModified":"Last-Modified HTTP header is absent","webdavStatReload":"Always reload the file instead of relying on Last-Modified HTTP header","launcherSave":"Save Passwords Database","launcherFileFilter":"KeePass files","authPopupRequired":"Pop-ups are blocked","authPopupRequiredBody":"Please allow pop-ups in your browser or try again.","exportFileInfo":"File information","exportHtmlName":"Name","exportHtmlDate":"Export date","exportGenerator":"Software","exportDescription":"This file is generated with {}.","importCsvTitle":"Import from CSV","importCsvRun":"Import","importIgnoreField":"Ignore","importTo":"Entries will be imported to","importNewFile":"New file","yubiKeyStuckError":"The YubiKey seems to be stuck, auto-repair can be enabled in app settings.","yubiKeyNoKeyHeader":"YubiKey required","yubiKeyNoKeyBody":"Please insert your YubiKey with serial number {}","yubiKeySlot":"slot","yubiKeyTouchRequestedHeader":"Touch your YubiKey","yubiKeyTouchRequestedBody":"Please touch your YubiKey with serial number {}","yubiKeyDisabledErrorHeader":"USB is disabled","yubiKeyDisabledErrorBody":"YubiKey is required to open this file, please enable USB devices in settings.","yubiKeyErrorWithCode":"YubiKey error, code {}.","bioOpenAuthPrompt":"open \\"{}\\"","extensionErrorNoOpenFiles":"No open files","extensionErrorUserRejected":"The request was denied","extensionErrorNoMatches":"No matching logins","extensionErrorAlertDisplayed":"Cannot ask a question now because there\'s another dialog displayed, please try again","extensionConnectHeader":"Extension data exchange","extensionConnectIntro":"A browser extension that identifies itself as {} tries to exchange data with KeeWeb.","extensionConnectUnknownActivity":"KeeWeb doesn\'t verify that the connected application is what it pretends to be. Approve the request only if you recognize this activity.","extensionConnectFiles":"In this session, allow access to:","extensionConnectAllOtherFiles":"All other files","extensionConnectAllFiles":"All files","extensionConnectAskGet":"Ask before returning passwords to the extension:","extensionConnectAskGetMultiple":"if there\'s more than one match","extensionConnectAskGetAlways":"always","extensionConnectAskSave":"Ask before saving new passwords to KeeWeb:","extensionConnectAskSaveAlways":"always","extensionConnectAskSaveAuto":"when it\'s not possible to save automatically","extensionConnectSettingsAreForSession":"Settings you select here are valid only for the active session. You can view and manage sessions in KeeWeb settings.","extensionUnlockMessage":"Unlock to connect a browser extension","extensionNewGroupHeader":"New group","extensionNewGroupBody":"{} is trying to create a new group. Allow this?","extensionNewGroupPath":"Group path","extensionNewGroupFile":"This group will be created in:","extensionSaveEntryHeader":"Save password","extensionSaveEntryBody":"{} is trying to save a password. Allow this?","extensionSaveEntryAuto":"Save other passwords automatically in this session","extensionSaveEntryNewGroup":"new group","extensionSelectPasswordFor":"Select a password for {}","selectEntryHeader":"Select entry","selectEntryEnterHint":"use the highlighted entry","selectEntryTypingHint":"Start typing to filter","selectEntryContains":"Contains text","selectEntrySubdomains":"Subdomains","selectEntryFieldHeader":"Select field","selectEntryFieldTouch":"Press the button on your device to generate a one-time code."}')},582:e=>{"use strict";e.exports=JSON.parse('{"retToApp":"zurück zur App","name":"Name","icon":"Icon","title":"Titel","password":"Passwort","user":"Benutzer","website":"Website","tags":"Tags","notes":"Notizen","entry":"Eintrag","group":"Gruppe","noTitle":"Kein Titel","or":"oder","history":"Verlauf","template":"Vorlage","templates":"Vorlagen","notImplemented":"Nicht implementiert","saveChanges":"Änderungen speichern","discardChanges":"Änderungen verwerfen","advanced":"Erweiterte Einstellungen","shortcuts":"Tastenkürzel","help":"Hilfe","settings":"Einstellungen","plugins":"Plugins","ctrlKey":"Strg","shiftKey":"Umschalt","altKey":"Alt","error":"Fehler","oneMinute":"Eine Minute","minutes":"{} Minuten","oneHour":"Eine Stunde","hours":"{} Stunden","oneDay":"Ein Tag","days":"{} Tage","oneWeek":"Eine Woche","oneMonth":"Ein Monat","oneYear":"Ein Jahr","cache":"Cache","file":"Datei","device":"Gerät","webdav":"WebDAV","dropbox":"Dropbox","gdrive":"Google Drive","onedrive":"OneDrive","menuAllItems":"Alle Einträge","menuColors":"Farben","menuTrash":"Papierkorb","menuSetGeneral":"Allgemein","menuSetAbout":"Info","menuSetDevices":"Geräte","menuAlertNoTags":"Keine Tags","menuAlertNoTagsBody":"Neue Tags können durch das Bearbeiten von Einträgen (Abschnitt „Tags“) hinzugefügt werden.","menuEmptyTrash":"Papierkorb leeren","menuEmptyTrashAlert":"Papierkorb leeren?","menuEmptyTrashAlertBody":"Die Einträge können nicht wiederhergestellt werden","menuItemCollapsed":"Doppelklick zum Aufklappen","menuRestoreApp":"{} öffnen","menuQuitApp":"{} beenden","sysMenuAboutKeeWeb":"Über {}","sysMenuServices":"Dienste","sysMenuHide":"{} ausblenden","sysMenuHideOthers":"Andere ausblenden","sysMenuUnhide":"Alle anzeigen","sysMenuQuit":"{} beenden","sysMenuEdit":"Bearbeiten","sysMenuUndo":"Rückgängig","sysMenuRedo":"Wiederherstellen","sysMenuCut":"Ausschneiden","sysMenuCopy":"Kopieren","sysMenuPaste":"Einfügen","sysMenuSelectAll":"Alles auswählen","sysMenuWindow":"Fenster","sysMenuMinimize":"Minimieren","sysMenuClose":"Fenster schließen","alertYes":"Ja","alertNo":"Nein","alertOk":"OK","alertCancel":"Abbrechen","alertSignIn":"Anmelden","alertCopy":"Kopieren","alertClose":"Schließen","alertDoNotAsk":"Nicht mehr nachfragen","appBeta":"ACHTUNG: Beta-Version, nur für Vorschau-Zwecke","footerOpen":"Öffnen / Neu","footerSyncError":"Synchronisierungsfehler","footerTitleGen":"Generieren","footerTitleLock":"Sperren","genLen":"Länge","genNewPass":"Neues Passwort","genPresetDefault":"Standardeinstellung","genPresetDerived":"Wie das alte Passwort","genPresetPronounceable":"aussprechbar","genPresetMed":"Durchschnittliche Länge","genPresetLong":"lang","genPresetPin4":"4-stellige PIN","genPresetMac":"MAC-Adresse","genPresetHash128":"128-Bit-Hash","genPresetHash256":"256-Bit-Hash","genHidePass":"Passwort ausblenden","genShowPass":"Passwort einblenden","grpTitle":"Gruppe","grpSearch":"Suche für Einträge in dieser Gruppe aktivieren","grpAutoType":"Auto-Type aktivieren","grpAutoTypeSeq":"Auto-Type-Sequenz","grpAutoTypeSeqDefault":"Standard-Auto-Type-Sequenz verwenden","grpTrash":"Gruppe und alle enthaltenen Einträge löschen","tagTitle":"Tag","tagTrash":"Diesen Tag von allen Einträgen entfernen","tagRename":"Umbenennen","tagTrashQuestion":"Diesen Tag von allen Einträgen entfernen?","tagTrashQuestionBody":"Der Tag wird von allen Einträgen entfernt. Diese Aktion kann nicht rückgängig gemacht werden.","tagExists":"Tag existiert bereits","tagExistsBody":"Ein Tag mit diesem Namen ist bereits vorhanden. Bitte einen anderen Namen wählen.","tagBadName":"Ungültiger Name","tagBadNameBody":"Der Tag-Name darf folgende Zeichen nicht enthalten: {}. Bitte diese entfernen.","genPsTitle":"Generator-Voreinstellungen","genPsCreate":"Neue Voreinstellung","genPsDelete":"Voreinstellung löschen","genPsNew":"Voreinstellung","genPsEnabled":"In Voreinstellungsliste anzeigen","genPsDefault":"Standardmäßig ausgewählt","genPsDefaultLength":"Standardlänge","genPsUpper":"Lateinische Großbuchstaben","genPsLower":"Lateinische Kleinbuchstaben","genPsDigits":"Ziffern","genPsSpecial":"Sonderzeichen","genPsBrackets":"Klammern","genPsHigh":"Erweiterte ASCII-Zeichen","genPsAmbiguous":"Ähnliche Zeichen","genPsInclude":"Zusätzliche Symbole angeben","genPsExample":"Beispiel für ein generiertes Passwort","genPsPattern":"Muster","genPsPatternHelp":"Mit Mustern können eigene Regeln zur Auswahl von Zeichen festgelegt werden. Beispielsweise werden mit 1-AA Passwörter generiert, die mit einer Ziffer starten, gefolgt von einem Bindestrich und zwei Großbuchstaben. Folgende Symbole stehen zur Verfügung:","genPsAllRanges":"Alle Zeichen","genPsIncluded":"Zusätzliche oben hinzugefügte Zeichen","keyChangeTitleRemote":"Hauptschlüssel geändert","keyChangeMessageRemote":"Der Hauptschlüssel für diese Datenbank wurde geändert. Bitte das neue Passwort eingeben.","keyChangeTitleExpired":"Hauptschlüssel abgelaufen","keyChangeMessageExpired":"Der Hauptschlüssel für diese Datenkbank ist abgelaufen. Bitte geben Sie einen neuen Schlüssel ein.","keyChangeRepeatPassword":"Passwort (Wiederholung)","keyEnter":"Enter","iconFavTitle":"Website-Symbol herunterladen und verwenden","iconSelCustom":"Eigenes Icon auswählen","listEmptyTitle":"Leer","listEmptyAdd":"Zum Anlegen neuer Einträge den obigen {} Button benutzen","listGroup":"Gruppe","listNoWebsite":"keine Website","listNoUser":"kein Benutzer","listNoAttachments":"keine Anhänge","listAddTemplateHeader":"Vorlagen","listAddTemplateBody1":"Vorlagen ermöglichen es, Einträge mit nur einem Klick zu erstellen. Fügen Sie etwas zum Vorlage-Eintrag hinzu und klicken Sie auf {}, um diese Vorlage zu verwenden.","listAddTemplateBody2":"Sie können Ihre Vorlagen in der Gruppe “{}” finden.","searchAddNew":"Hinzufügen","searchSort":"Sortierung","searchCreated":"Erstelldatum","searchUpdated":"Änderungsdatum","searchAttachments":"Anhänge","searchAZ":"A {} Z","searchZA":"Z {} A","searchON":"Alt {} Neu","searchNO":"Neu {} Alt","searchShiftClickOr":"Umschalt-Klick oder","searchAdvTitle":"Erweiterte Suche","searchSearchIn":"Durchsuchen","searchOther":"Andere Felder","searchProtect":"Geschützte Felder","searchOptions":"Suchoptionen","searchCase":"Groß/klein","searchRegex":"RegEx","searchRank":"Automatisch","searchExact":"Exakt","openOpen":"Öffnen","openNew":"Neu","openNewFile":"Neu","openMore":"Mehr","openDemo":"Demo","openGenerate":"Generieren","openXml":"XML importieren","openCaps":"Feststelltaste ist aktiviert","openClickToOpen":"Hier klicken, um eine Datei zu öffnen","openKeyFile":"Schlüsseldatei","openKeyFileDropbox":"(von Dropbox)","openDropHere":"Dateien hier ablegen","openFailedRead":"Datei konnte nicht gelesen werden","openNothingFound":"Nichts gefunden","openNothingFoundBody":"Es konnten keine kompatiblen Dateien gefunden werden.","openSelectFile":"Datei auswählen","openSelectFileBody":"Wählen Sie eine Datei zum Öffnen aus","openPassFor":"Passwort für","openRemoveLastQuestion":"Lokale Datei löschen?","openRemoveLastQuestionBody":"Die Datei, die Sie löschen möchten, ist nur innerhalb der App gespeichert. Möchten Sie diese unwiederbringlich löschen?","openRemoveLastQuestionModBody":"Die Datei, die Sie löschen möchten, beinhaltet lokale Änderungen. Möchten Sie diese Änderungen verwerfen und die Datei löschen?","openLocalFile":"Lokale Datei","openLocalFileBody":"Sie sind dabei, eine Datei zu öffnen, die innerhalb der App gespeichert wird. Wenn Sie an dieser Datei Änderungen vornehmen, werden diese nicht im Dateisystem gespeichert. Um die Datei mit den Änderungen zu erhalten, können Sie diese aus den Einstellungen heraus exportieren.","openLocalFileDontShow":"Nicht wieder anzeigen","openWrongFile":"Inkompatibles Dateiformat","openWrongFileBody":"Dieses Dateiformat ist nicht kompatibel. Die App unterstützt KeePass-Datenbanken im kdbx-Format.","openKdbFileBody":"Sie versuchen, eine alte KeePass-Datenbank im kdb-Format zu öffnen. Diese App unterstützt nur das neuere kdbx-Format. Bitte verwenden Sie KeePass v2, um diese Datei umzuwandeln.","openConfigHeader":"{} Einstellungen","openUrl":"URL","openUrlDesc":"https://server/pfad/datei.kdbx, oder einfach datei.kdbx","openUser":"Benutzername","openUserDesc":"WebDAV-Server-Benutzername (falls erforderlich)","openUserPlaceholder":"kein Benutzername","openPass":"Passwort","openPassDesc":"WebDAV-Server-Passwort (nicht das KDBX-Datei-Passwort)","openPassPlaceholder":"kein Passwort","openConfigError":"Fehler: {}","openConfigErrorNotFound":"Datei nicht gefunden","openError":"Fehler","openErrorDescription":"Beim Öffnen der Datei ist ein Fehler aufgetreten","openErrorFileNotFound":"Datei nicht gefunden","openListErrorBody":"Dateien konnten nicht geladen werden","openShowAllFiles":"Alle Dateien anzeigen","openFileNoCacheError":"Die Datei wurde im Cache-Speicher nicht gefunden. Möglicherweise wurde Ihr Browser-Speicher geleert. Um die Datei zu öffnen, entfernen Sie sie aus KeeWeb und fügen Sie sie erneut hinzu","openChalRespHeader":"Challenge-Response","openChalRespLoading":"Liste mit YubiKeys wird geladen","openChalRespSelectYubiKey":"Wählen Sie den YubiKey aus, den Sie benutzen wollen","openChalRespErrorEmpty":"Keine YubiKeys gefunden.","openChalRespErrorEmptyMac":"Verwenden Sie dieses Feature zum ersten Mal auf MacOS? KeeWeb muss in Ihren Sicherheitseinstellung im Input-Monitoring-Abschnitt hinzugefügt werden.","detAttDownload":"Umschalttaste + Klick auf den Anhang-Button zum Herunterladen oder","detAttDelToRemove":"Backspace zum Entfernen","detAttSave":"Speichern unter …","detEmpty":"Ihre Passwörter werden hier angezeigt","detGroupRestore":"Ziehen Sie diese Gruppe in eine andere Gruppe als den Papierkorb, um sie wiederherzustellen.","detHistoryClickPoint":"Klicken Sie auf einen der Punkte im Verlauf, um den entsprechenden Zustand des Eintrags anzuzeigen","detHistoryReturn":"zurück zum Eintrag","detHistoryRevert":"Auf diese Version zurücksetzen","detHistoryDel":"Version löschen","detHistoryEmpty":"leer","detHistoryModified":"geändert","detHistoryRec":"Version","detHistoryRecs":"Versionen","detHistoryVersion":"Version","detHistorySaved":"Gespeichert","detHistoryNoTitle":"keine Bezeichnung","detHistoryCurState":"aktuelle Version","detHistoryCurUnsavedState":"aktuelle ungespeicherte Version","detHistoryRevertAlert":"Zu diesem Stand zurückkehren?","detHistoryRevertAlertBody":"Ihr aktueller Stand wird in der Historie gesichert.","detHistoryDeleteAlert":"Diesen Stand löschen?","detHistoryDeleteAlertBody":"Sie können ihn nicht wiederherstellen.","detHistoryDiscardChangesAlert":"Änderungen an diesem Eintrag verwerfen?","detHistoryDiscardChangesAlertBody":"Ungespeicherte Änderungen gehen dabei unwiderruflich verloren.","detBackToList":"zurück zur Liste","detSetIconColor":"Farbe ändern","detSetIcon":"Symbol ändern","detDropAttachments":"Anhänge hier ablegen","detDelEntry":"Löschen","detDelEntryPerm":"Dauerhaft löschen","detExpires":"Ablaufdatum","detExpired":"abgelaufen","detGroup":"Gruppe","detCreated":"Erstellt","detUpdated":"Geändert","detNetField":"Neues Feld","detAttachments":"Anhänge","detDelFromTrash":"Aus dem Papierkorb löschen?","detDelFromTrashBody":"Es wird keine Möglichkeit zur Wiederherstellung geben.","detDelFromTrashBodyHint":"Um alle Dateien aus dem Papierkorb zu entfernen, klicken Sie auf das „Papierkorb leeren“-Symbol im Papierkorb-Menüpunkt.","detDelToTrash":"Diesen Eintrag löschen?","detDelToTrashBody":"Der Eintrag wird in den Papierkorb verschoben.","detFieldCopied":"Kopiert","detFieldCopiedTime":"Kopiert für {} Sekunden","detCopyHint":"Sie können den Inhalt eines Feldes kopieren, indem Sie auf seine Beschriftung klicken","detMore":"mehr","detClickToAddField":"Klicken, um ein neues Feld hinzuzufügen","detMenuAddNewField":"Neues Feld hinzufügen","detMenuShowEmpty":"Leere Felder anzeigen","detMenuHideEmpty":"Leere Felder ausblenden","detMenuAddField":"{} hinzufügen","detMenuCopyPassword":"Passwort kopieren","detMenuCopyUser":"Benutzer kopieren","detMenuCopyOtp":"Einmal-Code kopieren","detSetupOtp":"Einmal-Codes","detClone":"Kopie erstellen","detCopyEntryToClipboard":"Alle Felder kopieren","detClonedName":"Kopie","detAutoType":"Auto-Type","detAutoTypeSettings":"Auto-Type Einstellungen","detAutoTypeEnabled":"Auto-Type für diesen Eintrag aktivieren","detAutoTypeSequence":"Tastenfolge","detAutoTypeInput":"Eingabe","detAutoTypeShortcutsDesc":"{} oder {} während die App inaktiv ist","detAutoTypeObfuscation":"Echte Tastenanschläge mit zufälligen mischen","detAutoTypeWindow":"Fenster","detAutoTypeInputWindow":"Fenstertitel","detSetupOtpAlert":"QR-Code einscannen","detSetupOtpAlertBody":"Bitte kopieren Sie den QR-Code, der auf der Autorisierungsseite angezeigt wird.","detSetupOtpAlertBody1":"1. Gehen Sie zur Autorisierungsseite","detSetupOtpAlertBody2":"2. Erstellen Sie einen Screenshot des QR-Codes {}","detSetupOtpAlertBody3":"3. Fügen Sie ihn hier ein {}","detSetupOtpAlertBody3Mobile":"3. Markieren Sie ihn oder scannen Sie ihn mit Ihrer Kamera mit dem untenstehenden Markieren/Scannen-Button","detSetupOtpAlertBody4":"Wenn Sie den Code nicht einscannen können, klicken Sie bitte auf “Code manuell eingeben”","detSetupOtpManualButton":"Code manuell eingeben","detSetupOtpScanButton":"Markieren/Scannen","detSetupOtpAlertBodyWith":"mit {}","detOtpImageError":"Fehler beim Einlesen des Bildes","detOtpImageErrorBody":"Entschuldigung, wir konnten das Bildformat nicht lesen. Bitte kontaktieren Sie den Hersteller mit Einzelheiten zu diesem Fehler.","detOtpImageReading":"QR-Code wird eingelesen …","detOtpQrError":"QR-Code Lesefehler","detOtpQrErrorBody":"Der QR-Code konnte leider nicht eingelesen werden. Bitte versuchen Sie es noch einmal oder kontaktieren Sie den Hersteller mit Einzelheiten zum aufgetretenen Fehler.","detOtpQrWrong":"Fehlerhafter QR-Code","detOtpQrWrongBody":"Ihr QR-Code wurde erfolgreich eingelesen, enthält jedoch keinen Einmal-Code.","detOtpField":"Einmal-Code","detOtpClickToTouch":"Zum Erzeugen hier klicken","detOtpGenerating":"Wird erzeugt …","detOtpTouch":"Berühren Sie Ihren {}","detLockField":"Dieses Feld sperren, damit der Inhalt nicht durchsuchbar ist und angezeigt wird. Um ihn anzuzeigen, muss er angeklickt werden.","detUnlockField":"Dieses Feld entsperren. Dies führt dazu, dass der Inhalt direkt angezeigt wird und durchsuchbar ist.","detRevealField":"Anzeigen","detHideField":"Verbergen","detAutoTypeField":"Auto-Type","detIssuesHideTooltip":"Diese Warnung verstecken","detIssueWeakPassword":"Das Passwort ist schwach, es wird empfohlen es zu ändern.","detIssuePoorPassword":"Das Passwort ist schwach, es wird dringend empfohlen es zu ändern.","detIssuePwnedPassword":"Dieses Passwort wurde laut {} in einem Datenleck gefunden, es wird empfohlen das Passwort zu ändern.","detIssuePasswordCheckError":"Es gab einen Fehler bei der online-überprüfung des Passwort.","detIssueOldPassword":"Das Passwort ist alt.","detIssueCloseAlertHeader":"Verstecke Passwortmeldungen","detIssueCloseAlertBody":"Es gibt verschiedene Möglichkeiten diese Warnung zu verstecken:","detIssueCloseAlertEntry":"Nicht für diesen Eintrag anzeigen.","detIssueCloseAlertSettings":"Globale Einstellungen anpassen","autoTypeEntryFields":"Feld-Platzhalter","autoTypeModifiers":"Hilfstasten","autoTypeKeys":"Tasten","autoTypeLink":"mehr …","autoTypeError":"Auto-Type-Fehler","autoTypeErrorGeneric":"Während der Ausführung von Auto-Type ist ein Fehler aufgetreten: {}","autoTypeErrorGlobal":"Um globale Tastenkürzel zu nutzen, wechseln Sie bitte zu der Anwendung, in der Sie das Passwort eingeben wollen.","autoTypeErrorNotInstalled":"{} ist nicht installiert","autoTypeHeader":"Auto-Type: Auswählen","autoTypeMsgNoWindow":"Wir konnten den Titel des aktiven Fensters leider nicht auslesen. Fangen Sie einfach an zu tippen, um nach dem richtigen Eintrag zu suchen.","autoTypeMsgMatchedByWindow":"Passwort auswählen für {}","autoTypeNoMatches":"keine passenden Einträge","autoTypeSelectionHint":"Die Auto-Type-Sequenz eintippen","autoTypeSelectionHintAction":"Nur das Passwort eintippen","autoTypeSelectionHintOpt":"Nur den Benutzernamen eintippen","autoTypeSelectionHintShift":"Andere Felder","autoTypeSelectionOtp":"Einmal-Code","appSecWarn":"Unsichere Verbindung!","appSecWarnBody1":"Sie haben diese App über eine ungesicherte Verbindung geöffnet, Sie könnten beobachtet und Ihre Passwörter könnten gestohlen werden. Wir empfehlen Ihnen dringend, die App hier nicht weiter zu nutzen, wenn Sie nicht genau wissen, was Sie tun.","appSecWarnBody2":"Ihre Datenbank ist zwar verschlüsselt, aber es kann nicht sichergestellt werden, dass die App nicht auf dem Web vom Server zu Ihrem Browser manipuliert wurde.","appSecWarnBtn":"Ich habe das Risiko verstanden, trotzdem fortfahren","appUnsavedWarn":"Ungespeicherte Änderungen!","appUnsavedWarnBody":"Sie haben ungespeicherte Änderungen. Wenn Sie die App schließen, gehen diese verloren.","appDontExitBtn":"App nicht verlassen","appCannotLockAutoInit":"Die App kann nicht gesperrt werden, da automatisches Speichern deaktiviert ist.","appCannotLock":"Sie haben ungespeicherte Änderungen, die verloren gehen. Fortfahren?","appAutoSave":"Änderungen automatisch speichern","appSaveError":"Fehler beim Speichern","appSaveErrorBody":"Automatisches Speichern fehlgeschlagen","appSaveErrorBodyMul":"Automatisches Speichern fehlgeschlagen:","appSaveErrorExitLoseChanges":"Schließen und alle Änderungen verlieren","appSaveErrorExitLoseChangesBody":"Du kannst entweder die App schließen und alle Änderungen verlieren, oder gehe in die Dateieinstellungen und exportiere die Daten","appSettingsError":"Fehler beim Laden der App","appSettingsErrorBody":"Es gab einen Fehler beim Laden der App-Einstellungen. Bitte überprüfen Sie die App-URL oder kontaktieren Sie Ihren Systemadministrator.","appNotSupportedError":"Ihr Browser unterstützt einige wichtige Funktionen nicht, die für diese App benötigt werden.","appTabWarn":"Zu viele Tabs","appTabWarnBody":"KeeWeb kann nicht in mehreren Browser-Tabs gleichzeitig genutzt werden, bitte schließen Sie diesen Tab.","appRightsAlert":"Schreibschutz für KeeWeb wird eingerichtet","appRightsAlertBody1":"Ihre KeeWeb-Anwendung ist nicht gegen Änderungen von außen gesichert. Um diesen Schreibschutz einzurichten, benötigt die App Administratorrechte.","appRightsAlertBody2":"Sie möchten der App keine Administratorrechte erteilen? Mit folgendem Befehl können Sie den Schreibschutz auch von Hand im Terminal aktivieren","appBrowserAuthComplete":"Die Authentifizierung ist abgeschlossen, Sie können diesen Tab jetzt schließen.","setGenTitle":"Allgemeine Einstellungen","setGenUpdate":"Update","setGenNewVersion":"Eine neue Version der App ist verfügbar und wurde heruntergeladen","setGenReleaseNotes":"Versionshinweise anzeigen","setGenReloadToUpdate":"Seite aktualisieren, um das Update durchzuführen","setGenUpdateManual":"Eine neue Version ist verfügbar. Sie wird nach Updates suchen und diese automatisch installieren, ein automatisches Update Ihrer Version ist aber nicht möglich.","setGenDownloadUpdate":"Update herunterladen","setGenUpdateAuto":"Automatisch herunterladen und installieren","setGenUpdateCheck":"Auf Updates überprüfen, aber nicht installieren","setGenNoUpdate":"Nie nach Updates suchen","setGenUpdateChecking":"Updates werden gesucht","setGenCheckUpdate":"Nach Updates suchen","setGenErrorChecking":"Updatesuche fehlgeschlagen","setGenLastCheckSuccess":"Letzte erfolgreiche Überprüfung am {}","setGenLastCheckVer":"Die aktuelle Version war {}","setGenCheckedAt":"Überprüft am","setGenLatestVer":"Sie haben die aktuellste Version","setGenNewVer":"Neue Version {} verfügbar, veröffentlicht am","setGenDownloadingUpdate":"Update wird heruntergeladen …","setGenExtractingUpdate":"Update wird entpackt …","setGenCheckErr":"Beim Herunterladen der neuen Version ist ein Fehler aufgetreten","setGenNeverChecked":"Nie nach Updates gesucht","setGenRestartToUpdate":"App neu starten, um das Update durchzuführen","setGenDownloadAndRestart":"Update herunterladen und App neu starten","setGenAppearance":"Oberfläche","setGenTheme":"Theme","setGenThemeDefault":"Standard","setGenThemeDark":"Dunkel","setGenThemeLight":"Hell","setGenThemeBlue":"Flach blau","setGenThemeFb":"Mattblau","setGenThemeBl":"Hell blau","setGenThemeBrown":"Brownie","setGenThemeDb":"Dunkelbraun","setGenThemeLb":"Hell braun","setGenThemeTerminal":"Terminal","setGenThemeTe":"Terminal","setGenThemeLt":"Hell Terminal","setGenThemeHighContrast":"Hoher Kontrast","setGenThemeHc":"Hoher Kontrast","setGenThemeDc":"Dunkel Kontrast","setGenThemeSol":"Solarized","setGenThemeSd":"Solarisiert dunkel","setGenThemeSl":"Solarisiert hell","setGenMoreThemes":"Mehr Themes","setGenAutoSwitchTheme":"Automatisch zwischen hellem und dunklem Thema umschalten, sofern möglich","setGenLocale":"Sprache","setGenLocOther":"Andere Sprachen sind als Plugins verfügbar.","setGenFontSize":"Schriftgröße","setGenFontSizeNormal":"Standard","setGenFontSizeLarge":"Groß","setGenFontSizeLargest":"Größte","setGenTitlebarStyle":"Fensterstil (erfordert Neustart des Programms)","setGenTitlebarStyleDefault":"Standard","setGenTitlebarStyleHidden":"Eigener Titel","setGenTitlebarStyleHiddenInset":"Eigener Titel, verschiebbares Fenster","setGenShowSubgroups":"Einträge aus allen Untergruppen anzeigen","setGenTableView":"Einträge in Tabellenansicht anzeigen","setGenColorfulIcons":"Eigene Symbole in der Listenansicht farbig anzeigen","setGenUseMarkdown":"Markdown in Notizen","setGenUseGroupIconForEntries":"Für neue Einträge automatisch das Gruppensymbol verwenden","setGenDirectAutotype":"Wenn nur ein passender Eintrag gefunden wird, diesen automatisch für Auto-Type auswählen","setGenFunction":"Arbeitsweise","setGenAutoSyncOnClose":"Beim Schließen speichern und synchronisieren","setGenAutoSyncTimer":"Regelmäßig speichern und synchronisieren","setGenAutoSyncTimerOff":"Abgeschaltet","setGenAutoSyncTimerInterval":"Alle {} Minuten","setGenRememberKeyFiles":"Schlüsseldateien merken","setGenNoRememberKeyFiles":"Nicht merken","setGenRememberKeyFilesData":"Im internen App-Speicher ablegen","setGenRememberKeyFilesPath":"Nur Speicherort der Schlüsseldateien merken","setGenLockInactive":"Wenn die App inaktiv ist","setGenNoAutoLock":"Nicht automatisch sperren","setGenLockMinutes":"Nach {} Minuten","setGenLockHour":"In einer Stunde","setGenLockHours":"Nach {} Stunden","setGenLockDay":"Nach einem Tag","setGenClearClip":"Zwischenablage nach dem Kopieren leeren","setGenNoClear":"Nicht leeren","setGenClearSeconds":"In {} Sekunden","setGenClearMinute":"Nach einer Minute","setGenMinInstead":"App beim Schließen stattdessen minimieren","setGenLock":"Automatisch sperren","setGenLockMinimize":"Beim Minimieren der App","setGenLockCopy":"Nach dem Kopieren eines Passworts","setGenLockAutoType":"Bei Auto-Type","setGenLockOrSleep":"Bei Aktivierung von Bildschirmsperre oder Ruhezustand","setGenStorage":"Synchronisierung","setGenDisableOfflineStorage":"Geladene Dateien nicht in Offline-Speicher zwischenspeichern","setGenStorageLogout":"Abmelden","setGenShowAdvanced":"Erweiterte Einstellungen anzeigen","setGenDevTools":"Entwicklerwerkzeuge anzeigen","setGenTryBeta":"Betaversion bis zum Schließen der App ausprobieren","setGenTryBetaWarning":"Ungespeicherte Dateien","setGenTryBetaWarningBody":"Bitte speichern Sie alle Dateien und klicken erneut auf diese Schaltfläche","setGenShowAppLogs":"App-Logs anzeigen","setGenReloadApp":"App neu laden","setGenFieldLabelDblClickAutoType":"Auto-Type durch Anklicken von Beschriftungen aktivieren","setGenTouchId":"Fingerabdruck","setGenTouchIdDisabled":"Fingerabdruck nicht benutzen","setGenTouchIdMemory":"Nur mit Fingerabdruck entsperren, wenn KeeWeb aktiv ist","setGenTouchIdFile":"Benutze immer den Fingerabdruck anstatt das Master-Passwort","setGenTouchIdPass":"Benötige Master-Passwort nach","setGenAudit":"Audit","setGenAuditPasswords":"Warnungen für schwache Passwörter anzeigen","setGenAuditPasswordEntropy":"Passwortlänge und Zufälligkeit prüfen","setGenExcludePinsFromAudit":"Kurze Pin-Codes niemals prüfen (z. B. 12345)","setGenHelpHIBP":"KeeWeb kann überprüfen ob deine Passwörter bei einem früheren Datenleck veröffentlicht wurden. Deine Passwörter können nicht beim übertragen ausgelesen werden, aber die Anzahl der überprüften Passwörter kann möglicherweise entdeckt werden. {} kannst du mehr über den Datenschutz beim Nutzen dieses Dienstes erfahren. Wenn diese Option aktiviert ist überprüft KeeWeb deine Passwörter automatisch.","setGenHelpHIBPLink":"hier","setGenAuditPasswordAge":"Alte Passwörter","setGenAuditPasswordAgeOff":"Zeige keine Warnungen über alte Passwörter","setGenAuditPasswordAgeOneYear":"Zeige Warnungen für Passwörter die über ein Jahr alt sind","setGenAuditPasswordAgeYears":"Zeige Warnungen für Passwörter die über {} Jahre alt sind","setFilePath":"Dateipfad","setFileStorage":"Diese Datei wird von {} geladen.","setFileIntl":"Diese Datei ist im internen App-Speicher abgelegt","setFileLocalHint":"Sie wollen nahtlos mit lokalen Dateien arbeiten?","setFileDownloadApp":"Laden Sie die Desktop-App herunter","setFileSave":"Speichern","setFileSaveTo":"Speichern unter …","setFileClose":"Sperren","setFileSync":"Synchronisierung","setFileSyncVerb":"Synchronisieren","setFileSaveToXml":"XML","setFileSaveToHtml":"HTML","setFileLastSync":"Letzte Synchronisierung","setFileLastSyncUnknown":"unbekannt","setFileSyncInProgress":"Synchronisierung läuft","setFileSyncError":"Synchronisierungsfehler","setFilePass":"Hauptpasswort","setFileConfirmPass":"Masterpasswort bestätigen","setFilePassChange":"Um das Passwort zu ändern, geben Sie es im Bestätigungsfeld an","setFilePassChanged":"Das Passwort wurde geändert. Lassen Sie das Feld leer, um das bisherige Passwort zu behalten.","setFilePassNotMatch":"Die Passwörter stimmen nicht überein, bitte geben Sie diese erneut ein","setFileKeyFile":"Schlüsseldatei","setFileSelKeyFile":"Schlüsseldatei auswählen","setFileNames":"Namen","setFileDefUser":"Standard-Benutzername","setFileEnableTrash":"Papierkorb aktivieren","setFileHistMode":"Eintragsverlauf","setFileHistLimited":"Alte Einträge im Verlauf automatisch löschen","setFileHistDisabled":"Keinen Verlauf speichern","setFileHistUnlimited":"Verlauf dauerhaft speichern","setFileHistLen":"Anzahl der im Verlauf gespeicherten Versionen","setFileHistSize":"Maximalgröße des Verlaufs pro Datei in MB","setFileBackups":"Sicherungen","setFileBackupEnable":"Diese Datei sichern","setFileBackupPath":"Sicherungspfad","setFileBackupTime":"Sicherungen anlegen","setFileBackupNow":"Jetzt sichern","setFileBackupNowWorking":"Ausführung läuft …","setFileBackupError":"Sicherungsfehler","setFileBackupErrorDescription":"Fehler beim Schreiben der Sicherungsdatei","setFileBackupErrorIsDir":"Der Sicherungspfad ist ungültig","setFileBackupErrorIsDirDescription":"Der Sicherungspfad scheint ein Verzeichnis zu sein. Bitte geben Sie stattdessen einen Dateinamen ein.","setFileBackupOnSave":"Immer, wenn die Datei gespeichert wird","setFileBackupDaily":"Täglich","setFileBackupWeekly":"Wöchentlich","setFileBackupMonthly":"Monatlich","setFileBackupManually":"Manuell, keine automatische Sicherung","setFileRounds":"Verschlüsselungs-Runden","setFileKdfParams":"Schlüsselableitungsfunktion","setFileKdfParamsIter":"Iterationen","setFileKdfParamsMem":"Speicher in KB","setFileKdfParamsPar":"Parallelismus","setFileKeyChangeForce":"Hinweis zum Ändern des Schlüssels nach (Tagen)","setFileUseKeyFile":"Schlüsseldatei benutzen","setFileUseGenKeyFile":"Generierte Schlüsseldatei benutzen","setFileUseOldKeyFile":"Alte Schlüsseldatei benutzen","setFileGenKeyFile":"Neue Schlüsseldatei generieren","setFileDontUseKeyFile":"Keine Schlüsseldatei verwenden","setFileEmptyPass":"Leeres Passwort","setFileEmptyPassBody":"Eine Datenbank ohne Passwort zu speichern, macht diese vollkommen ungeschützt. Möchten Sie dies trotzdem tun?","setFileSaveError":"Fehler beim Speichern","setFileSaveErrorBody":"Schreibfehler beim Speichern","setFileAlreadyExists":"Existiert bereits","setFileAlreadyExistsBody":"Die Datei {} existiert bereits. Überschreiben?","setFileUnsaved":"Ungespeicherte Änderungen","setFileUnsavedBody":"Es gibt ungespeicherte Änderungen in dieser Datei","setFileCloseNoSave":"Sperren und Änderungen verwerfen","setFileDontClose":"Nicht sperren","setFileFormatVersion":"Dateiformat","setFileExportRaw":"Passwörter exportieren","setFileExportRawBody":"Die Exportdatei wird Ihre Passwörter als unverschlüsselten Klartext enthalten. Möchten Sie fortfahren?","setFileDeviceIntro":"Einmal-Codes aus diesem {} werden in der App angezeigt.","setFileDeviceSettings":"Einstellungen","setFileYubiKey":"YubiKey","setFileDontUseYubiKey":"Keinen YubiKey verwenden","setFileRefreshYubiKeyList":"Liste aktualisieren","setFileYubiKeyHeader":"YubiKey","setFileYubiKeyBody":"Es ist gefährlich, einen YubiKey als Teil des Hauptschlüssels zu verwenden. Falls etwas schief geht, besteht möglicherweise kein Zugriff mehr auf die Passwörter. Haben Sie ein Backup Ihrer Datei erstellt, bevor diese Einstellung geändert wurde?","setFileYubiKeyErrorEmptyMac":"Scheinbar wurde ein YubiKey angeschlossen, er ist aber nicht sichtbar. KeeWeb muss in den Sicherheitseinstellungen im Abschnitt Input-Monitoring hinzugefügt werden, um auf YubiKeys zugreifen zu können.","setShTitle":"Tastenkürzel","setShShowAll":"alle Einträge anzeigen","setShColors":"mit Farben markierte Einträge anzeigen","setShTrash":"Papierkorb öffnen","setShFind":"Suchen oder einfach beginnen zu tippen","setShClearSearch":"Suchfeld leeren","setShCopyPass":"Passwort bzw. ausgewähltes Feld kopieren","setShCopyUser":"Benutzername kopieren","setShCopyUrl":"Website kopieren","setShAutoType":"Auto-Type für ausgewählten Eintrag","setShPrev":"zum vorherigen Eintrag gehen","setShNext":"zum nächsten Eintrag gehen","setShCreateEntry":"Neuer Eintrag","setShOpen":"Öffnen / Neu","setShSave":"Alle Dateien speichern","setShGen":"Passwort generieren","setShSet":"App-Einstellungen","setShCopyPassGlobal":"Passwort kopieren","setShCopyOtp":"Einmal-Passwort kopieren","setShAutoTypeGlobal":"Auto-Type","setShCopyPassOnly":"Passwort kopieren","setShRestoreApp":"{} öffnen","setShGlobal":"Diese systemweiten Tastenkürzel funktionieren auch, wenn die App im Hintergrund läuft. Klicken Sie auf einen Eintrag, um ein eigenes Kürzel festzulegen.","setShLock":"Datenbank sperren","setShEdit":"Drücken Sie eine Tastenkombination, um diese als Kürzel zu festzulegen","setPlInstallTitle":"Neue Plugins installieren","setPlInstallDesc":"KeeWeb-Plugins fügen Funktionen, Themes und Sprachen zu KeeWeb hinzu. Plugins werden mit denselben Rechten ausgeführt wie KeeWeb selbst, sie können auf all Ihre Passwörter zugreifen oder diese ändern. Installieren Sie niemals Plugins, denen Sie nicht vertrauen.","setPlInstallLabel":"Plugin-URL","setPlInstallBtn":"Installieren","setPlInstallBtnProgress":"Installation läuft","setPlUninstallBtn":"Deinstallieren","setPlDisableBtn":"Deaktivieren","setPlEnableBtn":"Aktivieren","setPlUpdateBtn":"Aktualisieren","setPlLocaleBtn":"Diese Sprache aktivieren","setPlThemeBtn":"Dieses Theme aktivieren","setPlJs":"Code","setPlCss":"Stile","setPlLoc":"Sprache","setPlCreatedBy":"Erstellt von {}","setPlLoadTime":"geladen in {}","setPlLastUpdate":"Letzte Prüfung auf Updates","setPlLoadError":"Fehler beim Laden des Plugins","setPlGalleryLoading":"Plugins werden geladen, bitte einen Moment warten","setPlGalleryLoadError":"Fehler beim Laden der Plugins","setPlInstallUrlTitle":"Plugin von einer URL hinzufügen","setPlInstallUrlDesc":"Wenn das Plugin nicht in der Galerie verfügbar ist, können Sie es manuell von einer URL installieren","setPlOfficial":"Offizielles KeeWeb-Plugin","setPlSearch":"Nach Plugins suchen","setPlDevelop":"Eigene Plugins entwickeln?","setPlDevelopStart":"Hier entlang","setPlTranslate":"Oder {}","setPlTranslateLink":"übersetzen Sie die App in Ihre Sprache","setPlAutoUpdate":"Automatisch aktualisieren","setPlLoadGallery":"Plugin-Galerie laden","setDevicesTitle":"Geräte","setDevicesEnableUsb":"Interaktion mit USB-Geräten aktivieren","setDevicesYubiKeyIntro":"Es wird empfehlen {} zu lesen, bevor ein YubiKey verwendet wird.","setDevicesYubiKeyIntroLink":"dieses Dokument","setDevicesYubiKeyToolsDesc":"Um YubiKey in diesem Modus verwenden zu können, müssen Sie vorher das Tool {} installieren.","setDevicesYubiKeyToolsDesc2":"{}, um mehr Informationen über dieses Tool zu erhalten.","setDevicesYubiKeyToolsDescLink":"Hier klicken","setDevicesYubiKeyToolsStatusChecking":"Prüfung, ob {} installiert ist","setDevicesYubiKeyToolsStatusOk":"{} ist installiert","setDevicesYubiKeyToolsStatusError":"{} ist nicht installiert oder funktioniert nicht korrekt","setDevicesYubiKeyOtpTitle":"Einmal-Codes","setDevicesYubiKeyOtpDesc":"Ein YubiKey kann genutzt werden, um Einmal-Codes für verschiedene Dienste zu erzeugen.","setDevicesYubiKeyOtpShowIcon":"Das Symbol auf der Startseite anzeigen","setDevicesYubiKeyOtpAutoOpen":"Einmal-Codes automatisch laden, wenn Dateien geöffnet sind","setDevicesYubiKeyOtpMatchEntries":"Passende Einmal-Codes in den Einträgen anzeigen","setDevicesYubiKeyChalRespTitle":"Challenge-Response","setDevicesYubiKeyChalRespDesc":"Es ist auch möglich, einen YubiKey im Challenge-Response-Modus zu verwenden, um einen Teil des Private Schlüssels, der zum Verschlüsseln der Dateien verwendet wird, auf dem YubiKey zu speichern.","setDevicesYubiKeyChalRespShow":"Optionen zum Verwenden eines YubiKeys beim Öffnen von Dateien anzeigen","setDevicesYubiKeyStuckWorkaround":"YubiKey entfernen und neu verbinden, falls der Ladeprozess hängt","setDevicesYubiKeyRememberChalResp":"Challenge-Response-Einstellungen merken, während die App geöffnet ist","setAboutTitle":"Über","setAboutBuilt":"Diese App wurde mit folgenden Werkzeugen erstellt","setAboutLic":"Lizenz","setAboutLicComment":"Die App selbst und alle enthaltenen Komponenten, die nicht Public Domain sind, stehen unter der MIT-Lizenz.","setAboutFirst":"Dies ist eine Open-Source App, erstellt von {}","setAboutSecond":"und lizenziert unter {}.","setAboutSource":"Quellcode und Tickets befinden sich auf {}.","setHelpFormat":"Dateiformat","setHelpFormatBody":"Dies ist eine Portierung der App {}, programmiert mit Webtechnologien. Sie ist kompatibel mit Dateien im KeePass-Format (kdbx). Sie können solche Dateien (Passwort-Datenbanken) entweder mit KeePass oder mit dieser App erstellen. Das Dateiformat ist zu 100 % kompatibel und sollte in beiden Anwendungen nutzbar sein.","setHelpProblems":"Probleme?","setHelpProblems1":"Falls etwas schief geht, {}","setHelpProblems2":"oder {}","setHelpOpenIssue":"eröffnen Sie bitte ein Ticket auf GitHub (englisch)","setHelpContactLink":"kontaktieren Sie den Entwickler direkt","setHelpAppInfo":"App-Informationen","setHelpOtherPlatforms":"Andere Plattformen","setHelpDesktopApps":"Deskop-Apps","setHelpWebApp":"Web-App","setHelpUpdates":"Neuigkeiten","setHelpTwitter":"Twitter","dropboxSetupDesc":"Etwas Konfiguration ist notwendig, um Dropbox in einer selbst gehosteten Web-App zu verwenden. Bitte erstellen Sie eine eigene Dropbox-App und tragen Sie ihren App-Schlüssel unten ein.","dropboxAppKey":"Dropbox-App-Schlüssel","dropboxAppKeyDesc":"Kopieren Sie den Schlüssel aus Ihrer Dropbox-App (Entwicklereinstellungen)","dropboxAppKeyHint":"Ihr App-Schlüssel","dropboxAppSecret":"Dropbox-App-Secret","dropboxAppSecretDesc":"Das App-Secret ist neben dem App-Schlüssel zu finden","dropboxFolder":"App-Ordner","dropboxFolderDesc":"Wenn Ihre App mit der gesamten Dropbox verlinkt ist (anstatt mit einem bestimmten Ordner), geben Sie hier den Pfad zum Ordner mit Ihren KDBX-Dateien an.","dropboxFolderSettingsDesc":"Wählen Sie einen Ordner in Ihrer Dropbox, in dem die Dateien gespeichert werden (standardmäßig das Stammverzeichnis)","dropboxFolderPlaceholder":"Standardordner","dropboxLink":"App verlinken mit","dropboxLinkApp":"App-Ordner (Apps/KeeWeb)","dropboxLinkFull":"Gesamte Dropbox oder beliebiger Ordner","dropboxLinkCustom":"Eigene Dropbox-App","gdriveSharedWithMe":"Mit mir geteilt","webdavSaveMethod":"Speichermethode","webdavSaveMove":"Eine temporäre Datei hochladen und verschieben","webdavSavePut":"kdbx-Datei mittels PUT überschreiben","launcherSave":"Passwortdatenbank speichern","launcherFileFilter":"KeePass-Dateien","authPopupRequired":"Pop-ups blockiert","authPopupRequiredBody":"Bitte erlauben Sie Pop-ups in Ihrem Browser.","exportFileInfo":"Dateiinformationen","exportHtmlName":"Name","exportHtmlDate":"Exportdatum","exportGenerator":"Software","exportDescription":"Diese Datei wurde mit {} erstellt.","importCsvTitle":"Aus CSV importieren","importCsvRun":"Importieren","importIgnoreField":"Ignorieren","importTo":"Einträge werden importiert nach:","importNewFile":"Neue Datei","yubiKeyStuckError":"Der YubiKey scheint nicht mehr zu funktionieren. Auto-Repair kann in den App-Einstellungen aktiviert werden.","yubiKeyNoKeyHeader":"YubiKey benötigt","yubiKeyNoKeyBody":"Bitte den YubiKey mit der Seriennummer {} anschließen","yubiKeySlot":"Anschluss","yubiKeyTouchRequestedHeader":"Bitte den YubiKey berühren","yubiKeyTouchRequestedBody":"Bitte den YubiKey mit der Seriennummer {} berühren","yubiKeyDisabledErrorHeader":"USB ist deaktiviert","yubiKeyDisabledErrorBody":"YubiKey ist zum Öffnen dieser Datei erforderlich. Bitte USB-Geräte in den Einstellungen aktivieren.","yubiKeyErrorWithCode":"YubiKey-Fehler, Code {}.","bioOpenAuthPrompt":"„{}“ öffnen"}')},8515:e=>{"use strict";e.exports=JSON.parse('{"retToApp":"retour vers l\'appli","name":"nom","icon":"icône","title":"titre","password":"mot de passe","user":"utilisateur","website":"site web","tags":"tags","notes":"notes","entry":"entrée","group":"groupe","noTitle":"aucun titre","or":"ou","history":"historique","template":"modèle","templates":"templates","notImplemented":"Non Implémenté","saveChanges":"Sauvegarder les modifications","discardChanges":"Annuler les modifications","advanced":"Avancé","shortcuts":"Raccourcis","help":"Aide","settings":"Paramètres","plugins":"Modules (plugins)","ctrlKey":"ctrl","shiftKey":"shift","altKey":"alt","error":"erreur","oneMinute":"une minute","minutes":"{} minutes","oneHour":"une heure","hours":"{} heures","oneDay":"un jour","days":"{} jours","oneWeek":"une semaine","oneMonth":"un mois","oneYear":"une année","cache":"cache","file":"fichier","device":"appareil","webdav":"WebDAV","dropbox":"Dropbox","gdrive":"Google Drive","onedrive":"OneDrive","menuAllItems":"Tout","menuColors":"Couleurs","menuTrash":"Corbeille","menuSetGeneral":"Général","menuSetBrowser":"Navigateur","menuSetAbout":"À propos","menuSetDevices":"Appareils","menuAlertNoTags":"Aucun tag","menuAlertNoTagsBody":"Vous pouvez ajouter de nouveaux tags en éditant les champs, dans la section Tags.","menuEmptyTrash":"Vider la Corbeille","menuEmptyTrashAlert":"Vider la Corbeille ?","menuEmptyTrashAlertBody":"Vous ne pourrez plus récupérer ces éléments","menuItemCollapsed":"Double-cliquez pour déplier","menuRestoreApp":"Ouvrir {}","menuQuitApp":"Quitter {}","sysMenuAboutKeeWeb":"A propos {}","sysMenuServices":"Services","sysMenuHide":"Cacher {}","sysMenuHideOthers":"Cacher autres","sysMenuUnhide":"Montrer tout","sysMenuQuit":"Quitter {}","sysMenuEdit":"Editer","sysMenuUndo":"Annuler","sysMenuRedo":"Répéter","sysMenuCut":"Couper","sysMenuCopy":"Copier","sysMenuPaste":"Coller","sysMenuSelectAll":"Tout sélectionner","sysMenuWindow":"Fenêtre","sysMenuMinimize":"Réduire","sysMenuClose":"Fermer fenêtre","alertYes":"Oui","alertNo":"Non","alertOk":"OK","alertCancel":"Annuler","alertSignIn":"Connexion","alertCopy":"Copier","alertClose":"Fermer","alertDoNotAsk":"Ne plus me le redemander","alertAllow":"Autoriser","alertDeny":"Refuser","appBeta":"ATTENTION: version beta, aperçu seulement","footerOpen":"Ouvrir/Nouveau","footerSyncError":"Erreur de synchronisation","footerTitleGen":"Générer","footerTitleLock":"Verrouiller","genLen":"Longueur","genNewPass":"Nouveau mot de passe","genPresetDefault":"réglages par défaut","genPresetDerived":"similaire à l\'ancien mot de passe","genPresetPronounceable":"prononçable","genPresetMed":"longueur moyenne","genPresetLong":"long","genPresetPin4":"code à 4 chiffres","genPresetMac":"adresse MAC","genPresetHash128":"hash 128 bits","genPresetHash256":"hash 256 bits","genHidePass":"Masquer le mot de passe","genShowPass":"Afficher le mot de passe","grpTitle":"Groupe","grpSearch":"Activer la recherche dans les entrées de ce groupe","grpAutoType":"Activer l\'auto-complétion","grpAutoTypeSeq":"Séquence d\'auto-complétion","grpAutoTypeSeqDefault":"Utiliser la séquence d\'auto-complétion par défaut","grpTrash":"Supprimer le groupe et toutes ses entrées","tagTitle":"Tag","tagTrash":"Supprimer le tag de toutes les entrées","tagRename":"Renommer","tagTrashQuestion":"Supprimer le tag de toutes les entrées ?","tagTrashQuestionBody":"Ce tag va être supprimé de toutes les entrées. Il n\'y aura pas de moyen facile pour le remettre.","tagExists":"Ce tag existe déjà","tagExistsBody":"Un tag existe déjà avec ce nom. Merci de choisir un autre nom.","tagBadName":"Nom invalide","tagBadNameBody":"Les noms de Tag ne peuvent contenir les caractères {}. Veuillez les supprimer.","genPsTitle":"Préréglages du Générateur","genPsCreate":"Nouveau préréglage","genPsDelete":"Supprimer préréglage","genPsNew":"préréglage","genPsEnabled":"Afficher dans la liste des préréglages","genPsDefault":"Sélectionné par défaut","genPsDefaultLength":"Longueur par défaut","genPsUpper":"Lettres latines majuscules","genPsLower":"Lettres latines minuscules","genPsDigits":"Chiffres","genPsSpecial":"Caractères spéciaux","genPsBrackets":"Parenthèses","genPsHigh":"Caractères ASCII étendus","genPsAmbiguous":"Caractères ambigus","genPsInclude":"Caractères additionnels à inclure","genPsExample":"Exemple de mot de passe généré","genPsPattern":"Modèle","genPsPatternHelp":"Des modèles peuvent être utilisés pour spécifier des règles de sélection de caractères. 1-AA générera un mot de passe commençant par un chiffre, suivi d\'un tiret et de 2 lettres. Vous pouvez utiliser ces symboles :","genPsAllRanges":"Tous les caractères","genPsIncluded":"Caractères additionnels ajoutés ci-dessus","keyChangeTitleRemote":"Clé Maître Modifiée","keyChangeMessageRemote":"La clé maître a été modifiée pour cette base de données. Merci de saisir une nouvelle clé.","keyChangeTitleExpired":"Clé Maître Expirée","keyChangeMessageExpired":"La clé maître pour cette base de donnée est expirée. Merci de saisir une nouvelle clé.","keyChangeRepeatPassword":"Mot de passe, encore une fois","keyEnter":"Entrée","keyEsc":"Esc","iconFavTitle":"Télécharger et utiliser le favicon du site web","iconSelCustom":"Sélectionner une icône personnalisée","listEmptyTitle":"Vide","listEmptyAdd":"ajouter avec le bouton {} au-dessus","listGroup":"Groupe","listNoWebsite":"aucun site web","listNoUser":"aucun utilisateur","listNoAttachments":"aucune pièce-jointe","listAddTemplateHeader":"Modèles","listAddTemplateBody1":"Les modèles (templates) vous permettent de créer des nouvelles entrées en un clic. Ajouter quelque chose à l\'entrée du modèle et ensuite cliquer de nouveau sur {} pour utiliser ce modèle.","listAddTemplateBody2":"Vous pouvez toujours retrouver vos modèles dans le groupe {}.","searchAddNew":"Ajouter Nouveau","searchSort":"Trier","searchCreated":"Créé","searchUpdated":"Mis à jour","searchAttachments":"Pièce-jointes","searchAZ":"A {} Z","searchZA":"Z {} A","searchON":"Ancien {} Nouveau","searchNO":"Nouveau {} Ancien","searchShiftClickOr":"maj-click ou","searchAdvTitle":"Afficher/masquer recherche avancée","searchSearchIn":"Rechercher dans","searchOther":"Autres champs","searchProtect":"Champs sécurisés","searchOptions":"Options","searchCase":"Respecte la casse","searchRegex":"RegEx","searchRank":"Auto","searchExact":"Exact","openOpen":"Ouvrir","openNew":"Nouveau","openNewFile":"Nouveau","openMore":"Plus","openDemo":"Démo","openGenerate":"Générer","openXml":"Importer XML","openCaps":"Majuscules activées","openClickToOpen":"Cliquer pour ouvrir un fichier","openKeyFile":"fichier clé","openKeyFileDropbox":"(depuis DropBox)","openDropHere":"déposez les fichiers ici","openFailedRead":"Échec lors de la lecture du fichier","openNothingFound":"Aucun résultat","openNothingFoundBody":"Nous n\'avons trouvé aucun fichier convenable.","openSelectFile":"Sélectionnez un fichier","openSelectFileBody":"Sélectionnez un fichier que vous voudriez ouvrir","openPassFor":"Mot de passe pour","openRemoveLastQuestion":"Supprimer le fichier local ?","openRemoveLastQuestionBody":"Le fichier que vous voulez supprimer est sauvegardé dans l\'appli. Le supprimer de façon définitive ?","openRemoveLastQuestionModBody":"Le fichier que vous voulez supprimer a des modifications locales. Le supprimer et annuler ces modifications ?","openLocalFile":"Fichier local","openLocalFileBody":"Vous allez ouvrir un fichier qui sera stocké dans l\'application. Les modifications apportées ne seront pas sauvegardées vers le système de fichiers. Pour obtenir le fichier avec vos données, exportez-le via les paramètres.","openLocalFileDontShow":"Ne plus afficher","openWrongFile":"Fichier invalide","openWrongFileBody":"Ce format de fichier n\'est pas supporté. Cette application fonctionne avec des fichiers de base de donnée KeePass (kdbx).","openKdbFileBody":"Vous essayez d\'ouvrir un ancien fichier de base de donnée KeePass (KDB). Cette application supporte uniquement le nouveaux format (kdbx), merci d\'utiliser KeePass 2 afin de convertir celui-ci.","openConfigHeader":"Paramètres {}","openUrl":"URL","openUrlDesc":"https://serveur/chemin/fichier.kdbx, ou seulement fichier.kdbx","openUser":"Nom d\'utilisateur","openUserDesc":"Nom d\'utilisateur du serveur WebDAV (si requis)","openUserPlaceholder":"aucun nom d\'utilisateur","openPass":"Mot de passe","openPassDesc":"Mot de passe du serveur WebDAV (ce n\'est pas votre mot de passe de fichier)","openPassPlaceholder":"aucun mot de passe","openConfigError":"Erreur: {}","openConfigErrorNotFound":"Aucun fichier trouvé","openError":"Erreur","openErrorDescription":"Une erreur est survenue à l\'ouverture du fichier","openErrorDescriptionMaybeTouchIdChanged":"L\'erreur ressemble à ce qu\'y arrive habituellement quand la configuration de Touch ID a été changée. Par exemple, vous avez ajouté ou supprimé un doigt supplémentaire. Si c\'est le cas, allez dans Paramètres, désactiver Touch ID et activer le de nouveau.","openErrorFileNotFound":"Fichier non trouvé","openListErrorBody":"Erreur au chargement de la liste des fichiers","openShowAllFiles":"Tous les fichiers","openFileNoCacheError":"Fichier non trouvé dans la mémoire cache. Cela peut arriver parce que le stockage du navigateur a été nettoyé. Pour ouvrir le fichier, supprimez-le de KeeWeb et ajoutez-le à nouveau.","openChalRespHeader":"Challenge-Réponse","openChalRespLoading":"Chargement de la liste des YubiKeys","openChalRespSelectYubiKey":"Sélectionnez une YubiKey que vous voudriez utiliser","openChalRespErrorEmpty":"Pas de clé YubiKey trouvée.","openChalRespErrorEmptyMac":"Première fois que vous utilisez cette fonctionnalité sur MacOS ? KeeWeb doit avoir été autorisé dans la section \\"Surveillance de lentrée\\" des paramètres de sécurité.","detAttDownload":"Cliquez sur le bouton de pièce-jointe en pressant la touche Maj pour le télécharger ou","detAttDelToRemove":"Supprimer pour enlever","detAttSave":"Enregistrer sous","detEmpty":"Vos mots de passe seront affichés ici","detGroupRestore":"Pour restaurer ce groupe, veuillez le glisser-déposer dans un des groupes hors de la corbeille","detHistoryClickPoint":"Cliquer sur une entrée de l\'historique pour voir son état","detHistoryReturn":"Retour vers l\'entrée","detHistoryRevert":"Revenir à cet état","detHistoryDel":"Supprimer cet état","detHistoryEmpty":"vide","detHistoryModified":"modifié","detHistoryRec":"archive","detHistoryRecs":"archives","detHistoryVersion":"Version","detHistorySaved":"Sauvegardé","detHistoryNoTitle":"sans titre","detHistoryCurState":"état actuel","detHistoryCurUnsavedState":"état actuel non sauvegardé","detHistoryRevertAlert":"Revenir à cet état de l\'historique ?","detHistoryRevertAlertBody":"L\'état courant sera sauvegardé dans l\'historique.","detHistoryDeleteAlert":"Supprimer cet état de l\'historique ?","detHistoryDeleteAlertBody":"Vous ne pourrez plus le restaurer.","detHistoryDiscardChangesAlert":"Ne pas sauvegarder les modifications de cette entrée ?","detHistoryDiscardChangesAlertBody":"Les changements non sauvegardés seront définitivement perdus, il n\'y a pas de retour en arrière.","detBackToList":"retour vers liste","detSetIconColor":"Changer de couleur","detSetIcon":"Changer d\'icône","detDropAttachments":"Déposer une pièce-jointe ici","detDelEntry":"Supprimer","detDelEntryPerm":"Supprimer définitivement","detExpires":"Expire","detExpired":"expirée","detGroup":"Groupe","detCreated":"Créé le","detUpdated":"Mis à jour","detNetField":"Nouveau champ","detAttachments":"Pièces-jointes","detDelFromTrash":"Supprimer de la Corbeille ?","detDelFromTrashBody":"Vous ne pourrez plus le récupérer.","detDelFromTrashBodyHint":"Pour supprimer tous les éléments de la Corbeille, cliquez licône \\"Vider la corbeille\\" du menu Corbeille.","detDelToTrash":"Supprimer l\'entrée ?","detDelToTrashBody":"L\'entrée sera déplacée dans la corbeille.","detFieldCopied":"Copié","detFieldCopiedTime":"Copié pendant {} secondes","detCopyHint":"Vous pouvez copier la valeur du champ en cliquant sur ton titre","detMore":"plus","detClickToAddField":"cliquez pour ajouter un nouveau champ","detMenuAddNewField":"Ajouter nouveau champ","detMenuAddNewWebsite":"Ajouter un autre site","detMenuShowEmpty":"Montrer les champs vides","detMenuHideEmpty":"Cacher les champs vides","detMenuAddField":"Ajouter {}","detMenuCopyPassword":"Copier mot de passe","detMenuCopyUser":"Copier nom","detMenuCopyOtp":"Copier le code à usage unique","detSetupOtp":"Codes à usage unique","detClone":"Dupliquer","detCopyEntryToClipboard":"Copier tous les champs","detClonedName":"Copier","detAutoType":"Saisie auto","detAutoTypeSettings":"Paramètres saisie auto","detAutoTypeEnabled":"Activer la saisie automatique pour cette entrée","detAutoTypeSequence":"Frappes","detAutoTypeInput":"Entrée","detAutoTypeShortcutsDesc":"{} ou {} tant que l\'appli est inactive","detAutoTypeObfuscation":"Mélanger touches réelles et aléatoire","detAutoTypeWindow":"Fenêtre","detAutoTypeInputWindow":"Titre de fenêtre","detSetupOtpAlert":"Scanner le QR code","detSetupOtpAlertBody":"Veuillez copier le QR code qui est affiché sur la page d\'autorisation","detSetupOtpAlertBody1":"1. aller sur la page d\'autorisation","detSetupOtpAlertBody2":"2. faire une capture d\'écran du QR code avec {}","detSetupOtpAlertBody3":"3. collez-la ici avec {}","detSetupOtpAlertBody3Mobile":"3. Sélectionner ou scanner avec votre appareil photo en utilisant Sélectionner/Scan ci-dessous","detSetupOtpAlertBody4":"Si vous ne pouvez pas scanner le code, cliquer sur Entrer le code manuellement","detSetupOtpManualButton":"Entrer le code manuellement","detSetupOtpScanButton":"Sélectionner/Scan","detSetupOtpAlertBodyWith":"avec {}","detOtpImageError":"Erreur de lecture de l\'image","detOtpImageErrorBody":"Désolé, le format de l\'image ne peut pas être lu, merci de contacter les auteurs de l\'application avec le détail de l\'erreur.","detOtpImageReading":"Lecture du QR code...","detOtpQrError":"Erreur lecture du QR code","detOtpQrErrorBody":"Désolé, le QR code n\'a pas pu être lu, essayez à nouveau ou contacter les auteurs de l\'application avec le détail de l\'erreur.","detOtpQrWrong":"QR code incorrect","detOtpQrWrongBody":"Votre code QR code a été scanné avec succès mais il ne contient pas d\'information pour un code à usage unique.","detOtpField":"Code à usage unique","detOtpClickToTouch":"Cliquer pour générer","detOtpGenerating":"Création...","detOtpTouch":"Touchez votre {}","detLockField":"Verrouiller ce champ, ainsi son contenu ne sera pas visible ni ne pourra être cherché. Visualiser son contenu exigera de le cliquer explicitement.","detUnlockField":"Déverrouiller ce champ, rendant son contenu immédiatement visible et pouvant être cherché","detRevealField":"Révéler","detHideField":"Cacher","detAutoTypeField":"Saisie auto","detIssuesHideTooltip":"Cacher cet avertissement","detIssueWeakPassword":"Ce mot de passe est faible, nous vous recommandons de le changer","detIssuePoorPassword":"Ce mot de passe est très faible, nous vous recommandons très fort de le changer","detIssuePwnedPassword":"Ce mot de passe a été exposé à une faille selon {}, il est recommandé de le changer","detIssuePasswordCheckError":"Une erreur est survenue en vérifiant la force du mot de passe en ligne","detIssueOldPassword":"Ce mot de passe est vieux","detIssueCloseAlertHeader":"Cacher les problèmes de mots de passe","detIssueCloseAlertBody":"Il y a plusieurs façon de cacher ce message :","detIssueCloseAlertEntry":"Ne plus montrer pour cette entrée","detIssueCloseAlertSettings":"Modifier les paramètres globaux","autoTypeEntryFields":"Champs","autoTypeModifiers":"Touches modificatrices","autoTypeKeys":"Clés","autoTypeLink":"plus...","autoTypeError":"Erreur saisie auto","autoTypeErrorGeneric":"Il y a eu une erreur lors de la saisie automatique : {}","autoTypeErrorAccessibilityMacOS":"Nous avons essayé d\'envoyer les frappes de caractères à cette application mais cela ne semble pas fonctionner parce qu\'il manque des permissions. Cliquer ici pour en lire plus.","autoTypeErrorGlobal":"Pour utiliser un raccourci global, sélectionner l\'application là où vous voulez saisir le mot de passe","autoTypeErrorNotInstalled":"{} n\'est pas installé","autoTypeHeader":"Saisie auto : Selectionner","autoTypeMsgNoWindow":"Nous n\'avons pas pu obtenir le titre de la fenêtre active, commencez à taper pour rechercher","autoTypeMsgMatchedByWindow":"Sélectionner un mot de passe pour {}","autoTypeNoMatches":"aucun","autoTypeSelectionHint":"Saisissez la séquence automatique","autoTypeSelectionHintAction":"Entrez seulement le mot de passe","autoTypeSelectionHintOpt":"Entrez seulement le compte","autoTypeSelectionHintShift":"Autres champs","autoTypeSelectionOtp":"code à usage unique","autoTypeUnlockMessage":"Déverrouiller pour saisir automatiquement","appSecWarn":"Non sécurisé !","appSecWarnBody1":"Vous avez chargé cette appli avec une connexion non sécurisée. Quelqu\'un peut vous observer et voler vos mots de passe. Nous vous recommandons fortement d\'arrêter cette connexion, à moins que vous ne compreniez exactement ce que vous faites.","appSecWarnBody2":"Oui, votre base est chiffrée mais personne ne peut garantir que l\'application n\'a pas été modifiée avant d\'arriver à vous.","appSecWarnBtn":"Je comprends les risques, continuer","appUnsavedWarn":"Modifications non sauvegardées","appUnsavedWarnBody":"Vous avez des fichiers non sauvegardés, si vous fermez l\'appli, les changements seront perdus.","appDontExitBtn":"Ne pas quitter","appCannotLockAutoInit":"L\'appli ne peut pas être verrouillée car la sauvegarde automatique est désactivée.","appCannotLock":"Vous avez des modifications non sauvegardées qui seront perdus. Continuer ?","appAutoSave":"Sauver les modifications automatiquement","appSaveError":"Sauver l\'erreur","appSaveErrorBody":"Échec sauvegarde auto du fichier","appSaveErrorBodyMul":"Échec sauvegarde auto des fichiers","appSaveErrorExitLoseChanges":"Afsluiten en alle aanpassingen kwijtraken","appSaveErrorExitLoseChangesBody":"Je kunt de app afsluiten en alle wijzigingen kwijtraken, of je kunt de bestandsinstellingen gebruiken om gegevens te exporteren","appSettingsError":"Erreur lancement appli","appSettingsErrorBody":"Il y a eu une erreur lors du chargement des paramètres. Merci de revérifier l\'URL de l\'application ou contacter votre administrateur.","appNotSupportedError":"Votre navigateur n\'est pas compatible avec certaines fonctionnalités importantes que nous utilisons.","appTabWarn":"Trop d\'onglets","appTabWarnBody":"KeeWeb ne peut être utilisé dans 2 onglets de navigateurs simultanément. Fermer cet onglet, s\'il vous plait.","appRightsAlert":"Protéger l\'appli KeeWeb","appRightsAlertBody1":"Votre application KeeWeb est accessible en écriture. Nous demandons les droits administrateurs pour le mettre en écriture uniquement pour les administrateurs.","appRightsAlertBody2":"Vous ne voulez pas donner les permissions ? Vous pouvez le faire vous-même à partir d\'un terminal","appBrowserAuthComplete":"Authentification terminée, vous pouvez fermer cet onglet.","setGenTitle":"Paramètres","setGenUpdate":"Mettre à jour","setGenNewVersion":"Une nouvelle version a été téléchargée","setGenReleaseNotes":"Voir les notes de version","setGenReloadToUpdate":"Recharger pour mettre à jour","setGenUpdateManual":"Une nouvelle version est disponible. Elle vérifiera les mises à jour et les installera automatiquement, mais cette mise à jour automatique à partir de votre version n\'est pas possible.","setGenDownloadUpdate":"Télécharger mise à jour","setGenUpdateAuto":"Télécharger et installer automatiquement","setGenUpdateCheck":"Vérifier mais ne pas installer","setGenNoUpdate":"Ne jamais vérifier les mises à jour","setGenUpdateChecking":"Vérification des mises à jour","setGenCheckUpdate":"Vérifier les mises à jour","setGenErrorChecking":"Erreur vérification des mises à jour","setGenLastCheckSuccess":"Dernière vérification réussie fut le {}","setGenLastCheckVer":"la dernière version était {}","setGenCheckedAt":"Vérifié le","setGenLatestVer":"vous utilisez la dernière version","setGenNewVer":"nouvelle version {} disponible","setGenDownloadingUpdate":"Téléchargement de la mise à jour...","setGenExtractingUpdate":"Décompression de la mise à jour...","setGenCheckErr":"Une erreur est intervenue durant le téléchargement de la mise à jour","setGenNeverChecked":"Ne jamais vérifier les mises à jour","setGenRestartToUpdate":"Redémarrer KeeWeb pour mettre à jour","setGenDownloadAndRestart":"Télécharger la mise à jour et redémarrer","setGenAppearance":"Apparence","setGenTheme":"Thème","setGenThemeDefault":"Défaut","setGenThemeDark":"Sombre","setGenThemeLight":"Clair","setGenThemeBlue":"Bleu","setGenThemeFb":"Bleu foncé","setGenThemeBl":"Bleu clair","setGenThemeBrown":"Brownie","setGenThemeDb":"Marron foncé","setGenThemeLb":"Brun clair","setGenThemeTerminal":"Terminal","setGenThemeTe":"Terminal","setGenThemeLt":"Terminal clair","setGenThemeHighContrast":"Contraste élevé","setGenThemeHc":"Contraste élevé","setGenThemeDc":"Contraste foncé","setGenThemeSol":"Solarisé","setGenThemeSd":"Solarized dark","setGenThemeSl":"Solarized light","setGenMoreThemes":"Plus de thèmes","setGenAutoSwitchTheme":"Basculer automatiquement entre les thèmes clairs et foncés lorsque possible","setGenLocale":"Langue","setGenLocOther":"d\'autres langues sont disponibles en tant que modules","setGenFontSize":"Taille de police","setGenFontSizeNormal":"Normal","setGenFontSizeLarge":"Large","setGenFontSizeLargest":"Très large","setGenTitlebarStyle":"Style de fenêtres (redémarrage requis)","setGenTitlebarStyleDefault":"Par défaut","setGenTitlebarStyleHidden":"Titre personnalisé","setGenTitlebarStyleHiddenInset":"Titre personnalisé, fenêtre déplaçable","setGenShowSubgroups":"Afficher les entrées de tous les sous groupes","setGenTableView":"Voir les entrées en liste","setGenColorfulIcons":"Icônes colorées dans la liste","setGenUseMarkdown":"Markdown dans les notes","setGenUseGroupIconForEntries":"Utilise automatiquement l\'icône de groupe pour les nouvelles entrées","setGenDirectAutotype":"Si une seule entrée correspondante est trouvée, sélectionner celle-ci automatiquement pour l\'autotype.","setGenFunction":"Opérations","setGenAutoSyncOnClose":"Sauvegarde et synchro automatique à la fermeture","setGenAutoSyncTimer":"Sauvegarde et synchro automatique régulièrement","setGenAutoSyncTimerOff":"Désactivé","setGenAutoSyncTimerInterval":"Toutes les {} minute(s)","setGenRememberKeyFiles":"Se souvenir des fichiers clé","setGenNoRememberKeyFiles":"Ne pas se souvenir","setGenRememberKeyFilesData":"Sauvegarder dans le stockage interne de l\'appli","setGenRememberKeyFilesPath":"Se souvenir seulement des chemins des fichiers","setGenLockInactive":"si l\'application est inactive","setGenNoAutoLock":"Ne pas verrouiller automatiquement","setGenLockMinutes":"Dans {} minutes","setGenLockHour":"Dans une heure","setGenLockHours":"Dans {} heures","setGenLockDay":"Dans 1 jour","setGenClearClip":"Vider le presse-papier après une copie","setGenNoClear":"Ne pas effacer","setGenClearSeconds":"Dans {} secondes","setGenClearMinute":"Dans une minute","setGenMinInstead":"Réduire l\'application au lieu de fermer","setGenMinOnFieldCopy":"Réduire sur copie d\'un champ","setGenLock":"Verrou Auto","setGenLockMinimize":"quand l\'appli est en arrière-plan","setGenLockCopy":"sur copie de m.d.p.","setGenLockAutoType":"sur saisie auto","setGenLockOrSleep":"Quand l\'ordinateur est verrouillé ou mis en sommeil","setGenStorage":"Stockage","setGenDisableOfflineStorage":"Ne pas mettre en cache des fichiers d\'un stockage offline","setGenShortLivedStorageToken":"Utiliser des sessions de courte-durée avec les fournisseurs de stockage dans le cloud","setGenStorageLogout":"Déconnexion","setGenShowAdvanced":"Afficher les paramètres avancés","setGenDevTools":"Afficher les outils de développement","setGenTryBeta":"Essayer une fois la version beta ","setGenTryBetaWarning":"Fichiers non sauvegardés","setGenTryBetaWarningBody":"Sauvegarder tous les fichiers et re-cliquer ce bouton","setGenShowAppLogs":"Voir les logs","setGenReloadApp":"Recharger l\'application","setGenFieldLabelDblClickAutoType":"Remplissage auto par double clic sur les noms de champ","setGenTouchId":"Touch ID","setGenTouchIdDisabled":"Ne pas utiliser Touch ID","setGenTouchIdMemory":"Dévérouiller avec Touch ID uniquement quand KeeWeb est lancé","setGenTouchIdFile":"Toujours utiliser Touch ID à la place du mot de passe","setGenTouchIdPass":"Exige le mot de passe après","setGenAudit":"Audit","setGenAuditPasswords":"Voir des avertissements sur la force du mot de passe","setGenAuditPasswordEntropy":"Vérifier la longueur et l\'aléas du mot de passe","setGenExcludePinsFromAudit":"Ne jamais vérifier les codes PIN courts, comme 123456","setGenCheckPasswordsOnHIBP":"Vérifier les mots de passe en utilisant un service en ligne {}","setGenHelpHIBP":"KeeWeb peut vérifier si vos mots de passes ont été précédemment exposés à une faille de sécurité en utilisant un service en ligne. Votre mot de passe ne peut pas être récupéré à partir de données envoyées en ligne, cependant le nombre de mots de passes vérifiés peut être exposé. Plus d\'informations sur votre sécurité en utilisant ce service peuvent être trouvées {}. Si cette option est activée, KeeWeb vérifiera automatiquement vos mots de passes là.","setGenHelpHIBPLink":"ici","setGenAuditPasswordAge":"Vieux mots de passe","setGenAuditPasswordAgeOff":"Ne pas afficher d\'avertissements à propos des vieux mots de passe","setGenAuditPasswordAgeOneYear":"Afficher des avertissements pour les mots de passe plus vieux qu\'un an","setGenAuditPasswordAgeYears":"Afficher des avertissement pour les mots de passe plus vieux que {} ans","setFilePath":"Chemin","setFileStorage":"Le fichier est ouvert de {}.","setFileIntl":"Le fichier est conservé dans le stockage interne de l\'application","setFileLocalHint":"Voulez-vous travailler avec des fichiers locaux ?","setFileDownloadApp":"Télécharger l\'application","setFileSave":"Enregistrer","setFileSaveTo":"Enregistrer sous...","setFileClose":"Fermer","setFileSync":"Sync","setFileSyncVerb":"Synchroniser","setFileSaveToXml":"XML","setFileSaveToHtml":"HTML","setFileLastSync":"Dernière synchro","setFileLastSyncUnknown":"inconnu","setFileSyncInProgress":"synchronisation en cours","setFileSyncError":"Sync erreur","setFilePass":"Mot de passe principal","setFileConfirmPass":"Confirmer le mot de passe Maître","setFilePassChange":"pour changer le mot de passe, merci de le saisir dans le champ Confirmation","setFilePassChanged":"Le mot de passe a été changé ; laissez le champ vide pour utiliser l\'ancien mot de passe","setFilePassNotMatch":"les mots de passe ne correspondent pas, veuillez réessayer","setFileKeyFile":"Fichier clé","setFileSelKeyFile":"Sélectionner fichier clé","setFileNames":"Noms","setFileDefUser":"Utilisateur par défaut","setFileEnableTrash":"Activer corbeille","setFileHistMode":"Historique","setFileHistLimited":"Supprimer les anciens enregistrements automatiquement","setFileHistDisabled":"Ne pas sauvegarder l\'historique","setFileHistUnlimited":"Garder les enregistrements de l\'historique pour toujours","setFileHistLen":"Longueur de l\'historique, conserve les derniers enregistrements","setFileHistSize":"Taille de l\'historique, Mo par fichier","setFileBackups":"Sauvegardes","setFileBackupEnable":"Sauvegarder ce fichier","setFileBackupPath":"Chemin","setFileBackupTime":"Lancer sauvegardes ","setFileBackupNow":"Sauvegarder...","setFileBackupNowWorking":"En cours...","setFileBackupError":"Erreur sauvegarde","setFileBackupErrorDescription":"Erreur à l\'écriture du fichier","setFileBackupErrorIsDir":"Chemin de sauvegarde invalide","setFileBackupErrorIsDirDescription":"Le chemin de sauvegarde semble pointer sur un répertoire. Merci de spécifier un fichier dans un répertoire à la place.","setFileBackupOnSave":"A chaque fois que je sauvegarde","setFileBackupDaily":"Quotidien","setFileBackupWeekly":"Chaque semaine","setFileBackupMonthly":"Chaque mois","setFileBackupManually":"Manuellement, pas de sauvegarde automatique","setFileRounds":"Cycles de chiffrement de la clé","setFileKdfParams":"Fonction de dérivation de clé","setFileKdfParamsIter":"Itérations","setFileKdfParamsMem":"Mémoire, Ko","setFileKdfParamsPar":"Parallèlisme","setFileKeyChangeForce":"Demander à changer la clé après (jours)","setFileUseKeyFile":"Utiliser un fichier clé","setFileUseGenKeyFile":"Utiliser le fichier clé généré","setFileUseOldKeyFile":"Utiliser l\'ancien fichier clé","setFileGenKeyFile":"Générer un nouveau fichier clé","setFileDontUseKeyFile":"Ne pas utiliser de fichier clé","setFileEmptyPass":"Mot de passe vide","setFileEmptyPassBody":"Sauvegarder la base de données avec un mot de passe vide la laisse sans aucune protection. Voulez-vous vraiment faire cela ?","setFileSaveError":"Erreur sauvegarde","setFileSaveErrorBody":"Erreur sauvegarde dans le fichier","setFileAlreadyExists":"Existe déjà","setFileAlreadyExistsBody":"Le fichier {} existe déjà. L\'écraser ?","setFileUnsaved":"Modif non sauvegardées","setFileUnsavedBody":"Il y a des modifications non sauvegardées dans ce fichier","setFileCloseNoSave":"Fermer et perdre les modifs","setFileDontClose":"Ne pas fermer","setFileFormatVersion":"Format de fichier","setFileExportRaw":"Exporter vos mots de passe","setFileExportRawBody":"Le fichier exporté contiendra vos mots de passe, il n\'y seront plus cryptés. Voulez vous continuer ?","setFileDeviceIntro":"Les codes à usage unique de cette {} vont être affichés dans l\'application.","setFileDeviceSettings":"Paramètres","setFileYubiKey":"YubiKey","setFileDontUseYubiKey":"Ne pas utiliser une YubiKey","setFileRefreshYubiKeyList":"Rafraichir la liste","setFileYubiKeyHeader":"YubiKey","setFileYubiKeyBody":"Utiliser une YubiKey comme partie de la clé maitre est dangeureux, et vous risquez de perdre l\'accès à vos mots de passe si quelque chose tourne mal. Avez vous réalisé une sauvegarde de votre fichier avant de modifier les paramètres ?","setFileYubiKeyErrorEmptyMac":"Il semble qu\'il y a une YubiKey connectée, mais elle est invisible. KeeWeb doit avoir été autorisé dans la section \\"Surveillance de lentrée\\" des paramètres de sécurité pour se connecter à la YubiKey.","setShTitle":"Raccourcis","setShShowAll":"montrer tout","setShColors":"montrer les champs en couleur","setShTrash":"aller à Corbeille","setShFind":"rechercher ou juste commencer à taper","setShClearSearch":"effacer recherche","setShCopyPass":"copier le mot de passe ou le champ sélectionné","setShCopyUser":"copier le nom","setShCopyUrl":"copier le site","setShAutoType":"saisie automatique pour cette entrée","setShPrev":"aller au précédent","setShNext":"aller au prochain","setShCreateEntry":"créer une entrée","setShOpen":"ouvrir/nouveau","setShSave":"sauver tous les fichiers","setShGen":"générer un mot de passe","setShSet":"paramètres","setShCopyPassGlobal":"copier le mot de passe","setShCopyOtp":"Copier l\'OTP","setShAutoTypeGlobal":"saisie automatique","setShCopyPassOnly":"Copier mot de passe","setShRestoreApp":"Ouvrir {}","setShGlobal":"Ces raccourcis à l\'échelle du système fonctionnent lorsque l\'application s\'exécute en arrière-plan. Vous pouvez cliquer dessus pour sélectionner votre propre raccourci.","setShLock":"verrouiller la base","setShEdit":"Appuyez sur une nouvelle combinaison de touches pour la définir comme raccourci.","setPlInstallTitle":"Installer de nouveaux modules","setPlInstallDesc":"Les modules (plugins) de KeeWeb ajoutent des fonctionnalités, thèmes et langues à KeeWeb. Les modules sont lancés avec les même privilèges que KeeWeb : ils peuvent accéder et gérer tous vos mots de passe. Ne jamais installer de modules auxquels vous ne faites pas confiance.","setPlInstallLabel":"URL du module","setPlInstallBtn":"Installer","setPlInstallBtnProgress":"Installation","setPlUninstallBtn":"Désintaller","setPlDisableBtn":"Désactiver","setPlEnableBtn":"Activer","setPlUpdateBtn":"Mettre à jour","setPlLocaleBtn":"Changer pour cette langue","setPlThemeBtn":"Changer pour ce thème","setPlJs":"code","setPlCss":"styles","setPlLoc":"langue","setPlCreatedBy":"Créé par {}","setPlLoadTime":"{} pour charger","setPlLastUpdate":"Dernière vérification des mises à jour","setPlLoadError":"erreur au chargement du module","setPlGalleryLoading":"Chargement des modules, patientez un instant","setPlGalleryLoadError":"erreur au chargement des modules","setPlInstallUrlTitle":"Ajouter un module à partir d\'une URL","setPlInstallUrlDesc":"Si un module n\'est pas dans le catalogue, vous pouvez l\'installer manuellement à partir d\'une URL.","setPlOfficial":"Module officiel KeeWeb","setPlSearch":"Rechercher des modules","setPlDevelop":"Vous souhaitez développer vos propres modules ?","setPlDevelopStart":"Commencez ici","setPlTranslate":"Ou vous pouvez {}","setPlTranslateLink":"traduire l\'appli dans votre langue","setPlAutoUpdate":"Mise à jour automatique","setPlLoadGallery":"Charger le catalogue","setBrowserTitle":"Navigateur","setBrowserIntroDesktop":"KeeWeb peut entrer des mots de passe en utilisant la saisie automatique, cependant, une extension peut être un moyen plus pratique de le faire. KeeWeb prend en charge deux extensions de navigateur:","setBrowserIntroKeeWebConnect":"l\'extension officielle KeeWeb est construite avec les fonctionnalités de KeeWeb, mais vous risquez de manquer certaines fonctionnalités avancées que l\'on peut trouver dans l\'autre extension.","setBrowserIntroKeePassXcBrowser":"cette extension a été développée pour KeePassXC, elle existe depuis un moment et est assez fiable. L\'extension ne fait pas partie de KeeWeb et il peut y avoir des problèmes de compatibilité.","setBrowserIntroWeb":"Installez notre extension de navigateur pour remplir automatiquement les mots de passe de KeeWeb sur différentes pages. L\'extension de navigateur se connectera à un onglet KeeWeb de votre navigateur pour récupérer les mots de passe. Cliquez ici pour télécharger l\'extension:","setBrowserNotEnabled":"L\'intégration du navigateur n\'est pas activée, les extensions ne pourront pas se connecter à KeeWeb. Utilisez les cases à cocher ci-dessous pour l\'activer:","setBrowserEnablePerBrowser":"Activer l\'intégration dans le navigateur en cochant ci dessous:","setBrowserFocusIfLocked":"Ouvrir KeeWeb si le navigateur essaye de se connecter alors que aucun fichier n\'est ouvert","setBrowserFocusIfEmpty":"Afficher la liste si aucune correspondance n\'est trouvée avec l\'URL","setBrowserOtherBrowsers":"Autres navigateurs","setBrowserExtensionFor":"pour {}","setBrowserExtensionNotSupported":"Non supporté","setBrowserExtensionHelp":"Comment installer ?","setBrowserExtensionInstall":"Installer l\'application","setBrowserExtensionKPXCWarnHeader":"{} cessera de fonctionner","setBrowserExtensionKPXCWarnBody1":"Malheureusement, il n\'est pas possible de connecter une extension à plusieurs applications. Si vous connectez l\'extension à KeeWeb, nous remplacerons son association d\'application, ce qui signifie que l\'intégration avec {} cessera de fonctionner. Même si vous décochez cette case, l\'association avec {} ne sera pas restaurée. Pour le faire fonctionner à nouveau, configurez l\'intégration du navigateur dans les paramètres de {}.","setBrowserExtensionKPXCWarnBody2":"Configurer l\'extension pour utiliser KeeWeb?","setBrowserSessions":"Sessions","setBrowserSessionsEmpty":"Aucune session connectée","setBrowserSessionsIntro":"Ces extensions sont connectées à KeeWeb","setBrowserSessionsActiveTooltip":"Session active","setBrowserSessionsActiveText":"Cette session est active. Elle peut échanger des données avec KeeWeb selon les permissions:","setBrowserSessionsInactiveTooltip":"session inactive","setBrowserSessionsInactiveText":"Cette session est inactive. L\'extension est connectée à KeeWeb, cependant, elle n\'a pas essayé d\'échanger des données. Lorsque l\'extension demande quelque chose, vous pourrez choisir ce que vous souhaitez partager.","setBrowserSessionsDeniedTooltip":"Accès interdit","setBrowserSessionsDeniedText":"Cette session est inactive. L\'extension est connectée à KeeWeb mais vous avez refusé l\'accès aux données.","setBrowserSessionsConnectedDate":"Connecté","setBrowserSessionsTerminate":"Clôturer la session","setBrowserSessionsAccessToFiles":"Autoriser l\'accès aux fichiers","setBrowserSessionsNoFileAccess":"L\'extension n\'a accès à aucun fichier, elle ne pourra pas récupérer les mots de passe de KeeWeb.","setBrowserSessionsPasswordsRead":"Accès aux mot de passe","setBrowserSessionsPasswordsWritten":"Mots de passe enregistrés","setDevicesTitle":"Appareils","setDevicesEnableUsb":"Autoriser les interactions avec les appareils USB","setDevicesYubiKeyIntro":"Il est recommandé de lire {} avant d\'utiliser une YubiKey.","setDevicesYubiKeyIntroLink":"ce document","setDevicesYubiKeyToolsDesc":"Pour permettre l\'utilisation de YubiKey dans ce mode, vous devez installer un outil appelé {}.","setDevicesYubiKeyToolsDesc2":"{} pour avoir plus d\'information sur cet outil.","setDevicesYubiKeyToolsDescLink":"Cliquez ici","setDevicesYubiKeyToolsStatusChecking":"Vérification si {} est installé","setDevicesYubiKeyToolsStatusOk":"{} est installé","setDevicesYubiKeyToolsStatusError":"{} n\'est pas installé, ou ne fonctionne pas","setDevicesYubiKeyOtpTitle":"Codes à usage unique","setDevicesYubiKeyOtpDesc":"YubiKey peut être utilisé pour générer des codes à usage unique pour différents services.","setDevicesYubiKeyOtpShowIcon":"Afficher l\'icône sur l\'écran de démarrage","setDevicesYubiKeyOtpAutoOpen":"Charger automatiquement les codes à usage unique lorsqu\'il y a des fichiers ouverts","setDevicesYubiKeyOtpMatchEntries":"Afficher les codes à usage unique qui correspondent dans les entrées","setDevicesYubiKeyChalRespTitle":"Challenge-Réponse","setDevicesYubiKeyChalRespDesc":"Il est aussi possible d\'utiliser une YubiKey en mode Challenge-Réponse, afin qu\'une partie de la clé privée utilisée pour crypter les fichiers provienne d\'une YubiKey.","setDevicesYubiKeyChalRespShow":"Proposer l\'option d\'utiliser une YubiKey à l\'ouverture des fichiers","setDevicesYubiKeyStuckWorkaround":"Reconnecter la YubiKey si elle semble bloquée au moment du chargement","setDevicesYubiKeyRememberChalResp":"Se souvenir du challenge-réponse le temps que l\'application reste ouverte","setAboutTitle":"À propos","setAboutBuilt":"Cette appli est construite avec ces outils géniaux","setAboutLic":"Licence","setAboutLicComment":"Cette application et tous les composants qu\'elle contient qui ne sont pas dans le domaine public sont sous licence MIT, sauf si autrement spécifié","setAboutFirst":"Ceci est une application open-source créée par {}","setAboutSecond":" et sous licence {}.","setAboutSource":"Le code source et les problèmes sont sur {}.","setHelpFormat":"Format de fichier","setHelpFormatBody":"Ceci est un portage de l\'appli {} développée avec les technologies web. Il interprète les fichiers au format KeePass (kdbx). Vous pouvez créer de tels fichiers (bases de données de mots de passe) soit avec KeePass, soit avec cette appli. Le format de fichier est 100% compatible et devrait être compris par les 2 applications.","setHelpProblems":"Un problème ?","setHelpProblems1":"Si quelque chose ne va pas, merci de {}","setHelpProblems2":"ou {}","setHelpOpenIssue":"faire connaître le problème sur GitHub","setHelpContactLink":"contactez le développeur directement","setHelpAppInfo":"Informations","setHelpOtherPlatforms":"Autres plateformes","setHelpDesktopApps":"Applis Desktop","setHelpWebApp":"Appli web","setHelpUpdates":"Mises à jour","setHelpTwitter":"Twitter","dropboxSetupDesc":"Une configuration particulière est nécessaire pour utiliser Dropbox dans une application auto-hébergée. Merci de créer votre propre application Dropbox et d\'inscrire sa clé ci-dessous.","dropboxAppKey":"Clé Dropbox","dropboxAppKeyDesc":"Copier la clé de votre appli Dropbox (Réglages développeur)","dropboxAppKeyHint":"Votre \\"Dropbox App Key\\"","dropboxAppSecret":"Votre \\"Dropbox App Secret\\"","dropboxAppSecretDesc":"Votre \\"Dropbox App Secret\\" peut être trouvée à côté de votre \\"Dropbox App Key\\".","dropboxFolder":"Dossier Appli","dropboxFolderDesc":"Si votre appli est liée à l\'espace Dropbox entier (et non un dossier), définir le dossier avec vos fichiers Kdbx ici","dropboxFolderSettingsDesc":"Sélectionner un dossier dans votre Dropbox où les fichiers sont stockés (à la racine par défaut)","dropboxFolderPlaceholder":"dossier par défaut","dropboxLink":"Lier l\'appli à","dropboxLinkApp":"Dossier de l\'appli (Apps/KeeWeb)","dropboxLinkFull":"Tout Dropbox ou n\'importe quel dossier","dropboxLinkCustom":"Votre appli Dropbox","gdriveSharedWithMe":"Partagé avec moi","gdriveSharedDrives":"Lecteurs partagés","gdriveTeamDrives":"Team drives","webdavSaveMethod":"Méthode de sauvegarde","webdavSaveMove":"Envoyer un fichier temporaire et le déplacer","webdavSavePut":"Écraser le fichier kdbx avec PUT","webdavNoLastModified":"L\'entête HTTP \\"Last-Modified\\" est absent","webdavStatReload":"Toujours recharger le fichier au lieu de se fier à l\'entête HTTP \\"Last-Modified\\"","launcherSave":"Sauvegarder base des mots de passe","launcherFileFilter":"Fichiers Keepass","authPopupRequired":"Les pop-up sont bloquées","authPopupRequiredBody":"Merci d\'autoriser les pop-ups pour cette appli dans votre navigateur ou essayez à nouveau.","exportFileInfo":"Propriétés du fichier","exportHtmlName":"Nom","exportHtmlDate":"Date d\'exportation","exportGenerator":"Logiciel","exportDescription":"Ce fichier est généré par {}.","importCsvTitle":"Import depuis un CSV","importCsvRun":"Importer","importIgnoreField":"Ignorer","importTo":"Les entrées seront importées dans","importNewFile":"Nouveau fichier","yubiKeyStuckError":"La YubiKey semble coincée, la réparation automatique est activable dans les paramètres de l\'application.","yubiKeyNoKeyHeader":"Une YubiKey est requise","yubiKeyNoKeyBody":"Merci d\'insérer votre YubiKey avec le numéro de série {}","yubiKeySlot":"port","yubiKeyTouchRequestedHeader":"Touchez votre YubiKey","yubiKeyTouchRequestedBody":"Merci de toucher votre YubiKey avec le numéro de série {}","yubiKeyDisabledErrorHeader":"L\'USB est désactivé","yubiKeyDisabledErrorBody":"Yubikey est nécessaire pour ouvrir ce fichier, merci d\'activer les appareils USB dans les paramètres","yubiKeyErrorWithCode":"Erreur Yubikey code {}.","bioOpenAuthPrompt":"ouvrir \\"{}\\"","extensionErrorNoOpenFiles":"Aucun fichier ouvert","extensionErrorUserRejected":"La requête a été refusée","extensionErrorNoMatches":"Aucune correspondance","extensionErrorAlertDisplayed":"Impossible de poser une question maintenant car une autre boîte de dialogue est affichée, veuillez réessayer","extensionConnectHeader":"Échange de données avec l\'extension","extensionConnectIntro":"Une extension de navigateur qui a pour nom {} essaie d\'échanger des données avec KeeWeb.","extensionConnectUnknownActivity":"KeeWeb ne vérifie pas que l\'application connectée est ce qu\'elle prétend être. N\'approuvez la demande que si vous en connaissez l\'origine.","extensionConnectFiles":"Lors de cette session, autoriser l\'accès à:","extensionConnectAllOtherFiles":"Tous les autres fichiers","extensionConnectAllFiles":"Tous les fichiers","extensionConnectAskGet":"Demandez avant d\'envoyer les mots de passe à l\'extension:","extensionConnectAskGetMultiple":"s\'il y a plus d\'une correspondance","extensionConnectAskGetAlways":"Toujours","extensionConnectAskSave":"Demandez avant d\'enregistrer de nouveaux mots de passe dans KeeWeb:","extensionConnectAskSaveAlways":"Toujours","extensionConnectAskSaveAuto":"quand ce n\'est pas possible de sauvegarder automatiquement","extensionConnectSettingsAreForSession":"Les paramètres que vous sélectionnez ici ne sont valides que pour la session en cours. Vous pouvez afficher et gérer les sessions dans les paramètres de KeeWeb.","extensionUnlockMessage":"Déverrouiller pour connecter l\'extension du navigateur","extensionNewGroupHeader":"Nouveau groupe","extensionNewGroupBody":"{} essaye de créer un nouveau groupe. Autoriser cela?","extensionNewGroupPath":"Dossier du groupe","extensionNewGroupFile":"Ce groupe sera créé dans:","extensionSaveEntryHeader":"Sauvegarder mot de passe","extensionSaveEntryBody":"{} essaye de sauvegarder un mot de passe. Autoriser cela?","extensionSaveEntryAuto":"Sauvegarder les autres mots de passe automatiquement lors de cette session","extensionSaveEntryNewGroup":"nouveau groupe","extensionSelectPasswordFor":"Sélectionner un mot de passe pour {}","selectEntryHeader":"Sélectionner une entrée","selectEntryEnterHint":"Utiliser la ligne sélectionnée","selectEntryTypingHint":"Ecrire pour filtrer","selectEntryContains":"Contient le texte","selectEntrySubdomains":"Sous-domaines","selectEntryFieldHeader":"Sélectionnez un champ","selectEntryFieldTouch":"Appuyez sur le bouton de votre appareil pour générer un code à usage unique."}')},3267:(e,t,n)=>{var s={"./base.json":6846,"./de-DE.json":582,"./fr-FR.json":8515};function i(e){var t=r(e);return n(t)}function r(e){if(!n.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}i.keys=function(){return Object.keys(s)},i.resolve=r,e.exports=i,i.id=3267},4367:(e,t,n)=>{var s={"./settings-about-view":1127,"./settings-browser-view":2112,"./settings-devices-view":9646,"./settings-file-otp-device-view":8387,"./settings-file-view":1500,"./settings-general-view":9383,"./settings-help-view":1426,"./settings-logs-view":3346,"./settings-plugins-view":868,"./settings-prv-view":2416,"./settings-shortcuts-view":1499};function i(e){var t=r(e);return n(t)}function r(e){if(!n.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}i.keys=function(){return Object.keys(s)},i.resolve=r,e.exports=i,i.id=4367},7814:(e,t,n)=>{var s={"./app":2789,"./app.js":2789,"./auto-type":3898,"./auto-type/":3898,"./auto-type/auto-type-emitter":5272,"./auto-type/auto-type-emitter.js":5272,"./auto-type/auto-type-helper":917,"./auto-type/auto-type-helper.js":917,"./auto-type/auto-type-obfuscator":860,"./auto-type/auto-type-obfuscator.js":860,"./auto-type/auto-type-parser":599,"./auto-type/auto-type-parser.js":599,"./auto-type/auto-type-runner":7507,"./auto-type/auto-type-runner.js":7507,"./auto-type/index":3898,"./auto-type/index.js":3898,"./collections/entry-collection":8533,"./collections/entry-collection.js":8533,"./collections/file-collection":6253,"./collections/file-collection.js":6253,"./collections/file-info-collection":6469,"./collections/file-info-collection.js":6469,"./collections/group-collection":6195,"./collections/group-collection.js":6195,"./collections/menu/menu-item-collection":900,"./collections/menu/menu-item-collection.js":900,"./collections/menu/menu-option-collection":8604,"./collections/menu/menu-option-collection.js":8604,"./collections/menu/menu-section-collection":8567,"./collections/menu/menu-section-collection.js":8567,"./collections/search-result-collection":6491,"./collections/search-result-collection.js":6491,"./comp/app/app-rights-checker":8537,"./comp/app/app-rights-checker.js":8537,"./comp/app/chal-resp-calculator":9621,"./comp/app/chal-resp-calculator.js":9621,"./comp/app/drag-drop-info":9207,"./comp/app/drag-drop-info.js":9207,"./comp/app/dropbox-chooser":2596,"./comp/app/dropbox-chooser.js":2596,"./comp/app/export-api":6608,"./comp/app/export-api.js":6608,"./comp/app/focus-manager":4953,"./comp/app/focus-manager.js":4953,"./comp/app/generator-presets":1622,"./comp/app/generator-presets.js":1622,"./comp/app/online-password-checker":4558,"./comp/app/online-password-checker.js":4558,"./comp/app/select-entry-filter":3660,"./comp/app/select-entry-filter.js":3660,"./comp/app/shortcuts":7027,"./comp/app/shortcuts.js":7027,"./comp/app/single-instance-checker":6420,"./comp/app/single-instance-checker.js":6420,"./comp/app/start-profiler":8578,"./comp/app/start-profiler.js":8578,"./comp/app/updater":5621,"./comp/app/updater.js":5621,"./comp/app/usb-listener":8647,"./comp/app/usb-listener.js":8647,"./comp/app/yubikey":9777,"./comp/app/yubikey.js":9777,"./comp/browser/copy-paste":5933,"./comp/browser/copy-paste.js":5933,"./comp/browser/feature-tester":8132,"./comp/browser/feature-tester.js":8132,"./comp/browser/focus-detector":9053,"./comp/browser/focus-detector.js":9053,"./comp/browser/idle-tracker":5665,"./comp/browser/idle-tracker.js":5665,"./comp/browser/key-handler":1164,"./comp/browser/key-handler.js":1164,"./comp/browser/popup-notifier":5358,"./comp/browser/popup-notifier.js":5358,"./comp/browser/secure-input":6892,"./comp/browser/secure-input.js":6892,"./comp/browser/theme-watcher":8180,"./comp/browser/theme-watcher.js":8180,"./comp/browser/transport":2118,"./comp/browser/transport.js":2118,"./comp/extension/browser-extension-connector":8432,"./comp/extension/browser-extension-connector.js":8432,"./comp/extension/protocol-impl":5886,"./comp/extension/protocol-impl.js":5886,"./comp/format/kdbx-to-html":1673,"./comp/format/kdbx-to-html.js":1673,"./comp/format/otp-qr-reader":6655,"./comp/format/otp-qr-reader.js":6655,"./comp/i18n/date-format":6098,"./comp/i18n/date-format.js":6098,"./comp/launcher":9491,"./comp/launcher/":9491,"./comp/launcher/index":9491,"./comp/launcher/index.js":9491,"./comp/launcher/launcher-electron":547,"./comp/launcher/launcher-electron.js":547,"./comp/launcher/native-modules":3006,"./comp/launcher/native-modules.js":3006,"./comp/settings/settings-manager":111,"./comp/settings/settings-manager.js":111,"./comp/settings/settings-store":6524,"./comp/settings/settings-store.js":6524,"./comp/ui/alerts":4530,"./comp/ui/alerts.js":4530,"./const/cloud-storage-apps":5754,"./const/cloud-storage-apps.js":5754,"./const/colors":7017,"./const/colors.js":7017,"./const/default-app-settings":4491,"./const/default-app-settings.js":4491,"./const/entry-fields":9166,"./const/entry-fields.js":9166,"./const/hardware":4596,"./const/hardware.js":4596,"./const/icon-map":353,"./const/icon-map.js":353,"./const/inline-images":7086,"./const/inline-images.js":7086,"./const/keys":2977,"./const/keys.js":2977,"./const/known-app-versions":3942,"./const/known-app-versions.js":3942,"./const/links":9673,"./const/links.js":9673,"./const/runtime-info":7119,"./const/runtime-info.js":7119,"./const/timeouts":403,"./const/timeouts.js":403,"./framework/collection":9071,"./framework/collection.js":9071,"./framework/events":7201,"./framework/events.js":7201,"./framework/model":9186,"./framework/model.js":9186,"./framework/views/copyable":4796,"./framework/views/copyable.js":4796,"./framework/views/resizable":8892,"./framework/views/resizable.js":8892,"./framework/views/scrollable":7015,"./framework/views/scrollable.js":7015,"./framework/views/view":7779,"./framework/views/view.js":7779,"./hbs-helpers":3676,"./hbs-helpers/":3676,"./hbs-helpers/add":9861,"./hbs-helpers/add.js":9861,"./hbs-helpers/cmp":4540,"./hbs-helpers/cmp.js":4540,"./hbs-helpers/ifemptyoreq":2156,"./hbs-helpers/ifemptyoreq.js":2156,"./hbs-helpers/ifeq":7672,"./hbs-helpers/ifeq.js":7672,"./hbs-helpers/ifneq":580,"./hbs-helpers/ifneq.js":580,"./hbs-helpers/index":3676,"./hbs-helpers/index.js":3676,"./hbs-helpers/res":8386,"./hbs-helpers/res.js":8386,"./locales/base":6846,"./locales/base.json":6846,"./locales/de-DE":582,"./locales/de-DE.json":582,"./locales/fr-FR":8515,"./locales/fr-FR.json":8515,"./models/app-model":2985,"./models/app-model.js":2985,"./models/app-settings-model":7614,"./models/app-settings-model.js":7614,"./models/attachment-model":5667,"./models/attachment-model.js":5667,"./models/entry-model":7725,"./models/entry-model.js":7725,"./models/file-info-model":3850,"./models/file-info-model.js":3850,"./models/file-model":7449,"./models/file-model.js":7449,"./models/group-model":5572,"./models/group-model.js":5572,"./models/menu/groups-menu-model":5782,"./models/menu/groups-menu-model.js":5782,"./models/menu/menu-item-model":9233,"./models/menu/menu-item-model.js":9233,"./models/menu/menu-model":4563,"./models/menu/menu-model.js":4563,"./models/menu/menu-option-model":4655,"./models/menu/menu-option-model.js":4655,"./models/menu/menu-section-model":4954,"./models/menu/menu-section-model.js":4954,"./models/otp-device/otp-device-entry-collection":1192,"./models/otp-device/otp-device-entry-collection.js":1192,"./models/otp-device/otp-device-entry-model":1909,"./models/otp-device/otp-device-entry-model.js":1909,"./models/otp-device/otp-device-model":3593,"./models/otp-device/otp-device-model.js":3593,"./models/otp-device/otp-entry-model":1342,"./models/otp-device/otp-entry-model.js":1342,"./models/otp-device/yubikey-otp-model":9686,"./models/otp-device/yubikey-otp-model.js":9686,"./models/runtime-data-model":8925,"./models/runtime-data-model.js":8925,"./models/update-model":2706,"./models/update-model.js":2706,"./plugins/plugin":1203,"./plugins/plugin-api":484,"./plugins/plugin-api.js":484,"./plugins/plugin-collection":1525,"./plugins/plugin-collection.js":1525,"./plugins/plugin-gallery":3172,"./plugins/plugin-gallery.js":3172,"./plugins/plugin-manager":739,"./plugins/plugin-manager.js":739,"./plugins/plugin.js":1203,"./plugins/theme-vars":7378,"./plugins/theme-vars.js":7378,"./presenters/entry-presenter":9938,"./presenters/entry-presenter.js":9938,"./storage":949,"./storage/":949,"./storage/impl/storage-cache":7980,"./storage/impl/storage-cache.js":7980,"./storage/impl/storage-dropbox":526,"./storage/impl/storage-dropbox.js":526,"./storage/impl/storage-file":7899,"./storage/impl/storage-file-cache":3758,"./storage/impl/storage-file-cache.js":3758,"./storage/impl/storage-file.js":7899,"./storage/impl/storage-gdrive":5661,"./storage/impl/storage-gdrive.js":5661,"./storage/impl/storage-onedrive":1854,"./storage/impl/storage-onedrive.js":1854,"./storage/impl/storage-teams":194,"./storage/impl/storage-teams.js":194,"./storage/impl/storage-webdav":1337,"./storage/impl/storage-webdav.js":1337,"./storage/index":949,"./storage/index.js":949,"./storage/io-browser-cache":6902,"./storage/io-browser-cache.js":6902,"./storage/io-cache":3366,"./storage/io-cache.js":3366,"./storage/io-file-cache":7811,"./storage/io-file-cache.js":7811,"./storage/pkce":5434,"./storage/pkce.js":5434,"./storage/storage-base":8402,"./storage/storage-base.js":8402,"./storage/storage-oauth-listener":4715,"./storage/storage-oauth-listener.js":4715,"./util/data/color":4546,"./util/data/color.js":4546,"./util/data/comparators":8612,"./util/data/comparators.js":8612,"./util/data/csv-parser":8009,"./util/data/csv-parser.js":8009,"./util/data/otp":9081,"./util/data/otp.js":9081,"./util/data/password-strength":905,"./util/data/password-strength.js":905,"./util/data/ranking":5563,"./util/data/ranking.js":5563,"./util/data/semver":8146,"./util/data/semver.js":8146,"./util/data/signature-verifier":7536,"./util/data/signature-verifier.js":7536,"./util/entry-search":9907,"./util/entry-search.js":9907,"./util/features":667,"./util/features.js":667,"./util/fn":6838,"./util/fn.js":6838,"./util/formatting/icon-url-format":8495,"./util/formatting/icon-url-format.js":8495,"./util/formatting/md-to-html":8134,"./util/formatting/md-to-html.js":8134,"./util/formatting/password-presenter":1705,"./util/formatting/password-presenter.js":1705,"./util/formatting/string-format":2378,"./util/formatting/string-format.js":2378,"./util/formatting/url-format":4798,"./util/formatting/url-format.js":4798,"./util/generators/id-generator":1240,"./util/generators/id-generator.js":1240,"./util/generators/password-generator":4486,"./util/generators/password-generator.js":4486,"./util/generators/phonetic":8709,"./util/generators/phonetic.js":8709,"./util/kdbxweb/kdbxweb-init":1504,"./util/kdbxweb/kdbxweb-init.js":1504,"./util/kdbxweb/protected-value-ex":9689,"./util/kdbxweb/protected-value-ex.js":9689,"./util/locale":3297,"./util/locale.js":3297,"./util/logger":2363,"./util/logger.js":2363,"./util/ui/file-saver":2547,"./util/ui/file-saver.js":2547,"./util/ui/input-fx":7609,"./util/ui/input-fx.js":7609,"./util/ui/tip":3710,"./util/ui/tip.js":3710,"./views/app-view":2014,"./views/app-view.js":2014,"./views/auto-type/auto-type-hint-view":2385,"./views/auto-type/auto-type-hint-view.js":2385,"./views/details/details-add-field-view":3122,"./views/details/details-add-field-view.js":3122,"./views/details/details-attachment-view":2550,"./views/details/details-attachment-view.js":2550,"./views/details/details-auto-type-view":4184,"./views/details/details-auto-type-view.js":4184,"./views/details/details-fields":9042,"./views/details/details-fields.js":9042,"./views/details/details-history-view":264,"./views/details/details-history-view.js":264,"./views/details/details-issues-view":2524,"./views/details/details-issues-view.js":2524,"./views/details/details-view":2766,"./views/details/details-view.js":2766,"./views/drag-view":1864,"./views/drag-view.js":1864,"./views/dropdown-view":1434,"./views/dropdown-view.js":1434,"./views/extension/extension-connect-view":7031,"./views/extension/extension-connect-view.js":7031,"./views/extension/extension-create-group-view":9793,"./views/extension/extension-create-group-view.js":9793,"./views/extension/extension-save-entry-view":2729,"./views/extension/extension-save-entry-view.js":2729,"./views/fields/field-view":4707,"./views/fields/field-view-autocomplete":2969,"./views/fields/field-view-autocomplete.js":2969,"./views/fields/field-view-custom":4169,"./views/fields/field-view-custom.js":4169,"./views/fields/field-view-date":2574,"./views/fields/field-view-date.js":2574,"./views/fields/field-view-history":8108,"./views/fields/field-view-history.js":8108,"./views/fields/field-view-otp":8877,"./views/fields/field-view-otp.js":8877,"./views/fields/field-view-read-only":9260,"./views/fields/field-view-read-only-raw":2402,"./views/fields/field-view-read-only-raw.js":2402,"./views/fields/field-view-read-only-with-options":4984,"./views/fields/field-view-read-only-with-options.js":4984,"./views/fields/field-view-read-only.js":9260,"./views/fields/field-view-select":2836,"./views/fields/field-view-select.js":2836,"./views/fields/field-view-tags":3033,"./views/fields/field-view-tags.js":3033,"./views/fields/field-view-text":1297,"./views/fields/field-view-text.js":1297,"./views/fields/field-view-url":1960,"./views/fields/field-view-url.js":1960,"./views/fields/field-view.js":4707,"./views/footer-view":5249,"./views/footer-view.js":5249,"./views/generator-presets-view":7953,"./views/generator-presets-view.js":7953,"./views/generator-view":1473,"./views/generator-view.js":1473,"./views/grp-view":5984,"./views/grp-view.js":5984,"./views/icon-select-view":3872,"./views/icon-select-view.js":3872,"./views/import-csv-view":97,"./views/import-csv-view.js":97,"./views/key-change-view":7622,"./views/key-change-view.js":7622,"./views/list-search-view":248,"./views/list-search-view.js":248,"./views/list-view":7780,"./views/list-view.js":7780,"./views/list-wrap-view":9676,"./views/list-wrap-view.js":9676,"./views/menu/menu-item-view":1956,"./views/menu/menu-item-view.js":1956,"./views/menu/menu-section-view":913,"./views/menu/menu-section-view.js":913,"./views/menu/menu-view":6498,"./views/menu/menu-view.js":6498,"./views/modal-view":5266,"./views/modal-view.js":5266,"./views/open-chal-resp-view":5634,"./views/open-chal-resp-view.js":5634,"./views/open-config-view":1764,"./views/open-config-view.js":1764,"./views/open-view":2791,"./views/open-view.js":2791,"./views/select/select-entry-field-view":3659,"./views/select/select-entry-field-view.js":3659,"./views/select/select-entry-view":4583,"./views/select/select-entry-view.js":4583,"./views/settings/settings-about-view":1127,"./views/settings/settings-about-view.js":1127,"./views/settings/settings-browser-view":2112,"./views/settings/settings-browser-view.js":2112,"./views/settings/settings-devices-view":9646,"./views/settings/settings-devices-view.js":9646,"./views/settings/settings-file-otp-device-view":8387,"./views/settings/settings-file-otp-device-view.js":8387,"./views/settings/settings-file-view":1500,"./views/settings/settings-file-view.js":1500,"./views/settings/settings-general-view":9383,"./views/settings/settings-general-view.js":9383,"./views/settings/settings-help-view":1426,"./views/settings/settings-help-view.js":1426,"./views/settings/settings-logs-view":3346,"./views/settings/settings-logs-view.js":3346,"./views/settings/settings-plugins-view":868,"./views/settings/settings-plugins-view.js":868,"./views/settings/settings-prv-view":2416,"./views/settings/settings-prv-view.js":2416,"./views/settings/settings-shortcuts-view":1499,"./views/settings/settings-shortcuts-view.js":1499,"./views/settings/settings-view":4199,"./views/settings/settings-view.js":4199,"./views/storage-file-list-view":4902,"./views/storage-file-list-view.js":4902,"./views/tag-view":9993,"./views/tag-view.js":9993,"./views/titlebar-view":357,"./views/titlebar-view.js":357};function i(e){var t=r(e);return n(t)}function r(e){if(!n.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}i.keys=function(){return Object.keys(s)},i.resolve=r,e.exports=i,i.id=7814},2789:(e,t,n)=>{"use strict";n.r(t);var s=n(7201),i=n(8578),r=n(6469),o=n(8537),a=n(6608),l=n(6420),c=n(5621),u=n(8647),d=n(8432),h=n(8132),p=n(9053),m=n(5665),g=n(8180),f=n(1164),A=n(5358),y=n(9491),v=n(111),b=n(4530),w=n(403),k=n(2985),C=n(7614),_=n(8925),E=n(2706),x=n(739),I=n(667),S=n(1504),D=n(3297),B=n(2014),P=(n(3676),n(3898)),T=n(949),F=n(6718);i.StartProfiler.milestone("loading modules");(y.Launcher&&y.Launcher.ready||F)((()=>{i.StartProfiler.milestone("document ready");const e=new k.AppModel;function t(){new B.AppView(e).render(),i.StartProfiler.milestone("first view rendering"),s.Events.emit("app-ready"),i.StartProfiler.milestone("app ready event"),i.StartProfiler.report()}i.StartProfiler.milestone("creating app model"),Promise.resolve().then((function(){return Promise.all([C.AppSettingsModel.load(),E.UpdateModel.load(),_.RuntimeDataModel.load(),r.FileInfoCollection.load()]).then((()=>{i.StartProfiler.milestone("loading configs")}))})).then((function(){return f.KeyHandler.init(),A.PopupNotifier.init(),S.KdbxwebInit.init(),p.FocusDetector.init(),P.AutoType.init(),g.ThemeWatcher.init(),v.SettingsManager.init(),window.kw=a.ExportApi,x.PluginManager.init().then((()=>{i.StartProfiler.milestone("initializing modules")}))})).then((function(){return Promise.resolve().then((()=>{v.SettingsManager.setBySettings();const t=function(){const e=document.head.querySelector("meta[name=kw-config]");if(e&&e.content&&"("!==e.content[0])return e.content;const t=location.search.match(/[?&]config=([^&]+)/i);if(t&&t[1])return t[1]}();if(t)return e.loadConfig(t).then((()=>{v.SettingsManager.setBySettings()})).catch((t=>{if(!e.settings.cacheConfigSettings)throw b.Alerts.error({header:D.Locale.appSettingsError,body:D.Locale.appSettingsErrorBody,buttons:[],esc:!1,enter:!1,click:!1}),t}))})).then((()=>{i.StartProfiler.milestone("loading remote config")}))})).then((function(){if(I.Features.isFrame&&!e.settings.allowIframes)return Promise.reject("Running in iframe is not allowed (this can be changed in the app config).");return h.FeatureTester.test().catch((e=>{throw b.Alerts.error({header:D.Locale.appSettingsError,body:D.Locale.appNotSupportedError,pre:e,buttons:[],esc:!1,enter:!1,click:!1}),"Feature testing failed: "+e})).then((()=>{i.StartProfiler.milestone("checking features")}))})).then((function(){for(const e of Object.values(T.Storage))e.init();i.StartProfiler.milestone("initializing storage")})).then((function(){u.UsbListener.init(),i.StartProfiler.milestone("starting usb")})).then((function(){return Promise.resolve().then((()=>{const n=localStorage.skipHttpsWarning||e.settings.skipHttpsWarning,s=["https:","file:","app:"].indexOf(location.protocol)<0,i="localhost"!==location.hostname;return s&&i&&!n?new Promise((e=>{b.Alerts.error({header:D.Locale.appSecWarn,icon:"user-secret",esc:!1,enter:!1,click:!1,body:D.Locale.appSecWarnBody1+"\n\n"+D.Locale.appSecWarnBody2,buttons:[{result:"",title:D.Locale.appSecWarnBtn,error:!0}],complete:()=>{t(),e()}})})):(t(),new Promise((e=>requestAnimationFrame(e))))}))})).then((function(){setTimeout((()=>{c.Updater.init(),l.SingleInstanceChecker.init(),o.AppRightsChecker.init(),m.IdleTracker.init(),d.BrowserExtensionConnector.init(e),x.PluginManager.runAutoUpdate()}),w.Timeouts.AutoUpdatePluginsAfterStart)})).catch((t=>{e.appLogger.error("Error starting app",t)}))}))},5272:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AutoTypeEmitter:()=>d});var s=n(667),i=n(3006),r=n(2363),o=n(9491),a=n(403);const l=new r.Logger("auto-type-emitter"),c={tab:"Tab",enter:"Return",space:"Space",up:"UpArrow",down:"DownArrow",left:"LeftArrow",right:"RightArrow",home:"Home",end:"End",pgup:"PageUp",pgdn:"PageDown",ins:"Insert",del:"ForwardDelete",bs:"BackwardDelete",esc:"Escape",win:"Meta",rwin:"RightMeta",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",f13:"F13",f14:"F14",f15:"F15",f16:"F16",add:"KeypadPlus",subtract:"KeypadMinus",multiply:"KeypadMultiply",divide:"KeypadDivide",n0:"D0",n1:"D1",n2:"D2",n3:"D3",n4:"D4",n5:"D5",n6:"D6",n7:"D7",n8:"D8",n9:"D9"},u={"^":s.Features.isMac?"Command":"Ctrl","+":"Shift","%":"Alt","^^":"Ctrl"};class d{constructor(e){this.callback=e,this.mod={}}begin(){this.withCallback(i.NativeModules.kbdEnsureModifierNotPressed())}setMod(e,t){const n=u[e];if(!n)return this.callback(`Bad modifier: ${e}`);i.NativeModules.kbdKeyMoveWithModifier(!!t,[n]).catch((n=>{l.error("Error moving modifier",e,t?"down":"up",n)})),t?this.mod[n]=!0:delete this.mod[n]}text(e){if(!e)return this.withCallback(Promise.resolve());const t=Object.keys(this.mod);t.length?this.withCallback(i.NativeModules.kbdTextAsKeys(e,t)):this.withCallback(i.NativeModules.kbdText(e))}key(e){const t=Object.keys(this.mod);if("number"==typeof e)this.withCallback(i.NativeModules.kbdKeyPressWithCharacter(0,e,t));else{if(!c[e])return this.callback("Bad key: "+e);const n=c[e];this.withCallback(i.NativeModules.kbdKeyPress(n,t))}}copyPaste(e){setTimeout((()=>{o.Launcher.setClipboardText(e),setTimeout((()=>{this.withCallback(i.NativeModules.kbdShortcut("V"))}),a.Timeouts.AutoTypeCopyPaste)}),a.Timeouts.AutoTypeCopyPaste)}wait(e){setTimeout((()=>this.withCallback(Promise.resolve())),e)}waitComplete(){this.withCallback(Promise.resolve())}setDelay(){this.callback("Not implemented")}withCallback(e){e.then((()=>{try{this.callback()}catch(e){l.error("Callback error",e)}})).catch((e=>{"Key press failed"===e.message&&(e.keyPressFailed=!0);try{this.callback(e)}catch(e){l.error("Callback error",e)}}))}}},917:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AutoTypeHelper:()=>i});var s=n(3006);class i{getActiveWindowInfo(e){s.NativeModules.kbdGetActiveWindow({getWindowTitle:!0,getBrowserUrl:!0}).then((t=>{e(void 0,t)})).catch((t=>e(t)))}}},860:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AutoTypeObfuscator:()=>o});var s=n(2363);const i=new s.Logger("auto-type-obfuscator",void 0,localStorage.debugAutoType?s.Logger.Level.All:s.Logger.Level.Warn),r="ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz123456789O0oIl",o=function(e){this.chars=e,this.inputChars=[],this.inputCursor=0,this.inputSel=0,this.ops=[],this.stepCount=0,this.copyCount=0};o.prototype.obfuscate=function(){for(;!this.finished();)if(this.step(),this.stepCount++>1e3)throw"Obfuscate failed";for(let e=0;e<this.chars.length;e++)this.chars[e]=null,this.inputChars[e]=null;return this.ops},o.prototype.finished=function(){return this.chars.length===this.inputChars.length&&this.chars.every((function(e,t){return this.inputChars[t].ch===e}),this)},o.prototype.step=function(){this.stepCount<30&&Math.random()>this.stepCount/30?this.stepFake():this.stepReal(),i.getLevel()>=s.Logger.Level.Debug&&i.debug("value",this.inputChars.map((e=>e.ch)).join(""))},o.prototype.stepFake=function(){const e=Math.floor(Math.random()*(this.inputChars.length+1)),t=r[Math.floor(Math.random()*r.length)];i.info("step.fake",e,t),this.moveToPos(e);if(0===this.inputChars.length||Math.random()>.3)this.inputChar(t);else{let n=Math.random()>.5,s=n?e:this.inputChars.length-e;0===s&&(n=!n,s=n?e:this.inputChars.length-e);const i=Math.max(Math.floor(Math.pow(Math.random(),3)*s),1);i<=1&&Math.random()>.5?this.deleteText(n):(this.selectText(n,i),Math.random()>.3?this.deleteText(Math.random()>.5):this.inputChar(t))}},o.prototype.stepReal=function(){const e=[],t=[];let n;for(n=0;n<this.chars.length;n++)t.push(-1);for(n=0;n<this.inputChars.length;n++){const s=this.inputChars[n].ix;void 0===s?e.push({del:!0,pos:n}):t[s]=n}for(n=0;n<this.chars.length;n++)if(t[n]<0){let s=0,i=this.inputChars.length;for(let e=0;e<this.chars.length;e++)if(e<n&&t[e]>=0&&(s=t[e]+1),e>n&&t[e]>=0){i=t[e];break}e.push({ins:!0,ch:this.chars[n],ix:n,from:s,to:i})}const s=e[Math.floor(Math.random()*e.length)];if(i.info("step.real",t,s),s.del)this.moveToPos(s.pos+1),this.deleteText(!0);else{const e=s.from+Math.floor(Math.random()*(s.to-s.from));this.moveToPos(e),this.copyCount<2&&"\n"!==s.ch&&Math.random()>.5?(this.copyCount++,this.copyPaste(s.ch)):this.inputChar(s.ch),this.inputChars[e].ix=s.ix}},o.prototype.moveToPos=function(e){for(i.debug("moveToPos",e);this.inputCursor>e;)this.moveLeft();for(;this.inputCursor<e;)this.moveRight()},o.prototype.moveLeft=function(){i.debug("moveLeft"),this.ops.push({type:"key",value:"left"}),this.inputCursor--,this.inputSel=0},o.prototype.moveRight=function(){i.debug("moveRight"),this.ops.push({type:"key",value:"right"}),this.inputCursor++,this.inputSel=0},o.prototype.inputChar=function(e){i.debug("inputChar",e),this.ops.push({type:"text",value:e}),this.inputChars.splice(this.inputCursor,this.inputSel,{ch:e}),this.inputCursor++,this.inputSel=0},o.prototype.copyPaste=function(e){i.debug("copyPaste",e),this.ops.push({type:"cmd",value:"copyPaste",arg:e}),this.inputChars.splice(this.inputCursor,this.inputSel,{ch:e}),this.inputCursor++,this.inputSel=0},o.prototype.selectText=function(e,t){i.debug("selectText",e?"left":"right",t);const n=[];for(let s=0;s<t;s++)n.push({type:"key",value:e?"left":"right"});1===n.length?(n[0].mod={"+":!0},this.ops.push(n[0])):this.ops.push({type:"group",value:n,mod:{"+":!0}}),e&&(this.inputCursor-=t),this.inputSel=t},o.prototype.deleteText=function(e){i.debug("deleteText",e?"left":"right"),this.ops.push({type:"key",value:e?"bs":"del"}),this.inputSel?(this.inputChars.splice(this.inputCursor,this.inputSel),this.inputSel=0):(this.inputChars.splice(e?this.inputCursor-1:this.inputCursor,1),e&&this.inputCursor--)}},599:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AutoTypeParser:()=>i});var s=n(7507);const i=function(e){this.sequence=e,this.ix=0,this.states=[]};i.opRegex=/^(.*?)(?:([\s:=])[\s:=]*(.*))?$/,i.prototype.parse=function(){const e=this.sequence.length;for(this.pushState();this.ix<e;){const e=this.sequence[this.ix];switch(e){case"{":this.readOp();continue;case"+":case"%":case"^":this.readModifier(e);break;case"(":this.pushState();break;case")":this.popState();break;case" ":break;case"~":this.addOp("enter");break;default:this.addChar(e)}this.ix++}if(1!==this.states.length)throw"Groups count mismatch";return new s.AutoTypeRunner(this.state().ops)},i.prototype.pushState=function(){this.states.unshift({modifiers:null,ops:[]})},i.prototype.popState=function(){if(this.states.length<=1)throw'Unexpected ")" at index '+this.ix;const e=this.states.shift();this.addState(e)},i.prototype.state=function(){return this.states[0]},i.prototype.readOp=function(){const e=this.sequence.indexOf("}",this.ix+2);if(e<0)throw'Mismatched "{" at index '+this.ix;const t=this.sequence.substring(this.ix+1,e);if(this.ix=e+1,1===t.length)return void this.addChar(t);const[,n,s,r]=t.match(i.opRegex);this.addOp(n,s,r)},i.prototype.readModifier=function(e){const t=this.state();t.modifiers||(t.modifiers={}),"^"===e&&t.modifiers["^"]&&(delete t.modifiers["^"],e="^^"),t.modifiers[e]=!0},i.prototype.resetModifiers=function(){const e=this.state(),t=e.modifiers;return e.modifiers=null,t},i.prototype.addState=function(e){this.state().ops.push({type:"group",value:e.ops,mod:this.resetModifiers()})},i.prototype.addChar=function(e){this.state().ops.push({type:"text",value:e,mod:this.resetModifiers()})},i.prototype.addOp=function(e,t,n){this.state().ops.push({type:"op",value:e,mod:this.resetModifiers(),sep:t,arg:n})}},7507:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AutoTypeRunner:()=>l});var s=n(5272),i=n(860),r=n(2378),o=n(2363);const a=new o.Logger("auto-type-emitter",void 0,localStorage.debugAutoType?o.Logger.Level.All:o.Logger.Level.Info),l=function(e){this.ops=e,this.pendingResolvesCount=0,this.entry=null,this.now=new Date};l.PendingResolve={pending:!0},l.Keys={tab:"tab",enter:"enter",space:"space",up:"up",down:"down",left:"left",right:"right",home:"home",end:"end",pgup:"pgup",pgdn:"pgdn",insert:"ins",ins:"ins",delete:"del",del:"del",backspace:"bs",bs:"bs",bksp:"bs",esc:"esc",win:"win",lwin:"win",rwin:"rwin",f1:"f1",f2:"f2",f3:"f3",f4:"f4",f5:"f5",f6:"f6",f7:"f7",f8:"f8",f9:"f9",f10:"f10",f11:"f11",f12:"f12",f13:"f13",f14:"f14",f15:"f15",f16:"f16",add:"add",subtract:"subtract",multiply:"multiply",divide:"divide",numpad0:"n0",numpad1:"n1",numpad2:"n2",numpad3:"n3",numpad4:"n4",numpad5:"n5",numpad6:"n6",numpad7:"n7",numpad8:"n8",numpad9:"n9"},l.Substitutions={title:(e,t)=>e.getEntryFieldKeys("Title",t),username:(e,t)=>e.getEntryFieldKeys("UserName",t),url:(e,t)=>e.getEntryFieldKeys("URL",t),password:(e,t)=>e.getEntryFieldKeys("Password",t),notes:(e,t)=>e.getEntryFieldKeys("Notes",t),group:e=>e.getEntryGroupName(),totp:(e,t)=>e.getOtp(t),s:(e,t)=>e.getEntryFieldKeys(t.arg,t),dt_simple:e=>e.dt("simple"),dt_year:e=>e.dt("Y"),dt_month:e=>e.dt("M"),dt_day:e=>e.dt("D"),dt_hour:e=>e.dt("h"),dt_minute:e=>e.dt("m"),dt_second:e=>e.dt("s"),dt_utc_simple:e=>e.udt("simple"),dt_utc_year:e=>e.udt("Y"),dt_utc_month:e=>e.udt("M"),dt_utc_day:e=>e.udt("D"),dt_utc_hour:e=>e.udt("h"),dt_utc_minute:e=>e.udt("m"),dt_utc_second:e=>e.udt("s")},l.prototype.resolve=function(e,t,n){this.entry=e,this.context=t;try{this.resolveOps(this.ops),this.pendingResolvesCount?this.resolveCallback=n:n()}catch(e){return n(e)}},l.prototype.resolveOps=function(e){for(let t=0,n=e.length;t<n;t++){const n=e[t];"group"===n.type?this.resolveOps(n.value):this.resolveOp(n)}},l.prototype.resolveOp=function(e){var t,n;if(1===e.value.length&&!e.sep)return void(e.type="text");if(1===e.value.length&&" "===e.sep){e.type="text";const t=e.value;let n=t;const s=+e.arg;for(;n.length<s;)n+=t;return void(e.value=n)}const s=e.value.toLowerCase(),i=l.Keys[s];if(i){if(" "===e.sep&&+e.arg>0){e.type="group",e.value=[];const t=+e.arg;for(let n=0;n<t;n++)e.value.push({type:"key",value:i})}else e.type="key",e.value=i;return}if(null!==(t=this.context)&&void 0!==t&&null!==(n=t.resolved)&&void 0!==n&&n[s])return e.type="text",void(e.value=this.context.resolved[s]);const r=l.Substitutions[s];if(r)return e.type="text",e.value=r(this,e),void(e.value===l.PendingResolve&&this.pendingResolvesCount++);if(!this.tryParseCommand(e))throw"Bad op: "+e.value},l.prototype.tryParseCommand=function(e){switch(e.value.toLowerCase()){case"clearfield":return e.type="group",e.value=[{type:"key",value:"end"},{type:"key",value:"home",mod:{"+":!0}},{type:"key",value:"bs"}],!0;case"vkey":if(e.type="key",e.value=parseInt(e.arg),isNaN(e.value)||e.value<0)throw"Bad vkey: "+e.arg;return!0;case"delay":if(e.type="cmd",e.value="="===e.sep?"setDelay":"wait",!e.arg)throw"Delay requires milliseconds count";if(isNaN(+e.arg))throw"Bad delay: "+e.arg;if(e.arg<0)throw"Delay requires positive interval";return e.arg=+e.arg,!0;default:return!1}},l.prototype.getEntryFieldKeys=function(e,t){if(!e||!this.entry)return"";const n=this.entry.getFieldValue(e);if(!n)return"";if(n.isProtected){t.type="group";const e=[];return n.forEachChar((t=>{10===t||13===t?e.push({type:"key",value:"enter"}):e.push({type:"text",value:String.fromCharCode(t)})})),e}{const e=n.split(/[\r\n]/g);if(1===e.length)return n;t.type="group";const s=[];return e.forEach((e=>{s.length&&s.push({type:"key",value:"enter"}),e&&s.push({type:"text",value:e})})),s}},l.prototype.getEntryGroupName=function(){return this.entry&&this.entry.group.title},l.prototype.dt=function(e){switch(e){case"simple":return this.dt("Y")+this.dt("M")+this.dt("D")+this.dt("h")+this.dt("m")+this.dt("s");case"Y":return this.now.getFullYear().toString();case"M":return r.StringFormat.pad(this.now.getMonth()+1,2);case"D":return r.StringFormat.pad(this.now.getDate(),2);case"h":return r.StringFormat.pad(this.now.getHours(),2);case"m":return r.StringFormat.pad(this.now.getMinutes(),2);case"s":return r.StringFormat.pad(this.now.getSeconds(),2);default:throw"Bad part: "+e}},l.prototype.udt=function(e){switch(e){case"simple":return this.udt("Y")+this.udt("M")+this.udt("D")+this.udt("h")+this.udt("m")+this.udt("s");case"Y":return this.now.getUTCFullYear().toString();case"M":return r.StringFormat.pad(this.now.getUTCMonth()+1,2);case"D":return r.StringFormat.pad(this.now.getUTCDate(),2);case"h":return r.StringFormat.pad(this.now.getUTCHours(),2);case"m":return r.StringFormat.pad(this.now.getUTCMinutes(),2);case"s":return r.StringFormat.pad(this.now.getUTCSeconds(),2);default:throw"Bad part: "+e}},l.prototype.getOtp=function(e){return this.entry?(this.entry.initOtpGenerator(),this.entry.otpGenerator?(this.entry.otpGenerator.next(((t,n)=>{this.pendingResolved(e,n,t)})),l.PendingResolve):""):""},l.prototype.pendingResolved=function(e,t,n){const s=e.value===l.PendingResolve;t&&(e.value=t),s&&(this.pendingResolvesCount--,(0===this.pendingResolvesCount||n)&&this.resolveCallback&&(this.resolveCallback(n),this.resolveCallback=null))},l.prototype.obfuscate=function(){this.obfuscateOps(this.ops)},l.prototype.obfuscateOps=function(e){for(let t=0,n=e.length;t<n;t++){const n=e[t];if(!n.mod)if("text"===n.type)this.obfuscateOp(n);else if("group"===n.type){n.value.every((e=>"text"===e.type&&!e.mod))?this.obfuscateOp(n):this.obfuscateOps(n.value)}}},l.prototype.obfuscateOp=function(e){let t=[];if("text"===e.type){if(!e.value||e.value.length<=1)return;t=e.value.split("")}else e.value.forEach((e=>t.push(...e.value.split(""))));if(t.length<=1)return;const n=new i.AutoTypeObfuscator(t);e.value=n.obfuscate(),e.type="group"},l.prototype.run=function(e,t){this.emitter=new s.AutoTypeEmitter(this.emitNext.bind(this),t),this.emitterState={callback:e,stack:[],ops:this.ops,opIx:0,mod:{},activeMod:{},finished:null},this.emitter.begin()},l.prototype.emitNext=function(e){if(e)return this.emitterState.finished=!0,void this.emitterState.callback(e);if(this.emitterState.finished)return void this.emitterState.callback();if(this.resetEmitterMod(this.emitterState.mod),this.emitterState.opIx>=this.emitterState.ops.length){const e=this.emitterState.stack.pop();return void(e?(Object.assign(this.emitterState,{ops:e.ops,opIx:e.opIx,mod:e.mod}),this.emitNext()):(this.resetEmitterMod({}),this.emitterState.finished=!0,a.debug("waitComplete"),this.emitter.waitComplete()))}const t=this.emitterState.ops[this.emitterState.opIx];if("group"===t.type)return t.mod&&this.setEmitterMod(t.mod),this.emitterState.stack.push({ops:this.emitterState.ops,opIx:this.emitterState.opIx+1,mod:Object.assign({},this.emitterState.mod)}),Object.assign(this.emitterState,{ops:t.value,opIx:0,mod:Object.assign({},this.emitterState.activeMod)}),void this.emitNext();switch(this.emitterState.opIx++,t.mod&&this.setEmitterMod(t.mod),t.type){case"text":a.debug("text",t.value),t.value?this.emitter.text(t.value):this.emitNext();break;case"key":a.debug("key",t.value),this.emitter.key(t.value);break;case"cmd":{const e=this.emitter[t.value];if(!e)throw"Bad cmd: "+t.value;a.debug(t.value,t.arg),e.call(this.emitter,t.arg);break}default:throw"Bad op: "+t.type}},l.prototype.setEmitterMod=function(e){Object.keys(e).forEach((function(t){e[t]&&!this.emitterState.activeMod[t]&&(a.debug("mod",t,!0),this.emitter.setMod(t,!0),this.emitterState.activeMod[t]=!0)}),this)},l.prototype.resetEmitterMod=function(e){Object.keys(this.emitterState.activeMod).forEach((function(t){this.emitterState.activeMod[t]&&!e[t]&&(a.debug("mod",t,!1),this.emitter.setMod(t,!1),delete this.emitterState.activeMod[t])}),this)}},3898:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AutoType:()=>v});var s=n(7201),i=n(917),r=n(599),o=n(3660),a=n(9491),l=n(667),c=n(4530),u=n(403),d=n(7614),h=n(2985),p=n(3297),m=n(2363),g=n(9673),f=n(4583);const A=new m.Logger("auto-type"),y=!!localStorage.debugAutoType,v={enabled:!(!a.Launcher||!a.Launcher.autoTypeSupported),supportsEventsWithWindowId:!(!a.Launcher||"linux"!==a.Launcher.platform()),selectEntryView:!1,running:!1,init(){this.enabled&&s.Events.on("auto-type",(e=>this.handleEvent(e)))},handleEvent(e){const t=e&&e.entry||null,n=e&&e.sequence||null,s=e&&e.context||null;if(A.debug("Auto type event",t),this.running)A.debug("Already running, skipping event");else if(t)this.hideWindow((()=>{this.runAndHandleResult({entry:t,sequence:n,context:s})}));else{if(this.selectEntryView)return;if(a.Launcher.isAppFocused())return c.Alerts.error({header:p.Locale.autoTypeError,body:p.Locale.autoTypeErrorGlobal,skipIfAlertDisplayed:!0});this.selectEntryAndRun()}},runAndHandleResult(e,t){this.run(e,t,(e=>{if(e){let t,n=p.Locale.autoTypeErrorGeneric.replace("{}",e.message||e.toString());e.keyPressFailed&&l.Features.isMac&&(n=p.Locale.autoTypeErrorAccessibilityMacOS,t=g.Links.AutoTypeMacOS),c.Alerts.error({header:p.Locale.autoTypeError,body:n,link:t})}})),d.AppSettingsModel.lockOnAutoType&&s.Events.emit("lock-workspace")},run(e,t,n){this.running=!0;const s=e.sequence||e.entry.getEffectiveAutoTypeSeq(),i=e.context;A.debug("Start",s);const o=A.ts();try{const a=new r.AutoTypeParser(s).parse();A.debug("Parsed",this.printOps(a.ops)),a.resolve(e.entry,i,(s=>{if(s)return this.running=!1,A.error("Resolve error",s),n&&n(s);if(A.debug("Resolved",this.printOps(a.ops)),e.entry.autoTypeObfuscation){try{a.obfuscate()}catch(e){return this.running=!1,A.error("Obfuscate error",e),n&&n(e)}A.debug("Obfuscated")}a.run((e=>(this.running=!1,e?(A.error("Run error",e),n&&n(e)):(A.debug("Complete",A.ts(o)),n&&n()))),t)}))}catch(e){return this.running=!1,A.error("Parse error",e),n&&n(e)}},validate(e,t,n){try{const s=new r.AutoTypeParser(t);s.parse().resolve(e,null,n)}catch(e){return n(e)}},printOps(e){return"["+e.map(this.printOp,this).join(",")+"]"},printOp(e){const t=e.mod?Object.keys(e.mod).join(""):"";if("group"===e.type)return t+this.printOps(e.value);if("text"===e.type){let n=e.value;return y||(n=n.replace(/./g,"*")),t+n}return t+e.type+":"+e.value},hideWindow(e){A.debug("Hide window"),a.Launcher.isAppFocused()?(a.Launcher.hideApp(),setTimeout(e,u.Timeouts.AutoTypeAfterHide)):e()},getActiveWindowInfo(e){A.debug("Getting window info");return(new i.AutoTypeHelper).getActiveWindowInfo(((t,n)=>{if(t)A.error("Error getting window info",t);else{if(!n.url){const e=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\\+.~#?&\/=]*)/.exec(n.title);n.url=e&&e.length>0?e[0]:null}A.debug("Window info",n.id,n.title,n.url)}return e(t,n)}))},activeWindowMatches(e,t){if(!e||!e.id)return A.debug("Skipped active window check because window id is unknown"),t(!0);this.getActiveWindowInfo(((n,s)=>s?s.id===e.id||this.supportsEventsWithWindowId?s.url===e.url||this.supportsEventsWithWindowId?(A.info("Active window matches"),void t(!0,s)):(A.info(`Active window doesn't match: url is different. Expected "${e.url}", got "${s.url}"`),t(!1,s)):(A.info(`Active window doesn't match: ID is different. Expected ${e.id}, got ${s.id}`),t(!1,s)):(A.debug("Error during active window check, something is wrong",n),t(!1))))},selectEntryAndRun(){this.getActiveWindowInfo((async(e,t)=>{const n={filter:new o.SelectEntryFilter(t,h.AppModel.instance,h.AppModel.instance.files,{autoType:!0}),windowInfo:t};if(!h.AppModel.instance.files.hasOpenFiles()){A.debug("auto-type event delayed"),this.focusMainWindow();try{await h.AppModel.instance.unlockAnyFile("autoTypeUnlockMessage")}catch(e){return void A.debug("auto-type event canceled")}this.selectEntryView&&this.selectEntryView.show()}A.debug("processing auto-type event"),this.processEventWithFilter(n)}))},focusMainWindow(){a.Launcher.isAppFocused()||setTimeout((()=>a.Launcher.showMainWindow()),u.Timeouts.RedrawInactiveWindow)},processEventWithFilter(e){let t=e.filter.getEntries();if(1===t.length&&d.AppSettingsModel.directAutotype)return void this.hideWindow((()=>{this.runAndHandleResult({entry:t[0]},e.windowInfo.id)}));this.focusMainWindow(),0===t.length&&(e.filter.useUrl&&(e.filter.useUrl=!1,e.filter.title&&d.AppSettingsModel.autoTypeTitleFilterEnabled&&(e.filter.useTitle=!0)),t=e.filter.getEntries(),0===t.length&&e.filter.useTitle&&(e.filter.useTitle=!1));const n=e.filter.title||e.filter.url,s=n?p.Locale.autoTypeMsgMatchedByWindow.replace("{}",n):p.Locale.autoTypeMsgNoWindow;this.selectEntryView=new f.SelectEntryView({isAutoType:!0,itemOptions:!0,filter:e.filter,topMessage:s}),this.selectEntryView.on("result",(t=>{A.debug("Entry selected",t),this.selectEntryView.off("result"),this.selectEntryView.remove(),this.selectEntryView=null,this.hideWindow((()=>{null!=t&&t.entry&&this.activeWindowMatches(e.windowInfo,((n,s)=>{n&&this.runAndHandleResult(t,e.windowInfo.id)}))}))})),this.selectEntryView.render(),this.selectEntryView.on("show-open-files",(async()=>{this.selectEntryView.hide();try{await h.AppModel.instance.unlockAnyFile("autoTypeUnlockMessage")}catch(e){return void this.selectEntryView.emit("result",void 0)}this.selectEntryView.show(),this.selectEntryView.render()}))}}},8533:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EntryCollection:()=>r});var s=n(9071),i=n(7725);class r extends s.Collection{}r.model=i.EntryModel},6253:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FileCollection:()=>r});var s=n(9071),i=n(9186);class r extends s.Collection{hasOpenFiles(){return this.some((e=>e.active))}hasUnsavedFiles(){return this.some((e=>e.modified))}hasDirtyFiles(){return this.some((e=>e.dirty))}getByName(e){return this.find((t=>t.name.toLowerCase()===e.toLowerCase()))}}r.model=i.Model},6469:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FileInfoCollection:()=>a});var s=n(9071),i=n(6524),r=n(3850);class o extends s.Collection{load(){return i.SettingsStore.load("file-info").then((e=>{if(e)for(const t of e)this.push(new r.FileInfoModel(t))}))}save(){i.SettingsStore.save("file-info",this)}getMatch(e,t,n){return this.find((s=>(s.storage||"")===(e||"")&&(s.name||"")===(t||"")&&(s.path||"")===(n||"")))}getByName(e){return this.find((t=>t.name.toLowerCase()===e.toLowerCase()))}}o.model=r.FileInfoModel;const a=new o},6195:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GroupCollection:()=>r});var s=n(9071),i=n(5572);class r extends s.Collection{}r.model=i.GroupModel},900:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuItemCollection:()=>r});var s=n(9071),i=n(9233);class r extends s.Collection{}r.model=i.MenuItemModel},8604:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuOptionCollection:()=>r});var s=n(9071),i=n(4655);class r extends s.Collection{}r.model=i.MenuOptionModel},8567:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuSectionCollection:()=>r});var s=n(9071),i=n(4954);class r extends s.Collection{}r.model=i.MenuSectionModel},6491:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SearchResultCollection:()=>o});var s=n(9071),i=n(9186),r=n(8612);class o extends s.Collection{constructor(e,t){super(e),this.comparators={none:null,title:r.Comparators.stringComparator("title",!0),"-title":r.Comparators.stringComparator("title",!1),website:r.Comparators.stringComparator("url",!0),"-website":r.Comparators.stringComparator("url",!1),user:r.Comparators.stringComparator("user",!0),"-user":r.Comparators.stringComparator("user",!1),created:r.Comparators.dateComparator("created",!0),"-created":r.Comparators.dateComparator("created",!1),updated:r.Comparators.dateComparator("updated",!0),"-updated":r.Comparators.dateComparator("updated",!1),"-attachments":(e,t)=>this.attachmentSortVal(e).localeCompare(this.attachmentSortVal(t)),"-rank":r.Comparators.rankComparator().bind(this)},this.defaultComparator="title",this.entryFilter=null;const n=t&&t.comparator||this.defaultComparator;this.comparator=this.comparators[n]}sortEntries(e,t){this.entryFilter=t,this.comparator=this.comparators[e]||this.comparators[this.defaultComparator],this.sort()}attachmentSortVal(e){const t=e.attachments;let n=t.length?String.fromCharCode(64+t.length):"Z";return t[0]&&(n+=t[0].title),n}}o.model=i.Model},8537:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AppRightsChecker:()=>l});var s=n(9491),i=n(4530),r=n(7614),o=n(667),a=n(3297);const l={AppPath:"/Applications/KeeWeb.app",init(){o.Features.isDesktop&&o.Features.isMac&&(r.AppSettingsModel.skipFolderRightsWarning||s.Launcher.getAppPath().startsWith(this.AppPath)&&this.needRunInstaller((e=>{e&&(this.showAlert(),this.runInstaller())})))},needRunInstaller(e){s.Launcher.statFile(this.AppPath,(t=>{const n=t&&0===t.uid;e(!n)}))},showAlert(){const e="sudo chown -R root "+this.AppPath;this.alert=i.Alerts.alert({icon:"lock",header:a.Locale.appRightsAlert,body:a.Locale.appRightsAlertBody1.replace("{}",this.AppPath)+"\n"+a.Locale.appRightsAlertBody2,pre:e,buttons:[{result:"skip",title:a.Locale.alertDoNotAsk,error:!0},i.Alerts.buttons.ok],success:e=>{"skip"===e&&this.dontAskAnymore(),this.alert=null}})},runInstaller(){s.Launcher.spawn({cmd:this.AppPath+"/Contents/Installer/KeeWeb Installer.app/Contents/MacOS/applet",args:["--install"],complete:()=>{this.needRunInstaller((e=>{this.alert&&!e&&this.alert.closeWithResult("cancel")}))}})},dontAskAnymore(){this.needRunInstaller((e=>{e&&(r.AppSettingsModel.skipFolderRightsWarning=!0)}))}}},9621:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ChalRespCalculator:()=>p});var s=n(7201),i=n(2363),r=n(9777),o=n(8647),a=n(4530),l=n(3297),c=n(403),u=n(9491),d=n(7614);const h=new i.Logger("chal-resp"),p={cache:{},getCacheKey:e=>`${e.vid}:${e.pid}:${e.serial}:${e.slot}`,build(e){return e?t=>new Promise(((n,s)=>{var i;const r=(t=Buffer.from(t)).toString("hex"),o=this.getCacheKey(e),c=null===(i=this.cache[o])||void 0===i?void 0:i[r];return c?(h.debug("Found ChalResp in cache"),n(Buffer.from(c,"hex"))):d.AppSettingsModel.enableUsb?(h.debug("Calculating ChalResp using a YubiKey",e),void this._calc(e,t,((e,t)=>{if(e)return s(e);n(t)}))):(h.debug("USB is disabled"),void a.Alerts.error({header:l.Locale.yubiKeyDisabledErrorHeader,body:l.Locale.yubiKeyDisabledErrorBody,complete(){const e=new Error(l.Locale.yubiKeyDisabledErrorHeader);e.userCanceled=!0,e.ykError=!0,s(e)}}))})):null},_calc(e,t,n){let s=null,i=!1;r.YubiKey.calculateChalResp(e,t,((o,a)=>{if(i)return void(i=!1);if(s&&(s.closeWithoutResult(),s=null),o)return o.noKey?(h.info("YubiKey ChalResp: no key"),void this._showNoKeyAlert(e.serial,(s=>{if(s)return n(s);this._calc(e,t,n)}))):o.touchRequested?(h.info("YubiKey ChalResp: touch requested"),void(s=this._showTouchAlert(e.serial,(e=>{s=null,i=!0,h.info("YubiKey ChalResp canceled"),r.YubiKey.cancelChalResp(),n(e)})))):(h.error("YubiKey ChalResp error",o),n(o));const l=this.getCacheKey(e);this.cache[l]||(this.cache[l]={});const c=t.toString("hex");this.cache[l][c]=a.toString("hex"),h.info("Calculated YubiKey ChalResp"),n(null,a)}))},_showNoKeyAlert(e,t){u.Launcher.showMainWindow();let n,i=null;const d=()=>{o.UsbListener.attachedYubiKeys&&(n=setTimeout((()=>{r.YubiKey.list(((n,r)=>{if(n)return void h.error("YubiKey list error",n);const o=r.some((t=>t.serial===e));h.info(o?"YubiKey found":"YubiKey not found"),o&&(s.Events.off("usb-devices-changed",d),i&&i.closeWithoutResult(),t())}))}),c.Timeouts.ExternalDeviceAfterReconnect))};s.Events.on("usb-devices-changed",d),i=a.Alerts.alert({header:l.Locale.yubiKeyNoKeyHeader,body:l.Locale.yubiKeyNoKeyBody.replace("{}",e),buttons:[a.Alerts.buttons.cancel],icon:"usb-token",cancel:()=>{h.info("No key alert closed"),clearTimeout(n),s.Events.off("usb-devices-changed",d);const e=new Error("User canceled the YubiKey no key prompt");return e.userCanceled=!0,e.ykError=!0,t(e)}})},_showTouchAlert:(e,t)=>(u.Launcher.showMainWindow(),a.Alerts.alert({header:l.Locale.yubiKeyTouchRequestedHeader,body:l.Locale.yubiKeyTouchRequestedBody.replace("{}",e),buttons:[a.Alerts.buttons.cancel],icon:"usb-token",cancel:()=>{h.info("Touch alert closed");const e=new Error("User canceled the YubiKey touch prompt");return e.userCanceled=!0,e.ykError=!0,t(e)}})),clearCache(e){delete this.cache[this.getCacheKey(e)]}}},9207:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DragDropInfo:()=>s});const s={dragObject:null}},2596:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DropboxChooser:()=>r});var s=n(7614),i=n(4798);const r=function(e){this.cb=e,this.onMessage=this.onMessage.bind(this)};r.prototype.callback=function(e,t){this.cb&&this.cb(e,t),this.cb=null},r.prototype.choose=function(){const e=this.buildUrl();if(this.popup=window.open(e,"dropbox","width=640,height=552,left=357,top=100,resizable=yes,location=yes"),!this.popup)return this.callback("Failed to open window");window.addEventListener("message",this.onMessage),this.closeInt=setInterval(this.checkClose.bind(this),200)},r.prototype.buildUrl=function(){return i.UrlFormat.makeUrl("https://www.dropbox.com/chooser",{origin:window.location.protocol+"//"+window.location.host,app_key:s.AppSettingsModel.dropboxAppKey||"qp7ctun6qt5n9d6",link_type:"direct",trigger:"js",multiselect:"false",extensions:"",folderselect:"false",iframe:"false",version:2})},r.prototype.onMessage=function(e){if(e.source!==this.popup||"https://www.dropbox.com"!==e.origin)return;const t=JSON.parse(e.data);switch(t.method){case"origin_request":e.source.postMessage(JSON.stringify({method:"origin"}),"https://www.dropbox.com");break;case"files_selected":this.popup.close(),this.success(t.params);break;case"close_dialog":this.popup.close();break;case"web_session_error":case"web_session_unlinked":this.callback(t.method);break;case"resize":this.popup.resize(t.params);break;case"error":this.callback(t.params)}},r.prototype.checkClose=function(){this.popup.closed&&(clearInterval(this.closeInt),window.removeEventListener("message",this.onMessage),this.result||this.callback("closed"))},r.prototype.success=function(e){if(!e||!e[0]||!e[0].link||e[0].is_dir)return this.callback("bad result");this.result=e[0],this.readFile(this.result.link)},r.prototype.readFile=function(e){const t=new XMLHttpRequest;t.addEventListener("load",(()=>{this.callback(null,{name:this.result.name,data:t.response})})),t.addEventListener("error",this.callback.bind(this,"download error")),t.addEventListener("abort",this.callback.bind(this,"download abort")),t.open("GET",e),t.responseType="arraybuffer",t.send()}},6608:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ExportApi:()=>r});var s=n(7614),i=n(8925);const r={settings:{get:e=>e?s.AppSettingsModel[e]:Object.assign({},s.AppSettingsModel),set(e,t){s.AppSettingsModel[e]=t},del(e){delete s.AppSettingsModel[e]}},runtimeData:{get:e=>e?i.RuntimeDataModel[e]:Object.assign({},i.RuntimeDataModel),set(e,t){i.RuntimeDataModel[e]=t},del(e){delete i.RuntimeDataModel[e]}}}},4953:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FocusManager:()=>r});var s=n(2363);const i=new s.Logger("focus-manager",void 0,localStorage.debugFocusManager?s.Logger.Level.Debug:s.Logger.Level.Info),r={modal:null,setModal(e){this.modal=e,i.debug("Set modal",e)}}},1622:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GeneratorPresets:()=>r});var s=n(7614),i=n(3297);const r={get defaultPreset(){return{name:"Default",title:i.Locale.genPresetDefault,length:16,upper:!0,lower:!0,digits:!0}},get browserExtensionPreset(){return{name:"BrowserExtension",length:20,upper:!0,lower:!0,special:!0,brackets:!0,ambiguous:!0}},get builtIn(){return[this.defaultPreset,{name:"Pronounceable",title:i.Locale.genPresetPronounceable,length:10,lower:!0,upper:!0},{name:"Med",title:i.Locale.genPresetMed,length:16,upper:!0,lower:!0,digits:!0,special:!0,brackets:!0,ambiguous:!0},{name:"Long",title:i.Locale.genPresetLong,length:32,upper:!0,lower:!0,digits:!0},{name:"Pin4",title:i.Locale.genPresetPin4,length:4,digits:!0},{name:"Mac",title:i.Locale.genPresetMac,length:17,include:"0123456789ABCDEF",pattern:"XX-"},{name:"Hash128",title:i.Locale.genPresetHash128,length:32,include:"0123456789abcdef"},{name:"Hash256",title:i.Locale.genPresetHash256,length:64,include:"0123456789abcdef"}]},get all(){let e=this.builtIn;e.forEach((e=>{e.builtIn=!0}));const t=s.AppSettingsModel.generatorPresets;if(t){t.user&&(e=e.concat(t.user.map((e=>Object.assign({},e)))));let n=!1;e.forEach((e=>{t.disabled&&t.disabled[e.name]&&(e.disabled=!0),t.default===e.name&&(n=!0,e.default=!0)})),n||(e[0].default=!0)}return e},get enabled(){const e=this.all.filter((e=>!e.disabled));return e.length||e.push(this.defaultPreset),e},getOrCreateSetting(){let e=s.AppSettingsModel.generatorPresets;return e||(e={user:[]}),e},add(e){const t=this.getOrCreateSetting();e.name&&!t.user.filter((t=>t.name===e.name)).length&&(t.user.push(e),this.save(t))},remove(e){const t=this.getOrCreateSetting();t.user=t.user.filter((t=>t.name!==e)),this.save(t)},setPreset(e,t){const n=this.getOrCreateSetting(),s=n.user.filter((t=>t.name===e))[0];s&&(Object.assign(s,t),this.save(n))},setDisabled(e,t){const n=this.getOrCreateSetting();t?(n.disabled||(n.disabled={}),n.disabled[e]=!0):n.disabled&&delete n.disabled[e],this.save(n)},setDefault(e){const t=this.getOrCreateSetting();e?t.default=e:delete t.default,this.save(t)},save(e){s.AppSettingsModel.set({generatorPresets:void 0},{silent:!0}),s.AppSettingsModel.generatorPresets=e}}},4558:(e,t,n)=>{"use strict";n.r(t),n.d(t,{checkIfPasswordIsExposedOnline:()=>o});var s=n(3617);const i=new(n(2363).Logger)("online-password-checker"),r={};function o(e){if(!e||!e.isProtected||!e.byteLength)return!1;const t=e.saltedValue(),n=r[t];if(void 0!==n)return n;const o=e.getBinary();return crypto.subtle.digest({name:"SHA-1"},o).then((e=>{s.ByteUtils.zeroBuffer(o);const n=(e=s.ByteUtils.bytesToHex(e).toUpperCase()).substr(0,5);return fetch(`https://api.pwnedpasswords.com/range/${n}`).then((e=>e.text())).then((n=>{const s=n.includes(e.substr(5));return r[t]=s,s}))})).catch((e=>{i.error("Error checking password online",e)}))}},3660:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SelectEntryFilter:()=>o});var s=n(6491),i=n(5563);const r=/^(\w+:\/\/)?(?:(?:www|wwws|secure)\.)?([^\/]+)\/?(.*)/;class o{constructor(e,t,n,s){this.title=e.title,this.useTitle=!!e.title&&!e.url,this.url=e.url,this.useUrl=!!e.url,this.subdomains=!0,this.text="",this.appModel=t,this.files=n,this.filterOptions=s}getEntries(){const e=Object.assign({text:this.text},this.filterOptions);let t=this.appModel.getEntriesByFilter(e,this.files).map((e=>[e,this._getEntryRank(e)]));return(this.useUrl||this.useTitle)&&(t=t.filter((e=>e[1]))),t=t.sort(((e,t)=>e[1]===t[1]?e[0].title.localeCompare(t[0].title):t[1]-e[1])),t=t.map((e=>e[0])),new s.SearchResultCollection(t,{comparator:"none"})}_getEntryRank(e){let t=0,n=0;if(this.useTitle&&this.title&&e.title&&(t=i.Ranking.getStringRank(e.title.toLowerCase(),this.title.toLowerCase()),!t))return 0;if(this.useUrl&&this.url){const t=this.url.toLowerCase(),s=r.exec(t);for(const t of e.getAllUrls()){const e=r.exec(t.toLowerCase());if(e){const[,t,i,r]=e,[,o,a,l]=s;(i===a||this.subdomains&&a.indexOf("."+i)>0)&&(n+=i===a?20:10,r===l?n+=10:r&&l&&(0===r.lastIndexOf(l,0)?n+=5:0===l.lastIndexOf(r,0)&&(n+=3)),t===o&&(n+=1))}}e.searchText.includes(t)&&(n+=5)}return this.useTitle&&!t||this.useUrl&&!n?0:t+n}}},7027:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Shortcuts:()=>d});var s=n(9491),i=n(2977),r=n(7614),o=n(667),a=n(2378),l=n(3297);let c;const u={copyPassword:{mac:"Ctrl+Alt+C",all:"Shift+Alt+C"},copyUser:{mac:"Ctrl+Alt+B",all:"Shift+Alt+B"},copyUrl:{mac:"Ctrl+Alt+U",all:"Shift+Alt+U"},copyOtp:{},autoType:{mac:"Ctrl+Alt+T",all:"Shift+Alt+T"},restoreApp:{}},d={keyEventToShortcut(e){const t=[];e.ctrlKey&&t.push("Ctrl"),e.altKey&&t.push("Alt"),e.shiftKey&&t.push("Shift"),o.Features.isMac&&e.metaKey&&t.push("Meta");const n=function(){if(!c){c={};for(const[e,t]of Object.entries(i.Keys)){const n=e.replace("DOM_VK_","");/^([0-9A-Z]|F\d{1,2})$/.test(n)&&(c[t]=n)}}return c}()[e.which];return{value:t.join("+")+"+"+(n||"…"),valid:t.length>0&&!!n}},presentShortcut(e,t){return e?e.split(/\+/g).map((e=>{switch(e){case"Ctrl":return this.ctrlShortcutSymbol(t);case"Alt":return this.altShortcutSymbol(t);case"Shift":return this.shiftShortcutSymbol(t);case"Meta":return this.actionShortcutSymbol(t);default:return e}})).join(""):"-"},actionShortcutSymbol(e){return o.Features.isMac?"⌘":this.formatShortcut(l.Locale.ctrlKey,e)},altShortcutSymbol(e){return o.Features.isMac?"⌥":this.formatShortcut(l.Locale.altKey,e)},shiftShortcutSymbol(e){return o.Features.isMac?"⇧":this.formatShortcut(l.Locale.shiftKey,e)},ctrlShortcutSymbol(e){return o.Features.isMac?"⌃":this.formatShortcut(l.Locale.ctrlKey,e)},formatShortcut:(e,t)=>t?`${e} + `:`${e}+`,globalShortcutText(e,t){return this.presentShortcut(this.globalShortcut(e),t)},globalShortcut(e){const t=r.AppSettingsModel[this.globalShortcutAppSettingsKey(e)];if(t)return t;const n=u[e];return n?o.Features.isMac&&n.mac?n.mac:n.all:void 0},setGlobalShortcut(e,t){if(!u[e])throw new Error("Bad shortcut: "+e);t?r.AppSettingsModel[this.globalShortcutAppSettingsKey(e)]=t:delete r.AppSettingsModel[this.globalShortcutAppSettingsKey(e)],s.Launcher.setGlobalShortcuts(r.AppSettingsModel)},globalShortcutAppSettingsKey:e=>"globalShortcut"+a.StringFormat.capFirst(e),screenshotToClipboardShortcut:()=>o.Features.isiOS?"Sleep+Home":o.Features.isMobile?"":o.Features.isMac?"Command-Shift-Control-4":o.Features.isWindows?"Alt+PrintScreen":""}},6420:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SingleInstanceChecker:()=>l});var s=n(7201),i=n(9491);const r="instanceCheck",o="instanceMaster",a=Date.now().toString(),l={init(){i.Launcher||(window.addEventListener("storage",l.storageChanged),l.setKey(r,a))},storageChanged(e){e.newValue&&(e.key===r&&e.newValue!==a?l.setKey(o,a+Math.random().toString()):e.key===o&&e.newValue.indexOf(a)<0&&(window.removeEventListener("storage",l.storageChanged),s.Events.emit("second-instance")))},setKey(e,t){try{localStorage.setItem(e,t),setTimeout((()=>{localStorage.removeItem(e)}),100)}catch(e){}}}},8578:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StartProfiler:()=>o});const s=new(n(2363).Logger)("start-profiler");let i=0;const r=[],o={milestone(e){const t=s.ts(),n=t-i;i=t,r.push({name:e,elapsed:n})},report(){const e=this.getNetworkTime();r.unshift({name:"fetching",elapsed:e});const t=Math.round(performance.now());this.printReport("App",r,t)},reportAppProfile(e){this.printReport("Electron app",e.timings,e.totalTime)},printReport(e,t,n){const i=`${e} started in ${n}ms: `+t.map((e=>`${e.name}=${Math.round(e.elapsed)}ms`)).join(", ");s.info(i)},getNetworkTime(){let e;return performance.getEntriesByType&&([e]=performance.getEntriesByType("navigation")),e&&e.responseEnd&&e.fetchStart||(e=performance.timing),e.responseEnd-e.fetchStart}};o.milestone("pre-init")},5621:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Updater:()=>g});var s=n(3617),i=n(7201),r=n(7119),o=n(2118),a=n(9491),l=n(9673),c=n(7614),u=n(2706),d=n(8146),h=n(2363),p=n(7536);const m=new h.Logger("updater"),g={UpdateInterval:864e5,MinUpdateTimeout:500,MinUpdateSize:1e4,nextCheckTimeout:null,updateCheckDate:new Date(0),enabled:null===a.Launcher||void 0===a.Launcher?void 0:a.Launcher.updaterEnabled(),getAutoUpdateType(){if(!this.enabled)return!1;let e=c.AppSettingsModel.autoUpdate;return e&&!0===e&&(e="install"),e},updateInProgress:()=>"checking"===u.UpdateModel.status||["downloading","extracting","updating"].indexOf(u.UpdateModel.updateStatus)>=0,init(){this.scheduleNextCheck(),a.Launcher||!navigator.serviceWorker||r.RuntimeInfo.beta||r.RuntimeInfo.devMode||navigator.serviceWorker.register("service-worker.js").then((e=>{m.info("Service worker registered"),e.addEventListener("updatefound",(()=>{e.active&&(m.info("Service worker found an update"),u.UpdateModel.set({updateStatus:"ready"}))}))})).catch((e=>{m.error("Failed to register a service worker",e)}))},scheduleNextCheck(){if(this.nextCheckTimeout&&(clearTimeout(this.nextCheckTimeout),this.nextCheckTimeout=null),!this.getAutoUpdateType())return;let e=this.MinUpdateTimeout;const t=u.UpdateModel.lastCheckDate;t&&(e=Math.min(Math.max(this.UpdateInterval+(t-new Date),this.MinUpdateTimeout),this.UpdateInterval)),this.nextCheckTimeout=setTimeout(this.check.bind(this),e),m.info("Next update check will happen in "+Math.round(e/1e3)+"s")},check(e){if(this.enabled&&!this.updateInProgress()){if(u.UpdateModel.set({status:"checking"}),!e){const e=new Date-this.updateCheckDate;if(isNaN(e)||e<36e5)return m.error("Prevented update check; last check was performed at "+this.updateCheckDate),void this.scheduleNextCheck();this.updateCheckDate=new Date}m.info("Checking for update..."),o.Transport.httpGet({url:l.Links.UpdateJson,json:!0,success:t=>{const n=new Date;if(m.info("Update check: "+(t.version||"unknown")),!t.version){const e="No version info found";return u.UpdateModel.set({status:"error",lastCheckDate:n,lastCheckError:e}),u.UpdateModel.save(),void this.scheduleNextCheck()}const s=u.UpdateModel.lastVersion;u.UpdateModel.set({status:"ok",lastCheckDate:n,lastSuccessCheckDate:n,lastVersionReleaseDate:new Date(t.date),lastVersion:t.version,lastCheckError:null,lastCheckUpdMin:t.minVersion||null}),u.UpdateModel.save(),this.scheduleNextCheck(),this.canAutoUpdate()&&(s!==u.UpdateModel.lastVersion||"ready"!==u.UpdateModel.updateStatus?e||"install"!==this.getAutoUpdateType()?d.SemVer.compareVersions(u.UpdateModel.lastVersion,r.RuntimeInfo.version)>0&&u.UpdateModel.set({updateStatus:"found"}):this.update(e):m.info("Waiting for the user to apply downloaded update"))},error:e=>{m.error("Update check error",e),u.UpdateModel.set({status:"error",lastCheckDate:new Date,lastCheckError:"Error checking last version"}),u.UpdateModel.save(),this.scheduleNextCheck()}})}},canAutoUpdate(){const e=u.UpdateModel.lastCheckUpdMin;if(e){if(d.SemVer.compareVersions(r.RuntimeInfo.version,e)<0)return u.UpdateModel.set({updateStatus:"ready",updateManual:!0}),!1}return!0},update(e,t){const n=u.UpdateModel.lastVersion;if(!this.enabled)return void m.info("Updater is disabled");if(d.SemVer.compareVersions(r.RuntimeInfo.version,n)>=0)return void m.info("You are using the latest version");u.UpdateModel.set({updateStatus:"downloading",updateError:null}),m.info("Downloading update",n);const s=this.getUpdateAssetName(n);if(!s)return void m.error("Empty updater asset name for",a.Launcher.platform(),a.Launcher.arch());const c=l.Links.UpdateBasePath.replace("{ver}",n),h=c+s;o.Transport.httpGet({url:h,file:s,cleanupOldFiles:!0,cache:!0,success:n=>{m.info("Downloading update signatures"),o.Transport.httpGet({url:c+"Verify.sign.sha256",text:!0,file:s+".sign",cleanupOldFiles:!0,cache:!0,success:r=>{this.verifySignature(n,s,((s,o)=>{if(s||!o)return u.UpdateModel.set({updateStatus:"error",updateError:s?"Error verifying update signature":"Invalid update signature"}),a.Launcher.deleteFile(n),void a.Launcher.deleteFile(r);m.info("Update is ready",n),u.UpdateModel.set({updateStatus:"ready",updateError:null}),e||i.Events.emit("update-app"),"function"==typeof t&&t()}))},error(e){m.error("Error downloading update signatures",e),u.UpdateModel.set({updateStatus:"error",updateError:"Error downloading update signatures"})}})},error(e){m.error("Error downloading update",e),u.UpdateModel.set({updateStatus:"error",updateError:"Error downloading update"})}})},verifySignature(e,t,n){m.info("Verifying update signature",t);const i=a.Launcher.req("fs"),r=i.readFileSync(e+".sign","utf8").split("\n").find((e=>e.endsWith(t)));if(!r)return m.error("Signature not found for asset",t),void n("Asset signature not found");const o=s.ByteUtils.hexToBytes(r.split(" ")[0]),l=i.readFileSync(e);p.SignatureVerifier.verify(l,o).catch((e=>{m.error("Error verifying signature",e),n("Error verifying signature")})).then((e=>{m.info("Update asset signature is "+(e?"valid":"invalid")),n(void 0,e)}))},getUpdateAssetName(e){const t=a.Launcher.platform(),n=a.Launcher.arch();switch(t){case"win32":switch(n){case"x64":return`KeeWeb-${e}.win.x64.exe`;case"ia32":return`KeeWeb-${e}.win.ia32.exe`;case"arm64":return`KeeWeb-${e}.win.arm64.exe`}break;case"darwin":switch(n){case"x64":return`KeeWeb-${e}.mac.x64.dmg`;case"arm64":return`KeeWeb-${e}.mac.arm64.dmg`}}},installAndRestart(){if(!a.Launcher)return;const e=this.getUpdateAssetName(u.UpdateModel.lastVersion),t=o.Transport.cacheFilePath(e);a.Launcher.requestRestartAndUpdate(t)}}},8647:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UsbListener:()=>c});var s=n(7201),i=n(2363),r=n(3006),o=n(7614),a=n(667);const l=new i.Logger("usb-listener"),c={supported:a.Features.isDesktop,attachedYubiKeys:0,init(){this.supported&&(s.Events.on("native-modules-yubikeys",(e=>{e.numYubiKeys!==this.attachedYubiKeys&&(l.debug(`YubiKeys changed ${this.attachedYubiKeys} => ${e.numYubiKeys}`),this.attachedYubiKeys=e.numYubiKeys,s.Events.emit("usb-devices-changed"))})),o.AppSettingsModel.on("change:enableUsb",((e,t)=>{t?this.start():this.stop()})),o.AppSettingsModel.enableUsb&&this.start())},start(){l.info("Starting USB listener"),this.usb&&this.stop();try{r.NativeModules.startUsbListener()}catch(e){l.error("Error starting USB listener",e)}},stop(){l.info("Stopping USB listener");try{r.NativeModules.stopUsbListener()}catch(e){l.error("Error stopping USB listener",e)}this.attachedYubiKeys&&(this.attachedYubiKeys=0,s.Events.emit("usb-devices-changed"))}}},9777:(e,t,n)=>{"use strict";n.r(t),n.d(t,{YubiKey:()=>p});var s=n(7201),i=n(9491),r=n(3006),o=n(2363),a=n(8647),l=n(7614),c=n(403),u=n(4596),d=n(3297);const h=new o.Logger("yubikey"),p={ykmanStatus:void 0,process:null,aborted:!1,cmd(){if(this._cmd)return this._cmd;const e="/usr/local/bin/ykman";return"darwin"===i.Launcher.platform()&&i.Launcher.fileExistsSync(e)?this._cmd=e:this._cmd="ykman",this._cmd},checkToolStatus(){return"ok"===this.ykmanStatus?Promise.resolve(this.ykmanStatus):new Promise((e=>{this.ykmanStatus="checking",this._cmd=void 0,i.Launcher.spawn({cmd:this.cmd(),args:["-v"],noStdOutLogging:!0,complete:(t,n,s)=>{this.ykmanStatus=t||0!==s?"error":"ok",e(this.ykmanStatus)}})}))},abort(){if(h.info("Aborting"),this.process){h.info("Killing the process");try{this.process.kill()}catch(e){}}this.aborted=!0,this.process=null},list(e){r.NativeModules.getYubiKeys({}).then((t=>{t=t.map((({serial:e,vid:t,pid:n,version:s,slots:i})=>({vid:t,pid:n,serial:e,slots:i,fullName:this.getKeyFullName(n,s,e)}))),e(null,t)})).catch(e)},getKeyFullName(e,t,n){let s="YubiKey";return u.YubiKeyProductIds.Gen1.includes(e)?s+=" Gen 1":u.YubiKeyProductIds.NEO.includes(e)?s+=" NEO":u.YubiKeyProductIds.YK4.includes(e)&&t>="5.1.0"&&(s+=" 5"),`${s} ${n}`},listWithYkman(e){this._listWithYkman(e,!0)},_listWithYkman(e,t){return this.process?e("Already in progress"):(this.aborted=!1,h.info("Listing YubiKeys"),a.UsbListener.attachedYubiKeys?void(this.process=i.Launcher.spawn({cmd:this.cmd(),args:["list"],noStdOutLogging:!0,complete:(n,s)=>{if(this.process=null,this.aborted)return e("Aborted");if(n)return e(n);const i=s.trim().split(/\n/g).map((e=>({fullName:e,serial:(e.match(/\d{5,}$/g)||[])[0]}))),r=i.filter((e=>e.serial));if(1===i.length&&0===r.length&&s.startsWith("YubiKey")&&s.includes("CCID")&&!s.includes("Serial")){if(h.info("The YubiKey is probably stuck"),!l.AppSettingsModel.yubiKeyStuckWorkaround)return e(d.Locale.yubiKeyStuckError);if(t)return this._repairStuckYubiKey(e)}if(!r.length)return e('No YubiKeys returned by "ykman list"');e(null,r)}})):e(null,[]))},_repairStuckYubiKey(e){let t;h.info("Repairing a stuck YubiKey");const n=a.UsbListener.attachedYubiKeys,r=()=>{a.UsbListener.attachedYubiKeys===n&&(h.info("YubiKey was reconnected"),s.Events.off("usb-devices-changed",r),clearTimeout(t),this.aborted=!1,setTimeout((()=>{this._listWithYkman(e,!1)}),c.Timeouts.ExternalDeviceAfterReconnect))};s.Events.on("usb-devices-changed",r),i.Launcher.spawn({cmd:this.cmd(),args:["config","usb","-e","oath","-f"],noStdOutLogging:!0,complete:n=>{if(h.info("Repair complete",n?"with error":"OK"),n)return s.Events.off("usb-devices-changed",r),e(`YubiKey repair error: ${n}`);t=setTimeout((()=>{s.Events.off("usb-devices-changed",r)}),c.Timeouts.ExternalDeviceReconnect)}})},getOtpCodes(e,t){if(this.process)return t("Already in progress");this.aborted=!1,this.process=i.Launcher.spawn({cmd:this.cmd(),args:["-d",e,"oath","accounts","code"],noStdOutLogging:!0,throwOnStdErr:!0,complete:(e,n)=>{if(this.process=null,window.debugYubiKey&&h.info("received codes",e,n),this.aborted)return t("Aborted");if(e)return t(e);const s=[];for(const e of n.split("\n")){const t=e.match(/^(.*?):(.*?)\s+(.*)$/);if(!t)continue;const[,n,i,r]=t,o=!r.match(/^\d+$/);s.push({title:n,user:i,needsTouch:o})}t(null,s)}})},getOtp(e,t,n){return i.Launcher.spawn({cmd:this.cmd(),args:["-d",e,"oath","accounts","code","--single",t],noStdOutLogging:!0,complete:(e,t)=>{if(e)return n(e);const s=t.trim();n(null,s)}})},calculateChalResp(e,t,n){const{vid:s,pid:i,serial:o,slot:a}=e,l={vid:s,pid:i,serial:o};t=Buffer.from(t);const c=u.YubiKeyChallengeSize-t.byteLength,d=Buffer.alloc(u.YubiKeyChallengeSize,c);t.copy(d),r.NativeModules.yubiKeyChallengeResponse(l,[...d],a,((e,t)=>(t&&(t=Buffer.from(t)),e&&(e.ykError=!0),n(e,t))))},cancelChalResp(){r.NativeModules.yubiKeyCancelChallengeResponse()}}},5933:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CopyPaste:()=>a});var s=n(7201),i=n(9491),r=n(7614),o=n(6718);const a={simpleCopy:!(!i.Launcher||!i.Launcher.clipboardSupported),copy(e){if(this.simpleCopy){i.Launcher.setClipboardText(e);const t=r.AppSettingsModel.clipboardSeconds;if(t>0){const n=()=>{i.Launcher.getClipboardText()===e&&i.Launcher.clearClipboardText()};s.Events.on("main-window-will-close",n),setTimeout((()=>{n(),s.Events.off("main-window-will-close",n)}),1e3*t)}return{success:!0,seconds:t}}try{if(document.execCommand("copy"))return{success:!0}}catch(e){}return!1},createHiddenInput(e){const t=o("<input/>").val(e).attr({type:"text",class:"hide-by-pos"}).appendTo(document.body);t[0].selectionStart=0,t[0].selectionEnd=e.length,t.focus(),t.on({"copy cut paste"(){setTimeout((()=>t.blur()),0)},blur(){t.remove()}})},copyHtml(e){const t=document.createElement("div");t.style.userSelect="auto",t.style.webkitUserSelect="auto",t.style.mozUserSelect="auto",t.innerHTML=e,document.body.appendChild(t);const n=document.createRange();n.selectNodeContents(t);const s=window.getSelection();s.removeAllRanges(),s.addRange(n);const i=document.execCommand("copy");return t.remove(),i}}},8132:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FeatureTester:()=>i});var s=n(667);const i={test(){return Promise.resolve().then((()=>this.checkWebAssembly())).then((()=>this.checkLocalStorage())).then((()=>this.checkWebCrypto()))},checkWebAssembly(){try{const e=new n.g.WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));return new n.g.WebAssembly.Instance(e)instanceof n.g.WebAssembly.Instance}catch(e){throw"WebAssembly is not supported"}},checkLocalStorage(){if(!s.Features.isDesktop)try{localStorage.setItem("_test","1"),localStorage.removeItem("_test")}catch(e){throw"LocalStorage is not supported"}},checkWebCrypto(){if(!n.g.crypto.subtle)throw"WebCrypto is not supported"}}},9053:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FocusDetector:()=>o});var s=n(7201),i=n(9491),r=n(667);const o={init(){this.isFocused=!0,this.detectsFocusWithEvents=!r.Features.isDesktop&&!r.Features.isMobile,this.detectsFocusWithEvents&&(window.addEventListener("focus",(()=>{o.isFocused||(o.isFocused=!0,s.Events.emit("main-window-focus"))})),window.addEventListener("blur",(()=>{o.isFocused&&(o.isFocused=!1,s.Events.emit("main-window-blur"))})))},hasFocus(){return this.detectsFocusWithEvents?this.isFocused:!i.Launcher||i.Launcher.isAppFocused()}}},5665:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IdleTracker:()=>r});var s=n(7201),i=n(7614);const r={actionTime:Date.now(),init(){setInterval(this.checkIdle.bind(this),6e4)},checkIdle(){const e=(Date.now()-this.actionTime)/1e3/60,t=i.AppSettingsModel.idleMinutes;t&&e>t&&(s.Events.emit("before-user-idle"),s.Events.emit("user-idle"))},regUserAction(){this.actionTime=Date.now()}};s.Events.on("power-monitor-resume",(()=>r.checkIdle))},1164:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeyHandler:()=>c});var s=n(7201),i=n(5665),r=n(2977),o=n(4953),a=n(6718);const l=navigator.platform.indexOf("Mac")>=0?"metaKey":"ctrlKey";const c=new class{constructor(){this.SHORTCUT_ACTION=1,this.SHORTCUT_OPT=2,this.SHORTCUT_SHIFT=4,this.shortcuts={}}init(){a(document).bind("keypress",this.keypress.bind(this)),a(document).bind("keydown",this.keydown.bind(this)),this.shortcuts[r.Keys.DOM_VK_A]=[{handler:this.handleAKey,thisArg:this,shortcut:this.SHORTCUT_ACTION,modal:!0,noPrevent:!0}]}onKey(e,t,n,s,i,r){let o=this.shortcuts[e];o||(this.shortcuts[e]=o=[]),o.push({handler:t,thisArg:n,shortcut:s,modal:i,noPrevent:r})}offKey(e,t,n){this.shortcuts[e]&&(this.shortcuts[e]=this.shortcuts[e].filter((e=>e.handler!==t||e.thisArg!==n)))}isActionKey(e){return e[l]}keydown(e){i.IdleTracker.regUserAction();const t=e.keyCode||e.which,n=this.shortcuts[t];if(n&&n.length)for(const s of n){if(o.FocusManager.modal&&s.modal!==o.FocusManager.modal&&"*"!==s.modal){e.stopPropagation();continue}const n=this.isActionKey(e);switch(s.shortcut){case this.SHORTCUT_ACTION:if(!n)continue;break;case this.SHORTCUT_OPT:if(!e.altKey)continue;break;case this.SHORTCUT_SHIFT:if(!e.shiftKey)continue;break;case this.SHORTCUT_ACTION+this.SHORTCUT_OPT:if(!e.altKey||!n)continue;break;default:if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)continue}if(s.handler.call(s.thisArg,e,t),n&&!s.noPrevent&&e.preventDefault(),e.isImmediatePropagationStopped())break}}keypress(e){o.FocusManager.modal||e.which===r.Keys.DOM_VK_RETURN||e.which===r.Keys.DOM_VK_ESCAPE||e.which===r.Keys.DOM_VK_TAB||e.altKey||e.ctrlKey||e.metaKey?o.FocusManager.modal&&s.Events.emit("keypress:"+o.FocusManager.modal,e):s.Events.emit("keypress",e)}reg(){i.IdleTracker.regUserAction()}handleAKey(e){"input"===e.target.tagName.toLowerCase()&&["password","text"].indexOf(e.target.type)>=0?e.stopImmediatePropagation():e.preventDefault()}}},5358:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PopupNotifier:()=>u});var s=n(7201),i=n(9491),r=n(4530),o=n(403),a=n(3297),l=n(2363),c=n(6838);const u={logger:null,init(){if(this.logger=new l.Logger("popup-notifier"),i.Launcher)window.open=c.noop;else{const e=window.open;window.open=function(...t){const n=e.apply(window,t);return n?(u.deferCheckClosed(n),s.Events.emit("popup-opened",n)):r.Alerts.alertDisplayed||r.Alerts.error({header:a.Locale.authPopupRequired,body:a.Locale.authPopupRequiredBody}),n}}},deferCheckClosed(e){setTimeout(u.checkClosed.bind(u,e),o.Timeouts.CheckWindowClosed)},checkClosed(e){if(e.closed)setTimeout(u.triggerClosed.bind(u,e),o.Timeouts.CheckWindowClosed);else{const t=u.tryGetLocationSearch(e);if(t){try{e.close()}catch(e){}return void u.triggerClosed(e,t)}u.deferCheckClosed(e)}},tryGetLocationSearch(e){try{if(e.location.host===location.host)return e.location.search}catch(e){}},triggerClosed(e,t){s.Events.emit("popup-closed",{window:e,locationSearch:t})}}},6892:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SecureInput:()=>i});var s=n(3617);const i=function(){this.el=null,this.minChar=5120+Math.round(100*Math.random()),this.maxLen=1024,this.length=0,this.pseudoValue="",this.salt=new Uint32Array(0)};i.prototype.setElement=function(e){this.el=e,this.el.val(this.pseudoValue),this.el.on("input",this._input.bind(this))},i.prototype.reset=function(){if(this.el=null,this.length=0,this.pseudoValue="",this.salt)for(let e=0;e<this.salt.length;e++)this.salt[e]=0;this.salt=new Uint32Array(0)},i.prototype._input=function(){const e=this.el[0].selectionStart,t=this.el.val();let n="";const s=new Uint32Array(this.maxLen);let i=0,r=0;for(;i<t.length;){const e=t.charCodeAt(i),o=this.pseudoValue.charCodeAt(r),a=this._isSpecialChar(e);o===e?(n+=this._getChar(n.length),s[n.length-1]=o^this.salt[r]^n.charCodeAt(n.length-1),r++,i++):a?r++:(n+=this._getChar(n.length),s[n.length-1]=n.charCodeAt(n.length-1)^e,i++)}this.length=n.length,this.pseudoValue=n,this.salt=s,this.el.val(n),this.el[0].selectionStart=e,this.el[0].selectionEnd=e},i.prototype._getChar=function(e){return String.fromCharCode(this.minChar+e)},i.prototype._isSpecialChar=function(e){return e>=this.minChar&&e<=this.minChar+this.maxLen},Object.defineProperty(i.prototype,"value",{enumerable:!0,get(){const e=this.pseudoValue,t=this.salt,n=e.length;let i=0;const r=new Uint8Array(4*n),o=s.CryptoEngine.random(4*n);let a,l;for(let c=0;c<n;c++){const n=e.charCodeAt(c);a=String.fromCharCode(t[c]^n),l=s.ByteUtils.stringToBytes(a);for(let e=0;e<l.length;e++)r[i]=l[e]^o[i],i++}return new s.ProtectedValue(r.buffer.slice(0,i),o.buffer.slice(0,i))}})},8180:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ThemeWatcher:()=>i});var s=n(7201);const i={dark:!1,init(){const e=window.matchMedia("(prefers-color-scheme: dark)");e&&e.addEventListener&&e.addEventListener("change",(e=>{const t=e.matches;this.dark=t,s.Events.emit("dark-mode-changed",{dark:t})})),this.dark=!!e.matches}}},2118:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Transport:()=>l});var s=n(9491),i=n(2363),r=n(6838),o=n(2378);const a=new i.Logger("transport"),l={cacheFilePath:e=>s.Launcher.getTempPath(e),httpGet(e){let t;const n=s.Launcher.req("fs");if(e.file){const i=s.Launcher.getTempPath();if(e.cleanupOldFiles){const t=n.readdirSync(i);for(const r of t)r!==e.file&&o.StringFormat.replaceVersion(r,"0")===o.StringFormat.replaceVersion(e.file,"0")&&n.unlinkSync(s.Launcher.joinPath(i,r))}if(t=s.Launcher.joinPath(i,e.file),n.existsSync(t))try{if(e.cache&&n.statSync(t).size>0)return a.info("File already downloaded "+e.url),e.success(t);n.unlinkSync(t)}catch(e){n.unlink(t,r.noop)}}const i=e.url.split(":")[0];a.info("GET "+e.url);const c=s.Launcher.req("url").parse(e.url);c.headers={"User-Agent":navigator.userAgent},s.Launcher.resolveProxy(e.url,(o=>{a.info("Request to "+e.url+" "+(o?"using proxy "+o.host+":"+o.port:"without proxy")),o&&(c.headers.Host=c.host,c.host=o.host,c.port=o.port,c.path=e.url),s.Launcher.req(i).get(c,(s=>{if(a.info("Response from "+e.url+": "+s.statusCode),200===s.statusCode)if(e.file){const i=n.createWriteStream(t);s.pipe(i),i.on("finish",(()=>{i.close((()=>{e.success(t)}))})),i.on("error",(t=>{e.error(t)}))}else{let t=[];s.on("data",(e=>{t.push(e)})),s.on("end",(()=>{if(t=window.Buffer.concat(t),(e.text||e.json)&&(t=t.toString("utf8")),e.json)try{t=JSON.parse(t)}catch(t){e.error("Error parsing JSON: "+t.message)}e.success(t)}))}else if(s.headers.location&&[301,302].indexOf(s.statusCode)>=0){if(e.noRedirect)return e.error("Too many redirects");e.url=s.headers.location,e.noRedirect=!0,l.httpGet(e)}else e.error("HTTP status "+s.statusCode)})).on("error",(s=>{a.error("Cannot GET "+e.url,s),t&&n.unlink(t,r.noop),e.error(s)}))}))}}},8432:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BrowserExtensionConnector:()=>f,SupportedExtensions:()=>u,SupportedBrowsers:()=>d});var s=n(9491),i=n(2363),r=n(5886),o=n(7119),a=n(7614),l=n(667);const c={connectionId:1,extensionName:"KeeWeb Connect",supportsNotifications:!0},u=[{alias:"KWC",name:"KeeWeb Connect"},{alias:"KPXC",name:"KeePassXC-Browser"}],d=["Chrome","Firefox","Edge","Other"];l.Features.isMac&&d.unshift("Safari");const h=new i.Logger("browser-extension-connector");localStorage.debugBrowserExtension||(h.level=i.Logger.Level.Info);const p=new Map,m=[];let g=!1;const f={started:!1,logger:h,init(e){const t=this.sendEvent.bind(this);if(r.ProtocolImpl.init({appModel:e,logger:h,sendEvent:t}),this.browserWindowMessage=this.browserWindowMessage.bind(this),s.Launcher){const{ipcRenderer:e}=s.Launcher.electron();e.on("browserExtensionSocketConnected",((e,t,n)=>this.socketConnected(t,n))),e.on("browserExtensionSocketClosed",((e,t)=>this.socketClosed(t))),e.on("browserExtensionSocketRequest",((e,t,n)=>this.socketRequest(t,n))),a.AppSettingsModel.on("change",(()=>this.appSettingsChanged()))}this.isEnabled()&&this.start()},start(){s.Launcher?this.startDesktopAppListener():this.startWebMessageListener(),this.started=!0},stop(){s.Launcher?this.stopDesktopAppListener():this.stopWebMessageListener(),r.ProtocolImpl.cleanup(),p.clear(),this.started=!1},appSettingsChanged(){this.isEnabled()?this.started||this.start():this.started&&this.stop()},isEnabled(){if(!s.Launcher)return!0;for(const e of u)for(const t of d)if(a.AppSettingsModel[`extensionEnabled${e.alias}${t}`])return!0;return!1},startWebMessageListener(){window.addEventListener("message",this.browserWindowMessage),h.info("Started")},stopWebMessageListener(){window.removeEventListener("message",this.browserWindowMessage)},enable(e,t,n){const{ipcRenderer:i}=s.Launcher.electron();i.invoke("browserExtensionConnectorEnable",e,t,n)},async startDesktopAppListener(){const{ipcRenderer:e}=s.Launcher.electron();e.invoke("browserExtensionConnectorStart",{appleTeamId:o.RuntimeInfo.appleTeamId})},stopDesktopAppListener(){const{ipcRenderer:e}=s.Launcher.electron();e.invoke("browserExtensionConnectorStop")},browserWindowMessage(e){var t;e.origin===location.origin&&e.source===window&&"request"===(null==e||null===(t=e.data)||void 0===t?void 0:t.kwConnect)&&(h.debug("Extension -> KeeWeb",e.data),m.push(e.data),this.processBrowserMessages())},async processBrowserMessages(){if(!m.length||g)return;p.has(c.connectionId)||p.set(c.connectionId,c),g=!0;const e=m.shift(),t=await r.ProtocolImpl.handleRequest(e,c);g=!1,t&&this.sendWebResponse(t),this.processBrowserMessages()},sendWebResponse(e){h.debug("KeeWeb -> Extension",e),e.kwConnect="response",postMessage(e,window.location.origin)},sendSocketEvent(e){const{ipcRenderer:t}=s.Launcher.electron();t.invoke("browserExtensionConnectorSocketEvent",e)},sendSocketResult(e,t){const{ipcRenderer:n}=s.Launcher.electron();n.invoke("browserExtensionConnectorSocketResult",e,t)},sendEvent(e){this.isEnabled()&&p.size&&(s.Launcher?this.sendSocketEvent(e):this.sendWebResponse(e))},socketConnected(e,t){p.set(e,t)},socketClosed(e){p.delete(e),r.ProtocolImpl.deleteConnection(e)},async socketRequest(e,t){let n;const s=p.get(e);if(s)n=await r.ProtocolImpl.handleRequest(t,s);else{const s=`Connection not found: ${e}`;n=r.ProtocolImpl.errorToResponse({message:s},t)}this.sendSocketResult(e,n)},get sessions(){return r.ProtocolImpl.sessions},terminateConnection(e){if(e=+e,s.Launcher){const{ipcRenderer:t}=s.Launcher.electron();t.invoke("browserExtensionConnectorCloseSocket",e)}else r.ProtocolImpl.deleteConnection(e)},getClientPermissions:e=>r.ProtocolImpl.getClientPermissions(e),setClientPermissions(e,t){r.ProtocolImpl.setClientPermissions(e,t)}}},5886:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ProtocolImpl:()=>V});var s=n(3617),i=n(7201),r=n(9491),o=n(4855),a=n(4486),l=n(1622),c=n(4530),u=n(3297),d=n(7119),h=n(3942),p=n(7031),m=n(9793),g=n(2729),f=n(8925),A=n(7614),y=n(403),v=n(4583),b=n(3659),w=n(3660);const k="KeeWeb",C="398d9c782ec76ae9e9877c2321cbda2b31fc6d18ccf0fed5ca4bd746bab4d64a",_="Browser",E=new Set(["KeePassXC-Browser Passwords",_]),x={noOpenFiles:{message:u.Locale.extensionErrorNoOpenFiles,code:"1"},userRejected:{message:u.Locale.extensionErrorUserRejected,code:"6"},noMatches:{message:u.Locale.extensionErrorNoMatches,code:"15"}},I=new Map;let S,D,B;function P(e){let t=0,n=1;for(;t<e.length;++t)n+=e[t],e[t]=n,n>>=8}function T(e){if(!e.clientID)throw new Error("Empty clientID");const t=I.get(e.clientID);if(!t)throw new Error(`Client not connected: ${e.clientID}`);return t}function F(e){const t=T(e);if(!e.nonce)throw new Error("Empty nonce");if(!e.message)throw new Error("Empty message");const n=s.ByteUtils.base64ToBytes(e.nonce),i=s.ByteUtils.base64ToBytes(e.message),r=o.box.open(i,n,t.publicKey,t.keys.secretKey);if(!r)throw new Error("Failed to decrypt data");const a=(new TextDecoder).decode(r),l=JSON.parse(a);if(S.debug("Extension -> KeeWeb -> (decrypted)",l),!l)throw new Error("Empty request payload");if(l.action!==e.action)throw new Error("Bad action in decrypted payload");return l}function M(e,t){S.debug("KeeWeb -> Extension (decrypted)",t);const n=s.ByteUtils.base64ToBytes(e.nonce);P(n);const i=s.ByteUtils.bytesToBase64(n),r=T(e);t.nonce=i;const a=JSON.stringify(t),l=(new TextEncoder).encode(a),c=(0,o.box)(l,n,r.publicKey,r.keys.secretKey),u=s.ByteUtils.bytesToBase64(c);return{action:e.action,message:u,nonce:i}}function O(e){const t=new Error(e.message);return t.code=e.code,t}function L(){if(!D.files.hasOpenFiles())throw O(x.noOpenFiles)}async function N(e){var t;if(!D.files.hasOpenFiles()){if(!A.AppSettingsModel.extensionFocusIfLocked)throw O(x.noOpenFiles);try{j(),await D.unlockAnyFile("extensionUnlockMessage",y.Timeouts.KeeWebConnectRequest)}catch(e){throw O(x.noOpenFiles)}}const n=T(e);if(n.permissions)return;if(c.Alerts.alertDisplayed)throw new Error(u.Locale.extensionErrorAlertDisplayed);j();const s=f.RuntimeDataModel.extensionConnectConfig,o=D.files.map((e=>({id:e.id,name:e.name,checked:!s||s.allFiles||s.files.includes(e.id)})));if(!o.some((e=>e.checked)))for(const e of o)e.checked=!0;const a=new p.ExtensionConnectView({extensionName:Q(n),identityVerified:!r.Launcher,files:o,allFiles:null===(t=null==s?void 0:s.allFiles)||void 0===t||t,askGet:(null==s?void 0:s.askGet)||"multiple"});try{await R({header:u.Locale.extensionConnectHeader,icon:"exchange-alt",buttons:[c.Alerts.buttons.allow,c.Alerts.buttons.deny],view:a,wide:!0,opaque:!0})}catch(e){throw n.permissionsDenied=!0,i.Events.emit("browser-extension-sessions-changed"),e}f.RuntimeDataModel.extensionConnectConfig=a.config,n.permissions=a.config,i.Events.emit("browser-extension-sessions-changed")}function R(e){return new Promise(((t,n)=>{let s=0;const i=c.Alerts.alert(Object.assign({},e,{enter:"yes",esc:"",success:e=>{clearTimeout(s),t(e)},cancel:()=>{clearTimeout(s),n(O(x.userRejected))}}));s=setTimeout((()=>{i.closeWithResult("")}),y.Timeouts.KeeWebConnectRequest)}))}function K(e){const t=T(e);if(!t.permissions)return;const n=D.files.filter((e=>e.active&&(t.permissions.allFiles||t.permissions.files.includes(e.id))));if(!n.length)throw O(x.noOpenFiles);return n}function U(e){return function(e){return"KeePassXC-Browser"===T(e).connection.extensionName}(e)?h.KnownAppVersions.KeePassXC:d.RuntimeInfo.version}function Q(e){return e.connection.appName?`${e.connection.extensionName} (${e.connection.appName})`:e.connection.extensionName}function j(){S.debug("Focus KeeWeb"),r.Launcher?r.Launcher.isAppFocused()||r.Launcher.showMainWindow():B({action:"attention-required"})}async function G(e,t,n){const s=F(e);if(await N(e),!s.url)throw new Error("Empty url");const i=K(e),r=T(e),o=new w.SelectEntryFilter({url:s.url,title:s.title},D,i,n);o.subdomains=!1;let a,l=o.getEntries();if(o.subdomains=!0,l.length)1===l.length&&t&&"multiple"===r.permissions.askGet&&(a=l[0]);else if(l=o.getEntries(),!l.length){if(!A.AppSettingsModel.extensionFocusIfEmpty)throw O(x.noMatches);o.useUrl=!1,o.title&&A.AppSettingsModel.autoTypeTitleFilterEnabled&&(o.useTitle=!0,l=o.getEntries(),l.length||(o.useTitle=!1))}if(!a){const e=Q(r),t=u.Locale.extensionSelectPasswordFor.replace("{}",e),n=new v.SelectEntryView({filter:o,topMessage:t});j();const s=setTimeout((()=>{n.emit("result",void 0)}),y.Timeouts.KeeWebConnectRequest),i=await n.showAndGetResult();if(clearTimeout(s),a=null==i?void 0:i.entry,!a)throw O(x.userRejected)}return r.stats.passwordsRead++,a}const H={ping:({data:e})=>({data:e}),"change-public-keys"(e,t){let{publicKey:n,version:a,clientID:l}=e;if(I.has(l))throw new Error("Changing keys is not allowed");r.Launcher||I.clear();const c=o.box.keyPair();n=s.ByteUtils.base64ToBytes(n);const u={connectedDate:new Date,passwordsRead:0,passwordsWritten:0};I.set(l,{connection:t,publicKey:n,version:a,keys:c,stats:u}),i.Events.emit("browser-extension-sessions-changed"),S.info("New client key created",l,a);const d=s.ByteUtils.base64ToBytes(e.nonce);P(d);const h=s.ByteUtils.bytesToBase64(d);return Object.assign({action:"change-public-keys",version:U(e),publicKey:s.ByteUtils.bytesToBase64(c.publicKey),nonce:h,success:"true"},function(e){return"KeeWeb Connect"===T(e).connection.extensionName}(e)?{appName:"KeeWeb"}:void 0)},"get-databasehash":async e=>(F(e),e.triggerUnlock?await N(e):L(),M(e,{hash:C,success:"true",version:U(e)})),"generate-password"(e){const t=a.PasswordGenerator.generate(l.GeneratorPresets.browserExtensionPreset);return M(e,{version:U(e),success:"true",entries:[{password:t}]})},"lock-database":e=>(F(e),L(),i.Events.emit("lock-workspace"),c.Alerts.alertDisplayed&&j(),M(e,{success:"true",version:U(e)})),associate:e=>(F(e),L(),M(e,{success:"true",version:U(e),hash:C,id:k})),"test-associate"(e){const t=F(e);if(t.id!==k)throw O(x.noOpenFiles);return M(e,{success:"true",version:U(e),hash:C,id:t.id})},async"get-logins"(e){var t;const n=await G(e,!0);return M(e,{success:"true",version:U(e),hash:C,count:1,entries:[{group:n.group.title,login:n.user||"",name:n.title||"",password:(null===(t=n.password)||void 0===t?void 0:t.getText())||"",skipAutoSubmit:"false",stringFields:[],uuid:s.ByteUtils.bytesToHex(n.entry.uuid.bytes)}],id:""})},async"get-totp-by-url"(e){const t=await G(e,!0,{otp:!0});if(t.initOtpGenerator(),!t.otpGenerator)throw O(x.noMatches);let n;t.needsTouch&&(n=new b.SelectEntryFieldView({needsTouch:!0,deviceShortName:t.device.shortName}),n.render());const s=new Promise(((e,s)=>{var i;null===(i=n)||void 0===i||i.on("result",(()=>s(O(x.userRejected)))),t.otpGenerator.next(((t,n)=>{n?e(n):s(t||O(x.userRejected))}))}));let i;try{i=await s}finally{var r;null===(r=n)||void 0===r||r.remove()}return M(e,{success:"true",version:U(e),totp:i})},async"get-any-field"(e){const t=await G(e,!1),n=new b.SelectEntryFieldView({entry:t}),s=setTimeout((()=>{n.emit("result",void 0)}),y.Timeouts.KeeWebConnectRequest),i=await n.showAndGetResult();if(clearTimeout(s),!i)throw O(x.userRejected);let r=t.getAllFields()[i];return r.isProtected&&(r=r.getText()),M(e,{success:"true",version:U(e),field:i,value:r})},async"get-totp"(e){throw F(e),await N(e),new Error("Not implemented")},async"set-login"(e){const t=F(e);if(await N(e),j(),!t.url)throw new Error("Empty url");const n=new URL(t.url),r=K(e),o=T(e);let a,l;if(t.uuid){for(const e of r){const n=s.ByteUtils.bytesToBase64(s.ByteUtils.hexToBytes(t.uuid)),i=e.getEntry(e.subId(n));if(i){if(l)throw new Error("Two entries with the same ID found");l=i,a=i.group}}if(!l)throw new Error("Updated entry not found")}if("auto"===o.permissions.askSave&&o.permissions.saveTo&&!a){const e=r.find((e=>e.id===o.permissions.saveTo.fileId));a=null==e?void 0:e.getGroup(o.permissions.saveTo.groupId)}if("auto"!==o.permissions.askSave||!a){var d;if(!a&&f.RuntimeDataModel.extensionSaveConfig){const e=r.find((e=>e.id===f.RuntimeDataModel.extensionSaveConfig.fileId));a=null==e?void 0:e.getGroup(f.RuntimeDataModel.extensionSaveConfig.groupId)}const e=[];for(const t of r)t.forEachGroup((n=>{var s;const i=[];for(let e=n;e.parentGroup;e=e.parentGroup)i.push(" "," ");!a&&1===n.iconId&&E.has(n.title)&&(a=n),e.push({id:n.id,fileId:t.id,spaces:i,title:n.title,selected:n.id===(null===(s=a)||void 0===s?void 0:s.id)})}));a||e.splice(1,0,{id:"",fileId:r[0].id,spaces:[" "," "],title:`Browser (${u.Locale.extensionSaveEntryNewGroup})`,selected:!0});const n=new g.ExtensionSaveEntryView({extensionName:Q(o),url:t.url,user:t.login,askSave:(null===(d=f.RuntimeDataModel.extensionSaveConfig)||void 0===d?void 0:d.askSave)||"always",update:!!l,allGroups:e});await R({header:u.Locale.extensionSaveEntryHeader,icon:"plus",buttons:[c.Alerts.buttons.allow,c.Alerts.buttons.deny],view:n});const s=Object.assign({},n.config);if(!l){if(s.groupId){const e=r.find((e=>e.id===s.fileId));a=e.getGroup(s.groupId)}else a=D.createNewGroupWithName(r[0].groups[0],r[0],_),a.setIcon(1),s.groupId=a.id;f.RuntimeDataModel.extensionSaveConfig=s,o.permissions.saveTo={fileId:s.fileId,groupId:s.groupId}}o.permissions.askSave=s.askSave}const h={Title:n.hostname,UserName:t.login,Password:s.ProtectedValue.fromString(t.password||""),URL:t.url};if(l)for(const[e,t]of Object.entries(h))t&&l.setField(e,t);else D.createNewEntryWithFields(a,h);return o.stats.passwordsWritten++,i.Events.emit("browser-extension-sessions-changed"),i.Events.emit("refresh"),M(e,{success:"true",version:U(e),count:null,entries:null,hash:C})},async"get-database-groups"(e){F(e),await N(e);const t=e=>{const n={name:e.title,uuid:s.ByteUtils.bytesToHex(e.group.uuid.bytes),children:[]};for(const s of e.items)s.matches()&&n.children.push(t(s));return n},n=[];for(const s of K(e))for(const e of s.groups)n.push(t(e));return M(e,{success:"true",version:U(e),groups:{groups:n}})},async"create-new-group"(e){const t=F(e);if(await N(e),!t.groupName)throw new Error("No groupName");const n=t.groupName.split("/").map((e=>e.trim())).filter((e=>e));if(!n.length)throw new Error("Empty group path");const i=K(e);for(const t of i)for(const i of t.groups){let t=i;const r=[...n];for(;r.length&&t;){const e=r.shift();t=t.items.find((t=>t.title===e))}if(t)return M(e,{success:"true",version:U(e),name:t.title,uuid:s.ByteUtils.bytesToHex(t.group.uuid.bytes)})}const r=T(e),o=new m.ExtensionCreateGroupView({extensionName:Q(r),groupPath:n.join(" / "),files:i.map(((e,t)=>({id:e.id,name:e.name,selected:0===t})))});await R({header:u.Locale.extensionNewGroupHeader,icon:"folder-plus",buttons:[c.Alerts.buttons.allow,c.Alerts.buttons.deny],view:o});const a=i.find((e=>e.id===o.selectedFile));let l=a.groups[0];const d=[...n];for(;d.length;){const e=d.shift(),t=l.items.find((t=>t.title===e));l=t||D.createNewGroupWithName(l,a,e)}return M(e,{success:"true",version:U(e),name:l.title,uuid:s.ByteUtils.bytesToHex(l.group.uuid.bytes)})}},V={init(e){D=e.appModel,S=e.logger,B=e.sendEvent,i.Events.on("file-opened",(()=>{B({action:"database-unlocked"})})),i.Events.on("one-file-closed",(()=>{D.files.hasOpenFiles()||B({action:"database-locked"})})),i.Events.on("all-files-closed",(()=>{B({action:"database-locked"})}))},cleanup(){const e=I.size;I.clear(),e&&i.Events.emit("browser-extension-sessions-changed")},deleteConnection(e){for(const[t,n]of I.entries())n.connection.connectionId===e&&I.delete(t);i.Events.emit("browser-extension-sessions-changed")},getClientPermissions(e){var t;return null===(t=I.get(e))||void 0===t?void 0:t.permissions},setClientPermissions(e,t){const n=I.get(e);null!=n&&n.permissions&&(n.permissions=Object.assign({},n.permissions,t))},errorToResponse:(e,t)=>({action:null==t?void 0:t.action,error:e.message||"Unknown error",errorCode:e.code||0}),async handleRequest(e,t){const n=null===r.Launcher||void 0===r.Launcher?void 0:r.Launcher.isAppFocused();let s;try{const n=H[e.action];if(!n)throw new Error(`Handler not found: ${e.action}`);if(s=await n(e,t),!s)throw new Error(`Handler returned an empty result: ${e.action}`)}catch(t){t.code||S.error(`Error in handler ${e.action}`,t),s=this.errorToResponse(t,e)}return!n&&null!==r.Launcher&&void 0!==r.Launcher&&r.Launcher.isAppFocused()&&r.Launcher.hideApp(),s},get sessions(){return[...I.entries()].map((([e,t])=>({clientId:e,connectionId:t.connection.connectionId,appName:t.connection.appName,extensionName:t.connection.extensionName,connectedDate:t.stats.connectedDate,passwordsRead:t.stats.passwordsRead,passwordsWritten:t.stats.passwordsWritten,permissions:t.permissions,permissionsDenied:t.permissionsDenied}))).sort(((e,t)=>t.connectedDate-e.connectedDate))}}},1673:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KdbxToHtml:()=>g});var s=n(3617),i=n(7119),r=n(9673),o=n(6098),a=n(2378),l=n(3297);const c={db:n(2109),entry:n(6423)},u=[{name:"UserName",locStr:"user"},{name:"Password",locStr:"password",protect:!0},{name:"URL",locStr:"website"},{name:"Notes",locStr:"notes"}],d={Title:!0};for(const{name:e}of u)d[e]=!0;function h(e,t,n){if(n=[...n,t],t.uuid.equals(e.meta.recycleBinUuid)||t.uuid.equals(e.meta.entryTemplatesGroup))return"";return t.entries.map((t=>p(e,t,n))).join("\n")+t.groups.map((t=>h(e,t,n))).join("\n")}function p(e,t,n){const i=n.map((e=>e.name)).join(" / "),r=[];for(const e of u){const n=m(t,e.name);n&&r.push({title:a.StringFormat.capFirst(l.Locale[e.locStr]),value:n,protect:e.protect})}for(const[e,n]of t.fields)if(!d[e]){const s=m(t,e);s&&r.push({title:e,value:s,protect:n.isProtected})}const h=m(t,"Title");let p;t.times.expires&&t.times.expiryTime&&(p=o.DateFormat.dtStr(t.times.expiryTime));const g=[...t.binaries].map((([e,t])=>{if(t&&t.ref&&(t=t.value),t){t="data:application/octet-stream;base64,"+s.ByteUtils.bytesToBase64(t)}return{name:e,data:t}})).filter((e=>e.name&&e.data));return c.entry({path:i,title:h,fields:r,tags:t.tags.join(", "),created:o.DateFormat.dtStr(t.times.creationTime),modified:o.DateFormat.dtStr(t.times.lastModTime),expires:p,attachments:g})}function m(e,t){const n=e.fields.get(t);return n&&n.isProtected&&n.getText()||n||""}const g={convert(e,t){const n=e.groups.map((t=>h(e,t,[]))).join("\n");return c.db({name:t.name,date:o.DateFormat.dtStr(Date.now()),appLink:r.Links.Homepage,appVersion:i.RuntimeInfo.version,contentHtml:n})},entryToHtml:(e,t)=>p(0,t,[])}},6655:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OtpQrReader:()=>h});var s=n(8767),i=n.n(s),r=n(7201),o=n(7027),a=n(4530),l=n(9081),c=n(667),u=n(3297);const d=new(n(2363).Logger)("otp-qr-reader");const h=new class{constructor(){this.alert=null,this.fileInput=null,this.pasteEvent=this.pasteEvent.bind(this)}read(){let e=o.Shortcuts.screenshotToClipboardShortcut();e&&(e=u.Locale.detSetupOtpAlertBodyWith.replace("{}",e));const t=c.Features.isMobile?"":u.Locale.detSetupOtpAlertBodyWith.replace("{}",o.Shortcuts.actionShortcutSymbol()+"V");this.startListenClipoard();const n=[{result:"manually",title:u.Locale.detSetupOtpManualButton,silent:!0},a.Alerts.buttons.cancel];c.Features.isMobile&&n.unshift({result:"select",title:u.Locale.detSetupOtpScanButton});const s=c.Features.isMobile?u.Locale.detSetupOtpAlertBody3Mobile:u.Locale.detSetupOtpAlertBody3.replace("{}",t||"");this.alert=a.Alerts.alert({icon:"qrcode",header:u.Locale.detSetupOtpAlert,body:[u.Locale.detSetupOtpAlertBody,u.Locale.detSetupOtpAlertBody1,u.Locale.detSetupOtpAlertBody2.replace("{}",e||""),s,u.Locale.detSetupOtpAlertBody4].join("\n"),esc:"",click:"",enter:"",buttons:n,complete:e=>{this.alert=null,this.stopListenClipboard(),"select"===e?this.selectFile():"manually"===e&&this.enterManually()}})}selectFile(){if(!this.fileInput){const e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("capture","camera"),e.setAttribute("accept","image/*"),e.setAttribute("class","hide-by-pos"),this.fileInput=e,this.fileInput.onchange=this.fileSelected}this.fileInput.click()}fileSelected(){const e=this.fileInput.files[0];!e||e.type.indexOf("image")<0||this.readFile(e)}startListenClipoard(){document.addEventListener("paste",this.pasteEvent)}stopListenClipboard(){document.removeEventListener("paste",this.pasteEvent)}pasteEvent(e){const t=[...e.clipboardData.items].find((e=>"file"===e.kind&&-1!==e.type.indexOf("image")));t?(d.info("Reading pasted image",t.type),this.alert&&this.alert.change({header:u.Locale.detOtpImageReading}),this.readFile(t.getAsFile())):d.debug("Paste without file")}readFile(e){const t=new FileReader;t.onload=()=>{d.debug("Image data loaded"),this.readQr(t.result)},t.readAsDataURL(e)}readQr(e){const t=new Image;t.onload=()=>{d.debug("Image format loaded");try{const e=d.ts(),n=new(i())(t).decode();d.info("QR code read",d.ts(e)),this.removeAlert();try{const e=l.Otp.parseUrl(n);r.Events.emit("qr-read",e)}catch(e){d.error("Error parsing QR code",e),a.Alerts.error({header:u.Locale.detOtpQrWrong,body:u.Locale.detOtpQrWrongBody,pre:e.toString()})}}catch(e){d.error("Error reading QR code",e),this.removeAlert(),a.Alerts.error({header:u.Locale.detOtpQrError,body:u.Locale.detOtpQrErrorBody})}},t.onerror=()=>{d.debug("Image load error"),this.removeAlert(),a.Alerts.error({header:u.Locale.detOtpImageError,body:u.Locale.detOtpImageErrorBody})},t.src=e}enterManually(){r.Events.emit("qr-enter-manually")}removeAlert(){this.alert&&this.alert.closeImmediate()}}},6098:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DateFormat:()=>r});var s=n(111),i=n(2378);const r={months(){const e=new Intl.DateTimeFormat(s.SettingsManager.activeLocale,{month:"long"}),t=[];for(let n=0;n<12;n++)t.push(e.format(new Date(2008,n)));return t},weekDays(){const e=new Intl.DateTimeFormat(s.SettingsManager.activeLocale,{weekday:"long"}),t=[];for(let n=1;n<8;n++)t.push(e.format(new Date(2007,9,6+n)));return t},shortWeekDays(){const e=new Intl.DateTimeFormat(s.SettingsManager.activeLocale,{weekday:"short"}),t=[];for(let n=1;n<8;n++)t.push(e.format(new Date(2007,9,6+n)));return t},dtStr:e=>("number"==typeof e&&(e=new Date(e)),e?new Intl.DateTimeFormat(s.SettingsManager.activeLocale,{dateStyle:"medium",timeStyle:"medium"}).format(e):""),dStr:e=>("number"==typeof e&&(e=new Date(e)),e?new Intl.DateTimeFormat(s.SettingsManager.activeLocale,{year:"numeric",month:"short",day:"numeric"}).format(e):""),dtStrFs:e=>("number"==typeof e&&(e=new Date(e)),e?e.getFullYear()+"-"+i.StringFormat.pad(e.getMonth()+1,2)+"-"+i.StringFormat.pad(e.getDate(),2)+"T"+i.StringFormat.pad(e.getHours(),2)+"-"+i.StringFormat.pad(e.getMinutes(),2)+"-"+i.StringFormat.pad(e.getSeconds(),2):"")}},9491:(e,t,n)=>{"use strict";let s;n.r(t),n.d(t,{Launcher:()=>s}),window.process&&window.process.versions&&window.process.versions.electron&&(s=n(547).Launcher)},547:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Launcher:()=>u});var s=n(7201),i=n(8578),r=n(7119),o=n(3297),a=n(2363),l=n(6838);const c=new a.Logger("launcher"),u={name:"electron",version:window.process.versions.electron,autoTypeSupported:!0,thirdPartyStoragesSupported:!0,clipboardSupported:!0,req:window.require,platform:()=>process.platform,arch:()=>process.arch,electron(){return this.req("electron")},remoteApp(){return this.electron().remote.app},remReq(e){return this.electron().remote.require(e)},openLink(e){/^(http|https|ftp|sftp|mailto):/i.test(e)&&this.electron().shell.openExternal(e)},devTools:!0,openDevTools(){this.electron().remote.getCurrentWindow().webContents.openDevTools({mode:"bottom"})},getSaveFileName(e,t){if(e){const t=this.remReq("electron").app.getPath("userDesktop");e=this.joinPath(t,e)}this.remReq("electron").dialog.showSaveDialog({title:o.Locale.launcherSave,defaultPath:e,filters:[{name:o.Locale.launcherFileFilter,extensions:["kdbx"]}]}).then((e=>t(e.filePath)))},getUserDataPath(e){return this.userDataPath||(this.userDataPath=this.remoteApp().getPath("userData")),this.joinPath(this.userDataPath,e||"")},getTempPath(e){let t=this.joinPath(this.remoteApp().getPath("temp"),"KeeWeb");const n=this.req("fs");return n.existsSync(t)||n.mkdirSync(t),e&&(t=this.joinPath(t,e)),t},getDocumentsPath(e){return this.joinPath(this.remoteApp().getPath("documents"),e||"")},getAppPath(e){const t=this.req("path").dirname,n=__dirname.endsWith("app.asar")?__dirname:this.remoteApp().getAppPath();return this.joinPath(t(n),e||"")},getWorkDirPath(e){return this.joinPath(process.cwd(),e||"")},joinPath(...e){return this.req("path").join(...e)},writeFile(e,t,n){this.req("fs").writeFile(e,window.Buffer.from(t),n)},readFile(e,t,n){this.req("fs").readFile(e,t,((e,t)=>{const s="string"==typeof t?t:new Uint8Array(t);n(s,e)}))},fileExists(e,t){const n=this.req("fs");n.access(e,n.constants.F_OK,(e=>t(!e)))},fileExistsSync(e){const t=this.req("fs");return!t.accessSync(e,t.constants.F_OK)},deleteFile(e,t){this.req("fs").unlink(e,t||l.noop)},statFile(e,t){this.req("fs").stat(e,((e,n)=>t(n,e)))},mkdir(e,t){const n=this.req("fs"),s=this.req("path"),i=[],r=function(e,t,i){n.exists(e,(n=>{if(n)return i();t.unshift(e);const o=s.dirname(e);if(o===e||!o||"."===o||"/"===o)return i();r(o,t,i)}))},o=function(e,t){if(!e.length)return t();n.mkdir(e.shift(),(n=>n?t(n):o(e,t)))};r(e,i,(()=>o(i,t)))},parsePath(e){const t=this.req("path");return{path:e,dir:t.dirname(e),file:t.basename(e)}},createFsWatcher(e){return this.req("fs").watch(e,{persistent:!1})},loadConfig(e){return this.remoteApp().loadConfig(e)},saveConfig(e,t){return this.remoteApp().saveConfig(e,t)},preventExit:e=>(e.returnValue=!1,!1),exit(){this.exitRequested=!0,this.requestExit()},requestExit(){const e=this.remoteApp();e.setHookBeforeQuitEvent(!1),this.pendingUpdateFile?e.restartAndUpdate(this.pendingUpdateFile):e.quit()},requestRestartAndUpdate(e){this.pendingUpdateFile=e,this.requestExit()},cancelRestart(){this.pendingUpdateFile=void 0},setClipboardText(e){return this.electron().clipboard.writeText(e)},getClipboardText(){return this.electron().clipboard.readText()},clearClipboardText(){const{clipboard:e}=this.electron();e.clear(),"linux"===process.platform&&e.clear("selection")},quitOnRealQuitEventIfMinimizeOnQuitIsEnabled(){return!!this.pendingUpdateFile},minimizeApp(){this.remoteApp().minimizeApp({restore:o.Locale.menuRestoreApp.replace("{}","KeeWeb"),quit:o.Locale.menuQuitApp.replace("{}","KeeWeb")})},canDetectOsSleep:()=>"linux"!==process.platform,updaterEnabled:()=>"linux"!==process.platform,getMainWindow(){return this.remoteApp().getMainWindow()},resolveProxy(e,t){this.getMainWindow().webContents.session.resolveProxy(e).then((e=>{const n=/^proxy\s+([\w\.]+):(\d+)+\s*/i.exec(e);e=n&&n[1]?{host:n[1],port:+n[2]}:null,t(e)}))},hideApp(){const e=this.remoteApp();"darwin"===this.platform()?e.hide():e.minimizeThenHideIfInTray()},isAppFocused(){return!!this.electron().remote.BrowserWindow.getFocusedWindow()},showMainWindow(){this.remoteApp().showAndFocusMainWindow()},spawn(e){const t=c.ts(),{ipcRenderer:n}=this.electron();let{complete:s}=e;delete e.complete,n.invoke("spawnProcess",e).then((n=>{if(n.err){var i;c.error("spawn error: "+e.cmd+", "+c.ts(t),n.err),null===(i=s)||void 0===i||i(n.err)}else{var r;const i=n.code,o=n.stdout||"",a=n.stderr||"",l="spawn "+e.cmd+": "+i+", "+c.ts(t);0!==i?c.error(l+"\n"+o+"\n"+a):c.info(l+(o&&!e.noStdOutLogging?"\n"+o:"")),null===(r=s)||void 0===r||r(0!==i?"Exit code "+i:null,o,i)}s=null})).catch((e=>{var t;null===(t=s)||void 0===t||t(e)}))},checkOpenFiles(){this.readyToOpenFiles=!0,this.pendingFileToOpen&&(this.openFile(this.pendingFileToOpen),delete this.pendingFileToOpen)},openFile(e){this.readyToOpenFiles?s.Events.emit("launcher-open-file",e):this.pendingFileToOpen=e},setGlobalShortcuts(e){this.remoteApp().setGlobalShortcuts(e)},minimizeMainWindow(){this.getMainWindow().minimize()},maximizeMainWindow(){this.getMainWindow().maximize()},restoreMainWindow(){this.getMainWindow().restore()},mainWindowMaximized(){return this.getMainWindow().isMaximized()}};s.Events.on("launcher-exit-request",(()=>{setTimeout((()=>u.exit()),0)})),s.Events.on("launcher-minimize",(()=>setTimeout((()=>s.Events.emit("app-minimized")),0))),s.Events.on("launcher-maximize",(()=>setTimeout((()=>s.Events.emit("app-maximized")),0))),s.Events.on("launcher-unmaximize",(()=>setTimeout((()=>s.Events.emit("app-unmaximized")),0))),s.Events.on("launcher-started-minimized",(()=>setTimeout((()=>u.minimizeApp()),0))),s.Events.on("start-profile",(e=>i.StartProfiler.reportAppProfile(e))),window.launcherOpen=e=>u.openFile(e),window.launcherOpenedFile&&(c.info("Open file request",window.launcherOpenedFile),u.openFile(window.launcherOpenedFile),delete window.launcherOpenedFile),s.Events.on("app-ready",(()=>setTimeout((()=>{u.checkOpenFiles(),u.remoteApp().setAboutPanelOptions({applicationVersion:r.RuntimeInfo.version,version:r.RuntimeInfo.commit})}),0))),"darwin"===process.platform&&u.remoteApp().setHookBeforeQuitEvent(!0),u.remoteApp().on("remote-app-event",(e=>{window.debugRemoteAppEvents&&c.debug("remote-app-event",e.name),s.Events.emit(e.name,e.data)}))},3006:(e,t,n)=>{"use strict";n.r(t),n.d(t,{NativeModules:()=>l});var s=n(3617),i=n(7201),r=n(2363),o=n(9491),a=n(403);let l;if(o.Launcher){const e=new r.Logger("native-module-connector");let t,c=!1,u=0,d={},h={};const{ipcRenderer:p}=o.Launcher.electron();p.on("nativeModuleCallback",((e,t)=>l.hostCallback(t))),p.on("nativeModuleHostError",((e,t)=>l.hostError(t))),p.on("nativeModuleHostExit",((e,{code:t,sig:n})=>l.hostExit(t,n))),p.on("nativeModuleHostDisconnect",(()=>l.hostDisconnect())),p.on("log",((e,...t)=>l.log(...t)));const m={yubikeys(e){i.Events.emit("native-modules-yubikeys",{numYubiKeys:e})},log(...t){e.info("Message from host",...t)},result({callId:t,result:n,error:s}){const i=d[t];i&&(delete d[t],s?(e.error("Received an error",i.cmd,s),i.reject(s)):i.resolve(n))},yubiKeyChallengeResponseResult({callbackId:e,error:t,result:n}){const s=h[e];if(s){t&&t.touchRequested||delete h[e],s(t,n)}}};l={startHost(){return c?Promise.resolve():t||(e.debug("Starting native module host"),t=this.callNoWait("start").then((()=>{if(t=void 0,c=!0,this.usbListenerRunning)return this.call("startUsbListener")})),t)},hostError(t){e.error("Host error",t)},hostDisconnect(){e.error("Host disconnected")},hostExit(t,n){e.error(`Host exited with code ${t} and signal ${n}`),c=!1;const s=new Error("Native module host crashed");for(const e of Object.values(d))e.reject(s);d={};for(const e of Object.values(h))e(s);h={},0!==t&&this.autoRestartHost()},hostCallback(t){const{cmd:n,args:s}=t;m[n]?m[n](...s):e.error("No callback",n)},log(e,t,...n){if(!e)return;new r.Logger(e)[t](...n)},autoRestartHost(){setTimeout((()=>{try{this.startHost()}catch(t){e.error("Native module host failed to auto-restart",t)}}),a.Timeouts.NativeModuleHostRestartTime)},call(e,...t){return this.startHost().then((()=>this.callNoWait(e,...t)))},callNoWait:(e,...t)=>new Promise(((n,s)=>{u++,u===Number.MAX_SAFE_INTEGER&&(u=1),d[u]={cmd:e,resolve:n,reject:s},p.send("nativeModuleCall",{cmd:e,args:t,callId:u})})),startUsbListener(){this.call("startUsbListener"),this.usbListenerRunning=!0},stopUsbListener(){this.usbListenerRunning=!1,c&&this.call("stopUsbListener")},getYubiKeys(e){return this.call("getYubiKeys",e)},yubiKeyChallengeResponse(e,t,n,s){return h[u]=s,this.call("yubiKeyChallengeResponse",e,t,n,u)},yubiKeyCancelChallengeResponse(){c&&this.call("yubiKeyCancelChallengeResponse")},argon2(e,t,n){return this.call("argon2",e,t,n)},hardwareCryptoDeleteKey:async()=>{await p.invoke("hardwareCryptoDeleteKey")},hardwareEncrypt:async e=>{const{data:t,salt:n}=await p.invoke("hardwareEncrypt",e.dataAndSalt());return new s.ProtectedValue(t,n)},hardwareDecrypt:async(e,t)=>{const{data:n,salt:i}=await p.invoke("hardwareDecrypt",e.dataAndSalt(),t);return new s.ProtectedValue(n,i)},kbdGetActiveWindow(e){return this.call("kbdGetActiveWindow",e)},kbdGetActivePid(){return this.call("kbdGetActivePid")},kbdShowWindow(e){return this.call("kbdShowWindow",e)},kbdText(e){return this.call("kbdText",e)},kbdTextAsKeys(e,t){return this.call("kbdTextAsKeys",e,t)},kbdKeyPress(e,t){return this.call("kbdKeyPress",e,t)},kbdShortcut(e,t){return this.call("kbdShortcut",e,t)},kbdKeyMoveWithModifier(e,t){return this.call("kbdKeyMoveWithModifier",e,t)},kbdKeyPressWithCharacter(e,t,n){return this.call("kbdKeyPressWithCharacter",e,t,n)},kbdEnsureModifierNotPressed(){return this.call("kbdEnsureModifierNotPressed")}},n.g.NativeModules=l}},111:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsManager:()=>d});var s=n(7201),i=n(667),r=n(3297),o=n(8180),a=n(7614),l=n(2363),c=n(9491);const u=new l.Logger("settings-manager"),d={neutralLocale:null,activeLocale:"en-US",activeTheme:null,allLocales:{"en-US":"English","de-DE":"Deutsch","fr-FR":"Français"},allThemes:{dark:"setGenThemeDark",light:"setGenThemeLight",sd:"setGenThemeSd",sl:"setGenThemeSl",fb:"setGenThemeFb",bl:"setGenThemeBl",db:"setGenThemeDb",lb:"setGenThemeLb",te:"setGenThemeTe",lt:"setGenThemeLt",dc:"setGenThemeDc",hc:"setGenThemeHc"},autoSwitchedThemes:[{name:"setGenThemeDefault",dark:"dark",light:"light"},{name:"setGenThemeSol",dark:"sd",light:"sl"},{name:"setGenThemeBlue",dark:"fb",light:"bl"},{name:"setGenThemeBrown",dark:"db",light:"lb"},{name:"setGenThemeTerminal",dark:"te",light:"lt"},{name:"setGenThemeHighContrast",dark:"dc",light:"hc"}],customLocales:{},init(){s.Events.on("dark-mode-changed",(()=>this.darkModeChanged()))},setBySettings(){this.setTheme(a.AppSettingsModel.theme),this.setFontSize(a.AppSettingsModel.fontSize);const e=a.AppSettingsModel.locale;try{e?this.setLocale(a.AppSettingsModel.locale):this.setLocale(this.getBrowserLocale())}catch(e){}},getDefaultTheme:()=>"dark",setTheme(e){if(!e){if(this.activeTheme)return;e=this.getDefaultTheme()}for(const e of document.body.classList)/^th-/.test(e)&&document.body.classList.remove(e);a.AppSettingsModel.autoSwitchTheme&&(e=this.selectDarkOrLightTheme(e)),document.body.classList.add(this.getThemeClass(e));const t=document.head.querySelector("meta[name=theme-color]");t&&(t.content=window.getComputedStyle(document.body).backgroundColor),this.activeTheme=e,u.debug("Theme changed",e),s.Events.emit("theme-applied")},getThemeClass:e=>"th-"+e,selectDarkOrLightTheme(e){for(const t of this.autoSwitchedThemes)if(t.light===e||t.dark===e)return o.ThemeWatcher.dark?t.dark:t.light;return e},darkModeChanged(){if(a.AppSettingsModel.autoSwitchTheme)for(const e of this.autoSwitchedThemes)if(e.light===this.activeTheme||e.dark===this.activeTheme){const t=o.ThemeWatcher.dark?e.dark:e.light;u.debug("Setting theme triggered by system settings change",t),this.setTheme(t);break}},setFontSize(e){const t=i.Features.isMobile?14:12;document.documentElement.style.fontSize=t+2*(e||0)+"px"},setLocale(e){if(!e||e===this.activeLocale)return;let t;if("en-US"!==e&&(t=this.customLocales[e]?this.customLocales[e]:n(3267)("./"+e+".json")),this.neutralLocale||(this.neutralLocale=Object.assign({},r.Locale)),Object.assign(r.Locale,this.neutralLocale,t),this.activeLocale=e,s.Events.emit("set-locale",e),c.Launcher){const{ipcRenderer:t}=c.Launcher.electron(),n={};for(const[e,t]of Object.entries(r.Locale))e.startsWith("sysMenu")&&(n[e]=t);t.invoke("setLocale",Object.assign({locale:e},n))}},getBrowserLocale(){const e=navigator.languages&&navigator.languages[0]||navigator.language;return e&&e.startsWith("en")?"en-US":e}}},6524:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsStore:()=>o});var s=n(9491),i=n(2378);const r=new(n(2363).Logger)("settings"),o={load(e){let t;return t=s.Launcher?s.Launcher.loadConfig(e):Promise.resolve().then((()=>localStorage[i.StringFormat.camelCase(e)])),t.then((e=>e?JSON.parse(e):null)).catch((t=>{r.error(`Error loading ${e}`,t)}))},save:(e,t)=>s.Launcher?s.Launcher.saveConfig(e,JSON.stringify(t)).catch((t=>{r.error(`Error saving ${e}`,t)})):Promise.resolve().then((()=>{"undefined"!=typeof localStorage&&(localStorage[i.StringFormat.camelCase(e)]=JSON.stringify(t))}))}},4530:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Alerts:()=>r});var s=n(3297),i=n(5266);const r={alertDisplayed:!1,buttons:{ok:{result:"yes",get title(){return s.Locale.alertOk}},yes:{result:"yes",get title(){return s.Locale.alertYes}},allow:{result:"yes",get title(){return s.Locale.alertAllow}},no:{result:"",get title(){return s.Locale.alertNo}},cancel:{result:"",get title(){return s.Locale.alertCancel}},deny:{result:"",get title(){return s.Locale.alertDeny}}},alert(e){if(e.skipIfAlertDisplayed&&r.alertDisplayed)return null;r.alertDisplayed=!0;const t=new i.ModalView(e);return t.render(),t.once("result",((t,n)=>{t&&e.success&&e.success(t,n),!t&&e.cancel&&e.cancel(),e.complete&&e.complete(t,n)})),t.on("will-close",(()=>{r.alertDisplayed=!1})),t},notImplemented(){this.alert({header:s.Locale.notImplemented,body:"",icon:"exclamation-triangle",buttons:[this.buttons.ok],esc:"",click:"",enter:""})},info(e){this.alert(Object.assign({header:"",body:"",icon:"info",buttons:[this.buttons.ok],esc:"",click:"",enter:""},e))},error(e){this.alert(Object.assign({header:"",body:"",icon:"exclamation-circle",buttons:[this.buttons.ok],esc:"",click:"",enter:""},e))},yesno(e){this.alert(Object.assign({header:"",body:"",icon:"question",buttons:[this.buttons.yes,this.buttons.no],esc:"",click:"",enter:"yes"},e))}}},5754:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DropboxApps:()=>s,GDriveApps:()=>i,OneDriveApps:()=>r,MsTeamsApps:()=>o});const s={AppFolder:{id:"qp7ctun6qt5n9d6",secret:"07s5r4ck1uvlj6a"},FullDropbox:{id:"eor7hvv6u6oslq9",secret:"ez04o1iwf6yprq3"}},i={Local:{id:"783608538594-36tkdh8iscrq8t8dq87gghubnhivhjp5.apps.googleusercontent.com",secret:"yAtyfc9TIQ9GyQgQmo3i0HAP"},Production:{id:"847548101761-koqkji474gp3i2gn3k5omipbfju7pbt1.apps.googleusercontent.com",secret:"42HeSBybXDZjvweotq4o4CkJ"},Desktop:{id:"847548101761-h2pcl2p6m1tssnlqm0vrm33crlveccbr.apps.googleusercontent.com",secret:"nTSCiqXtUNmURIIdASaC1TJK"}},r={Local:{id:"b97c53d5-db5b-4124-aab9-d39195293815"},Production:{id:"bbc74d1b-3a9c-46e6-9da4-4c645e830923"},Desktop:{id:"bbc74d1b-3a9c-46e6-9da4-4c645e830923",secret:"aOMJaktJEAs_Tmh]fx4iQ[Zd3mp3KK7-"}},o={Local:{id:"8fbe2245-13d5-446f-bedc-74c3b2e1f635"},Production:{id:"8fbe2245-13d5-446f-bedc-74c3b2e1f635"},Desktop:{id:"8fbe2245-13d5-446f-bedc-74c3b2e1f635",secret:"F02~HYaWs-~7MndJcVRtv9~h-50Brk_9ho"}}},7017:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Colors:()=>s});const s={AllColors:["yellow","green","red","orange","blue","violet"],ColorsValues:{yellow:"ffff00",green:"00ff00",red:"ff0000",orange:"ff8800",blue:"0000ff",violet:"ff00ff"},BgColors:{yellow:"ffff88",green:"88ff88",red:"ff8888",orange:"ffcc88",blue:"8888ff",violet:"ff88ff"}}},4491:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DefaultAppSettings:()=>s});const s={theme:null,autoSwitchTheme:!1,locale:null,expandGroups:!0,listViewWidth:null,menuViewWidth:null,tagsViewHeight:null,autoUpdate:"install",clipboardSeconds:0,autoSave:!0,autoSaveInterval:0,rememberKeyFiles:"path",idleMinutes:15,minimizeOnClose:!1,minimizeOnFieldCopy:!1,tableView:!1,colorfulIcons:!1,useMarkdown:!0,directAutotype:!0,autoTypeTitleFilterEnabled:!0,titlebarStyle:"default",lockOnMinimize:!0,lockOnCopy:!1,lockOnAutoType:!1,lockOnOsLock:!1,helpTipCopyShown:!1,templateHelpShown:!1,skipOpenLocalWarn:!1,hideEmptyFields:!1,skipHttpsWarning:!1,demoOpened:!1,fontSize:0,tableViewColumns:null,generatorPresets:null,generatorHidePassword:!1,cacheConfigSettings:!1,allowIframes:!1,useGroupIconForEntries:!1,enableUsb:!0,fieldLabelDblClickAutoType:!1,auditPasswords:!0,auditPasswordEntropy:!0,excludePinsFromAudit:!0,checkPasswordsOnHIBP:!1,auditPasswordAge:0,deviceOwnerAuth:null,deviceOwnerAuthTimeoutMinutes:0,disableOfflineStorage:!1,shortLivedStorageToken:!1,extensionFocusIfLocked:!0,extensionFocusIfEmpty:!0,yubiKeyShowIcon:!0,yubiKeyAutoOpen:!1,yubiKeyMatchEntries:!0,yubiKeyShowChalResp:!0,yubiKeyRememberChalResp:!1,yubiKeyStuckWorkaround:!1,canOpen:!0,canOpenDemo:!0,canOpenSettings:!0,canCreate:!0,canImportXml:!0,canImportCsv:!0,canRemoveLatest:!0,canExportXml:!0,canExportHtml:!0,canSaveTo:!0,canOpenStorage:!0,canOpenGenerator:!0,canOpenOtpDevice:!0,dropbox:!0,dropboxFolder:null,dropboxAppKey:null,dropboxSecret:null,webdav:!0,webdavSaveMethod:"move",webdavStatReload:!1,gdrive:!0,gdriveClientId:null,gdriveClientSecret:null,onedrive:!0,onedriveClientId:null,onedriveClientSecret:null,onedriveTenantId:null,msteams:!1,msteamsClientId:null,msteamsClientSecret:null,msteamsTenantId:null}},9166:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BuiltInFields:()=>s});const s=["Title","Password","UserName","URL","Notes","TOTP Seed","TOTP Settings","_etm_template_uuid"]},4596:(e,t,n)=>{"use strict";n.r(t),n.d(t,{YubiKeyVendorId:()=>s,YubiKeyProductIds:()=>i,YubiKeyChallengeSize:()=>r});const s=4176,i={Gen1:[16],NEO:[272,274,275,276,277,278],YK4:[1025,1026,1027,1028,1029,1030,1031]},r=64},353:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IconMap:()=>s});const s=["key","globe","exclamation-triangle","server","thumbtack","comments","puzzle-piece","edit","plug","address-card","paperclip","camera","wifi","link","battery-three-quarters","barcode","certificate","bullseye","desktop","envelope","cog","clipboard","paper-plane","newspaper","bolt","inbox","save","hdd","dot-circle","user-lock","terminal","print","project-diagram","flag-checkered","wrench","laptop","archive","credit-card","windows","clock","search","flask","gamepad","trash","sticky-note","ban","question-circle","cube","folder-o","folder-open-o","database","unlock-alt","lock","check","pencil-alt","image","book","list-alt","user-secret","utensils","home","star","linux","map-pin","apple","wikipedia-w","dollar-sign","signature","mobile"]},7086:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeeWebLogo:()=>s});const s="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxyYWRpYWxHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGN4PSI2NjMuMTMzIiBjeT0iMTM4LjYwMSIgcj0iODY0LjU2OCIgZng9IjY2My4xMzMiIGZ5PSIxMzguNjAxIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM5MmJmZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMzMDQxYzgiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48cGF0aCBkPSJNOTIzIDM1Ny42MjhjMC05Ljc4MiAwLTE5LjU2NC0uMDU2LTI5LjM0OC0uMDUtOC4yNC0uMTQ0LTE2LjQ4LS4zNjgtMjQuNzE2YTM1OC43MjQgMzU4LjcyNCAwIDAwLTQuNzM2LTUzLjgxMSAxODEuNDk3IDE4MS40OTcgMCAwMC0xNi44NTgtNTEuMTMzIDE3Mi4wNjYgMTcyLjA2NiAwIDAwLTc1LjIzNi03NS4yIDE4MS43MDIgMTgxLjcwMiAwIDAwLTUxLjE4OC0xNi44NiAzNTkuNjI2IDM1OS42MjYgMCAwMC01My44Mi00LjczYy04LjI0Mi0uMjMtMTYuNDg2LS4zMTgtMjQuNzM4LS4zNjgtOS43OC0uMDYyLTE5LjU2OC0uMDYyLTI5LjM1Ni0uMDYyTDU1MyAxMDFoLTg1bC0xMTEuNjM4LjRjLTkuOCAwLTE5LjYxNCAwLTI5LjQyLjA1NC04LjI2Mi4wNS0xNi41Mi4xNDQtMjQuNzc4LjM2OGEzNjAuODA4IDM2MC44MDggMCAwMC01My45NDggNC43NDIgMTgyLjI3MiAxODIuMjcyIDAgMDAtNTEuMjU4IDE2Ljg0OCAxNzIuMjMgMTcyLjIzIDAgMDAtNzUuMzg2IDc1LjE4OCAxODEuMjM4IDE4MS4yMzggMCAwMC0xNi45IDUxLjE2IDM1OC4zMTIgMzU4LjMxMiAwIDAwLTQuNzQyIDUzLjhjLS4yMjIgOC4yNC0uMzE4IDE2LjQ4LS4zNjggMjQuNzItLjA2IDkuNzg0LS41NjIgMjEuOTM2LS41NjIgMzEuNzJ2MTk2bC41MDggMTEyLjQyOGMwIDkuOCAwIDE5LjYuMDU0IDI5LjM4OC4wNSA4LjI1Mi4xNDYgMTYuNTAyLjM2OCAyNC43NWEzNTkuMDQ2IDM1OS4wNDYgMCAwMDQuNzQ2IDUzLjg4NSAxODEuNjY4IDE4MS42NjggMCAwMDE2Ljg5IDUxLjIwMSAxNzIuMzU2IDE3Mi4zNTYgMCAwMDc1LjM4MiA3NS4zMDIgMTgyLjEwNSAxODIuMTA1IDAgMDA1MS4yODggMTYuODggMzYwLjIwNyAzNjAuMjA3IDAgMDA1My45MjQgNC43MzZjOC4yNTguMjI0IDE2LjUxOC4zMTggMjQuNzguMzY4IDkuOC4wNiAxOS42MTIuMDU2IDI5LjQyLjA1NmgzMTAuMjg0YzkuNzg4IDAgMTkuNTc2IDAgMjkuMzY0LS4wNTQgOC4yNDQtLjA1IDE2LjQ4OC0uMTQ0IDI0LjczLS4zNjhhMzU5LjEgMzU5LjEgMCAwMDUzLjg0LTQuNzQgMTgxLjUxOCAxODEuNTE4IDAgMDA1MS4xNi0xNi44NzIgMTcyLjE5NSAxNzIuMTk1IDAgMDA3NS4yNC03NS4yOTggMTgxLjk1IDE4MS45NSAwIDAwMTYuODY2LTUxLjIzIDM1OS44MTUgMzU5LjgxNSAwIDAwNC43MzItNTMuODY0Yy4yMjQtOC4yNS4zMTgtMTYuNS4zNjgtMjQuNzUuMDYtOS44LjA1Ni0xOS42LjA1Ni0yOS4zODh2LTMxMC44IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0iTTk5IDEwMWg4MjR2ODI0SDk5eiIgZmlsbD0ibm9uZSIvPjxnIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0zNzkuMTk2IDgxMy4yNzNjLTUuOTM5LS4wMS0xMi41My0yLjUwMi0xOS4zMjYtNi4wNjctMTQuNDk3LTcuNjA1LTI0LjQzOS0xNy4yMi0xNi4xMzktMzMuMDQyTDU0NS4zOCAzODkuNzYxYTE1MTguMzEgMTUxOC4zMSAwIDAxLTUuNzU4LTIuOTk4Yy03Mi43MDktMzguMTQyLTEwNC45NjctOTQuNTM1LTc4Ljg1Mi0xNDQuMzE4IDMwLjAxOC01Ny4yMjMgMTIyLjk4NC02Ny42MDggMjA3LjY0Ny0yMy4xOTYgODQuNjYzIDQ0LjQxMyAxMjguOTYxIDEyNi44MDUgOTguOTQzIDE4NC4wMjgtMjUuODE1IDQ5LjIxMS05My4yMTcgNTMuNTk5LTE2MC45OSAxOC4wNDctMS44NjctLjk4LTQuODk2LTIuNTUzLTguMzI0LTQuMzNMMzk2LjIzMSA4MDEuNzA1Yy00LjQwOSA4LjQwNS0xMC4zMDQgMTEuNTc5LTE3LjAzNSAxMS41Njh6bS0zNy4xMjctODIuMzUybC0zLjgxNi0yLjAwMi0uODUtLjQ0NS01MS42NTItMjcuMDk2di0uMDAybC0xMi40NTEtNi41MzFhNC4zMSA0LjMxIDAgMDEtMS44MTUtNS44MmwxNi4zNDYtMzEuMTZhNC4zMTIgNC4zMTIgMCAwMTUuNzg5LTEuODMybC4wMzMuMDE1IDI0LjkwMyAxMy4wNjVhNC4zMTEgNC4zMTEgMCAwMDUuODItMS44MTdsMTYuMzQ4LTMxLjE2YTQuMzEgNC4zMSAwIDAwLTEuODE3LTUuODJsLTEyLjQ1MS02LjUzMy0xMi40NTEtNi41MzJhNC4zMSA0LjMxIDAgMDEtMS44MTUtNS44MmwxNi4zNDYtMzEuMTYyYTQuMzEgNC4zMSAwIDAxNS44Mi0xLjgxNGwxMi40NTMgNi41MzEgMzIuNDExIDE3LjAwMiAyMC4wODkgMTAuNTM5LjAyNi4wMTQgMy43OTMgMS45OS0xNy4xNjggMzIuNzI2LTEuMTgyIDIuMjUyYS4wMDguMDA4IDAgMDEtLjAwMi4wMDRsLTI0LjM1NyA0Ni40My0yLjQ3NyA0LjcyMS0xMy44NjkgMjYuNDM5LS4wMS4wMTgtMS45OTQgMy44ek00MjMuNjkgNTc1LjMzbC0zLjgxOC0yLjAwNC0xOC4xMzUtOS41MTQtMTQuMzE4LTcuNTEyYTQuMzEgNC4zMSAwIDAxLTEuODE3LTUuODJsMTYuMzQ4LTMxLjE2YTQuMzExIDQuMzExIDAgMDE1LjgyLTEuODE3bDE0LjMxOSA3LjUxMiAxOC4xMzYgOS41MTQuMDI2LjAxMyAzLjc5MyAxLjk5MS0yLjAwNCAzLjgxOC04LjE3MiAxNS41OC04LjE3NCAxNS41OC0uMDEuMDE2LTEuOTk0IDMuODAzem0yNjYuODEzLTE4NC40MjZjMTAuNzUzLjAyIDE5LjE2My00LjMxMiAyNC43NS0xNC45NjMgMTcuMDI4LTMyLjQ2LTE0LjQ3Mi04Mi41MzgtNzAuMzU2LTExMS44NTQtNTUuODg0LTI5LjMxNi0xMTQuOTkxLTI2Ljc2OC0xMzIuMDE5IDUuNjkyLTE3LjAyOCAzMi40NTkgMzAuMzM0IDUzLjc3MiA4Ni4yMTkgODMuMDg4IDM3LjU0NyAxOS42OTYgNjkuMzg4IDM3Ljk5NCA5MS40MDYgMzguMDM3eiIvPjxwYXRoIGQ9Ik00MjMuNjkxIDU3NS4zMjlsMTkuMDkxIDEwLjAxNSAyMC4zNTMtMzguNzk3LTE5LjA5MS0xMC4wMTV6TTM0Mi4wNyA3MzAuOTIybDE5LjA5MSAxMC4wMTUgNjEuMDU3LTExNi4zOTItMTkuMDkxLTEwLjAxNXoiIGZpbGwtb3BhY2l0eT0iLjIiLz48L2c+PC9zdmc+"},2977:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Keys:()=>s});const s={DOM_VK_CANCEL:3,DOM_VK_HELP:6,DOM_VK_BACK_SPACE:8,DOM_VK_TAB:9,DOM_VK_CLEAR:12,DOM_VK_RETURN:13,DOM_VK_ENTER:14,DOM_VK_SHIFT:16,DOM_VK_CONTROL:17,DOM_VK_ALT:18,DOM_VK_PAUSE:19,DOM_VK_CAPS_LOCK:20,DOM_VK_ESCAPE:27,DOM_VK_SPACE:32,DOM_VK_PAGE_UP:33,DOM_VK_PAGE_DOWN:34,DOM_VK_END:35,DOM_VK_HOME:36,DOM_VK_LEFT:37,DOM_VK_UP:38,DOM_VK_RIGHT:39,DOM_VK_DOWN:40,DOM_VK_PRINTSCREEN:44,DOM_VK_INSERT:45,DOM_VK_DELETE:46,DOM_VK_0:48,DOM_VK_1:49,DOM_VK_2:50,DOM_VK_3:51,DOM_VK_4:52,DOM_VK_5:53,DOM_VK_6:54,DOM_VK_7:55,DOM_VK_8:56,DOM_VK_9:57,DOM_VK_SEMICOLON:59,DOM_VK_EQUALS:61,DOM_VK_A:65,DOM_VK_B:66,DOM_VK_C:67,DOM_VK_D:68,DOM_VK_E:69,DOM_VK_F:70,DOM_VK_G:71,DOM_VK_H:72,DOM_VK_I:73,DOM_VK_J:74,DOM_VK_K:75,DOM_VK_L:76,DOM_VK_M:77,DOM_VK_N:78,DOM_VK_O:79,DOM_VK_P:80,DOM_VK_Q:81,DOM_VK_R:82,DOM_VK_S:83,DOM_VK_T:84,DOM_VK_U:85,DOM_VK_V:86,DOM_VK_W:87,DOM_VK_X:88,DOM_VK_Y:89,DOM_VK_Z:90,DOM_VK_CONTEXT_MENU:93,DOM_VK_NUMPAD0:96,DOM_VK_NUMPAD1:97,DOM_VK_NUMPAD2:98,DOM_VK_NUMPAD3:99,DOM_VK_NUMPAD4:100,DOM_VK_NUMPAD5:101,DOM_VK_NUMPAD6:102,DOM_VK_NUMPAD7:103,DOM_VK_NUMPAD8:104,DOM_VK_NUMPAD9:105,DOM_VK_MULTIPLY:106,DOM_VK_ADD:107,DOM_VK_SEPARATOR:108,DOM_VK_SUBTRACT:109,DOM_VK_DECIMAL:110,DOM_VK_DIVIDE:111,DOM_VK_F1:112,DOM_VK_F2:113,DOM_VK_F3:114,DOM_VK_F4:115,DOM_VK_F5:116,DOM_VK_F6:117,DOM_VK_F7:118,DOM_VK_F8:119,DOM_VK_F9:120,DOM_VK_F10:121,DOM_VK_F11:122,DOM_VK_F12:123,DOM_VK_F13:124,DOM_VK_F14:125,DOM_VK_F15:126,DOM_VK_F16:127,DOM_VK_F17:128,DOM_VK_F18:129,DOM_VK_F19:130,DOM_VK_F20:131,DOM_VK_F21:132,DOM_VK_F22:133,DOM_VK_F23:134,DOM_VK_F24:135,DOM_VK_NUM_LOCK:144,DOM_VK_SCROLL_LOCK:145,DOM_VK_COMMA:188,DOM_VK_PERIOD:190,DOM_VK_SLASH:191,DOM_VK_BACK_QUOTE:192,DOM_VK_OPEN_BRACKET:219,DOM_VK_BACK_SLASH:220,DOM_VK_CLOSE_BRACKET:221,DOM_VK_QUOTE:222,DOM_VK_META:224}},3942:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KnownAppVersions:()=>s});const s={KeePassXC:"2.6.4"}},9673:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Links:()=>s});const s={Homepage:"https://keeweb.info",Repo:"https://github.com/keeweb/keeweb",Desktop:"https://github.com/keeweb/keeweb/releases/latest",WebApp:"https://app.keeweb.info",BetaWebApp:"https://beta.keeweb.info",License:"https://github.com/keeweb/keeweb/blob/master/LICENSE",LicenseApache:"https://opensource.org/licenses/Apache-2.0",LicenseLinkCCBY40:"https://creativecommons.org/licenses/by/4.0/",UpdateBasePath:"https://github.com/keeweb/keeweb/releases/download/v{ver}/",ReleaseNotes:"https://github.com/keeweb/keeweb/blob/master/release-notes.md#release-notes",SelfHostedDropbox:"https://github.com/keeweb/keeweb#self-hosting",UpdateJson:"https://app.keeweb.info/update.json",AutoType:"https://github.com/keeweb/keeweb/wiki/Auto-Type",AutoTypeMacOS:"https://github.com/keeweb/keeweb/wiki/Auto-Type#macos",Translation:"https://keeweb.oneskyapp.com/",Donation:"https://opencollective.com/keeweb#support",Plugins:"https://plugins.keeweb.info",PluginDevelopStart:"https://github.com/keeweb/keeweb/wiki/Plugins",YubiKeyManual:"https://github.com/keeweb/keeweb/wiki/YubiKey",YubiKeyManagerInstall:"https://github.com/Yubico/yubikey-manager#installation",HaveIBeenPwned:"https://haveibeenpwned.com",HaveIBeenPwnedPrivacy:"https://haveibeenpwned.com/Passwords",ExtensionHelpForOtherBrowsers:"https://github.com/keeweb/keeweb/wiki/Browser-AutoFill#other-browsers",ExtensionHelpForKPXC:"https://github.com/keeweb/keeweb/wiki/Browser-AutoFill#keepassxc-browser",KWCForChrome:"https://chrome.google.com/webstore/detail/keeweb-connect/pikpfmjfkekaeinceagbebpfkmkdlcjk",KWCForFirefox:"https://addons.mozilla.org/firefox/addon/keeweb-connect/",KWCForEdge:"https://microsoftedge.microsoft.com/addons/detail/keewebconnect/nmggpehkjmeaeocmaijenpejbepckinm",KWCForSafari:"https://apps.apple.com/app/keeweb-connect/id1565748094"}},403:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Timeouts:()=>s});const s={CopyTip:1500,AutoHideHint:3e3,FileChangeSync:3e3,BeforeAutoLock:300,CheckWindowClosed:300,OtpFadeDuration:1e4,AutoTypeAfterHide:100,AutoTypeWindowFocusAfterBlur:500,DropDownClickWait:500,RedrawInactiveWindow:50,PopupWaitTime:1e3,AutoUpdatePluginsAfterStart:500,LinkDownloadRevoke:6e5,DefaultHttpRequest:6e4,ExternalDeviceReconnect:3e3,ExternalDeviceAfterReconnect:1e3,FieldLabelDoubleClick:300,NativeModuleHostRestartTime:3e3,FastAnimation:100,AutoTypeCopyPaste:300,KeeWebConnectRequest:6e4}},9071:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Collection:()=>c});var s=n(7187),i=n.n(s);const r=Symbol("events"),o=Symbol("array");function a(e,t){const n=e.constructor.model;if(!n)throw new Error(`Model type not defined for ${e.constructor.name}`);if(!(t instanceof n)){const n=t&&t.constructor?t.constructor.name:typeof t;throw new Error(`Attempt to write ${n} into ${e.constructor.name}`)}}const l={set(e,t,n){const s=parseInt(t);if(isNaN(s))return e[t]=n,!0;a(e,n);const i=e[o],l=i[t];return l!==n&&(i[t]=n,function(e,t,n){const s=e[r];if(!s.paused){const i={added:[],removed:[]};n&&(s.emit("remove",n,e),i.removed.push(n)),t&&(s.emit("add",t,e),i.added.push(t)),s.emit("change",i,e)}}(e,n,l)),!0},get(e,t){if("string"!=typeof t)return e[t];const n=parseInt(t);return isNaN(n)?e[t]:e[o][t]}};class c{constructor(e){const t=new(i());t.setMaxListeners(100);const n={[r]:{value:t},[o]:{value:[]}};return Object.defineProperties(this,n),e&&this.push(...e),new Proxy(this,l)}get length(){return this[o].length}set length(e){const t=this[o];let n;e<t.length&&(n=t.slice(e)),t.length=e,n&&function(e,t){const n=e[r];if(!n.paused){for(const s of t)n.emit("remove",s,e);n.emit("change",{added:[],removed:t},e)}}(this,n)}push(...e){if(e.length){for(const t of e)a(this,t);this[r].paused=!0,this[o].push(...e),this[r].paused=!1;for(const t of e)this[r].emit("add",t,this);this[r].emit("change",{added:e,removed:[]},this)}}pop(){this[r].paused=!0;const e=this[o].pop();return this[r].paused=!1,e&&(this[r].emit("remove",e,this),this[r].emit("change",{added:[],removed:[e]},this)),e}shift(){this[r].paused=!0;const e=this[o].shift();return this[r].paused=!1,e&&(this[r].emit("remove",e,this),this[r].emit("change",{added:[],removed:[e]},this)),e}unshift(...e){if(e.length){for(const t of e)a(this,t);this[r].paused=!0,this[o].unshift(...e),this[r].paused=!1;for(const t of e)this[r].emit("add",t,this);this[r].emit("change",{added:e,removed:[]},this)}}splice(e,t,...n){for(const e of n)a(this,e);this[r].paused=!0;const s=this[o].splice(e,t,...n);this[r].paused=!1;for(const e of s)this[r].emit("remove",e,this);for(const e of n)this[r].emit("add",e,this);(s.length||n.length)&&this[r].emit("change",{added:n,removed:s},this)}on(e,t){this[r].on(e,t)}once(e,t){this[r].once(e,t)}off(e,t){this[r].off(e,t)}get(e){return this.find((t=>t.id===e))}remove(e){for(let t=0;t<this.length;t++)for(;t<this.length&&(this[t].id===e||this[t]===e);)this.splice(t,1)}sort(){return this[o].sort(this.comparator)}fill(){throw new Error("Not implemented")}copyWithin(){throw new Error("Not implemented")}toJSON(){return this[o].concat()}}const u=[Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","reverse","slice","some","values"];for(const e of u)Object.defineProperty(c.prototype,e,{value:function(...t){return this[o][e](...t)}})},7201:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Events:()=>o});var s=n(7187),i=n.n(s);class r extends(i()){constructor(){super(),this.setMaxListeners(1e3)}}const o=new r},9186:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Model:()=>d});var s=n(7187),i=n.n(s),r=n(2363);const o=Symbol("events"),a=Symbol("defaults"),l=Symbol("extensions");function c(e,t,n,s){const i=e[o];i.paused||(i.emit("change:"+t,e,n,s),i.noChange||i.emit("change",e,{[t]:n}))}const u={deleteProperty(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[a],s=n[t],i=e[t];return i!==s&&(Object.prototype.hasOwnProperty.call(n,t)?e[t]=s:delete e[t],c(e,t,s,i)),!0}return!0},set(e,t,n,s){if(Object.prototype.hasOwnProperty.call(e,t)||e[l]){if(e[t]!==n){const s=e[t];e[t]=n,c(e,t,n,s)}return!0}return new r.Logger(s.constructor.name).warn(`Unknown property: ${t}`,(new Error).stack),!1}};class d{constructor(e){const t=new(i());t.setMaxListeners(100);const n={[o]:{value:t}};for(const[e,t]of Object.entries(this[a]))n[e]={configurable:!0,enumerable:!0,writable:!0,value:t};Object.defineProperties(this,n);const s=new Proxy(this,u);return e&&s.set(e,{silent:!0}),s}set(e,{silent:t}={}){const n=this[o];t&&(n.paused=!0),n.noChange=!0;for(const[t,n]of Object.entries(e))this[t]=n;n.noChange=!1,t?n.paused=!1:n.emit("change",this,e)}on(e,t){this[o].on(e,t)}once(e,t){this[o].once(e,t)}off(e,t){this[o].off(e,t)}emit(e,...t){this[o].emit(e,...t)}static defineModelProperties(e,t){this.prototype[a]=Object.assign({},this.prototype[a],e),t&&t.extensions&&(this.prototype[l]=!0)}static set(e){this.prototype[a]=e}}},4796:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Copyable:()=>l});var s=n(7201),i=n(7614),r=n(3297),o=n(3710),a=n(403);const l={hideFieldCopyTip(){this.fieldCopyTip&&(this.fieldCopyTip.hide(),this.fieldCopyTip=null)},fieldCopied(e){this.hideFieldCopyTip();const t=e.source.labelEl,n=e.copyRes.seconds,l=n?r.Locale.detFieldCopiedTime.replace("{}",n):r.Locale.detFieldCopied;let c;this.isHidden()||(c=o.Tip.createTip(t[0],{title:l,placement:"right",fast:!0,force:!0,noInit:!0}),this.fieldCopyTip=c,c.show()),setTimeout((()=>{c&&c.hide(),this.fieldCopyTip=null,"$Password"===e.source.model.name&&i.AppSettingsModel.lockOnCopy&&setTimeout((()=>{s.Events.emit("lock-workspace")}),a.Timeouts.BeforeAutoLock)}),a.Timeouts.CopyTip)}}},8892:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Resizable:()=>i});var s=n(7201);const i={listenDrag(e){this.listenTo(e,"dragstart",this.dragStart),this.listenTo(e,"drag",this.drag),this.listenTo(e,"autosize",this.autoSize)},dragStart(e){this._dragInfo=this.getDragInfo(e.coord)},drag(e){const t=this._dragInfo;let n=t.startSize+e.offset;n=Math.max(t.min,Math.min(t.max,n)),this.$el[t.prop](n),this.emit("view-resize",n),s.Events.emit("page-geometry",{source:"resizable"})},autoSize(e){const t=this.getDragInfo(e.coord);void 0!==t.auto?this.$el.css(t.prop,t.auto):this.$el.css(t.prop,""),this.fixSize(t),this.emit("view-resize",null),s.Events.emit("page-geometry",{source:"resizable"})},fixSize(e){const t=this.$el[e.prop]();Math.max(e.min,Math.min(e.max,t))!==t&&this.$el[e.prop](t)},getDragInfo(e){const t="x"===e?"Width":"Height",n=t.toLowerCase(),s=this.getSizeProp("min"+t),i=this.getSizeProp("max"+t),r=this.getSizeProp("auto"+t);return{startSize:this.$el[n](),prop:n,min:s,max:i,auto:r}},getSizeProp(e){const t=this[e];return"function"==typeof t?t.call(this):t}}},7015:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Scrollable:()=>a}),function(e){function t(s){if(n[s])return n[s].exports;var i=n[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,s){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:s})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,n){function s(e,t){for(var n in e)e.hasOwnProperty(n)&&t(n,e[n])}var i=!1;try{var r=Object.defineProperty({},"passive",{get:function(){i=!0}});window.addEventListener("test",null,r)}catch(e){}e.exports.event=function(e,t,n,s){var r="on"==s?"add":"remove";t.split(" ").forEach((function(t){var s=!1;-1!=["scroll","touchstart","touchmove"].indexOf(t)&&i&&(s={passive:!0}),e[r+"EventListener"](t,n,s)}))},e.exports.css=function(e,t,n){var i;if(void 0===n){if("string"==typeof t)return e.style[t];i=t}else(i={})[t]=n;s(i,(function(t,n){e.style[t]=n}))},e.exports.add=function(e,t){t&&e.classList.add(t)},e.exports.rm=function(e,t){t&&e.classList.remove(t)},e.exports.has=function(e,t){return!!t&&e.classList.contains(t)},e.exports.clone=function(e){var t={};return s(e||{},(function(e,n){t[e]=n})),t},e.exports.qs=function(e,t){return e instanceof HTMLElement?e:(t||document).querySelector(e)},e.exports.each=s},function(e,t,n){function s(e){var t,n,s=e&&e[0]||e,i="string"==typeof e||s instanceof HTMLElement?{root:e}:f(e),r={direction:"v",barOnCls:"_scrollbar",resizeDebounce:0,event:d,cssGuru:!1,impact:"scroller",position:"static"};for(var l in i=i||{},r)null==i[l]&&(i[l]=r[l]);t=this&&this instanceof u.jQuery,i._chain?n=i.root:t?i.root=n=this[0]:n=A(i.root||i.scroller);var c=o(n,i.direction),h=+c;if(i.index=h,h==h&&null!==c&&b[h])return b[h];i.root&&i.scroller?i.scroller=A(i.scroller,n):i.scroller=n,i.root=n;var p=a(i);return p.autoUpdate&&p.autoUpdate(),p}function i(){return(new Date).getTime()}function r(e,t,n){e._eventHandlers=e._eventHandlers||[{element:e.scroller,handler:function(t){e.scroll(t)},type:"scroll"},{element:e.root,handler:function(){e.update()},type:"transitionend animationend"},{element:e.scroller,handler:function(){e.update()},type:"keyup"},{element:e.bar,handler:function(t){t.preventDefault(),e.selection(),e.drag.now=1,e.draggingCls&&p(e.root,e.draggingCls)},type:"touchstart mousedown"},{element:document,handler:function(){e.selection(1),e.drag.now=0,e.draggingCls&&g(e.root,e.draggingCls)},type:"mouseup blur touchend"},{element:document,handler:function(t){2!=t.button&&e._pos0(t)},type:"touchstart mousedown"},{element:document,handler:function(t){e.drag.now&&e.drag(t)},type:"mousemove touchmove"},{element:u,handler:function(){e.update()},type:"resize"},{element:e.root,handler:function(){e.update()},type:"sizeChange"},{element:e.clipper,handler:function(){e.clipperOnScroll()},type:"scroll"}],function(e,t){var n=0,s=e;for(void 0!==s.length&&s!==u||(s=[s]);s[n];)t.call(this,s[n],n),n++}(e._eventHandlers,(function(e){if(e.element)if(e.element.length&&e.element!==u)for(var s=0;s<e.element.length;s++)t(e.element[s],e.type,e.handler,n);else t(e.element,e.type,e.handler,n)}))}function o(e,t,n,s){var i="data-baron-"+t+"-id";return"on"==n?e.setAttribute(i,s):"off"==n&&e.removeAttribute(i),e.getAttribute(i)}function a(e){var t=new s.prototype.constructor(e);return r(t,e.event,"on"),o(t.root,e.direction,"on",b.length),b.push(t),t.update(),t}function l(e){if(this.events&&this.events[e])for(var t=0;t<this.events[e].length;t++){var n=Array.prototype.slice.call(arguments,1);this.events[e][t].apply(this,n)}}var c=function(){return this||(0,eval)("this")}(),u=c&&c.window||c,d=n(0).event,h=n(0).css,p=n(0).add,m=n(0).has,g=n(0).rm,f=n(0).clone,A=n(0).qs,y=s,v=["left","top","right","bottom","width","height"],b=[],w={v:{x:"Y",pos:v[1],oppos:v[3],crossPos:v[0],crossOpPos:v[2],size:v[5],crossSize:v[4],crossMinSize:"min-"+v[4],crossMaxSize:"max-"+v[4],client:"clientHeight",crossClient:"clientWidth",scrollEdge:"scrollLeft",offset:"offsetHeight",crossOffset:"offsetWidth",offsetPos:"offsetTop",scroll:"scrollTop",scrollSize:"scrollHeight"},h:{x:"X",pos:v[0],oppos:v[2],crossPos:v[1],crossOpPos:v[3],size:v[4],crossSize:v[5],crossMinSize:"min-"+v[5],crossMaxSize:"max-"+v[5],client:"clientWidth",crossClient:"clientHeight",scrollEdge:"scrollTop",offset:"offsetWidth",crossOffset:"offsetHeight",offsetPos:"offsetLeft",scroll:"scrollLeft",scrollSize:"scrollWidth"}},k=/[\s\S]*Macintosh[\s\S]*\) Gecko[\s\S]*/.test(u.navigator&&u.navigator.userAgent);s.prototype={_debounce:function(e,t){var n,s,r=this,o=function(){if(r._disposed)return clearTimeout(n),void(n=r=null);var a=i()-s;a<t&&a>=0?n=setTimeout(o,t-a):(n=null,e())};return function(){s=i(),n||(n=setTimeout(o,t))}},constructor:function(e){function t(e){var t=this.barMinSize||20,n=e;n>0&&n<t&&(n=t),this.bar&&h(this.bar,this.origin.size,parseInt(n,10)+"px")}function n(e){if(this.bar){var t=h(this.bar,this.origin.pos),n=+e+"px";n&&n!=t&&h(this.bar,this.origin.pos,n)}}function s(){return f[this.origin.client]-this.barTopLimit-this.bar[this.origin.offset]}function r(e){return e*s.call(this)+this.barTopLimit}function o(e){return(e-this.barTopLimit)/s.call(this)}function a(){return!1}var c,d,f,y,v,b,C;if(b=i(),this.params=e,this.event=e.event,this.events={},this.root=e.root,this.scroller=A(e.scroller),this.bar=A(e.bar,this.root),f=this.track=A(e.track,this.root),!this.track&&this.bar&&(f=this.bar.parentNode),this.clipper=this.scroller.parentNode,this.direction=e.direction,this.rtl=e.rtl,this.origin=w[this.direction],this.barOnCls=e.barOnCls,this.scrollingCls=e.scrollingCls,this.draggingCls=e.draggingCls,this.impact=e.impact,this.position=e.position,this.rtl=e.rtl,this.barTopLimit=0,this.resizeDebounce=e.resizeDebounce,this.cursor=function(e){return e["client"+this.origin.x]||(((e.originalEvent||e).touches||{})[0]||{})["page"+this.origin.x]},this.pos=function(e){var t="page"+this.origin.x+"Offset",n=this.scroller[t]?t:this.origin.scroll;return void 0!==e&&(this.scroller[n]=e),this.scroller[n]},this.rpos=function(e){var t=this.scroller[this.origin.scrollSize]-this.scroller[this.origin.client];return(e?this.pos(e*t):this.pos())/(t||1)},this.barOn=function(e){if(this.barOnCls){var t=this.scroller[this.origin.client]>=this.scroller[this.origin.scrollSize];e||t?m(this.root,this.barOnCls)&&g(this.root,this.barOnCls):m(this.root,this.barOnCls)||p(this.root,this.barOnCls)}},this._pos0=function(e){d=this.cursor(e)-c},this.drag=function(e){var t=o.call(this,this.cursor(e)-d),n=this.scroller[this.origin.scrollSize]-this.scroller[this.origin.client];this.scroller[this.origin.scroll]=t*n},this.selection=function(e){this.event(document,"selectpos selectstart",a,e?"off":"on")},this.resize=function(){function e(){var e,n=t.scroller[t.origin.crossOffset],s=t.scroller[t.origin.crossClient],r=0;if(k?r=15:s>0&&0===n&&(n=s+17),n)if(t.barOn(),"scroller"==t.impact){var o=n-s+r;if("static"==t.position)h(t.scroller,t.origin.crossSize)!=(e=t.clipper[t.origin.crossClient]+o+"px")&&t._setCrossSizes(t.scroller,e);else{var a={},c=t.rtl?"Left":"Right";"h"==t.direction&&(c="Bottom"),a["padding"+c]=o+"px",h(t.scroller,a)}}else h(t.clipper,t.origin.crossSize)!=(e=s+"px")&&t._setCrossSizes(t.clipper,e);Array.prototype.unshift.call(arguments,"resize"),l.apply(t,arguments),b=i()}var t=this,n=void 0===t.resizeDebounce?300:t.resizeDebounce,s=0;i()-b<n&&(clearTimeout(y),s=n),s?y=setTimeout(e,s):e()},this.updatePositions=function(e){var s,i=this;i.bar&&(s=(f[i.origin.client]-i.barTopLimit)*i.scroller[i.origin.client]/i.scroller[i.origin.scrollSize],(e||parseInt(C,10)!=parseInt(s,10))&&(t.call(i,s),C=s),c=r.call(i,i.rpos()),n.call(i,c)),Array.prototype.unshift.call(arguments,"scroll"),l.apply(i,arguments)},this.scroll=function(){var e=this;e.updatePositions(),e.scrollingCls&&(v||p(e.root,e.scrollingCls),clearTimeout(v),v=setTimeout((function(){g(e.root,e.scrollingCls),v=void 0}),300))},this.clipperOnScroll=function(){this.rtl?this.clipper[this.origin.scrollEdge]=this.clipper[this.origin.scrollSize]:this.clipper[this.origin.scrollEdge]=0},this._setCrossSizes=function(e,t){var n={};n[this.origin.crossSize]=t,n[this.origin.crossMinSize]=t,n[this.origin.crossMaxSize]=t,h(e,n)},this._dumbCss=function(t){if(!e.cssGuru){var n=t?"hidden":null,s=t?"none":null;h(this.clipper,{overflow:n,msOverflowStyle:s,position:"static"==this.position?"":"relative"});var i=t?"scroll":null,r={};r["overflow-"+("v"==this.direction?"y":"x")]=i,r["box-sizing"]="border-box",r.margin="0",r.border="0","absolute"==this.position&&(r.position="absolute",r.top="0","h"==this.direction?r.left=r.right="0":(r.bottom="0",r.right=this.rtl?"0":"",r.left=this.rtl?"":"0")),h(this.scroller,r)}},this._dumbCss(!0),k){var _="paddingRight",E={},x=u.getComputedStyle(this.scroller)[[_]];"h"==e.direction?_="paddingBottom":e.rtl&&(_="paddingLeft");var I=parseInt(x,10);I!=I&&(I=0),E[_]=15+I+"px",h(this.scroller,E)}return this},update:function(e){return l.call(this,"upd",e),this.resize(1),this.updatePositions(1),this},dispose:function(){r(this,this.event,"off"),o(this.root,this.params.direction,"off"),"v"==this.params.direction?this._setCrossSizes(this.scroller,""):this._setCrossSizes(this.clipper,""),this._dumbCss(!1),this.barOn(!0),l.call(this,"dispose"),b[this.params.index]=null,this.params=null,this._disposed=!0},on:function(e,t,n){for(var s=e.split(" "),i=0;i<s.length;i++)"init"==s[i]?t.call(this,n):(this.events[s[i]]=this.events[s[i]]||[],this.events[s[i]].push((function(e){t.call(this,e||n)})))},baron:function(e){return e.root=this.params.root,e.scroller=this.params.scroller,e.direction="v"==this.params.direction?"h":"v",e._chain=!0,s(e)}},s.prototype.constructor.prototype=s.prototype,s.noConflict=function(){return u.baron=y,s},s.version="3.0.1",s.prototype.autoUpdate=n(2)(u),s.prototype.fix=n(5),s.prototype.controls=n(4),e.exports=s},function(e,t,n){function s(e){function t(){i.root[i.origin.offset]?n():s||(s=setInterval((function(){i.root[i.origin.offset]&&(n(),i.update())}),300))}function n(){clearInterval(s),s=null}var s,i=this;if(!this._au){var r=i._debounce((function(){i.update()}),300);this._observer=new e((function(){t(),i.update(),r()})),this.on("init",(function(){i._observer.observe(i.root,{childList:!0,subtree:!0,characterData:!0}),t()})),this.on("dispose",(function(){i._observer.disconnect(),n(),delete i._observer})),this._au=!0}}e.exports=function(e){var t=e.MutationObserver||e.WebKitMutationObserver||e.MozMutationObserver||null;return function(){return t?(s.call(this,t),this):this}}},function(e,t,n){var s=n(1);window.baron=s,window.jQuery&&window.jQuery.fn&&(window.jQuery.fn.baron=s)},function(e,t,n){var s=n(0).qs;e.exports=function(e){var t,n,i,r=this;n=e.screen||.9,e.forward&&(i={element:s(e.forward,this.clipper),handler:function(){var t=r.pos()+(e.delta||30);r.pos(t)},type:"click"},this._eventHandlers.push(i),this.event(i.element,i.type,i.handler,"on")),e.backward&&(i={element:s(e.backward,this.clipper),handler:function(){var t=r.pos()-(e.delta||30);r.pos(t)},type:"click"},this._eventHandlers.push(i),this.event(i.element,i.type,i.handler,"on")),e.track&&(t=!0===e.track?this.track:s(e.track,this.clipper))&&(i={element:t,handler:function(e){if(e.target==t){var s=e["offset"+r.origin.x],i=r.bar[r.origin.offsetPos],o=0;s<i?o=-1:s>i+r.bar[r.origin.offset]&&(o=1);var a=r.pos()+o*n*r.scroller[r.origin.client];r.pos(a)}},type:"mousedown"},this._eventHandlers.push(i),this.event(i.element,i.type,i.handler,"on"))}},function(e,t,n){var s=(n(6),n(0).css),i=n(0).add,r=n(0).rm;e.exports=function(e){function t(e,t,n){var o=t,u=1==n?"pos":"oppos";l<(c.minView||0)&&(o=void 0),s(a[e],this.origin.pos,""),s(a[e],this.origin.oppos,""),r(a[e],c.outside),void 0!==o&&(o+="px",s(a[e],this.origin[u],o),i(a[e],c.outside))}function n(e){try{var t=document.createEvent("WheelEvent");t.initWebKitWheelEvent(e.originalEvent.wheelDeltaX,e.originalEvent.wheelDeltaY),p.dispatchEvent(t),e.preventDefault()}catch(e){}}function o(e){var t;for(var i in e)c[i]=e[i];if(c.elements instanceof HTMLElement?a=[c.elements]:"string"==typeof c.elements?a=this.scroller.querySelectorAll(c.elements):c.elements&&c.elements[0]instanceof HTMLElement&&(a=c.elements),a){l=this.scroller[this.origin.client];for(var r=0;r<a.length;r++)(t={})[this.origin.size]=a[r][this.origin.offset]+"px",a[r].parentNode!==this.scroller&&s(a[r].parentNode,t),(t={})[this.origin.crossSize]=a[r].parentNode[this.origin.crossClient]+"px",s(a[r],t),l-=a[r][this.origin.offset],h[r]=a[r].parentNode[this.origin.offsetPos],u[r]=u[r-1]||0,d[r]=d[r-1]||Math.min(h[r],0),a[r-1]&&(u[r]+=a[r-1][this.origin.offset],d[r]+=a[r-1][this.origin.offset]),0==r&&0==h[r]||(this.event(a[r],"mousewheel",n,"off"),this.event(a[r],"mousewheel",n));c.limiter&&a[0]&&(this.track&&this.track!=this.scroller?((t={})[this.origin.pos]=a[0].parentNode[this.origin.offset]+"px",s(this.track,t)):this.barTopLimit=a[0].parentNode[this.origin.offset],this.scroll()),!1===c.limiter&&(this.barTopLimit=0)}var o={element:a,handler:function(){for(var e,t=this.parentNode.offsetTop,n=0;n<a.length;n++)a[n]===this&&(e=n);var s=t-u[e];c.scroll?c.scroll({x1:g.scroller.scrollTop,x2:s}):g.scroller.scrollTop=s},type:"click"};if(c.clickable){this._eventHandlers.push(o);for(var p=0;p<o.element.length;p++)m(o.element[p],o.type,o.handler,"on")}}var a,l,c={outside:"",inside:"",before:"",after:"",past:"",future:"",radius:0,minView:0},u=[],d=[],h=[],p=this.scroller,m=this.event,g=this;this.on("init",o,e);var f=[],A=[];return this.on("init scroll",(function(){var e,n,s,o;if(a){var p;for(o=0;o<a.length;o++)e=0,h[o]-this.pos()<d[o]+c.radius?(e=1,n=u[o]):h[o]-this.pos()>d[o]+l-c.radius?(e=2,n=this.scroller[this.origin.client]-a[o][this.origin.offset]-u[o]-l):(e=3,n=void 0),s=!1,(h[o]-this.pos()<d[o]||h[o]-this.pos()>d[o]+l)&&(s=!0),e==f[o]&&s==A[o]||(t.call(this,o,n,e),f[o]=e,A[o]=s,p=!0);if(p)for(o=0;o<a.length;o++)1==f[o]&&c.past&&(i(a[o],c.past),r(a[o],c.future)),2==f[o]&&c.future&&(i(a[o],c.future),r(a[o],c.past)),3==f[o]&&(r(a[o],c.past),r(a[o],c.future),i(a[o],c.inside)),f[o]!=f[o+1]&&1==f[o]?(i(a[o],c.before),r(a[o],c.after)):f[o]!=f[o-1]&&2==f[o]?(i(a[o],c.after),r(a[o],c.before)):(r(a[o],c.before),r(a[o],c.after)),c.grad&&(A[o]?i(a[o],c.grad):r(a[o],c.grad))}})),this.on("resize upd",(function(e){o.call(this,e&&e.fix)})),this}},function(e,t){e.exports=function(e,t,n){var s=console[e]||console.log,i=["Baron: "+t,n];Function.prototype.apply.call(s,console,i)}}]);const s=baron;var i=n(7201);const r=!n(667).Features.isMobile,o=Symbol("removeScrollAdded"),a={createScroll(e){r&&(this.scroll&&this.removeScroll(),this.scroll=s(e),this[o]||(this.once("remove",(()=>this.removeScroll)),this[o]=!0)),this.scroller=this.$el.find(".scroller"),this.scrollerBar=this.$el.find(".scroller__bar"),this.scrollerBarWrapper=this.$el.find(".scroller__bar-wrapper")},removeScroll(){if(this.scroll){try{this.scroll.dispose()}catch(e){}this.scroll=null}},pageResized(){this.scroll&&(this.scroll.update(),requestAnimationFrame((()=>{if(this.scroll){this.scroll.update();const e=Math.round(this.scrollerBar.height()),t=Math.round(this.scrollerBarWrapper.height());this.scrollerBarWrapper.toggleClass("invisible",e>=t)}})))},initScroll(){r&&this.listenTo(i.Events,"page-geometry",this.pageResized)}}},7779:(e,t,n)=>{"use strict";n.r(t),n.d(t,{View:()=>m,DefaultTemplateOptions:()=>p});var s=n(6238),i=n.n(s),r=n(7187),o=n.n(r),a=n(3710),l=n(1164),c=n(4953),u=n(2363),d=n(6718);const h={mouseenter:!0,mouseleave:!0,blur:!0,focus:!0},p={allowProtoPropertiesByDefault:!0,allowedProtoProperties:{length:!0,active:!0}};class m extends(o()){constructor(e,t={}){super(),this.parent=void 0,this.template=void 0,this.events={},this.model=void 0,this.options={},this.views={},this.hidden=void 0,this.removed=!1,this.modal=void 0,this.eventListeners={},this.elementEventListeners=[],this.debugLogger=localStorage.debugView?new u.Logger("view",this.constructor.name):void 0,this.model=e,this.options=t,this.setMaxListeners(100)}render(e){var t;if(this.removed)return;let n;return this.debugLogger&&(this.debugLogger.debug("Render start"),n=this.debugLogger.ts()),this.el&&a.Tip.destroyTips(this.el),this.renderElement(e),a.Tip.createTips(this.el),null===(t=this.debugLogger)||void 0===t||t.debug("Render finished",this.debugLogger.ts(n)),this}renderElement(e){const t=this.template(e,p);if(this.el){const e=this.options.ownParent?this.el.firstChild:this.el;i()(e,t),this.bindElementEvents()}else{let e=this.options.parent||this.parent;if(!e)throw new Error(`Error rendering ${this.constructor.name}: I don't know how to insert the view`);{if("string"==typeof e&&(e=document.querySelector(e)),!e)throw new Error(`Error rendering ${this.constructor.name}: parent not found`);this.options.replace&&(a.Tip.destroyTips(e),e.innerHTML="");const n=document.createElement("div");n.innerHTML=t;const s=n.firstChild;this.options.ownParent?(s&&e.appendChild(s),this.el=e):(this.el=s,e.appendChild(this.el)),this.modal&&c.FocusManager.setModal(this.modal),this.bindEvents()}this.$el=d(this.el)}}bindEvents(){const e={};for(const[t,n]of Object.entries(this.events)){const s=t.indexOf(" ");let i,r;if(s>0){if(i=t.substr(0,s),r=t.substr(s+1),h[i]){this.elementEventListeners.push({event:i,selector:r,method:n,els:[]});continue}}else i=t;e[i]||(e[i]=[]),e[i].push({selector:r,method:n})}for(const[n,s]of Object.entries(e)){var t;null===(t=this.debugLogger)||void 0===t||t.debug("Bind","view",n,s);const e=e=>this.eventListener(e,s);this.eventListeners[n]=e,this.el.addEventListener(n,e)}this.bindElementEvents()}unbindEvents(){for(const[e,t]of Object.entries(this.eventListeners))this.el.removeEventListener(e,t);this.unbindElementEvents()}bindElementEvents(){if(this.elementEventListeners.length){this.unbindElementEvents();for(const t of this.elementEventListeners){var e;const n=this.el.querySelectorAll(t.selector);null===(e=this.debugLogger)||void 0===e||e.debug("Bind","element",t.event,t.selector,n.length),t.listener=e=>this.eventListener(e,[t]);for(const e of n)e.addEventListener(t.event,t.listener),t.els.push(e)}}}unbindElementEvents(){if(this.elementEventListeners.length)for(const e of this.elementEventListeners){for(const t of e.els)t.removeEventListener(e.event,e.listener);e.els=[]}}eventListener(e,t){var n;null===(n=this.debugLogger)||void 0===n||n.debug("Listener fired",e.type);for(const{selector:n,method:r}of t){var s,i;if(n){const t=e.target.closest(n);if(!t||!this.el.contains(t))continue}if(this[r])null===(s=this.debugLogger)||void 0===s||s.debug("Handling event",e.type,r),this[r](e);else null===(i=this.debugLogger)||void 0===i||i.debug("Method not defined",r)}}remove(){var e;this.modal&&c.FocusManager.modal===this.modal&&c.FocusManager.setModal(null),this.emit("remove"),this.removeInnerViews(),a.Tip.hideTips(this.el),this.el.remove(),this.removed=!0,null===(e=this.debugLogger)||void 0===e||e.debug("Remove")}removeInnerViews(){if(this.views){for(const e of Object.values(this.views))e&&(e instanceof Array?e.forEach((e=>e.remove())):e.remove());this.views={}}}listenTo(e,t,n){const s=n.bind(this);e.on(t,s),this.once("remove",(()=>e.off(t,s)))}hide(){return a.Tip.hideTips(this.el),this.toggle(!1)}show(){return this.toggle(!0)}toggle(e){var t,n;(null===(t=this.debugLogger)||void 0===t||t.debug(e?"Show":"Hide"),void 0===e&&(e=this.hidden),this.hidden!==!e)?(this.hidden=!e,this.modal&&(e?c.FocusManager.setModal(this.modal):c.FocusManager.modal===this.modal&&c.FocusManager.setModal(null)),this.el&&(this.el.classList.toggle("show",!!e),this.el.classList.toggle("hide",!e),e||a.Tip.hideTips(this.el)),this.emit(e?"show":"hide")):null===(n=this.debugLogger)||void 0===n||n.debug("Toggle: noop",e)}isHidden(){return!!this.hidden}isVisible(){return!this.hidden}afterPaint(e){requestAnimationFrame((()=>requestAnimationFrame(e)))}onKey(e,t,n,s,i){l.KeyHandler.onKey(e,t,this,n,s,i),this.once("remove",(()=>l.KeyHandler.offKey(e,t,this)))}off(e,t){return void 0===t?super.removeAllListeners(e):super.off(e,t)}}},9861:(e,t,n)=>{"use strict";n.r(t);var s=n(7109);n.n(s)().registerHelper("add",((e,t)=>parseInt(e)+parseInt(t)))},4540:(e,t,n)=>{"use strict";n.r(t);var s=n(7109);n.n(s)().registerHelper("cmp",(function(e,t,n,s){let i;switch(n){case"<":i=e<t;break;case">":i=e>t;break;case">=":i=e>=t;break;case"<=":i=e<=t;break;case"===":case"==":i=e===t;break;case"!==":case"!=":i=e!==t}return i?s.fn(this):s.inverse(this)}))},2156:(e,t,n)=>{"use strict";n.r(t);var s=n(7109);n.n(s)().registerHelper("ifemptyoreq",(function(e,t,n){return e&&e!==t?n.inverse(this):n.fn(this)}))},7672:(e,t,n)=>{"use strict";n.r(t);var s=n(7109);n.n(s)().registerHelper("ifeq",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)}))},580:(e,t,n)=>{"use strict";n.r(t);var s=n(7109);n.n(s)().registerHelper("ifneq",(function(e,t,n){return e!==t?n.fn(this):n.inverse(this)}))},3676:(e,t,n)=>{"use strict";n.r(t);n(9861),n(4540),n(7672),n(580),n(2156),n(8386)},8386:(e,t,n)=>{"use strict";n.r(t);var s=n(7109),i=n.n(s),r=n(3297);i().registerHelper("res",(function(e,t){let n=r.Locale[e];if(n){n.indexOf("{}")>=0&&(n=n.replace("{}",t.fn(this)))}return n})),i().registerHelper("Res",((e,t)=>{let n=r.Locale[e];if(n){n=n[0].toUpperCase()+n.substr(1);n.indexOf("{}")>=0&&(n=n.replace("{}",t.fn(void 0)))}return n}))},2985:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AppModel:()=>B});var s=n(7201),i=n(949),r=n(6491),o=n(6253),a=n(6469),l=n(7119),c=n(8647),u=n(3006),d=n(403),h=n(7614),p=n(7725),m=n(3850),g=n(7449),f=n(5572),A=n(9686),y=n(4563),v=n(739),b=n(667),w=n(6098),k=n(9491),C=n(4798),_=n(1240),E=n(3297),x=n(2363),I=n(6838),S=n(3279),D=n.n(S);n(9689);class B{constructor(){this.tags=[],this.files=new o.FileCollection,this.fileInfos=a.FileInfoCollection,this.menu=new y.MenuModel,this.filter={},this.sort="title",this.settings=h.AppSettingsModel,this.activeEntryId=null,this.isBeta=l.RuntimeInfo.beta,this.advancedSearch=null,this.attachedYubiKeysCount=0,this.memoryPasswordStorage={},this.fileUnlockPromise=null,this.hardwareDecryptInProgress=!1,this.mainWindowBlurTimer=null,s.Events.on("refresh",this.refresh.bind(this)),s.Events.on("set-filter",this.setFilter.bind(this)),s.Events.on("add-filter",this.addFilter.bind(this)),s.Events.on("set-sort",this.setSort.bind(this)),s.Events.on("empty-trash",this.emptyTrash.bind(this)),s.Events.on("select-entry",this.selectEntry.bind(this)),s.Events.on("unset-keyfile",this.unsetKeyFile.bind(this)),s.Events.on("usb-devices-changed",this.usbDevicesChanged.bind(this)),s.Events.on("main-window-blur",this.mainWindowBlur.bind(this)),s.Events.on("main-window-focus",this.mainWindowFocus.bind(this)),s.Events.on("main-window-will-close",this.mainWindowWillClose.bind(this)),s.Events.on("hardware-decrypt-started",this.hardwareDecryptStarted.bind(this)),s.Events.on("hardware-decrypt-finished",this.hardwareDecryptFinished.bind(this)),this.appLogger=new x.Logger("app"),B.instance=this}loadConfig(e){return new Promise(((t,n)=>{this.ensureCanLoadConfig(e),this.appLogger.debug("Loading config from",e);const s=this.appLogger.ts(),i=new XMLHttpRequest;i.open("GET",e),i.responseType="json",i.send(),i.addEventListener("load",(()=>{let r=i.response;if(!r){const e="OK"===i.statusText?"Malformed JSON":i.statusText;return this.appLogger.error("Error loading app config",e),n("Error loading app config")}if("string"==typeof r)try{r=JSON.parse(r)}catch(e){return this.appLogger.error("Error parsing response",e,r),n("Error parsing response")}if(!r.settings)return this.appLogger.error("Invalid app config, no settings section",r),n("Invalid app config, no settings section");this.appLogger.info("Loaded app config from",e,this.appLogger.ts(s)),t(r)})),i.addEventListener("error",(()=>{this.appLogger.error("Error loading app config",i.statusText,i.status),n("Error loading app config")}))})).then((e=>this.applyUserConfig(e)))}ensureCanLoadConfig(e){if(!b.Features.isSelfHosted)throw"Configs are supported only in self-hosted installations";const t=document.createElement("a");t.href=e;if(t.host&&t.host!==location.host)throw"Loading config from this location is not allowed"}applyUserConfig(e){if(this.settings.set(e.settings),e.files&&(e.showOnlyFilesFromConfig&&(this.fileInfos.length=0),e.files.filter((e=>e&&e.storage&&e.name&&e.path&&!this.fileInfos.getMatch(e.storage,e.name,e.path))).map((e=>new m.FileInfoModel({id:_.IdGenerator.uuid(),name:e.name,storage:e.storage,path:e.path,opts:e.options}))).reverse().forEach((e=>this.fileInfos.unshift(e)))),e.plugins){const t=e.plugins.map((e=>v.PluginManager.installIfNew(e.url,e.manifest,!0)));return Promise.all(t).then((()=>{this.settings.set(e.settings)}))}e.advancedSearch&&(this.advancedSearch=e.advancedSearch,this.addFilter({advanced:this.advancedSearch}))}addFile(e){if(this.files.get(e.id))return!1;this.files.push(e);for(const t of e.groups)this.menu.groupsSection.addItem(t);return this._addTags(e),this._tagsChanged(),this.menu.filesSection.addItem({icon:"lock",title:e.name,page:"file",file:e}),this.refresh(),e.on("reload",this.reloadFile.bind(this)),e.on("change",(()=>{s.Events.emit("file-changed",e)})),e.on("ejected",(()=>this.closeFile(e))),e.on("change:dirty",((e,t)=>{t&&-1===this.settings.autoSaveInterval&&this.syncFile(e)})),s.Events.emit("file-opened"),this.fileUnlockPromise&&(this.appLogger.info("Running pending file unlock operation"),this.fileUnlockPromise.resolve(e),this.fileUnlockPromise=null,s.Events.emit("unlock-message-changed",null)),!0}reloadFile(e){this.menu.groupsSection.replaceByFile(e,e.groups[0]),this.updateTags()}_addTags(e){const t={};this.tags.forEach((e=>{t[e.toLowerCase()]=!0})),e.forEachEntry({},(e=>{for(const n of e.tags)t[n.toLowerCase()]||(t[n.toLowerCase()]=!0,this.tags.push(n))})),this.tags.sort()}_tagsChanged(){this.tags.length?(this.menu.tagsSection.scrollable=!0,this.menu.tagsSection.setItems(this.tags.map((e=>({title:e,icon:"tag",filterKey:"tag",filterValue:e,editable:!0}))))):(this.menu.tagsSection.scrollable=!1,this.menu.tagsSection.removeAllItems())}updateTags(){const e=this.tags.slice();this.tags.splice(0,this.tags.length);for(const e of this.files)this._addTags(e);e.join(",")!==this.tags.join(",")&&this._tagsChanged()}renameTag(e,t){this.files.forEach((n=>n.renameTag&&n.renameTag(e,t))),this.updateTags()}closeAllFiles(){if(this.files.hasOpenFiles()){for(const e of this.files)e.close(),this.fileClosed(e);this.files.length=0,this.menu.groupsSection.removeAllItems(),this.menu.tagsSection.scrollable=!1,this.menu.tagsSection.removeAllItems(),this.menu.filesSection.removeAllItems(),this.tags.splice(0,this.tags.length),this.filter={},this.menu.select({item:this.menu.allItemsItem}),s.Events.emit("all-files-closed")}}closeFile(e){e.close(),this.fileClosed(e),this.files.remove(e),this.updateTags(),this.menu.groupsSection.removeByFile(e),this.menu.filesSection.removeByFile(e),this.menu.select({item:this.menu.allItemsSection.items[0]}),s.Events.emit("one-file-closed")}emptyTrash(){this.files.forEach((e=>e.emptyTrash&&e.emptyTrash())),this.refresh()}setFilter(e){this.filter=this.prepareFilter(e),this.filter.subGroups=this.settings.expandGroups,!this.filter.advanced&&this.advancedSearch&&(this.filter.advanced=this.advancedSearch);const t=this.getEntries();if(!this.activeEntryId||!t.get(this.activeEntryId)){const e=t[0];this.activeEntryId=e?e.id:null}s.Events.emit("filter",{filter:this.filter,sort:this.sort,entries:t}),s.Events.emit("entry-selected",t.get(this.activeEntryId))}refresh(){this.setFilter(this.filter)}selectEntry(e){this.activeEntryId=e.id,this.refresh()}addFilter(e){this.setFilter(Object.assign(this.filter,e))}setSort(e){this.sort=e,this.setFilter(this.filter)}getEntries(){const e=this.getEntriesByFilter(this.filter,this.files);return e.sortEntries(this.sort,this.filter),this.filter.trash&&this.addTrashGroups(e),e}getEntriesByFilter(e,t){const n=this.prepareFilter(e),s=new r.SearchResultCollection,i=t.filter((e=>"otp-device"===e.backend)),o=this.settings.yubiKeyMatchEntries?new Set:void 0;if(t.filter((e=>"otp-device"!==e.backend)).forEach((e=>{e.forEachEntry(n,(e=>{if(o)for(const t of i){const n=t.getMatchingEntry(e);n&&o.add(n)}s.push(e)}))})),i.length)for(const e of i)e.forEachEntry(n,(e=>{o&&o.has(e)||s.push(e)}));return s}addTrashGroups(e){this.files.forEach((t=>{const n=t.getTrashGroup&&t.getTrashGroup();n&&n.getOwnSubGroups().forEach((s=>{e.unshift(f.GroupModel.fromGroup(s,t,n))}))}))}prepareFilter(e){(e=Object.assign({},e)).textLower=e.text?e.text.toLowerCase():"",e.textParts=null,e.textLowerParts=null;if(!(e.advanced&&e.advanced.exact)&&e.text){const t=e.text.split(/\s+/).filter((e=>e));t.length&&(e.textParts=t,e.textLowerParts=e.textLower.split(/\s+/).filter((e=>e)))}return e.tagLower=e.tag?e.tag.toLowerCase():"",e}getFirstSelectedGroupForCreation(){const e=this.filter.group;let t,n;return e&&this.files.some((s=>(t=s,n=s.getGroup(e),n))),n||(t=this.files.find((e=>e.active&&!e.readOnly)),n=t.groups[0]),{group:n,file:t}}completeUserNames(e){const t={};this.files.forEach((n=>{n.forEachEntry({text:e,textLower:e.toLowerCase(),advanced:{user:!0}},(e=>{const n=e.user;n&&(t[n]=(t[n]||0)+1)}))}));const n=Object.entries(t);n.sort(((e,t)=>t[1]-e[1]));return n.length>5&&(n.length=5),n.map((e=>e[0]))}getEntryTemplates(){const e=[];return this.files.forEach((t=>{var n;null===(n=t.forEachEntryTemplate)||void 0===n||n.call(t,(n=>{e.push({file:t,entry:n})}))})),e}canCreateEntries(){return this.files.some((e=>e.active&&!e.readOnly))}createNewEntry(e){const t=this.getFirstSelectedGroupForCreation();if(null!=e&&e.template){t.file!==e.template.file&&(t.file=e.template.file,t.group=e.template.file.groups[0]);const n=e.template.entry,s=p.EntryModel.newEntry(t.group,t.file);return s.copyFromTemplate(n),s}return p.EntryModel.newEntry(t.group,t.file,{tag:this.filter.tag})}createNewEntryWithFields(e,t){return p.EntryModel.newEntryWithFields(e,t)}createNewGroup(){const e=this.getFirstSelectedGroupForCreation();return f.GroupModel.newGroup(e.group,e.file)}createNewGroupWithName(e,t,n){const s=f.GroupModel.newGroup(e,t);return s.setName(n),s}createNewTemplateEntry(){const e=this.getFirstSelectedGroupForCreation().file,t=e.getEntryTemplatesGroup()||e.createEntryTemplatesGroup();return p.EntryModel.newEntry(t,e)}createDemoFile(){if(this.files.getByName("Demo"))return!1;{const e=new g.FileModel({id:_.IdGenerator.uuid()});return e.openDemo((()=>{this.addFile(e)})),!0}}createNewFile(e,t){if(!e)for(let t=0;e=E.Locale.openNewFile+(t||""),this.files.getByName(e)||this.fileInfos.getByName(e);t++);const n=new g.FileModel({id:_.IdGenerator.uuid()});n.create(e,(()=>{this.addFile(n),null==t||t(n)}))}openFile(e,t){const n=new x.Logger("open",e.name);n.info("File open request");const s=e.id?this.fileInfos.get(e.id):this.fileInfos.getMatch(e.storage,e.name,e.path);!e.opts&&s&&s.opts&&(e.opts=s.opts),s&&s.modified?(n.info("Open file from cache because it is modified"),this.openFileFromCache(e,((e,s)=>{!e&&s&&(n.info("Sync just opened modified file"),setTimeout((()=>this.syncFile(s)),0)),t(e)}),s)):e.fileData?(n.info("Open file from supplied content"),"file"===e.storage?i.Storage.file.stat(e.path,null,((n,i)=>{if(n)return t(n);e.rev=i.rev,this.openFileWithData(e,t,s,e.fileData)})):this.openFileWithData(e,t,s,e.fileData,!0)):e.storage?s&&s.openDate&&s.rev===e.rev&&"file"!==s.storage&&!this.settings.disableOfflineStorage?(n.info("Open file from cache because it is latest"),this.openFileFromCache(e,((i,r)=>{if(i){if("KdbxError"===i.name||i.ykError)return t(i);n.info("Error loading file from cache, trying to open from storage",i),this.openFileFromStorage(e,t,s,n,!0)}else t(i,r)}),s)):s&&s.openDate&&"file"!==e.storage&&!this.settings.disableOfflineStorage?(n.info("Open file from cache, will sync after load",e.storage),this.openFileFromCache(e,((i,r)=>{if(!i&&r)n.info("Sync just opened file"),setTimeout((()=>this.syncFile(r)),0),t(i);else{if("KdbxError"===i.name||i.ykError)return t(i);n.info("Error loading file from cache, trying to open from storage",i),this.openFileFromStorage(e,t,s,n,!0)}}),s)):this.openFileFromStorage(e,t,s,n):(n.info("Open file from cache as main storage"),this.openFileFromCache(e,t,s))}openFileFromCache(e,t,n){i.Storage.cache.load(n.id,null,((s,i)=>{i||(s=E.Locale.openFileNoCacheError),new x.Logger("open",e.name).info("Loaded file from cache",s),s?t(s):this.openFileWithData(e,t,n,i)}))}openFileFromStorage(e,t,n,s,r){s.info("Open file from storage",e.storage);const o=i.Storage[e.storage],a=()=>{s.info("Load from storage"),o.load(e.path,e.opts,((i,r,a)=>{if(i)n&&n.openDate&&!this.settings.disableOfflineStorage?(s.info("Open file from cache because of storage load error",i),this.openFileFromCache(e,t,n)):(s.info("Storage load error",i),t(i));else{s.info("Open file from content loaded from storage"),e.fileData=r,e.rev=a&&a.rev||null;const i="file"!==o.name;this.openFileWithData(e,t,n,r,i)}}))},l=n&&n.rev||null;l&&o.stat?(s.info("Stat file"),o.stat(e.path,e.opts,((i,c)=>{!r&&n&&"file"!==o.name&&(i||c&&c.rev===l)&&!this.settings.disableOfflineStorage?(s.info("Open file from cache because "+(i?"stat error":"it is latest"),i),this.openFileFromCache(e,t,n)):c?(s.info("Open file from storage ("+c.rev+", local "+l+")"),a()):(s.info("Stat error",i),t(i))}))):a()}openFileWithData(e,t,n,s,r){const o=new x.Logger("open",e.name);let a=!1;!e.keyFileData&&n&&n.keyFileName?(e.keyFileName=n.keyFileName,"data"===this.settings.rememberKeyFiles&&n.keyFileHash?e.keyFileData=g.FileModel.createKeyFileWithHash(n.keyFileHash):"path"===this.settings.rememberKeyFiles&&n.keyFilePath&&(e.keyFilePath=n.keyFilePath,i.Storage.file.enabled&&(a=!0))):!e.keyFilePath||e.keyFileData||n||(a=!0);const l=new g.FileModel({id:n?n.id:_.IdGenerator.uuid(),name:e.name,storage:e.storage,path:e.path,keyFileName:e.keyFileName,keyFilePath:e.keyFilePath,backup:(null==n?void 0:n.backup)||null,chalResp:e.chalResp});e.encryptedPassword&&(l.encryptedPassword=n.encryptedPassword,l.encryptedPasswordDate=(null==n?void 0:n.encryptedPasswordDate)||new Date);const c=a=>{if(a)return t(a);if(this.files.get(l.id))return t("Duplicate file id");n&&n.modified&&(n.editState&&(o.info("Loaded local edit state"),l.setLocalEditState(n.editState)),o.info("Mark file as modified"),l.modified=!0),n&&(l.syncDate=n.syncDate),r&&!this.settings.disableOfflineStorage&&(o.info("Save loaded file to cache"),i.Storage.cache.save(l.id,null,e.fileData));const c=e.rev||n&&n.rev;this.setFileOpts(l,e.opts),this.addToLastOpenFiles(l,c),this.addFile(l),t(null,l),this.fileOpened(l,s,e)},u=()=>{l.open(e.password,s,e.keyFileData,c)};a?i.Storage.file.load(e.keyFilePath,{},((n,s)=>{n?(o.info("Storage load error",n),t(n)):(e.keyFileData=s,u())})):u()}importFileWithXml(e,t){const n=new x.Logger("import",e.name);n.info("File import request with supplied xml");const s=new g.FileModel({id:_.IdGenerator.uuid(),name:e.name,storage:e.storage,path:e.path});s.importWithXml(e.fileXml,(e=>{if(n.info("Import xml complete "+(e?"with error":""),e),e)return t(e);this.addFile(s),this.fileOpened(s)}))}addToLastOpenFiles(e,t){this.appLogger.debug("Add last open file",e.id,e.name,e.storage,e.path,t);const n=new Date,s=new m.FileInfoModel({id:e.id,name:e.name,storage:e.storage,path:e.path,opts:this.getStoreOpts(e),modified:e.modified,editState:e.getLocalEditState(),rev:t,syncDate:e.syncDate||n,openDate:n,backup:e.backup,chalResp:e.chalResp});switch(this.settings.rememberKeyFiles){case"data":s.set({keyFileName:e.keyFileName||null,keyFileHash:e.getKeyFileHash()});break;case"path":s.set({keyFileName:e.keyFileName||null,keyFilePath:e.keyFilePath||null})}if("file"===this.settings.deviceOwnerAuth&&e.encryptedPassword){const t=new Date(e.encryptedPasswordDate);t.setMinutes(t.getMinutes()+this.settings.deviceOwnerAuthTimeoutMinutes),t>new Date&&(s.encryptedPassword=e.encryptedPassword,s.encryptedPasswordDate=e.encryptedPasswordDate)}this.fileInfos.remove(e.id),this.fileInfos.unshift(s),this.fileInfos.save()}getStoreOpts(e){const t=e.opts,n=e.storage;return i.Storage[n]&&i.Storage[n].fileOptsToStoreOpts&&t?i.Storage[n].fileOptsToStoreOpts(t,e):null}setFileOpts(e,t){const n=e.storage;i.Storage[n]&&i.Storage[n].storeOptsToFileOpts&&t&&(e.opts=i.Storage[n].storeOptsToFileOpts(t,e))}fileOpened(e,t,n){"file"===e.storage&&i.Storage.file.watch(e.path,D()((()=>{this.syncFile(e)}),d.Timeouts.FileChangeSync)),e.isKeyChangePending(!0)&&s.Events.emit("key-change-pending",{file:e});const r=e.backup;t&&r&&r.enabled&&r.pending&&this.scheduleBackupFile(e,t),this.settings.yubiKeyAutoOpen&&this.attachedYubiKeysCount>0&&!this.files.some((e=>"otp-device"===e.backend))&&this.tryOpenOtpDeviceInBackground(),this.settings.deviceOwnerAuth&&this.saveEncryptedPassword(e,n)}fileClosed(e){"file"===e.storage&&i.Storage.file.unwatch(e.path)}removeFileInfo(e){i.Storage.cache.remove(e),this.fileInfos.remove(e),this.fileInfos.save()}getFileInfo(e){return this.fileInfos.get(e.id)||this.fileInfos.getMatch(e.storage,e.name,e.path)}syncFile(e,t,n){if(e.demo)return n&&n();if(e.syncing)return n&&n("Sync in progress");if(!e.active)return n&&n("File is closed");t||(t={});const r=new x.Logger("sync",e.name),o=t.storage||e.storage;let a=t.path||e.path;const l=t.opts||e.opts;!o||!i.Storage[o].getPathForName||a&&o===e.storage||(a=i.Storage[o].getPathForName(e.name));const c=Object.assign({},t);c.opts&&c.opts.password&&(c.opts=Object.assign({},c.opts),c.opts.password="***"),r.info("Sync started",o,a,c);let u=this.getFileInfo(e);if(!u){r.info("Create new file info");const t=new Date;u=new m.FileInfoModel({id:_.IdGenerator.uuid(),name:e.name,storage:e.storage,path:e.path,opts:this.getStoreOpts(e),modified:e.modified,editState:null,rev:null,syncDate:t,openDate:t,backup:e.backup})}e.setSyncProgress();const d=t=>{if(!e.active)return n&&n("File is closed");r.info("Sync finished",t||"no error"),e.setSyncComplete(a,o,t?t.toString():null),u.set({name:e.name,storage:o,path:a,opts:this.getStoreOpts(e),modified:e.dirty?u.modified:e.modified,editState:e.dirty?u.editState:e.getLocalEditState(),syncDate:e.syncDate,chalResp:e.chalResp}),"data"===this.settings.rememberKeyFiles&&u.set({keyFileName:e.keyFileName||null,keyFileHash:e.getKeyFileHash()}),this.fileInfos.get(u.id)||this.fileInfos.unshift(u),this.fileInfos.save(),n&&n(t)};if(o){const n=3;let c=0;const h=()=>{if(++c===n)return d("Too many load attempts");r.info("Load from storage, attempt "+c),i.Storage[o].load(a,l,((n,o,a)=>(r.info("Load from storage",a,n||"no error"),e.active?n?d(n):void e.mergeOrUpdate(o,t.remoteKey,(t=>{if(r.info("Merge complete",t||"no error"),this.refresh(),t)return"InvalidKey"===t.code&&(r.info("Remote key changed, request to enter new key"),s.Events.emit("remote-key-changed",{file:e})),d(t);if(a&&a.rev&&(r.info("Update rev in file info"),u.rev=a.rev),e.syncDate=new Date,e.modified)r.info("Updated sync date, saving modified file"),m();else if(e.dirty){if(this.settings.disableOfflineStorage)return r.info("File is dirty and cache is disabled"),d(t);r.info("Saving not modified dirty file to cache"),i.Storage.cache.save(u.id,null,o,(t=>{if(t)return d(t);e.dirty=!1,r.info("Complete, remove dirty flag"),d()}))}else r.info("Complete, no changes"),d()})):d("File is closed"))))},p=t=>{r.info("Save data to storage");const n=u.storage===o?u.rev:void 0;i.Storage[o].save(a,l,t,((n,s)=>{n&&n.revConflict?(r.info("Save rev conflict, reloading from storage"),h()):n?(r.info("Error saving data to storage"),d(n)):(s&&s.rev&&(r.info("Update rev in file info"),u.rev=s.rev),s&&s.path&&(r.info("Update path in file info",s.path),e.path=s.path,u.path=s.path,a=s.path),e.syncDate=new Date,r.info("Save to storage complete, update sync date"),this.scheduleBackupFile(e,t),d())}),n)},m=()=>{r.info("Getting file data for saving"),e.getData(((t,n)=>{if(n)return d(n);"file"===o?(r.info("Saving to file storage"),p(t)):e.dirty?this.settings.disableOfflineStorage?(r.info("Saving to storage because cache is disabled"),p(t)):(r.info("Saving to cache"),i.Storage.cache.save(u.id,null,t,(n=>{if(n)return d(n);e.dirty=!1,r.info("Saved to cache, saving to storage"),p(t)}))):(r.info("Saving to storage, skip cache because not dirty"),p(t))}))};r.info("Stat file"),i.Storage[o].stat(a,l,((t,n)=>{if(!e.active)return d("File is closed");if(t)if(t.notFound)r.info("File does not exist in storage, creating"),m();else if(e.dirty){if(this.settings.disableOfflineStorage)return r.info("Stat error, dirty, cache is disabled",t||"no error"),d(t);r.info("Stat error, dirty, save to cache",t||"no error"),e.getData(((n,s)=>{if(s)return r.error("Error getting file data",s),d(t);i.Storage.cache.save(u.id,null,n,(n=>{n&&r.error("Error saving to cache",n),n||(e.dirty=!1),r.info("Saved to cache, exit with error",t||"no error"),d(t)}))}))}else r.info("Stat error, not dirty",t||"no error"),d(t);else n.rev===u.rev?e.modified?(r.info("Stat found same version, modified, saving"),m()):(r.info("Stat found same version, not modified"),d()):(r.info("Found new version, loading from storage"),h())}))}else{if(!e.modified&&u.id===e.id)return r.info("Local, not modified"),d();r.info("Local, save to cache"),e.getData(((t,n)=>{if(n)return d(n);i.Storage.cache.save(u.id,null,t,(n=>{r.info("Saved to cache",n||"no error"),d(n),n||this.scheduleBackupFile(e,t)}))}))}}deleteAllCachedFiles(){for(const e of this.fileInfos)e.storage&&!e.modified&&i.Storage.cache.remove(e.id)}clearStoredKeyFiles(){for(const e of this.fileInfos)e.set({keyFileName:null,keyFilePath:null,keyFileHash:null});this.fileInfos.save()}unsetKeyFile(e){this.fileInfos.get(e).set({keyFileName:null,keyFilePath:null,keyFileHash:null}),this.fileInfos.save()}setFileBackup(e,t){const n=this.fileInfos.get(e);n&&(n.backup=t),this.fileInfos.save()}backupFile(e,t,n){const s=e.opts;let r=e.backup;const o=new x.Logger("backup",e.name);if(!r||!r.storage||!r.path)return n("Invalid backup settings");let a=r.path.replace("{date}",w.DateFormat.dtStrFs(new Date));o.info("Backup file to",r.storage,a);const l=()=>{i.Storage[r.storage].getPathForName&&(a=i.Storage[r.storage].getPathForName(a)),i.Storage[r.storage].save(a,s,t,(t=>{t?o.error("Backup error",t):(o.info("Backup complete"),r=e.backup,r.lastTime=Date.now(),delete r.pending,e.backup=r,this.setFileBackup(e.id,r)),n(t)}))};let c=C.UrlFormat.fileToDir(a);i.Storage[r.storage].getPathForName&&(c=i.Storage[r.storage].getPathForName(c).replace(".kdbx","")),i.Storage[r.storage].stat(c,s,(e=>{if(e)if(e.notFound){if(o.info("Backup folder does not exist"),!i.Storage[r.storage].mkdir)return n("Mkdir not supported by "+r.storage);i.Storage[r.storage].mkdir(c,(e=>{e?(o.error("Error creating backup folder",e),n("Error creating backup folder")):(o.info("Backup folder created"),l())}))}else o.error("Stat folder error",e),n("Cannot stat backup folder");else o.info("Backup folder exists, saving"),l()}))}scheduleBackupFile(e,t){const n=e.backup;if(!n||!n.enabled)return;const s=new x.Logger("backup",e.name);let i=!1;if(n.lastTime){const e=new Date(n.lastTime);switch(n.schedule){case"0":break;case"1d":e.setDate(e.getDate()+1);break;case"1w":e.setDate(e.getDate()+7);break;case"1m":e.setMonth(e.getMonth()+1);break;default:return}e.getTime()<=Date.now()&&(i=!0),s.debug("Last backup time: "+new Date(n.lastTime)+", schedule: "+n.schedule+", next time: "+e+", "+(i?"backup now":"skip backup"))}else i=!0,s.debug("No last backup time, backup now");n.pending||(n.pending=!0,this.setFileBackup(e.id,n)),i&&this.backupFile(e,t,I.noop)}usbDevicesChanged(){const e=this.attachedYubiKeysCount;if(this.attachedYubiKeysCount=c.UsbListener.attachedYubiKeys,!this.settings.yubiKeyAutoOpen)return;const t=c.UsbListener.attachedYubiKeys>e,n=this.files.some((e=>e.active&&"otp-device"!==e.backend));t&&n&&!this.openingOtpDevice&&this.tryOpenOtpDeviceInBackground()}tryOpenOtpDeviceInBackground(){this.appLogger.debug("Auto-opening a YubiKey"),this.openOtpDevice((e=>{this.appLogger.debug("YubiKey auto-open complete",e)}))}openOtpDevice(e){this.openingOtpDevice=!0;const t=new A.YubiKeyOtpModel;return t.open((n=>{this.openingOtpDevice=!1,n||this.addFile(t),e(n)})),t}getMatchingOtpEntry(e){if(!this.settings.yubiKeyMatchEntries)return null;for(const t of this.files)if("otp-device"===t.backend){const n=t.getMatchingEntry(e);if(n)return n}}saveEncryptedPassword(e,t){this.settings.deviceOwnerAuth&&!t.encryptedPassword&&u.NativeModules.hardwareEncrypt(t.password).then((t=>{t=t.toBase64();const n=this.fileInfos.get(e.id),s=new Date;e.encryptedPassword=t,e.encryptedPasswordDate=s,"file"===this.settings.deviceOwnerAuth?(n.encryptedPassword=t,n.encryptedPasswordDate=s,this.fileInfos.save()):"memory"===this.settings.deviceOwnerAuth&&(this.memoryPasswordStorage[e.id]={value:t,date:s})})).catch((t=>{e.encryptedPassword=null,e.encryptedPasswordDate=null,delete this.memoryPasswordStorage[e.id],this.appLogger.error("Error encrypting password",t)}))}getMemoryPassword(e){return this.memoryPasswordStorage[e]}checkEncryptedPasswordsStorage(){if("file"===this.settings.deviceOwnerAuth){let e=!1;for(const t of this.fileInfos)this.memoryPasswordStorage[t.id]&&(t.encryptedPassword=this.memoryPasswordStorage[t.id].value,t.encryptedPasswordDate=this.memoryPasswordStorage[t.id].date,e=!0);e&&this.fileInfos.save();for(const e of this.files)this.memoryPasswordStorage[e.id]&&(e.encryptedPassword=this.memoryPasswordStorage[e.id].value,e.encryptedPasswordDate=this.memoryPasswordStorage[e.id].date)}else if("memory"===this.settings.deviceOwnerAuth){let e=!1;for(const t of this.fileInfos)t.encryptedPassword&&(this.memoryPasswordStorage[t.id]={value:t.encryptedPassword,date:t.encryptedPasswordDate},t.encryptedPassword=null,t.encryptedPasswordDate=null,e=!0);e&&this.fileInfos.save()}else{let e=!1;for(const t of this.fileInfos)t.encryptedPassword&&(t.encryptedPassword=null,t.encryptedPasswordDate=null,e=!0);e&&this.fileInfos.save();for(const e of this.files)e.encryptedPassword&&(e.encryptedPassword=null,e.encryptedPasswordDate=null);this.memoryPasswordStorage={}}}unlockAnyFile(e,t){return this.rejectPendingFileUnlockPromise("Replaced with a new operation"),s.Events.emit("show-open-view"),new Promise(((n,i)=>{if(this.fileUnlockPromise={resolve:n,reject:i,unlockRes:e},t){const e=setTimeout((()=>this.rejectPendingFileUnlockPromise("Timeout")),t);this.fileUnlockPromise.resolve=t=>{clearTimeout(e),n(t)},this.fileUnlockPromise.reject=t=>{clearTimeout(e),i(t)}}this.appLogger.info("Pending file unlock operation is set"),s.Events.emit("unlock-message-changed",e)}))}get unlockMessageRes(){var e;return null===(e=this.fileUnlockPromise)||void 0===e?void 0:e.unlockRes}rejectPendingFileUnlockPromise(e){this.fileUnlockPromise&&(this.appLogger.info("Cancel pending file unlock operation",e),this.fileUnlockPromise.reject(new Error(e)),this.fileUnlockPromise=null,s.Events.emit("unlock-message-changed",null))}mainWindowBlur(){this.hardwareDecryptInProgress||(this.mainWindowBlurTimer=setTimeout((()=>{delete this.mainWindowBlurTimer,this.rejectPendingFileUnlockPromise("Main window blur")}),d.Timeouts.AutoTypeWindowFocusAfterBlur))}mainWindowFocus(){this.mainWindowBlurTimer&&(clearTimeout(this.mainWindowBlurTimer),this.mainWindowBlurTimer=null)}mainWindowWillClose(){this.rejectPendingFileUnlockPromise("Main window will close")}hardwareDecryptStarted(){this.hardwareDecryptInProgress=!0}hardwareDecryptFinished(){this.hardwareDecryptInProgress=!1,k.Launcher.isAppFocused()||this.rejectPendingFileUnlockPromise("App is not focused after hardware decrypt")}}},7614:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AppSettingsModel:()=>a});var s=n(9186),i=n(6524),r=n(4491);class o extends s.Model{constructor(){super(),this.on("change",(()=>this.save()))}load(){return i.SettingsStore.load("app-settings").then((e=>{e&&(this.upgrade(e),this.set(e,{silent:!0}))}))}upgrade(e){!0===e.rememberKeyFiles&&(e.rememberKeyFiles="data"),"en"===e.locale&&(e.locale="en-US"),"macdark"===e.theme&&(e.theme="dark"),"wh"===e.theme&&(e.theme="light")}save(){const e={};for(const[t,n]of Object.entries(this))r.DefaultAppSettings[t]!==n&&(e[t]=n);i.SettingsStore.save("app-settings",e)}}o.defineModelProperties(r.DefaultAppSettings,{extensions:!0});const a=new o},5667:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AttachmentModel:()=>i});var s=n(9186);class i extends s.Model{getBinary(){var e,t;let n=this.data;if(null!==(e=n)&&void 0!==e&&e.value&&(n=n.value),null!==(t=n)&&void 0!==t&&t.getBinary&&(n=n.getBinary()),n instanceof ArrayBuffer&&n.byteLength&&(n=new Uint8Array(n)),n instanceof Uint8Array)return n}static fromAttachment(e){const t=function(e){const t=e?e.split(".").pop():void 0;return t?t.toLowerCase():void 0}(e.title);return new i({title:e.title,data:e.data,ext:t,icon:r(t),mimeType:o(t)})}}function r(e){switch(e){case"txt":case"log":case"rtf":case"pem":return"file-alt";case"html":case"htm":case"js":case"css":case"xml":case"config":case"json":case"yaml":case"cpp":case"c":case"h":case"cc":case"hpp":case"mm":case"cs":case"php":case"sh":case"py":case"java":case"rb":case"cfg":case"properties":case"yml":case"asm":case"bat":return"file-code";case"pdf":return"file-pdf";case"zip":case"rar":case"bz":case"bz2":case"7z":case"gzip":case"gz":case"tar":case"cab":case"ace":case"dmg":case"jar":return"file-archive";case"doc":case"docx":return"file-word";case"xls":case"xlsx":return"file-excel";case"ppt":case"pptx":return"file-powerpoint";case"jpeg":case"jpg":case"png":case"gif":case"bmp":case"tiff":case"svg":case"ico":case"psd":return"file-image";case"avi":case"mp4":case"3gp":case"m4v":case"mov":case"mpeg":case"mpg":case"mpe":return"file-video";case"mp3":case"wav":case"flac":return"file-audio"}return"file"}function o(e){switch(e){case"txt":case"log":case"html":case"htm":case"js":case"css":case"xml":case"config":case"json":case"yaml":case"cpp":case"c":case"h":case"cc":case"hpp":case"mm":case"cs":case"php":case"sh":case"py":case"java":case"rb":case"cfg":case"properties":case"yml":case"asm":case"pem":return"text/plain";case"pdf":return"application/pdf";case"jpeg":case"jpg":case"png":case"gif":case"bmp":case"tiff":case"svg":return"image/"+e}}i.defineModelProperties({title:void 0,data:void 0,ext:void 0,icon:void 0,mimeType:void 0})},7725:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EntryModel:()=>w,ExtraUrlFieldName:()=>b});var s=n(3617),i=n(9186),r=n(7614),o=n(1673),a=n(353),l=n(9166),c=n(5667),u=n(4546),d=n(9081),h=n(5563),p=n(8495),m=n(6838),g=n(9907);const f=/^https?:\/\//i,A=/^\{REF:([TNPAU])@I:(\w{32})}$/,y=["title","password","user","url","notes"],v={T:"Title",U:"UserName",P:"Password",A:"URL",N:"Notes"},b="KP2A_URL";class w extends i.Model{constructor(e){super(e),this._search=new g.EntrySearch(this)}setEntry(e,t,n){this.entry=e,this.group=t,this.file=n,this.uuid===e.uuid.id&&this._checkUpdatedEntry(),this.hasFieldRefs=!1,this._fillByEntry(),this.hasFieldRefs=!0}_fillByEntry(){const e=this.entry;this.set({id:this.file.subId(e.uuid.id),uuid:e.uuid.id},{silent:!0}),this.fileName=this.file.name,this.groupName=this.group.title,this.title=this._getFieldString("Title"),this.password=this._getPassword(),this.notes=this._getFieldString("Notes"),this.url=this._getFieldString("URL"),this.displayUrl=this._getDisplayUrl(this._getFieldString("URL")),this.user=this._getFieldString("UserName"),this.iconId=e.icon,this.icon=this._iconFromId(e.icon),this.tags=e.tags,this.color=this._colorToModel(e.bgColor)||this._colorToModel(e.fgColor),this.fields=this._fieldsToModel(),this.attachments=this._attachmentsToModel(e.binaries),this.created=e.times.creationTime,this.updated=e.times.lastModTime,this.expires=e.times.expires?e.times.expiryTime:void 0,this.expired=e.times.expires&&e.times.expiryTime<=new Date,this.historyLength=e.history.length,this.titleUserLower=`${this.title}:${this.user}`.toLowerCase(),this._buildCustomIcon(),this._buildSearchText(),this._buildSearchTags(),this._buildSearchColor(),this._buildAutoType(),this.hasFieldRefs&&this.resolveFieldReferences()}_getPassword(){const e=this.entry.fields.get("Password")||s.ProtectedValue.fromString("");return e.isProtected?e:s.ProtectedValue.fromString(e)}_getFieldString(e){const t=this.entry.fields.get(e);return t?t.isProtected?t.getText():t.toString():""}_checkUpdatedEntry(){this.isJustCreated&&(this.isJustCreated=!1),this.canBeDeleted&&(this.canBeDeleted=!1),this.unsaved&&+this.updated!=+this.entry.times.lastModTime&&(this.unsaved=!1)}_buildSearchText(){let e="";for(const t of this.entry.fields.values())"string"==typeof t&&(e+=t.toLowerCase()+"\n");this.entry.tags.forEach((t=>{e+=t.toLowerCase()+"\n"})),this.attachments.forEach((t=>{e+=t.title.toLowerCase()+"\n"})),this.searchText=e}_buildCustomIcon(){var e;(this.customIcon=null,this.customIconId=null,this.entry.customIcon)&&(this.customIcon=p.IconUrlFormat.toDataUrl(null===(e=this.file.db.meta.customIcons.get(this.entry.customIcon.id))||void 0===e?void 0:e.data),this.customIconId=this.entry.customIcon.toString())}_buildSearchTags(){this.searchTags=this.entry.tags.map((e=>e.toLowerCase()))}_buildSearchColor(){this.searchColor=this.color}_buildAutoType(){this.autoTypeEnabled=this.entry.autoType.enabled,this.autoTypeObfuscation=this.entry.autoType.obfuscation===s.Consts.AutoTypeObfuscationOptions.UseClipboard,this.autoTypeSequence=this.entry.autoType.defaultSequence,this.autoTypeWindows=this.entry.autoType.items.map(this._convertAutoTypeItem)}_convertAutoTypeItem(e){return{window:e.window,sequence:e.keystrokeSequence}}_iconFromId(e){return a.IconMap[e]}_getDisplayUrl(e){return e?e.replace(f,""):""}_colorToModel(e){return e?u.Color.getNearest(e):null}_fieldsToModel(){return(0,m.omit)(this.getAllFields(),l.BuiltInFields)}_attachmentsToModel(e){const t=[];for(let[n,s]of e)s&&s.ref&&(s=s.value),s&&t.push(c.AttachmentModel.fromAttachment({data:s,title:n}));return t}_entryModified(){this.unsaved||(this.unsaved=!0,0!==this.file.historyMaxItems&&this.entry.pushHistory(),this.file.setModified()),this.isJustCreated&&(this.isJustCreated=!1,this.file.reload()),this.entry.times.update()}setSaved(){this.unsaved&&(this.unsaved=!1),this.canBeDeleted&&(this.canBeDeleted=!1)}matches(e){return this._search.matches(e)}getAllFields(){const e={};for(const[t,n]of this.entry.fields)e[t]=n;return e}getHistoryEntriesForSearch(){return this.entry.history}resolveFieldReferences(){this.hasFieldRefs=!1,y.forEach((e=>{const t=this[e],n=this._resolveFieldReference(t);void 0!==n&&(this[e]=n,this.hasFieldRefs=!0)}))}getFieldValue(e){let t;if(e=e.toLowerCase(),[...this.entry.fields.keys()].some((n=>n.toLowerCase()===e&&(t=n,!0))),t){let e=this.entry.fields.get(t);const n=this._resolveFieldReference(e);return void 0!==n&&(e=n),e}}_resolveFieldReference(e){if(!e)return;if(e.isProtected&&e.isFieldReference()&&(e=e.getText()),"string"!=typeof e)return;const t=e.match(A);return t?this._getReferenceValue(t[1],t[2]):void 0}_getReferenceValue(e,t){const n=new Uint8Array(16);for(let e=0;e<16;e++)n[e]=parseInt(t.substr(2*e,2),16);const i=new s.KdbxUuid(n),r=this.file.getEntry(this.file.subId(i.id));if(r)return r.entry.fields.get(v[e])}setColor(e){this._entryModified(),this.entry.bgColor=u.Color.getKnownBgColor(e),this._fillByEntry()}setIcon(e){this._entryModified(),this.entry.icon=e,this.entry.customIcon=void 0,this._fillByEntry()}setCustomIcon(e){this._entryModified(),this.entry.customIcon=new s.KdbxUuid(e),this._fillByEntry()}setExpires(e){this._entryModified(),this.entry.times.expiryTime=e instanceof Date?e:void 0,this.entry.times.expires=!!e,this._fillByEntry()}setTags(e){this._entryModified(),this.entry.tags=e,this._fillByEntry()}renameTag(e,t){const n=this.entry.tags.findIndex((t=>t.toLowerCase()===e.toLowerCase()));n<0||(this._entryModified(),this.entry.tags.splice(n,1),t&&this.entry.tags.push(t),this._fillByEntry())}setField(e,t,n){t&&("string"==typeof t||t.isProtected&&t.byteLength)||n||l.BuiltInFields.indexOf(e)>=0?(this._entryModified(),t=this.sanitizeFieldValue(t),this.entry.fields.set(e,t)):this.entry.fields.has(e)&&(this._entryModified(),this.entry.fields.delete(e)),this._fillByEntry()}sanitizeFieldValue(e){return e&&!e.isProtected&&(e=e.replace(/[\x00-\x08\x0B-\x0C\x0E-\x1F\uFFF0-\uFFFF]/g,"")),e}hasField(e){return this.entry.fields.has(e)}addAttachment(e,t){return this._entryModified(),this.file.db.createBinary(t).then((t=>{this.entry.binaries.set(e,t),this._fillByEntry()}))}removeAttachment(e){this._entryModified(),this.entry.binaries.delete(e),this._fillByEntry()}getHistory(){const e=this.entry.history.map((function(e){return w.fromEntry(e,this.group,this.file)}),this);return e.push(this),e.sort(((e,t)=>e.updated-t.updated)),e}deleteHistory(e){const t=this.entry.history.indexOf(e);t>=0&&(this.entry.removeHistory(t),this.file.setModified()),this._fillByEntry()}revertToHistoryState(e){this.entry.history.indexOf(e)<0||(this.entry.pushHistory(),this.unsaved=!0,this.file.setModified(),this.entry.fields=new Map,this.entry.binaries=new Map,this.entry.copyFrom(e),this._entryModified(),this._fillByEntry())}discardUnsaved(){if(this.unsaved&&this.entry.history.length){this.unsaved=!1;const e=this.entry.history[this.entry.history.length-1];this.entry.removeHistory(this.entry.history.length-1),this.entry.fields=new Map,this.entry.binaries=new Map,this.entry.copyFrom(e),this._fillByEntry()}}moveToTrash(){this.file.setModified(),this.isJustCreated&&(this.isJustCreated=!1),this.file.db.remove(this.entry),this.file.reload()}deleteFromTrash(){this.file.setModified(),this.file.db.move(this.entry,null),this.file.reload()}removeWithoutHistory(){if(this.canBeDeleted){const e=this.group.group.entries.indexOf(this.entry);e>=0&&this.group.group.entries.splice(e,1),this.file.reload()}}detach(){return this.file.setModified(),this.file.db.move(this.entry,null),this.file.reload(),this.entry}moveToFile(e){this.canBeDeleted&&(this.removeWithoutHistory(),this.group=e.groups[0],this.file=e,this._fillByEntry(),this.entry.times.update(),this.group.group.entries.push(this.entry),this.group.addEntry(this),this.isJustCreated=!0,this.unsaved=!0,this.file.setModified())}initOtpGenerator(){let e;if(this.fields.otp){if(e=this.fields.otp,e.isProtected&&(e=e.getText()),d.Otp.isSecret(e.replace(/\s/g,"")))e=d.Otp.makeUrl(e.replace(/\s/g,"").toUpperCase());else if(0!==e.toLowerCase().lastIndexOf("otpauth:",0)){const t={};e.split("&").forEach((e=>{const n=e.split("=",2);t[n[0]]=decodeURIComponent(n[1]).replace(/=/g,"")})),t.key&&(e=d.Otp.makeUrl(t.key,t.step,t.size))}}else if(this.entry.fields.get("TOTP Seed")){let t=this.entry.fields.get("TOTP Seed");if(t.isProtected&&(t=t.getText()),t){let n,i,r=this.entry.fields.get("TOTP Settings");r&&r.isProtected&&(r=r.getText()),r&&(r=r.split(";"),r.length>0&&r[0]>0&&(n=r[0]),r.length>1&&r[1]>0&&(i=r[1])),e=d.Otp.makeUrl(t,n,i),this.fields.otp=s.ProtectedValue.fromString(e)}}if(e){if(this.otpGenerator&&this.otpGenerator.url===e)return;try{this.otpGenerator=d.Otp.parseUrl(e)}catch(e){this.otpGenerator=null}}else this.otpGenerator=null}setOtp(e){this.otpGenerator=e,this.setOtpUrl(e.url)}setOtpUrl(e){this.setField("otp",e?s.ProtectedValue.fromString(e):void 0),this.entry.fields.delete("TOTP Seed"),this.entry.fields.delete("TOTP Settings")}getEffectiveEnableAutoType(){return"boolean"==typeof this.entry.autoType.enabled?this.entry.autoType.enabled:this.group.getEffectiveEnableAutoType()}getEffectiveAutoTypeSeq(){return this.entry.autoType.defaultSequence||this.group.getEffectiveAutoTypeSeq()}setEnableAutoType(e){this._entryModified(),this.entry.autoType.enabled=e,this._buildAutoType()}setAutoTypeObfuscation(e){this._entryModified(),this.entry.autoType.obfuscation=e?s.Consts.AutoTypeObfuscationOptions.UseClipboard:s.Consts.AutoTypeObfuscationOptions.None,this._buildAutoType()}setAutoTypeSeq(e){this._entryModified(),this.entry.autoType.defaultSequence=e||void 0,this._buildAutoType()}getGroupPath(){let e=this.group;const t=[];for(;e;)t.unshift(e.title),e=e.parentGroup;return t}cloneEntry(e){const t=w.newEntry(this.group,this.file),n=t.entry.uuid;return t.entry.copyFrom(this.entry),t.entry.uuid=n,t.entry.times.update(),t.entry.times.creationTime=t.entry.times.lastModTime,t.entry.fields.set("Title",this.title+e),t._fillByEntry(),this.file.reload(),t}copyFromTemplate(e){const t=this.entry.uuid;this.entry.copyFrom(e.entry),this.entry.uuid=t,this.entry.times.update(),this.entry.times.creationTime=this.entry.times.lastModTime,this.entry.fields.set("Title",""),this._fillByEntry()}getRank(e){const t=e.textLower;if(!t)return 0;const n=e.advanced&&e.advanced.protect,s={Title:10,URL:8,UserName:5,Notes:2};return Object.keys(s).concat(Object.keys(this.fields)).reduce(((e,i)=>{const r=this.entry.fields.get(i);if(!r)return e;if(r.isProtected&&(!n||!r.length))return e;return e+h.Ranking.getStringRank(t,r)*(s[i]||2)}),0)}getHtml(){return o.KdbxToHtml.entryToHtml(this.file.db,this.entry)}canCheckPasswordIssues(){var e;return!(null!==(e=this.entry.customData)&&void 0!==e&&e.has("IgnorePwIssues"))}setIgnorePasswordIssues(){this.entry.customData||(this.entry.customData=new Map),this.entry.customData.set("IgnorePwIssues","1"),this._entryModified()}getNextUrlFieldName(){const e=new Set([...this.entry.fields.keys()].filter((e=>e.startsWith(b))));for(let t=0;;t++){const n=t?`${b}_${t}`:b;if(!e.has(n))return n}}getAllUrls(){const e=this.url?[this.url]:[],t=Object.entries(this.fields).filter((([e])=>e.startsWith(b))).map((([,e])=>e.isProtected?e.getText():e)).filter((e=>e));return e.concat(t)}static fromEntry(e,t,n){const s=new w;return s.setEntry(e,t,n),s}static newEntry(e,t,n){const s=new w,i=t.db.createEntry(e.group);return r.AppSettingsModel.useGroupIconForEntries&&e.icon&&e.iconId&&(i.icon=e.iconId),n&&n.tag&&(i.tags=[n.tag]),s.setEntry(i,e,t),s.entry.times.update(),s.unsaved=!0,s.isJustCreated=!0,s.canBeDeleted=!0,e.addEntry(s),t.setModified(),s}static newEntryWithFields(e,t){const n=w.newEntry(e,e.file);for(const[e,s]of Object.entries(t))n.setField(e,s);return n}}w.defineModelProperties({},{extensions:!0})},3850:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FileInfoModel:()=>o});var s=n(9186),i=n(6838);const r={id:"",name:"",storage:null,path:null,modified:!1,editState:null,rev:null,syncDate:null,openDate:null,keyFileName:null,keyFileHash:null,keyFilePath:null,opts:null,backup:null,fingerprint:null,chalResp:null,encryptedPassword:null,encryptedPasswordDate:null};class o extends s.Model{constructor(e){e=(0,i.pick)(Object.assign({},e),Object.keys(r));for(const[t,n]of Object.entries(e))/Date$/.test(t)&&(e[t]=n?new Date(n):null);super(e)}}o.defineModelProperties(r)},7449:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FileModel:()=>y});var s=n(3617),i=n(4181),r=n.n(i),o=n(9186),a=n(7201),l=n(6195),c=n(1673),u=n(5572),d=n(7614),h=n(8495),p=n(2363),m=n(3297),g=n(2378),f=n(9621);const A=new p.Logger("file");class y extends o.Model{constructor(e){super(Object.assign({entryMap:{},groupMap:{}},e))}open(e,t,n,i){try{const r=f.ChalRespCalculator.build(this.chalResp),o=new s.Credentials(e,n,r),a=A.ts();s.Kdbx.load(t,o).then((e=>{this.db=e})).then((()=>{this.readModel(),this.setOpenFile({passwordLength:e?e.textLength:0}),n&&s.ByteUtils.zeroBuffer(n),A.info("Opened file "+this.name+": "+A.ts(a)+", "+this.kdfArgsToString(this.db.header)+", "+Math.round(t.byteLength/1024)+" kB"),i()})).catch((r=>{if(r.code===s.Consts.ErrorCodes.InvalidKey&&e&&!e.byteLength)return A.info("Error opening file with empty password, try to open with null password"),this.open(null,t,n,i);A.error("Error opening file",r.code,r.message,r),i(r)}))}catch(e){A.error("Error opening file",e,e.code,e.message,e),i(e)}}kdfArgsToString(e){return e.kdfParameters?e.kdfParameters.keys().map((t=>{const n=e.kdfParameters.get(t);if(!(n instanceof ArrayBuffer))return t+"="+n})).filter((e=>e)).join("&"):e.keyEncryptionRounds?e.keyEncryptionRounds+" rounds":"?"}create(e,t){const n=s.ProtectedValue.fromString(""),i=new s.Credentials(n);this.db=s.Kdbx.create(i,e),this.name=e,this.readModel(),this.set({active:!0,created:!0,name:e}),t()}importWithXml(e,t){try{const n=A.ts(),i=s.ProtectedValue.fromString(""),r=new s.Credentials(i);s.Kdbx.loadXml(e,r).then((e=>{this.db=e})).then((()=>{this.readModel(),this.set({active:!0,created:!0}),A.info("Imported file "+this.name+": "+A.ts(n)),t()})).catch((e=>{A.error("Error importing file",e.code,e.message,e),t(e)}))}catch(e){A.error("Error importing file",e,e.code,e.message,e),t(e)}}openDemo(e){const t=s.ProtectedValue.fromString("demo"),n=new s.Credentials(t),i=s.ByteUtils.arrayToBuffer(s.ByteUtils.base64ToBytes(r()));s.Kdbx.load(i,n).then((e=>{this.db=e})).then((()=>{this.name="Demo",this.readModel(),this.setOpenFile({passwordLength:4,demo:!0}),e()}))}setOpenFile(e){this.set(Object.assign({},e,{active:!0,oldKeyFileName:this.keyFileName,oldPasswordLength:e.passwordLength,passwordChanged:!1,keyFileChanged:!1})),this.oldPasswordHash=this.db.credentials.passwordHash,this.oldKeyFileHash=this.db.credentials.keyFileHash,this.oldKeyChangeDate=this.db.meta.keyChanged}readModel(){const e=new l.GroupCollection;this.set({uuid:this.db.getDefaultGroup().uuid.toString(),groups:e,formatVersion:this.db.header.versionMajor,defaultUser:this.db.meta.defaultUser,recycleBinEnabled:this.db.meta.recycleBinEnabled,historyMaxItems:this.db.meta.historyMaxItems,historyMaxSize:this.db.meta.historyMaxSize,keyEncryptionRounds:this.db.header.keyEncryptionRounds,keyChangeForce:this.db.meta.keyChangeForce,kdfName:this.readKdfName(),kdfParameters:this.readKdfParams()},{silent:!0}),this.db.groups.forEach((function(t){let n=this.getGroup(this.subId(t.uuid.id));n?n.setGroup(t,this):n=u.GroupModel.fromGroup(t,this),e.push(n)}),this),this.buildObjectMap(),this.resolveFieldReferences()}readKdfName(){if(4===this.db.header.versionMajor&&this.db.header.kdfParameters){let e=this.db.header.kdfParameters.get("$UUID");if(e)switch(e=s.ByteUtils.bytesToBase64(e),e){case s.Consts.KdfId.Argon2d:return"Argon2d";case s.Consts.KdfId.Argon2id:return"Argon2id";case s.Consts.KdfId.Aes:return"Aes"}return"Unknown"}return"Aes"}readKdfParams(){const e=this.db.header.kdfParameters;if(!e)return;let t=e.get("$UUID");if(t)switch(t=s.ByteUtils.bytesToBase64(t),t){case s.Consts.KdfId.Argon2d:case s.Consts.KdfId.Argon2id:return{parallelism:e.get("P").valueOf(),iterations:e.get("I").valueOf(),memory:e.get("M").valueOf()};case s.Consts.KdfId.Aes:return{rounds:e.get("R").valueOf()};default:return}}subId(e){return this.id+":"+e}buildObjectMap(){const e={},t={};this.forEachGroup((n=>{t[n.id]=n,n.forEachOwnEntry(null,(t=>{e[t.id]=t}))}),{includeDisabled:!0}),this.entryMap=e,this.groupMap=t}resolveFieldReferences(){const e=this.entryMap;Object.keys(e).forEach((t=>{e[t].resolveFieldReferences()}))}reload(){this.buildObjectMap(),this.readModel(),this.emit("reload",this)}mergeOrUpdate(e,t,n){let i,r=Promise.resolve();t?(i=new s.Credentials(s.ProtectedValue.fromString("")),r=i.ready.then((()=>{const e=[];return t.password?e.push(i.setPassword(t.password)):i.passwordHash=this.db.credentials.passwordHash,t.keyFileName&&(t.keyFileData?e.push(i.setKeyFile(t.keyFileData)):i.keyFileHash=this.db.credentials.keyFileHash),Promise.all(e)}))):i=this.db.credentials,r.then((()=>{s.Kdbx.load(e,i).then((e=>{if(this.modified)try{t&&e.meta.keyChanged>this.db.meta.keyChanged&&(this.db.credentials=e.credentials,this.keyFileName=t.keyFileName||"",t.password&&(this.passwordLength=t.password.textLength)),this.db.merge(e)}catch(e){return A.error("File merge error",e),n(e)}else this.db=e;this.dirty=!0,this.reload(),n()})).catch((e=>{A.error("Error opening file to merge",e.code,e.message,e),n(e)}))}))}getLocalEditState(){return this.db.getLocalEditState()}setLocalEditState(e){this.db.setLocalEditState(e)}close(){this.set({keyFileName:"",passwordLength:0,modified:!1,dirty:!1,active:!1,created:!1,groups:null,passwordChanged:!1,keyFileChanged:!1,syncing:!1}),this.chalResp&&!d.AppSettingsModel.yubiKeyRememberChalResp&&f.ChalRespCalculator.clearCache(this.chalResp)}getEntry(e){return this.entryMap[e]}getGroup(e){return this.groupMap[e]}forEachEntry(e,t){let n=this;e.trash?n=this.getGroup(this.db.meta.recycleBinUuid?this.subId(this.db.meta.recycleBinUuid.id):null):e.group&&(n=this.getGroup(e.group)),n&&(n.forEachOwnEntry&&n.forEachOwnEntry(e,t),e.group&&!e.subGroups||n.forEachGroup((n=>{n.forEachOwnEntry(e,t)}),e))}forEachGroup(e,t){this.groups.forEach((n=>{!1!==e(n)&&n.forEachGroup(e,t)}))}getTrashGroup(){return this.db.meta.recycleBinEnabled?this.getGroup(this.subId(this.db.meta.recycleBinUuid.id)):null}getEntryTemplatesGroup(){return this.db.meta.entryTemplatesGroup?this.getGroup(this.subId(this.db.meta.entryTemplatesGroup.id)):null}createEntryTemplatesGroup(){const e=this.groups[0],t=u.GroupModel.newGroup(e,this);return t.setName(g.StringFormat.capFirst(m.Locale.templates)),this.db.meta.entryTemplatesGroup=t.group.uuid,this.reload(),t}setModified(){this.demo||this.set({modified:!0,dirty:!0})}getData(e){this.db.cleanup({historyRules:!0,customIcons:!0,binaries:!0}),this.db.cleanup({binaries:!0}),this.db.save().then((t=>{e(t)})).catch((t=>{A.error("Error saving file",this.name,t),e(void 0,t)}))}getXml(e){this.db.saveXml(!0).then((t=>{e(t)}))}getHtml(e){e(c.KdbxToHtml.convert(this.db,{name:this.name}))}getKeyFileHash(){const e=this.db.credentials.keyFileHash;return e?s.ByteUtils.bytesToBase64(e.getBinary()):null}forEachEntryTemplate(e){if(!this.db.meta.entryTemplatesGroup)return;const t=this.getGroup(this.subId(this.db.meta.entryTemplatesGroup.id));t&&t.forEachOwnEntry({},e)}setSyncProgress(){this.set({syncing:!0})}setSyncComplete(e,t,n){n||this.db.removeLocalEditState();const s=this.modified&&!!n;this.set({created:!1,path:e||this.path,storage:t||this.storage,modified:s,dirty:!!n&&this.dirty,syncing:!1,syncError:n}),!n&&this.passwordChanged&&this.encryptedPassword&&this.set({encryptedPassword:null,encryptedPasswordDate:null}),this.open&&(this.setOpenFile({passwordLength:this.passwordLength}),this.forEachEntry({includeDisabled:!0},(e=>e.setSaved())))}setPassword(e){this.db.credentials.setPassword(e),this.db.meta.keyChanged=new Date,this.set({passwordLength:e.textLength,passwordChanged:!0}),this.setModified()}resetPassword(){this.db.credentials.passwordHash=this.oldPasswordHash,this.db.credentials.keyFileHash===this.oldKeyFileHash&&(this.db.meta.keyChanged=this.oldKeyChangeDate),this.set({passwordLength:this.oldPasswordLength,passwordChanged:!1})}setKeyFile(e,t){this.db.credentials.setKeyFile(e),this.db.meta.keyChanged=new Date,this.set({keyFileName:t,keyFileChanged:!0}),this.setModified()}generateAndSetKeyFile(){return s.Credentials.createRandomKeyFile().then((e=>(this.setKeyFile(e,"Generated"),e)))}resetKeyFile(){this.db.credentials.keyFileHash=this.oldKeyFileHash,this.db.credentials.passwordHash===this.oldPasswordHash&&(this.db.meta.keyChanged=this.oldKeyChangeDate),this.set({keyFileName:this.oldKeyFileName,keyFileChanged:!1})}removeKeyFile(){this.db.credentials.keyFileHash=null;const e=!!this.oldKeyFileHash;e||this.db.credentials.passwordHash!==this.oldPasswordHash||(this.db.meta.keyChanged=this.oldKeyChangeDate),this.set({keyFileName:"",keyFilePath:"",keyFileChanged:e}),a.Events.emit("unset-keyfile",this.id),this.setModified()}isKeyChangePending(e){if(!this.db.meta.keyChanged)return!1;const t=e?this.db.meta.keyChangeForce:this.db.meta.keyChangeRec;if(!t||t<0||isNaN(t))return!1;return(Date.now()-this.db.meta.keyChanged)/1e3/3600/24>t}setChallengeResponse(e){this.chalResp&&!d.AppSettingsModel.yubiKeyRememberChalResp&&f.ChalRespCalculator.clearCache(this.chalResp),this.db.credentials.setChallengeResponse(f.ChalRespCalculator.build(e)),this.db.meta.keyChanged=new Date,this.chalResp=e,this.setModified()}setKeyChange(e,t){(isNaN(t)||!t||t<0)&&(t=-1);const n=e?"keyChangeForce":"keyChangeRec";this.db.meta[n]=t,this[n]=t,this.setModified()}setName(e){this.db.meta.name=e,this.db.meta.nameChanged=new Date,this.name=e,this.groups[0].setName(e),this.setModified(),this.reload()}setDefaultUser(e){this.db.meta.defaultUser=e,this.db.meta.defaultUserChanged=new Date,this.defaultUser=e,this.setModified()}setRecycleBinEnabled(e){e=!!e,this.db.meta.recycleBinEnabled=e,e&&this.db.createRecycleBin(),this.recycleBinEnabled=e,this.setModified()}setHistoryMaxItems(e){this.db.meta.historyMaxItems=e,this.historyMaxItems=e,this.setModified()}setHistoryMaxSize(e){this.db.meta.historyMaxSize=e,this.historyMaxSize=e,this.setModified()}setKeyEncryptionRounds(e){this.db.header.keyEncryptionRounds=e,this.keyEncryptionRounds=e,this.setModified()}setKdfParameter(e,t){const n=s.VarDictionary.ValueType;switch(e){case"memory":this.db.header.kdfParameters.set("M",n.UInt64,s.Int64.from(t));break;case"iterations":this.db.header.kdfParameters.set("I",n.UInt64,s.Int64.from(t));break;case"parallelism":this.db.header.kdfParameters.set("P",n.UInt32,t);break;case"rounds":this.db.header.kdfParameters.set("R",n.UInt32,t);break;default:return}this.kdfParameters=this.readKdfParams(),this.setModified()}emptyTrash(){const e=this.getTrashGroup();if(e){let t=!1;e.getOwnSubGroups().slice().forEach((function(e){this.db.move(e,null),t=!0}),this),e.group.entries.slice().forEach((function(e){this.db.move(e,null),t=!0}),this),e.items.length=0,e.entries.length=0,t&&this.setModified()}}getCustomIcons(){const e={};for(const[t,n]of this.db.meta.customIcons)e[t]=h.IconUrlFormat.toDataUrl(n.data);return e}addCustomIcon(e){const t=s.KdbxUuid.random();return this.db.meta.customIcons.set(t.id,{data:s.ByteUtils.arrayToBuffer(s.ByteUtils.base64ToBytes(e)),lastModified:new Date}),t.toString()}renameTag(e,t){this.forEachEntry({},(n=>n.renameTag(e,t)))}setFormatVersion(e){this.db.setVersion(e),this.setModified(),this.readModel()}setKdf(e){if(!this.db.header.kdfParameters)throw new Error("Cannot set KDF on this version");switch(e){case"Aes":this.db.setKdf(s.Consts.KdfId.Aes);break;case"Argon2d":this.db.setKdf(s.Consts.KdfId.Argon2d);break;case"Argon2id":this.db.setKdf(s.Consts.KdfId.Argon2id);break;default:throw new Error("Bad KDF name")}this.setModified(),this.readModel()}static createKeyFileWithHash(e){const t=s.ByteUtils.base64ToBytes(e),n=s.ByteUtils.bytesToHex(t);return s.ByteUtils.stringToBytes(n)}}y.defineModelProperties({id:"",uuid:"",name:"",db:null,entryMap:null,groupMap:null,keyFileName:"",keyFilePath:null,chalResp:null,passwordLength:0,path:"",opts:null,storage:null,modified:!1,dirty:!1,active:!1,created:!1,demo:!1,groups:null,oldPasswordLength:0,oldKeyFileName:"",passwordChanged:!1,keyFileChanged:!1,keyChangeForce:-1,syncing:!1,syncError:null,syncDate:null,backup:null,formatVersion:null,defaultUser:null,recycleBinEnabled:null,historyMaxItems:null,historyMaxSize:null,keyEncryptionRounds:null,kdfName:null,kdfParameters:null,fingerprint:null,oldPasswordHash:null,oldKeyFileHash:null,oldKeyChangeDate:null,encryptedPassword:null,encryptedPasswordDate:null,supportsTags:!0,supportsColors:!0,supportsIcons:!0,supportsExpiration:!0,defaultGroupHash:""})},5572:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GroupModel:()=>h});var s=n(3617),i=n(353),r=n(7725),o=n(9233),a=n(8495),l=n(6195),c=n(8533);const u=s.Consts.Icons,d="{USERNAME}{TAB}{PASSWORD}{ENTER}";class h extends o.MenuItemModel{setGroup(e,t,n){const s=e.uuid.equals(t.db.meta.recycleBinUuid),i=t.subId(e.uuid.id);this.set({id:i,uuid:e.uuid.id,expanded:e.expanded,visible:!s,items:new l.GroupCollection,entries:new c.EntryCollection,filterValue:i,enableSearching:e.enableSearching,enableAutoType:e.enableAutoType,autoTypeSeq:e.defaultAutoTypeSeq,top:!n,drag:!!n,collapsible:!!n},{silent:!0}),this.group=e,this.file=t,this.parentGroup=n,this._fillByGroup(!0);const o=this.items,a=this.entries,u=e.groups.map((e=>{let n=t.getGroup(t.subId(e.uuid.id));return n?n.setGroup(e,t,this):n=h.fromGroup(e,t,this),n}),this);o.push(...u);const d=e.entries.map((e=>{let n=t.getEntry(t.subId(e.uuid.id));return n?n.setEntry(e,this,t):n=r.EntryModel.fromEntry(e,this,t),n}),this);a.push(...d)}_fillByGroup(e){this.set({title:this.parentGroup?this.group.name:this.file.name,iconId:this.group.icon,icon:this._iconFromId(this.group.icon),customIcon:this._buildCustomIcon(),customIconId:this.group.customIcon?this.group.customIcon.toString():null,expanded:!1!==this.group.expanded},{silent:e})}_iconFromId(e){if(e!==u.Folder&&e!==u.FolderOpen)return i.IconMap[e]}_buildCustomIcon(){var e;return this.customIcon=null,this.group.customIcon?a.IconUrlFormat.toDataUrl(null===(e=this.file.db.meta.customIcons.get(this.group.customIcon.id))||void 0===e?void 0:e.data):null}_groupModified(){this.isJustCreated&&(this.isJustCreated=!1),this.file.setModified(),this.group.times.update()}forEachGroup(e,t){let n=!0;return this.items.forEach((s=>{s.matches(t)&&(n=!1!==e(s)&&!1!==s.forEachGroup(e,t))})),n}forEachOwnEntry(e,t){this.entries.forEach((function(n){n.matches(e)&&t(n,this)}))}matches(e){return(e&&e.includeDisabled||!1!==this.group.enableSearching&&!this.group.uuid.equals(this.file.db.meta.entryTemplatesGroup))&&(!e||!e.autoType||!1!==this.group.enableAutoType)}getOwnSubGroups(){return this.group.groups}addEntry(e){this.entries.push(e)}addGroup(e){this.items.push(e)}setName(e){this._groupModified(),this.group.name=e,this._fillByGroup()}setIcon(e){this._groupModified(),this.group.icon=e,this.group.customIcon=void 0,this._fillByGroup()}setCustomIcon(e){this._groupModified(),this.group.customIcon=new s.KdbxUuid(e),this._fillByGroup()}setExpanded(e){this.group.expanded=e,this.expanded=e}setEnableSearching(e){this._groupModified();let t=!0,n=this.parentGroup;for(;n;){if("boolean"==typeof n.enableSearching){t=n.enableSearching;break}n=n.parentGroup}e===t&&(e=null),this.group.enableSearching=e,this.enableSearching=this.group.enableSearching}getEffectiveEnableSearching(){let e=this;for(;e;){if("boolean"==typeof e.enableSearching)return e.enableSearching;e=e.parentGroup}return!0}setEnableAutoType(e){this._groupModified();let t=!0,n=this.parentGroup;for(;n;){if("boolean"==typeof n.enableAutoType){t=n.enableAutoType;break}n=n.parentGroup}e===t&&(e=null),this.group.enableAutoType=e,this.enableAutoType=this.group.enableAutoType}getEffectiveEnableAutoType(){let e=this;for(;e;){if("boolean"==typeof e.enableAutoType)return e.enableAutoType;e=e.parentGroup}return!0}setAutoTypeSeq(e){this._groupModified(),this.group.defaultAutoTypeSeq=e||void 0,this.autoTypeSeq=this.group.defaultAutoTypeSeq}getEffectiveAutoTypeSeq(){let e=this;for(;e;){if(e.autoTypeSeq)return e.autoTypeSeq;e=e.parentGroup}return d}getParentEffectiveAutoTypeSeq(){return this.parentGroup?this.parentGroup.getEffectiveAutoTypeSeq():d}isEntryTemplatesGroup(){return this.group.uuid.equals(this.file.db.meta.entryTemplatesGroup)}moveToTrash(){this.file.setModified(),this.file.db.remove(this.group),this.group.uuid.equals(this.file.db.meta.entryTemplatesGroup)&&(this.file.db.meta.entryTemplatesGroup=void 0),this.file.reload()}deleteFromTrash(){this.file.db.move(this.group,null),this.file.reload()}removeWithoutHistory(){const e=this.parentGroup.group.groups.indexOf(this.group);e>=0&&this.parentGroup.group.groups.splice(e,1),this.file.reload()}moveHere(e){if(e&&e.id!==this.id)if(e.file===this.file){if(this.file.setModified(),e instanceof h){for(let t=this;t;t=t.parentGroup)if(e===t)return;if(this.group.groups.indexOf(e.group)>=0)return;this.file.db.move(e.group,this.group),this.file.reload()}else if(e instanceof r.EntryModel){if(this.group.entries.indexOf(e.entry)>=0)return;this.file.db.move(e.entry,this.group),this.file.reload()}}else if(e instanceof r.EntryModel){this.file.setModified();const t=e.detach();this.file.db.importEntry(t,this.group,e.file.db),this.file.reload()}}moveToTop(e){if(!(e&&e.id!==this.id&&e.file===this.file&&e instanceof h))return;this.file.setModified();for(let t=this;t;t=t.parentGroup)if(e===t)return;let t=this.parentGroup.group.groups.indexOf(this.group);const n=this.parentGroup.group.groups.indexOf(e.group);n>=0&&n<t&&t--,t>=0&&this.file.db.move(e.group,this.parentGroup.group,t),this.file.reload()}static fromGroup(e,t,n){const s=new h;return s.setGroup(e,t,n),s}static newGroup(e,t){const n=new h,s=t.db.createGroup(e.group);return n.setGroup(s,t,e),n.group.times.update(),n.isJustCreated=!0,e.addGroup(n),t.setModified(),t.reload(),n}}h.defineModelProperties({id:"",uuid:"",iconId:0,entries:null,filterKey:"group",editable:!0,top:!1,drag:!0,drop:!0,enableSearching:!0,enableAutoType:null,autoTypeSeq:null,group:null,file:null,parentGroup:null,customIconId:null,isJustCreated:!1})},5782:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GroupsMenuModel:()=>r});var s=n(6195),i=n(4954);class r extends i.MenuSectionModel{constructor(){super(new s.GroupCollection)}}r.defineModelProperties({scrollable:!0,grow:!0})},9233:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuItemModel:()=>o});var s=n(9186),i=n(8604),r=n(4655);class o extends s.Model{constructor(e){super(e),e&&e.file&&e.file.on("change:name",this.changeTitle.bind(this))}addItem(e){this.items.push(e)}addOption(e){this.options||(this.options=new i.MenuOptionCollection),this.options.push(new r.MenuOptionModel(e))}toggleExpanded(){const e=this.items;let t=!this.expanded;e&&e.length||(t=!0),this.expanded=t}changeTitle(e,t){this.title=t}}o.defineModelProperties({id:"",title:"",locTitle:"",icon:"",customIcon:null,active:!1,expanded:!0,items:null,shortcut:null,options:null,cls:null,iconCls:null,disabled:!1,visible:!0,drag:!1,drop:!1,filterKey:null,filterValue:null,collapsible:!1,defaultItem:!1,page:null,editable:!1,file:null,section:null})},4563:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuModel:()=>m});var s=n(9186),i=n(7201),r=n(8567),o=n(7017),a=n(2977),l=n(5782),c=n(4954),u=n(2378),d=n(3297),h=n(9491),p=n(667);class m extends s.Model{constructor(){super(),this.menus={},this.allItemsSection=new c.MenuSectionModel([{locTitle:"menuAllItems",icon:"th-large",active:!0,shortcut:a.Keys.DOM_VK_A,filterKey:"*"}]),this.allItemsItem=this.allItemsSection.items[0],this.groupsSection=new l.GroupsMenuModel,this.colorsSection=new c.MenuSectionModel([{locTitle:"menuColors",icon:"bookmark",shortcut:a.Keys.DOM_VK_C,cls:"menu__item-colors",filterKey:"color",filterValue:!0}]),this.colorsItem=this.colorsSection.items[0];const e=[this._getDefaultTagItem()];this.tagsSection=new c.MenuSectionModel(e),this.tagsSection.set({scrollable:!0,drag:!0}),this.tagsSection.defaultItems=e,this.trashSection=new c.MenuSectionModel([{locTitle:"menuTrash",icon:"trash-alt",shortcut:a.Keys.DOM_VK_D,filterKey:"trash",filterValue:!0,drop:!0}]),o.Colors.AllColors.forEach((e=>{const t={cls:`fa ${e}-color`,value:e,filterValue:e};this.colorsSection.items[0].addOption(t)})),this.menus.app=new r.MenuSectionCollection([this.allItemsSection,this.colorsSection,this.tagsSection,this.groupsSection,this.trashSection]),this.generalSection=new c.MenuSectionModel([{locTitle:"menuSetGeneral",icon:"cog",page:"general",section:"top",active:!0},{locTitle:"setGenAppearance",icon:"0",page:"general",section:"appearance"},{locTitle:"setGenFunction",icon:"0",page:"general",section:"function"},{locTitle:"setGenAudit",icon:"0",page:"general",section:"audit"},{locTitle:"setGenLock",icon:"0",page:"general",section:"lock"},{locTitle:"setGenStorage",icon:"0",page:"general",section:"storage"},{locTitle:"advanced",icon:"0",page:"general",section:"advanced"}]),this.shortcutsSection=new c.MenuSectionModel([{locTitle:"shortcuts",icon:"keyboard",page:"shortcuts"}]),p.Features.supportsBrowserExtensions&&(this.browserSection=new c.MenuSectionModel([{locTitle:"menuSetBrowser",icon:p.Features.browserIcon,page:"browser"}])),this.pluginsSection=new c.MenuSectionModel([{locTitle:"plugins",icon:"puzzle-piece",page:"plugins"}]),h.Launcher&&(this.devicesSection=new c.MenuSectionModel([{locTitle:"menuSetDevices",icon:"usb",page:"devices"}])),this.aboutSection=new c.MenuSectionModel([{locTitle:"menuSetAbout",icon:"info",page:"about"}]),this.helpSection=new c.MenuSectionModel([{locTitle:"help",icon:"question",page:"help"}]),this.filesSection=new c.MenuSectionModel,this.filesSection.set({scrollable:!0,grow:!0}),this.menus.settings=new r.MenuSectionCollection([this.generalSection,this.shortcutsSection,this.browserSection,this.pluginsSection,this.devicesSection,this.aboutSection,this.helpSection,this.filesSection].filter((e=>e))),this.sections=this.menus.app,i.Events.on("set-locale",this._setLocale.bind(this)),i.Events.on("select-next-menu-item",this._selectNext.bind(this)),i.Events.on("select-previous-menu-item",this._selectPrevious.bind(this)),this._setLocale()}select(e){const t=this.sections;for(const n of t)this._select(n,e.item);if(t===this.menus.app){this.colorsItem.options.forEach((t=>{t.active=t===e.option})),this.colorsItem.iconCls=e.item===this.colorsItem&&e.option?e.option.value+"-color":null;const t=e.item.filterKey,n=(e.option||e.item).filterValue,s={};s[t]=n,i.Events.emit("set-filter",s)}else t===this.menus.settings&&e.item.page&&i.Events.emit("set-page",{page:e.item.page,section:e.item.section,file:e.item.file})}_selectPrevious(){let e=null;const t=n=>{if(!1===n.visible)return!0;n.active&&(e=n);const s=n.items;s&&s.forEach((n=>n.active&&e?(this.select({item:e}),!1):t(n)))};this.sections.forEach((e=>t(e)))}_selectNext(){let e=null;const t=n=>{if(!1===n.visible)return!0;if(n.active&&e&&n!==e)return this.select({item:n}),e=null,!1;const s=n.items;s&&s.forEach((n=>(n.active&&(e=n),t(n))))};this.sections.forEach((e=>t(e)))}_select(e,t){const n=e.items;if(n)for(const e of n)e.active=e===t,this._select(e,t)}_setLocale(){for(const e of[this.menus.app,this.menus.settings])for(const t of e)for(const e of t.items)e.locTitle&&(e.title=u.StringFormat.capFirst(d.Locale[e.locTitle]));this.tagsSection.defaultItems[0]=this._getDefaultTagItem()}_getDefaultTagItem(){return{title:u.StringFormat.capFirst(d.Locale.tags),icon:"tags",defaultItem:!0,disabled:{header:d.Locale.menuAlertNoTags,body:d.Locale.menuAlertNoTagsBody,icon:"tags"}}}setMenu(e){this.sections=this.menus[e]}}m.defineModelProperties({sections:null,menu:null},{extensions:!0})},4655:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuOptionModel:()=>i});var s=n(9186);class i extends s.Model{}i.defineModelProperties({title:"",cls:"",value:"",active:!1,filterValue:null})},4954:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuSectionModel:()=>a});var s=n(9186),i=n(900),r=n(9233);function o(e){return e instanceof r.MenuItemModel?e:new r.MenuItemModel(e)}class a extends s.Model{constructor(e=[]){super({items:new i.MenuItemCollection(e.map(o))})}addItem(e){this.items.push(o(e)),this.emit("change-items")}removeAllItems(){this.items.length=0,this.defaultItems&&this.items.push(...this.defaultItems.map((e=>new r.MenuItemModel(e)))),this.emit("change-items")}removeByFile(e){const t=this.items;t.find((n=>n.file===e&&(t.remove(n),!0))),this.emit("change-items")}replaceByFile(e,t){const n=this.items;n.find(((s,i)=>s.file===e&&(n[i]=t,!0))),this.emit("change-items")}setItems(e){this.items.length=0,this.items.push(...e.map(o)),this.emit("change-items")}}a.defineModelProperties({defaultItems:null,items:null,scrollable:!1,grow:!1,drag:!1,visible:void 0,active:!1})},1192:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OtpDeviceEntryCollection:()=>r});var s=n(9071),i=n(1909);class r extends s.Collection{}r.model=i.OtpDeviceEntryModel},1909:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OtpDeviceEntryModel:()=>r});var s=n(9186),i=n(9907);class r extends s.Model{constructor(e){super(e),this.tags=[],this.fields={},this._buildSearchText(),this._buildFields(),this._search=new i.EntrySearch(this)}matches(e){return this._search.matches(e)}_buildSearchText(){let e="";this.title&&(e+=this.title.toLowerCase()),this.user&&(e+="\n"+this.user.toLowerCase()),this.searchText=e}_buildFields(){this.fields.Title=this.title}getAllFields(){return this.fields}getAllUrls(){return[]}getFieldValue(e){return this.fields[e]}getEffectiveAutoTypeSeq(){return"{TOTP}{ENTER}"}}r.defineModelProperties({id:"",file:null,entry:!0,readOnly:!0,device:void 0,deviceSubId:null,title:void 0,description:void 0,fields:void 0,icon:void 0,tags:void 0,searchText:void 0,_search:void 0})},3593:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OtpDeviceModel:()=>r});var s=n(9186),i=n(1192);class r extends s.Model{constructor(...e){super(...e),this.entries=new i.OtpDeviceEntryCollection,this.groups=[],this.entryMap={}}forEachEntry(e,t){if(!(e.trash||e.group||e.tag))for(const n of this.entries)n.matches(e)&&t(n)}entryId(e,t){return`${e}:${t}`.toLowerCase()}getMatchingEntry(e){return this.entryMap[this.entryId(e.title,e.user)]}_buildEntryMap(){for(const e of this.entries)this.entryMap[e.id.toLowerCase()]=e}open(e){throw"Not implemented"}cancelOpen(){throw"Not implemented"}close(e){throw"Not implemented"}getOtp(e){throw"Not implemented"}}r.defineModelProperties({id:"",backend:"otp-device",skipOpenList:!0,readOnly:!0,active:!1,entries:void 0,groups:void 0,name:void 0,shortName:void 0,deviceClassName:void 0,entryMap:void 0})},1342:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OtpEntryModel:()=>i});var s=n(1909);class i extends s.OtpDeviceEntryModel{constructor(e){super(Object.assign({},e,{description:e.user}))}initOtpGenerator(){if(this.otpGenerator)return;const e={next:t=>{if(e.otp&&e.expires){const n=e.expires-Date.now();if(n>0)return t(null,e.otp,n)}e.promise?e.promise.then((({err:e,otp:n,timeLeft:s})=>{t(e,n,s)})):e.promise=new Promise((n=>{e.otpState=this.device.getOtp(this,((s,i,r)=>{e.otpState=null,e.promise=null,i&&r>0?(e.otp=i,e.expires=Date.now()+r):(e.otp=null,e.expires=null),t(s,i,r),n({err:s,otp:i,timeLeft:r})}))}))},cancel:()=>{this.otpState&&this.device.cancelGetOtp(this,this.otpState)}};this.otpGenerator=e}_buildFields(){super._buildFields(),this.fields.UserName=this.user}}i.defineModelProperties({user:void 0,backend:"otp-device",otpGenerator:void 0,needsTouch:!1})},9686:(e,t,n)=>{"use strict";n.r(t),n.d(t,{YubiKeyOtpModel:()=>u});var s=n(7201),i=n(3593),r=n(1342),o=n(2363),a=n(8647),l=n(9777);const c=new o.Logger("yubikey");class u extends i.OtpDeviceModel{constructor(e){super(Object.assign({id:"yubikey",name:"YubiKey",shortName:"YubiKey",deviceClassName:"YubiKey"},e)),this.onUsbDevicesChanged=()=>{0===a.UsbListener.attachedYubiKeys&&this.emit("ejected")}}open(e){l.YubiKey.listWithYkman(((t,n)=>{if(t)return e(t);let s=0;const i=[],r=()=>{const t=n.shift();this._addYubiKey(t.serial,(t=>{if(l.YubiKey.aborted)return e("Aborted");t?i.push(t):s++,n&&n.length?r():(s&&this._openComplete(),e(s?null:i[0]))}))};r()}))}_addYubiKey(e,t){c.info("Adding YubiKey",e),l.YubiKey.getOtpCodes(e,((n,s)=>{if(n)return t(n);for(const t of s)this.entries.push(new r.OtpEntryModel({id:this.entryId(t.title,t.user),file:this,device:this,deviceSubId:e,icon:"clock",title:t.title,user:t.user,needsTouch:t.needsTouch}));t()}))}_openComplete(){this.active=!0,this._buildEntryMap(),s.Events.on("usb-devices-changed",this.onUsbDevicesChanged)}cancelOpen(){l.YubiKey.abort(),s.Events.off("usb-devices-changed",this.onUsbDevicesChanged)}getOtp(e,t){const n=3e4-Date.now()%3e4+500;l.YubiKey.getOtp(e.deviceSubId,`${e.title}:${e.user}`,((e,s)=>{t(e,s,n)}))}cancelGetOtp(e,t){t&&t.kill()}close(e){s.Events.off("usb-devices-changed",this.onUsbDevicesChanged),this.set({active:!1})}}u.defineModelProperties({onUsbDevicesChanged:null})},8925:(e,t,n)=>{"use strict";n.r(t),n.d(t,{RuntimeDataModel:()=>o});var s=n(9186),i=n(6524);class r extends s.Model{constructor(){super(),this.on("change",(()=>this.save()))}load(){return i.SettingsStore.load("runtime-data").then((e=>{e&&this.set(e,{silent:!0})}))}save(){i.SettingsStore.save("runtime-data",this)}}r.defineModelProperties({},{extensions:!0});const o=new r;window.RuntimeDataModel=o},2706:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UpdateModel:()=>o});var s=n(9186),i=n(6524);class r extends s.Model{load(){return i.SettingsStore.load("update-info").then((e=>{if(e)try{for(const[t,n]of Object.entries(e))/Date$/.test(t)&&(e[t]=n?new Date(n):null);this.set(e,{silent:!0})}catch(e){}}))}save(){const e=Object.assign({},this);for(const t of Object.keys(e))0===t.lastIndexOf("update",0)&&delete e[t];i.SettingsStore.save("update-info",e)}}r.defineModelProperties({lastSuccessCheckDate:null,lastCheckDate:null,lastVersion:null,lastVersionReleaseDate:null,lastCheckError:null,lastCheckUpdMin:null,status:null,updateStatus:null,updateError:null,updateManual:!1});const o=new r},484:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PluginApi:()=>i});const s={kdbxweb:n(3617),hbs:n(7109),pikaday:n(4319),qrcode:n(8767)},i={require:e=>s[e]||n(7814)("./"+e)}},1525:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PluginCollection:()=>r});var s=n(9071),i=n(1203);class r extends s.Collection{}r.model=i.Plugin},3172:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PluginGallery:()=>l});var s=n(3617),i=n(7201),r=n(6524),o=n(9673),a=n(7536);const l={logger:new(n(2363).Logger)("plugin-gallery"),gallery:null,loading:!1,loadError:null,loadPlugins(){if(this.gallery)return Promise.resolve(this.gallery);this.loading=!0,this.loadError=!1;const e=this.logger.ts();return new Promise((e=>{this.logger.debug("Loading plugins...");const t=new XMLHttpRequest;t.open("GET",o.Links.Plugins+"/plugins.json"),t.responseType="json",t.send(),t.addEventListener("load",(()=>{const n=t.response;e(n)})),t.addEventListener("error",(()=>{this.logger.error("Network error loading plugins"),e()}))})).then((t=>(this.loading=!1,t?this.verifySignature(t).then((t=>(this.loadError=!t,t&&(this.logger.debug(`Loaded ${t.plugins.length} plugins`,this.logger.ts(e)),this.gallery=t,this.saveGallery(t)),i.Events.emit("plugin-gallery-load-complete"),t))):(this.loadError=!0,void i.Events.emit("plugin-gallery-load-complete"))))).catch((e=>{this.loadError=!0,this.logger.error("Error loading plugin gallery",e),i.Events.emit("plugin-gallery-load-complete")}))},verifySignature(e){const t=JSON.stringify(e,null,2).replace(e.signature,"");return a.SignatureVerifier.verify(s.ByteUtils.stringToBytes(t),e.signature).then((t=>{if(t)return e;this.logger.error("JSON signature invalid")})).catch((e=>{this.logger.error("Error verifying plugins signature",e)}))},getCachedGallery(){const e=this.logger.ts();return r.SettingsStore.load("plugin-gallery").then((t=>{if(t)return this.verifySignature(t).then((t=>(this.logger.debug("Loaded cached plugin gallery",this.logger.ts(e)),t)))}))},saveGallery(e){r.SettingsStore.save("plugin-gallery",e)}}},739:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PluginManager:()=>m});var s=n(9186),i=n(7119),r=n(6524),o=n(1203),a=n(1525),l=n(3172),c=n(7536),u=n(2363),d=n(6838);const h=new u.Logger("plugin-mgr");class p extends s.Model{constructor(){super({plugins:new a.PluginCollection})}init(){const e=h.ts();return r.SettingsStore.load("plugins").then((t=>{if(t&&(this.set({autoUpdateAppVersion:t.autoUpdateAppVersion,autoUpdateDate:t.autoUpdateDate}),t&&t.plugins&&t.plugins.length))return l.PluginGallery.getCachedGallery().then((n=>{const s=t.plugins.map((e=>this.loadPlugin(e,n)));return Promise.all(s).then((t=>{this.plugins.push(...t.filter((e=>e))),h.info(`Loaded ${this.plugins.length} plugins`,h.ts(e))}))}))}))}install(e,t,n){return this.emit("change"),o.Plugin.loadFromUrl(e,t).then((e=>this.uninstall(e.id).then((()=>(n&&(e.skipSignatureValidation=!0),e.install(!0,!1).then((()=>{this.plugins.push(e),this.emit("change"),this.saveState()}))))))).catch((e=>{throw this.emit("change"),e}))}installIfNew(e,t,n){const s=this.plugins.find((t=>t.url===e));return s&&"invalid"!==s.status?Promise.resolve():this.install(e,t,n)}uninstall(e){const t=this.plugins.get(e);return t?(this.emit("change"),t.uninstall().then((()=>{this.plugins.remove(e),this.emit("change"),this.saveState()}))):Promise.resolve()}disable(e){const t=this.plugins.get(e);return t&&t.status===o.PluginStatus.STATUS_ACTIVE?(this.emit("change"),t.disable().then((()=>{this.emit("change"),this.saveState()}))):Promise.resolve()}activate(e){const t=this.plugins.get(e);return t&&t.status!==o.PluginStatus.STATUS_ACTIVE?(this.emit("change"),t.install(!0,!0).then((()=>{this.emit("change"),this.saveState()}))):Promise.resolve()}update(e){const t=this.plugins.get(e),n=[o.PluginStatus.STATUS_ACTIVE,o.PluginStatus.STATUS_INACTIVE,o.PluginStatus.STATUS_NONE,o.PluginStatus.STATUS_ERROR,o.PluginStatus.STATUS_INVALID];if(!t||n.indexOf(t.status)<0)return Promise.reject();const s=t.url;return this.emit("change"),o.Plugin.loadFromUrl(s).then((e=>t.update(e).then((()=>{this.emit("change"),this.saveState()})).catch((e=>{throw this.emit("change"),e})))).catch((e=>{throw this.emit("change"),e}))}setAutoUpdate(e,t){const n=this.plugins.get(e);n&&n.autoUpdate!==t&&(n.setAutoUpdate(t),this.emit("change"),this.saveState())}runAutoUpdate(){const e=this.plugins.filter((e=>e.autoUpdate)).map((e=>e.id));if(!e.length)return Promise.resolve();const t=this.autoUpdateAppVersion!==i.RuntimeInfo.version,n=!this.autoUpdateDate||Date.now()-this.autoUpdateDate>p.UpdateInterval;if(!(t||n))return;h.info("Auto-updating plugins",e.join(", ")),this.set({autoUpdateAppVersion:i.RuntimeInfo.version,autoUpdateDate:Date.now()}),this.saveState();const s=()=>{const t=e.shift();if(t)return this.update(t).catch(d.noop).then(s)};return s()}loadPlugin(e,t){const n=new o.Plugin({manifest:e.manifest,url:e.url,autoUpdate:e.autoUpdate});let s=e.enabled;if(s){const n=t?t.plugins.find((t=>t.manifest.name===e.manifest.name)):null;s=(n?[n.manifest.publicKey]:c.SignatureVerifier.getPublicKeys()).includes(e.manifest.publicKey)}return n.install(s,!0).then((()=>n)).catch((()=>n))}saveState(){r.SettingsStore.save("plugins",{autoUpdateAppVersion:this.autoUpdateAppVersion,autoUpdateDate:this.autoUpdateDate,plugins:this.plugins.map((e=>({manifest:e.manifest,url:e.url,enabled:"active"===e.status,autoUpdate:e.autoUpdate})))})}getStatus(e){const t=this.plugins.get(e);return t?t.status:""}getPlugin(e){return this.plugins.get(e)}}p.UpdateInterval=6048e5,p.defineModelProperties({plugins:null,autoUpdateAppVersion:null,autoUpdateDate:null});const m=new p},1203:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Plugin:()=>Plugin,PluginStatus:()=>PluginStatus});var kdbxweb__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3617),kdbxweb__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(kdbxweb__WEBPACK_IMPORTED_MODULE_0__),locales_base_json__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6846),framework_model__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(9186),const_runtime_info__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(7119),comp_launcher__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9491),comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(111),models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7614),plugins_plugin_api__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(484),plugins_theme_vars__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(7378),storage_io_cache__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(3366),util_data_semver__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(8146),util_data_signature_verifier__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(7536),util_logger__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(2363);const commonLogger=new util_logger__WEBPACK_IMPORTED_MODULE_12__.Logger("plugin"),io=new storage_io_cache__WEBPACK_IMPORTED_MODULE_9__.IoCache({cacheName:"PluginFiles",logger:new util_logger__WEBPACK_IMPORTED_MODULE_12__.Logger("storage-plugin-files")}),PluginStatus={STATUS_NONE:"",STATUS_ACTIVE:"active",STATUS_INACTIVE:"inactive",STATUS_INSTALLING:"installing",STATUS_ACTIVATING:"activating",STATUS_UNINSTALLING:"uninstalling",STATUS_UPDATING:"updating",STATUS_INVALID:"invalid",STATUS_ERROR:"error"};class Plugin extends framework_model__WEBPACK_IMPORTED_MODULE_2__.Model{constructor(e){const t=e.manifest.name;if(!t)throw new Error("Cannot create a plugin without name");super(Object.assign({id:t,name:t,resources:{},logger:new util_logger__WEBPACK_IMPORTED_MODULE_12__.Logger(`plugin:${t}`)},e))}install(e,t){const n=this.logger.ts();return this.status=PluginStatus.STATUS_INSTALLING,Promise.resolve().then((()=>{const s=this.validateManifest();if(s)throw this.logger.error("Manifest validation error",s),this.status=PluginStatus.STATUS_INVALID,"Plugin validation error: "+s;if(this.status=PluginStatus.STATUS_INACTIVE,e)return this.installWithManifest(t).then((()=>{this.installTime=this.logger.ts()-n})).catch((e=>{throw this.logger.error("Error installing plugin",e),this.set({status:PluginStatus.STATUS_ERROR,installError:e,installTime:this.logger.ts()-n,updateError:null}),e}));this.logger.info("Loaded inactive plugin")}))}validateManifest(){const e=this.manifest;if(!e.name)return"No plugin name";if(!e.description)return"No plugin description";if(!/^\d+\.\d+\.\d+$/.test(e.version||""))return"Invalid plugin version";if("0.1.0"!==e.manifestVersion)return"Invalid manifest version "+e.manifestVersion;if(!(e.author&&e.author.email&&e.author.name&&e.author.url))return"Invalid plugin author";if(!e.url)return"No plugin url";if(!e.publicKey)return"No plugin public key";if(!this.skipSignatureValidation&&!util_data_signature_verifier__WEBPACK_IMPORTED_MODULE_11__.SignatureVerifier.getPublicKeys().includes(e.publicKey))return"Public key mismatch";if(!e.resources||!Object.keys(e.resources).length)return"No plugin resources";if(e.resources.loc&&(!e.locale||!e.locale.title||!/^[a-z]{2}(-[A-Z]{2})?$/.test(e.locale.name)))return"Bad plugin locale";if(e.desktop&&!comp_launcher__WEBPACK_IMPORTED_MODULE_4__.Launcher)return"Desktop plugin";if(e.versionMin){if(!/^\d+\.\d+\.\d+$/.test(e.versionMin))return"Invalid versionMin";if(util_data_semver__WEBPACK_IMPORTED_MODULE_10__.SemVer.compareVersions(e.versionMin,const_runtime_info__WEBPACK_IMPORTED_MODULE_3__.RuntimeInfo.version)>0)return`Required min app version is ${e.versionMin}, actual ${const_runtime_info__WEBPACK_IMPORTED_MODULE_3__.RuntimeInfo.version}`}if(e.versionMax){if(!/^\d+\.\d+\.\d+$/.test(e.versionMax))return"Invalid versionMin";if(util_data_semver__WEBPACK_IMPORTED_MODULE_10__.SemVer.compareVersions(e.versionMax,const_runtime_info__WEBPACK_IMPORTED_MODULE_3__.RuntimeInfo.version)<0)return`Required max app version is ${e.versionMax}, actual ${const_runtime_info__WEBPACK_IMPORTED_MODULE_3__.RuntimeInfo.version}`}}validateUpdatedManifest(e){const t=this.manifest;if(t.name!==e.name)return"Plugin name mismatch";if(t.publicKey!==e.publicKey){const n=util_data_signature_verifier__WEBPACK_IMPORTED_MODULE_11__.SignatureVerifier.getPublicKeys().includes(t.publicKey),s=util_data_signature_verifier__WEBPACK_IMPORTED_MODULE_11__.SignatureVerifier.getPublicKeys().includes(e.publicKey);if(!n||!s)return"Public key mismatch"}}installWithManifest(e){const t=this.manifest;this.logger.info("Loading plugin with resources",Object.keys(t.resources).join(", "),e?"(local)":"(url)"),this.resources={};const n=this.logger.ts(),s=Object.keys(t.resources).map((n=>this.loadResource(n,e,t)));return Promise.all(s).catch((()=>{throw"Error loading plugin resources"})).then((()=>this.installWithResources())).then((()=>e?void 0:this.saveResources())).then((()=>{this.logger.info("Install complete",this.logger.ts(n))}))}getResourcePath(e){switch(e){case"css":return"plugin.css";case"js":return"plugin.js";case"loc":return this.manifest.locale.name+".json";default:throw`Unknown resource ${e}`}}getStorageResourcePath(e){return this.id+"_"+this.getResourcePath(e)}loadResource(e,t,n){const s=this.logger.ts();let i;if(t)i=new Promise(((t,n)=>{const s=this.getStorageResourcePath(e);io.load(s,((e,s)=>e?n(e):t(s)))}));else{i=httpGet(this.url+this.getResourcePath(e)+"?v="+n.version,!0)}return i.then((t=>(this.logger.debug("Resource data loaded",e,this.logger.ts(s)),this.verifyResource(t,e).then((t=>{this.resources[e]=t})))))}verifyResource(e,t){const n=this.logger.ts(),s=this.manifest,i=s.resources[t];return util_data_signature_verifier__WEBPACK_IMPORTED_MODULE_11__.SignatureVerifier.verify(e,i,s.publicKey).then((s=>{if(s)return this.logger.debug("Resource signature validated",t,this.logger.ts(n)),e;throw this.logger.error("Resource signature invalid",t),`Signature invalid: ${t}`})).catch((()=>{throw this.logger.error("Error validating resource signature",t),`Error validating resource signature for ${t}`}))}installWithResources(){this.logger.info("Installing plugin resources");const e=this.manifest,t=[];return this.resources.css&&t.push(this.applyCss(e.name,this.resources.css,e.theme)),this.resources.js&&t.push(this.applyJs(e.name,this.resources.js)),this.resources.loc&&t.push(this.applyLoc(e.locale,this.resources.loc)),Promise.all(t).then((()=>{this.status=PluginStatus.STATUS_ACTIVE})).catch((e=>(this.logger.info("Install error",e),this.status=PluginStatus.STATUS_ERROR,this.disable().then((()=>{throw e})))))}saveResources(){const e=[];for(const t of Object.keys(this.resources))e.push(this.saveResource(t,this.resources[t]));return Promise.all(e).catch((e=>(this.logger.debug("Error saving plugin resources",e),this.uninstall().then((()=>{throw"Error saving plugin resources"})))))}saveResource(e,t){return new Promise(((n,s)=>{const i=this.getStorageResourcePath(e);io.save(i,t,(e=>{e?s(e):n()}))}))}deleteResources(){const e=[];for(const t of Object.keys(this.resources))e.push(this.deleteResource(t));return Promise.all(e)}deleteResource(e){return new Promise((t=>{const n=this.getStorageResourcePath(e);io.remove(n,(()=>t()))}))}applyCss(e,t,n){return new Promise(((s,i)=>{try{const i=new Blob([t],{type:"text/css"}),r=URL.createObjectURL(i),o="plugin-css-"+e;this.createElementInHead("link",o,{rel:"stylesheet",href:r}).addEventListener("load",(()=>{if(URL.revokeObjectURL(r),n){const e=this.getThemeLocaleKey(n.name);comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.allThemes[n.name]=e,locales_base_json__WEBPACK_IMPORTED_MODULE_1__[e]=n.title;for(const e of Array.from(document.styleSheets))if(e.ownerNode.id===o){this.processThemeStyleSheet(e,n);break}}this.logger.debug("Plugin style installed"),s()}))}catch(e){this.logger.error("Error installing plugin style",e),i(e)}}))}processThemeStyleSheet(e,t){const n=".th-"+t.name,s=[];for(const t of Array.from(e.cssRules))t.selectorText&&0!==t.selectorText.lastIndexOf(n,0)&&s.push(t.selectorText),t.selectorText===n&&this.addThemeVariables(t);if(s.length)throw this.logger.error("Themes must not add rules outside theme namespace. Bad selectors:",s),"Invalid theme"}addThemeVariables(e){plugins_theme_vars__WEBPACK_IMPORTED_MODULE_8__.ThemeVars.apply(e.style)}applyJs(name,data){return new Promise(((resolve,reject)=>{try{let text=kdbxweb__WEBPACK_IMPORTED_MODULE_0__.ByteUtils.bytesToString(data);this.module={exports:{}};const jsVar="plugin-"+Date.now().toString()+Math.random().toString();__webpack_require__.g[jsVar]={require:plugins_plugin_api__WEBPACK_IMPORTED_MODULE_7__.PluginApi.require,module:this.module},text=`(function(require, module){${text}})(window["${jsVar}"].require,window["${jsVar}"].module);`;const ts=this.logger.ts();eval(text),setTimeout((()=>{delete __webpack_require__.g[jsVar],this.module.exports.uninstall?(this.logger.debug("Plugin script installed",this.logger.ts(ts)),this.loadPluginSettings(),resolve()):reject("Plugin script installation failed")}),0)}catch(e){this.logger.error("Error installing plugin script",e),reject(e)}}))}createElementInHead(e,t,n){let s=document.getElementById(t);s&&s.parentNode.removeChild(s),s=document.createElement(e),s.setAttribute("id",t);for(const[e,t]of Object.entries(n))s.setAttribute(e,t);return document.head.appendChild(s),s}removeElement(e){const t=document.getElementById(e);t&&t.parentNode.removeChild(t)}applyLoc(e,t){return Promise.resolve().then((()=>{const n=kdbxweb__WEBPACK_IMPORTED_MODULE_0__.ByteUtils.bytesToString(t),s=JSON.parse(n);comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.allLocales[e.name]=e.title,comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.customLocales[e.name]=s,this.logger.debug("Plugin locale installed")}))}removeLoc(e){delete comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.allLocales[e.name],delete comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.customLocales[e.name],comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.activeLocale===e.name&&(models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__.AppSettingsModel.locale="en-US")}getThemeLocaleKey(e){return`setGenThemeCustom_${e}`}removeTheme(e){delete comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.allThemes[e.name],models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__.AppSettingsModel.theme===e.name&&(models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__.AppSettingsModel.theme=comp_settings_settings_manager__WEBPACK_IMPORTED_MODULE_5__.SettingsManager.getDefaultTheme()),delete locales_base_json__WEBPACK_IMPORTED_MODULE_1__[this.getThemeLocaleKey(e.name)]}loadPluginSettings(){if(!this.module||!this.module.exports||!this.module.exports.setSettings)return;const e=this.logger.ts(),t=this.getSettingPrefix();let n=null;for(const e of Object.keys(models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__.AppSettingsModel))0===e.lastIndexOf(t,0)&&(n||(n={}),n[e.replace(t,"")]=models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__.AppSettingsModel[e]);n&&this.setSettings(n),this.logger.debug("Plugin settings loaded",this.logger.ts(e))}uninstallPluginCode(){if(this.manifest.resources.js&&this.module&&this.module.exports&&this.module.exports.uninstall)try{this.module.exports.uninstall()}catch(e){this.logger.error("Plugin uninstall method returned an error",e)}}uninstall(){const e=this.logger.ts();return this.disable().then((()=>this.deleteResources().then((()=>{this.status="",this.logger.info("Uninstall complete",this.logger.ts(e))}))))}disable(){const e=this.manifest;this.logger.info("Disabling plugin with resources",Object.keys(e.resources).join(", ")),this.status=PluginStatus.STATUS_UNINSTALLING;const t=this.logger.ts();return Promise.resolve().then((()=>{e.resources.css&&this.removeElement("plugin-css-"+this.name),e.resources.js&&this.uninstallPluginCode(),e.resources.loc&&this.removeLoc(this.manifest.locale),e.theme&&this.removeTheme(e.theme),this.status=PluginStatus.STATUS_INACTIVE,this.logger.info("Disable complete",this.logger.ts(t))}))}update(e){const t=this.logger.ts(),n=this.status;return this.status=PluginStatus.STATUS_UPDATING,Promise.resolve().then((()=>{const s=this.manifest,i=e.manifest;if(s.version===i.version)return this.set({status:n,updateCheckDate:Date.now(),updateError:null}),void this.logger.info(`v${s.version} is the latest plugin version`);this.logger.info(`Updating plugin from v${s.version} to v${i.version}`);const r=e.validateManifest()||this.validateUpdatedManifest(i);if(r)throw this.logger.error("Manifest validation error",r),this.set({status:n,updateCheckDate:Date.now(),updateError:r}),"Plugin validation error: "+r;return this.uninstallPluginCode(),e.installWithManifest(!1).then((()=>{this.module=e.module,this.resources=e.resources,this.set({status:PluginStatus.STATUS_ACTIVE,manifest:i,installTime:this.logger.ts()-t,installError:null,updateCheckDate:Date.now(),updateError:null}),this.logger.info("Update complete",this.logger.ts(t))})).catch((e=>{if(this.logger.error("Error updating plugin",e),n===PluginStatus.STATUS_ACTIVE)return this.logger.info("Activating previous version"),this.installWithResources().then((()=>{throw this.set({updateCheckDate:Date.now(),updateError:e}),e}));throw this.set({status:n,updateCheckDate:Date.now(),updateError:e}),e}))}))}setAutoUpdate(e){this.autoUpdate=!!e}getSettingPrefix(){return`plugin:${this.id}:`}getSettings(){if(this.status===PluginStatus.STATUS_ACTIVE&&this.module&&this.module.exports&&this.module.exports.getSettings)try{const e=this.module.exports.getSettings(),t=this.getSettingPrefix();if(e instanceof Array)return e.map((e=>{e=Object.assign({},e);const n=models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__.AppSettingsModel[t+e.name];return void 0!==n&&(e.value=n),e}));this.logger.error("getSettings: expected Array, got ",typeof e)}catch(e){this.logger.error("getSettings error",e)}}setSettings(e){for(const t of Object.keys(e))models_app_settings_model__WEBPACK_IMPORTED_MODULE_6__.AppSettingsModel[this.getSettingPrefix()+t]=e[t];if(this.module.exports.setSettings)try{this.module.exports.setSettings(e)}catch(e){this.logger.error("setSettings error",e)}}static loadFromUrl(e,t){"/"!==e[e.length-1]&&(e+="/"),commonLogger.info("Installing plugin from url",e);return httpGet(e+"manifest.json").catch((e=>{throw commonLogger.error("Error loading plugin manifest",e),"Error loading plugin manifest"})).then((n=>{try{n=JSON.parse(n)}catch(e){throw commonLogger.error("Failed to parse manifest",n),"Failed to parse manifest"}if(commonLogger.debug("Loaded manifest",n),t){if(t.name!==n.name)throw"Bad plugin name";if(t.privateKey!==n.privateKey)throw"Bad plugin private key"}return new Plugin({manifest:n,url:e})}))}}function httpGet(e,t){commonLogger.debug("GET",e);const n=commonLogger.ts();return new Promise(((s,i)=>{const r=new XMLHttpRequest;r.addEventListener("load",(()=>{200===r.status?(commonLogger.debug("GET OK",e,commonLogger.ts(n)),s(r.response)):(commonLogger.debug("GET error",e,r.status),i(r.status?`HTTP status ${r.status}`:"network error"))})),r.addEventListener("error",(()=>{commonLogger.debug("GET error",e,r.status),i(r.status?`HTTP status ${r.status}`:"network error")})),r.addEventListener("abort",(()=>{commonLogger.debug("GET aborted",e),i("Network request timeout")})),r.addEventListener("timeout",(()=>{commonLogger.debug("GET timeout",e),i("Network request timeout")})),t&&(r.responseType=t?"arraybuffer":"text"),r.open("GET",e),r.send()}))}Plugin.defineModelProperties({id:"",name:"",logger:null,manifest:"",url:"",status:"",autoUpdate:!1,installTime:null,installError:null,updateCheckDate:null,updateError:null,skipSignatureValidation:!1,resources:null,module:null}),Object.assign(Plugin,PluginStatus)},7378:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ThemeVars:()=>i});var s=n(4546);const i={themeDefaults:null,newLineRegEx:/[\n\s]+/g,themeVarsRegEx:/([\w\-]+):([^:]+),(\$)?/g,init(){if(this.themeDefaults)return;this.themeDefaults={};const e=/\s([\w\-]+):\s*([^,\s]+)/g;let t;do{if(t=e.exec("$theme-defaults: (\n mute-percent: 30%,\n light-border-percent: 20%,\n modal-opacity: 0.9,\n color-lightness-shift: 0\n);\n"),t){const[,e,n]=t;this.themeDefaults["--"+e]=n}}while(t)},apply(e){this.init();const t="/* This file is also parsed in JS to build theme styles, see theme-vars.js */\n@function set-theme-vars($t) {\n @return map-merge(\n (\n muted-color:\n mix(\n map-get($t, medium-color),\n map-get($t, background-color),\n map-get($t, mute-percent)\n ),\n muted-color-border:\n mix(\n map-get($t, medium-color),\n map-get($t, background-color),\n semi-mute-percent(map-get($t, mute-percent))\n ),\n text-selection-bg-color: rgba(map-get($t, action-color), 0.3),\n text-selection-bg-color-error: rgba(map-get($t, error-color), 0.8),\n text-semi-muted-color: mix(map-get($t, action-color), map-get($t, text-color), 0.5),\n text-contrast-action-color:\n text-contrast-color(\n map-get($t, action-color),\n map-get($t, color-lightness-shift),\n map-get($t, background-color),\n map-get($t, text-color)\n ),\n text-contrast-error-color:\n text-contrast-color(\n map-get($t, error-color),\n map-get($t, color-lightness-shift),\n map-get($t, background-color),\n map-get($t, text-color)\n ),\n base-border-color: mix(map-get($t, medium-color), map-get($t, background-color), 50%),\n accent-border-color: mix(map-get($t, medium-color), map-get($t, background-color), 65%),\n light-border-color:\n mix(\n map-get($t, medium-color),\n map-get($t, background-color),\n map-get($t, light-border-percent)\n ),\n form-box-border-color-focus:\n mix(map-get($t, action-color), map-get($t, text-color), 70%),\n form-box-shadow-color-focus:\n rgba(mix(map-get($t, action-color), map-get($t, text-color), 70%), 0.7),\n form-box-shadow-color-hover:\n rgba(mix(map-get($t, action-color), map-get($t, text-color), 70%), 0.5),\n form-box-shadow-color-focus-error: lightness-alpha(map-get($t, error-color), -5%, -0.3),\n secondary-background-color:\n mix(map-get($t, medium-color), map-get($t, background-color), 10%),\n intermediate-background-color:\n mix(map-get($t, medium-color), map-get($t, background-color), 3%),\n intermediate-pressed-background-color:\n mix(map-get($t, medium-color), map-get($t, background-color), 2.6%),\n disabled-background-color: shade(map-get($t, background-color), 5%),\n unselected-background-color:\n mix(map-get($t, medium-color), map-get($t, background-color), 9%),\n unselected-background-color-hover:\n mix(map-get($t, medium-color), map-get($t, background-color), 14%),\n action-background-color-focus: shade(map-get($t, action-color), 20%),\n action-background-color-focus-tr: rgba(shade(map-get($t, action-color), 20%), 0.1),\n error-background-color-focus: shade(map-get($t, error-color), 20%),\n error-background-color-focus-tr: rgba(shade(map-get($t, error-color), 20%), 0.1),\n action-background-color-active: shade(map-get($t, action-color), 25%),\n action-background-color-active-tr: rgba(shade(map-get($t, action-color), 25%), 0.15),\n error-background-color-active: shade(map-get($t, error-color), 25%),\n error-background-color-active-tr: rgba(shade(map-get($t, error-color), 25%), 0.15),\n modal-background-color: rgba(map-get($t, background-color), map-get($t, modal-opacity)),\n modal-background-color-tr: rgba(map-get($t, background-color), 0),\n selected-item-color: mix(map-get($t, action-color), map-get($t, background-color), 85%),\n selected-on-secondary-item-color:\n mix(map-get($t, medium-color), map-get($t, background-color), 30%),\n selectable-on-secondary-item-color:\n mix(map-get($t, medium-color), map-get($t, background-color), 14%),\n clickable-on-secondary-color:\n mix(map-get($t, medium-color), map-get($t, background-color), 75%),\n titlebar-button-background-color: rgba(map-get($t, text-color), 0.085)\n ),\n $t\n );\n}\n".replace(this.newLineRegEx,"").matchAll(this.themeVarsRegEx);for(let[,n,s,i]of t){i&&s.endsWith(")")&&(s=s.substr(0,s.length-1));const t="--"+n;if(e.getPropertyValue(t))continue;let r=s.replace(/map-get\(\$t,\s*([\w\-]+)\)/g,"--$1"),o=!0;const a=[];for(;o;)o=!1,r=r.replace(/([\w\-]+)\([^()]+\)/,(t=>{o=!0;const[,n,s]=t.match(/([\w\-]+)\((.*)\)/),i=s.trim().split(/\s*,\s*/).filter((e=>e)).map((t=>this.resolveArg(t,e,a)));return a.push(this.fn[n](...i)),"L"+(a.length-1)}));r=a[a.length-1],e.setProperty(t,r)}},resolveArg(e,t,n){if(/^--/.test(e)){let n=t.getPropertyValue(e);if(n&&(n=n.trim()),n)e=n;else{if(!this.themeDefaults[e])throw new Error("Css property missing: "+e);e=this.themeDefaults[e]}}if(/^L/.test(e))return n[e.substr(1)];if(/%$/.test(e))return e.replace(/%$/,"")/100;if(/^-?[\d.]+?$/.test(e))return+e;if(/^(#|rgb)/.test(e))return new s.Color(e);throw new Error("Bad css arg: "+e)},fn:{mix:(e,t,n)=>e.mix(t,n).toRgba(),"semi-mute-percent":e=>e/2,rgba(e,t){const n=new s.Color(e);return n.a=t,n.toRgba()},"text-contrast-color":(e,t,n,s)=>e.l-t>=n.l?s.toRgba():n.toRgba(),"lightness-alpha"(e,t,n){const i=new s.Color(e);return i.l+=Math.min(0,Math.max(1,t)),i.a+=Math.min(0,Math.max(1,n)),i.toHsla()},shade:(e,t)=>s.Color.black.mix(e,t).toRgba()}}},9938:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EntryPresenter:()=>r});var s=n(6098),i=n(3297);const r=function(e,t,n){this.entry=null,this.descField=e,this.noColor=t||"",this.activeEntryId=n};r.prototype={present(e){return e.entry?this.entry=e:e.group&&(this.group=e),this},reset(){this.entry=null,this.group=null},get id(){return this.entry?this.entry.id:this.group.id},get icon(){return this.entry?this.entry.icon:this.group.icon||"folder"},get customIcon(){return this.entry?this.entry.customIcon:void 0},get color(){return this.entry?this.entry.color||(this.entry.customIcon?this.noColor:void 0):void 0},get title(){return this.entry?this.entry.title:this.group.title},get notes(){return this.entry?this.entry.notes:void 0},get url(){return this.entry?this.entry.displayUrl:void 0},get user(){return this.entry?this.entry.user:void 0},get active(){return this.entry?this.entry.id===this.activeEntryId:this.group.active},get created(){return this.entry?s.DateFormat.dtStr(this.entry.created):void 0},get updated(){return this.entry?s.DateFormat.dtStr(this.entry.updated):void 0},get expired(){return!!this.entry&&this.entry.expired},get tags(){return this.entry?this.entry.tags:void 0},get groupName(){return this.entry?this.entry.groupName:void 0},get fileName(){return this.entry?this.entry.fileName:void 0},get description(){if(!this.entry)return"["+i.Locale.listGroup+"]";if("otp-device"===this.entry.backend)return this.entry.description;switch(this.descField){case"website":return this.url||"("+i.Locale.listNoWebsite+")";case"user":return this.user||"("+i.Locale.listNoUser+")";case"created":return this.created;case"updated":return this.updated;case"attachments":return this.entry.attachments.map((e=>e.title)).join(", ")||"("+i.Locale.listNoAttachments+")";default:return this.user||this.notes||this.url}}}},7980:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageCache:()=>r});var s=n(6902),i=n(8402);class r extends i.StorageBase{constructor(...e){super(...e),this.name="cache",this.enabled=s.IoBrowserCache.enabled,this.system=!0,this.io=null}init(){super.init(),this.io=new s.IoBrowserCache({cacheName:"FilesCache",logger:this.logger})}save(e,t,n,s){this.io.save(e,n,s)}load(e,t,n){this.io.load(e,n)}remove(e,t,n){this.io.remove(e,n)}}},526:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageDropbox:()=>c});var s=n(8402),i=n(667),r=n(4798),o=n(5754),a=n(3297);const l="bad-key";class c extends s.StorageBase{constructor(...e){super(...e),this.name="dropbox",this.icon="dropbox",this.enabled=!0,this.uipos=20,this.backup=!0}_toFullPath(e){const t=this.appSettings.dropboxFolder;return t&&(e=r.UrlFormat.fixSlashes("/"+t+"/"+e)),e}_toRelPath(e){const t=this.appSettings.dropboxFolder;if(t){const n=e.toLowerCase().indexOf(t.toLowerCase());0===n?e=e.substr(t.length):1===n&&(e=e.substr(t.length+1)),e=r.UrlFormat.fixSlashes("/"+e)}return e}_fixConfigFolder(e){return"/"===(e=e.replace(/\\/g,"/").trim())[0]&&(e=e.substr(1)),e}_getKey(){return this.appSettings.dropboxAppKey||o.DropboxApps.AppFolder.id}_getSecret(){const e=this._getKey();return e===o.DropboxApps.AppFolder.id?o.DropboxApps.AppFolder.secret:e===o.DropboxApps.FullDropbox.id?o.DropboxApps.FullDropbox.secret:this.appSettings.dropboxSecret}_isValidKey(){const e=this._getKey(),t=e===o.DropboxApps.AppFolder.id||e===o.DropboxApps.FullDropbox.id;return e&&e.indexOf(" ")<0&&(!t||this._canUseBuiltInKeys())}_canUseBuiltInKeys(){return!i.Features.isSelfHosted}_getOAuthConfig(){return{scope:"files.content.read files.content.write files.metadata.read files.metadata.write",url:"https://www.dropbox.com/oauth2/authorize",tokenUrl:"https://api.dropboxapi.com/oauth2/token",clientId:this._getKey(),clientSecret:this._getSecret(),pkce:!0,width:600,height:400,urlParams:this.appSettings.shortLivedStorageToken?{}:{token_access_type:"offline"}}}needShowOpenConfig(){return!this._isValidKey()||!this._getSecret()}getOpenConfig(){return{desc:"dropboxSetupDesc",fields:[{id:"key",title:"dropboxAppKey",desc:"dropboxAppKeyDesc",type:"text",required:!0,pattern:"\\w+"},{id:"secret",title:"dropboxAppSecret",desc:"dropboxAppSecretDesc",type:"password",required:!0,pattern:"\\w+"},{id:"folder",title:"dropboxFolder",desc:"dropboxFolderDesc",type:"text",placeholder:"dropboxFolderPlaceholder"}]}}getSettingsConfig(){const e=[],t=this._getKey(),n={id:"link",title:"dropboxLink",type:"select",value:"custom",options:{app:"dropboxLinkApp",full:"dropboxLinkFull",custom:"dropboxLinkCustom"}},s={id:"key",title:"dropboxAppKey",desc:"dropboxAppKeyDesc",type:"text",required:!0,pattern:"\\w+",value:t},i={id:"secret",title:"dropboxAppSecret",desc:"dropboxAppSecretDesc",type:"password",required:!0,pattern:"\\w+",value:this.appSettings.dropboxSecret||""},r={id:"folder",title:"dropboxFolder",desc:"dropboxFolderSettingsDesc",type:"text",value:this.appSettings.dropboxFolder||""};return this._canUseBuiltInKeys()?(e.push(n),t===o.DropboxApps.AppFolder.id?n.value="app":t===o.DropboxApps.FullDropbox.id?(n.value="full",e.push(r)):(e.push(s),e.push(i),e.push(r))):(e.push(s),e.push(i),e.push(r)),{fields:e}}applyConfig(e,t){if(e.key===o.DropboxApps.AppFolder.id||e.key===o.DropboxApps.FullDropbox.id)return t(l);e.folder&&(e.folder=this._fixConfigFolder(e.folder)),this.appSettings.set({dropboxAppKey:e.key,dropboxSecret:e.secret,dropboxFolder:e.folder}),t()}applySetting(e,t){switch(e){case"link":switch(e="dropboxAppKey",t){case"app":t=o.DropboxApps.AppFolder.id;break;case"full":t=o.DropboxApps.FullDropbox.id;break;case"custom":t=`(${a.Locale.dropboxAppKeyHint})`;break;default:return}this.logout();break;case"key":e="dropboxAppKey",this.logout();break;case"secret":e="dropboxSecret",this.logout();break;case"folder":e="dropboxFolder",t=this._fixConfigFolder(t);break;default:return}this.appSettings[e]=t}getPathForName(e){return"/"+e+".kdbx"}_encodeJsonHttpHeader(e){return e.replace(/[\u007f-\uffff]/g,(e=>"\\u"+("000"+e.charCodeAt(0).toString(16)).slice(-4)))}_apiCall(e){this._oauthAuthorize((t=>{if(t)return e.error(t);const n=e.host||"api";let s,i,r=e.data;e.apiArg?s={"Dropbox-API-Arg":this._encodeJsonHttpHeader(JSON.stringify(e.apiArg))}:e.data&&(r=JSON.stringify(r),i="application/json"),this._xhr({url:`https://${n}.dropboxapi.com/2/${e.method}`,method:"POST",responseType:e.responseType||"json",headers:s,data:r,dataType:i,statuses:e.statuses||void 0,success:e.success,error:(t,n)=>{let s=n.response&&n.response.error||new Error("Network error");s&&s.path&&"not_found"===s.path[".tag"]?(s=new Error("File removed"),s.notFound=!0,this.logger.debug("File not found",e.method)):this.logger.error("API error",e.method,n.status,s),s.status=n.status,e.error(s)}})}))}load(e,t,n){this.logger.debug("Load",e);const s=this.logger.ts();e=this._toFullPath(e),this._apiCall({method:"files/download",host:"content",apiArg:{path:e},responseType:"arraybuffer",success:(t,i)=>{const r=JSON.parse(i.getResponseHeader("dropbox-api-result"));this.logger.debug("Loaded",e,r.rev,this.logger.ts(s)),n(null,t,{rev:r.rev})},error:n})}stat(e,t,n){this.logger.debug("Stat",e);const s=this.logger.ts();e=this._toFullPath(e),this._apiCall({method:"files/get_metadata",data:{path:e},success:t=>{"file"===t[".tag"]?t={rev:t.rev}:"folder"===t[".tag"]&&(t={folder:!0}),this.logger.debug("Stated",e,t.folder?"folder":t.rev,this.logger.ts(s)),n&&n(null,t)},error:n})}save(e,t,n,s,i){this.logger.debug("Save",e,i);const r=this.logger.ts(),o={path:e=this._toFullPath(e),mode:i?{".tag":"update",update:i}:{".tag":"overwrite"}};this._apiCall({method:"files/upload",host:"content",apiArg:o,data:n,responseType:"json",success:t=>{this.logger.debug("Saved",e,t.rev,this.logger.ts(r)),s(null,{rev:t.rev})},error:s})}list(e,t){this.logger.debug("List");const n=this.logger.ts();this._apiCall({method:"files/list_folder",data:{path:this._toFullPath(e||""),recursive:!1},success:e=>{this.logger.debug("Listed",this.logger.ts(n));const s=e.entries.map((e=>({name:e.name,path:this._toRelPath(e.path_display),rev:e.rev,dir:"file"!==e[".tag"]})));t(null,s)},error:t})}remove(e,t){this.logger.debug("Remove",e);const n=this.logger.ts();e=this._toFullPath(e),this._apiCall({method:"files/delete",data:{path:e},success:()=>{this.logger.debug("Removed",e,this.logger.ts(n)),t()},error:t})}mkdir(e,t){this.logger.debug("Make dir",e);const n=this.logger.ts();e=this._toFullPath(e),this._apiCall({method:"files/create_folder",data:{path:e},success:()=>{this.logger.debug("Made dir",e,this.logger.ts(n)),t()},error:t})}logout(){this._oauthRevokeToken("https://api.dropboxapi.com/2/auth/token/revoke",{method:"POST"})}}},3758:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageFileCache:()=>r});var s=n(9491),i=n(8402);class r extends i.StorageBase{constructor(...e){super(...e),this.name="cache",this.enabled=!!s.Launcher,this.system=!0,this.path=null}getPath(e){return s.Launcher.joinPath(this.path,e)}initFs(e){if(this.path)return e&&e();const t=s.Launcher.getUserDataPath("OfflineFiles"),n=n=>(this.path=n?null:t,n&&this.logger.error("Error opening local offline storage",n),e&&e(n));s.Launcher.fileExists(t,(e=>{e?n():s.Launcher.mkdir(t,n)}))}save(e,t,n,i){this.logger.debug("Save",e),this.initFs((t=>{if(t)return i&&i(t);const r=this.logger.ts();s.Launcher.writeFile(this.getPath(e),n,(t=>{if(t)return this.logger.error("Error saving to cache",e,t),i&&i(t);this.logger.debug("Saved",e,this.logger.ts(r)),i&&i()}))}))}load(e,t,n){this.logger.debug("Load",e),this.initFs((t=>{if(t)return n&&n(null,t);const i=this.logger.ts();s.Launcher.readFile(this.getPath(e),void 0,((t,s)=>s?(this.logger.error("Error loading from cache",e,s),n&&n(s,null)):(this.logger.debug("Loaded",e,this.logger.ts(i)),n&&n(null,t.buffer))))}))}remove(e,t,n){this.logger.debug("Remove",e),this.initFs((t=>{if(t)return n&&n(t);const i=this.logger.ts(),r=this.getPath(e);s.Launcher.fileExists(r,(t=>{t?s.Launcher.deleteFile(r,(t=>(t?this.logger.error("Error removing from cache",e,t):this.logger.debug("Removed",e,this.logger.ts(i)),n&&n(t)))):n&&n()}))}))}}},7899:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageFile:()=>o});var s=n(9491),i=n(8402);const r={};class o extends i.StorageBase{constructor(...e){super(...e),this.name="file",this.icon="hdd",this.enabled=!!s.Launcher,this.system=!0,this.backup=!0}load(e,t,n){this.logger.debug("Load",e);const i=this.logger.ts(),r=t=>{this.logger.error("Error reading local file",e,t),n&&n(t,null)};s.Launcher.readFile(e,void 0,((t,o)=>{if(o)return r(o);s.Launcher.statFile(e,((s,o)=>{if(o)return r(o);const a=s.mtime.getTime().toString();this.logger.debug("Loaded",e,a,this.logger.ts(i)),n&&n(null,t.buffer,{rev:a})}))}))}stat(e,t,n){this.logger.debug("Stat",e);const i=this.logger.ts();s.Launcher.statFile(e,((t,s)=>{if(s)return this.logger.error("Error stat local file",e,s),"ENOENT"===s.code&&(s.notFound=!0),n&&n(s,null);if(this.logger.debug("Stat done",e,this.logger.ts(i)),n){const e=t.mtime.getTime().toString();n(null,{rev:e})}}))}save(e,t,n,i,r){this.logger.debug("Save",e,r);const o=this.logger.ts(),a=t=>{Object.prototype.hasOwnProperty.call(t,"code")&&"EISDIR"===t.code&&(t.isDir=!0),this.logger.error("Error writing local file",e,t),i&&i(t)},l=()=>{s.Launcher.writeFile(e,n,(t=>{if(t)return a(t);s.Launcher.statFile(e,((t,n)=>{if(n)return a(n);const s=t.mtime.getTime().toString();this.logger.debug("Saved",e,this.logger.ts(o)),i&&i(void 0,{rev:s})}))}))};r?s.Launcher.statFile(e,((e,t)=>{if(t)return l();const n=e.mtime.getTime().toString();if(n!==r)return this.logger.debug("Save mtime differs",r,n),i&&i({revConflict:!0},{rev:n});l()})):l()}mkdir(e,t){this.logger.debug("Make dir",e);const n=this.logger.ts();s.Launcher.mkdir(e,(s=>{s?(this.logger.error("Error making local dir",e,s),t&&t("Error making local dir")):(this.logger.debug("Made dir",e,this.logger.ts(n)),t&&t())}))}watch(e,t){const n=s.Launcher.parsePath(e);if(!r[n.dir]&&!n.dir.startsWith("\\")){let e;this.logger.debug("Watch dir",n.dir);try{e=s.Launcher.createFsWatcher(n.dir)}catch(e){this.logger.warn("Error watching dir",e)}e&&(e.on("change",this.fsWatcherChange.bind(this,n.dir)),r[n.dir]={fsWatcher:e,callbacks:[]})}const i=r[n.dir];i&&i.callbacks.push({file:n.file,callback:t})}unwatch(e){const t=s.Launcher.parsePath(e),n=r[t.dir];if(n){const e=n.callbacks.findIndex((e=>e.file===t.file));e>=0&&n.callbacks.splice(e,1),n.callbacks.length||(this.logger.debug("Stop watch dir",t.dir),n.fsWatcher.close(),delete r[t.dir])}}fsWatcherChange(e,t,n){const s=r[e];s&&s.callbacks.forEach((s=>{s.file===n&&"function"==typeof s.callback&&(this.logger.debug("File changed",e,t,n),s.callback())}))}}},5661:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageGDrive:()=>c});var s=n(8402),i=n(3297),r=n(667),o=n(4798),a=n(5754);const l="NewFile:";class c extends s.StorageBase{constructor(...e){super(...e),this.name="gdrive",this.enabled=!0,this.uipos=30,this.icon="google-drive",this._baseUrl="https://www.googleapis.com/drive/v3",this._baseUrlUpload="https://www.googleapis.com/upload/drive/v3"}getPathForName(e){return l+e}load(e,t,n){this.stat(e,t,((t,s)=>{if(t)return n&&n(t);this.logger.debug("Load",e);const i=this.logger.ts(),r=o.UrlFormat.makeUrl(`${this._baseUrl}/files/${e}/revisions/${s.rev}`,{alt:"media"});this._xhr({url:r,responseType:"arraybuffer",success:t=>(this.logger.debug("Loaded",e,s.rev,this.logger.ts(i)),n&&n(null,t,{rev:s.rev})),error:t=>(this.logger.error("Load error",e,t,this.logger.ts(i)),n&&n(t))})}))}stat(e,t,n){if(0===e.lastIndexOf(l,0))return n&&n({notFound:!0});this._oauthAuthorize((t=>{if(t)return n&&n(t);this.logger.debug("Stat",e);const s=this.logger.ts(),i=o.UrlFormat.makeUrl(`${this._baseUrl}/files/${e}`,{fields:"headRevisionId",includeItemsFromAllDrives:!0,supportsAllDrives:!0});this._xhr({url:i,responseType:"json",success:t=>{const i=t.headRevisionId;return this.logger.debug("Stated",e,i,this.logger.ts(s)),n&&n(null,{rev:i})},error:e=>(this.logger.error("Stat error",this.logger.ts(s),e),n&&n(e))})}))}save(e,t,n,s,i){this._oauthAuthorize((r=>{if(r)return s&&s(r);this.stat(e,t,((t,r)=>{if(i){if(t)return s&&s(t);if(r.rev!==i)return s&&s({revConflict:!0},r)}this.logger.debug("Save",e);const a=this.logger.ts(),c=0===e.lastIndexOf(l,0);let u,d,h=!1;if(c){u=o.UrlFormat.makeUrl(`${this._baseUrlUpload}/files`,{uploadType:"multipart",fields:"id,headRevisionId",includeItemsFromAllDrives:!0,supportsAllDrives:!0});const t=e.replace(l,"")+".kdbx",s="b"+Date.now()+"x"+Math.round(1e6*Math.random());n=["--",s,"\r\n","Content-Type: application/json; charset=UTF-8","\r\n\r\n",JSON.stringify({name:t}),"\r\n","--",s,"\r\n","Content-Type: application/octet-stream","\r\n\r\n",n,"\r\n","--",s,"--","\r\n"],d='multipart/related; boundary="'+s+'"',h=!0}else u=o.UrlFormat.makeUrl(`${this._baseUrlUpload}/files/${e}`,{uploadType:"media",fields:"headRevisionId",includeItemsFromAllDrives:!0,supportsAllDrives:!0});this._xhr({url:u,method:c?"POST":"PATCH",responseType:"json",data:n,dataType:d,dataIsMultipart:h,success:t=>{this.logger.debug("Saved",e,this.logger.ts(a));const n=t.headRevisionId;return n?s&&s(null,{rev:n,path:c?t.id:null}):s&&s("save error: no rev")},error:t=>(this.logger.error("Save error",e,t,this.logger.ts(a)),s&&s(t))})}))}))}list(e,t){this._oauthAuthorize((n=>{if(n)return t&&t(n);this.logger.debug("List");const s=this.logger.ts();if("drives"===e){const e={pageSize:100},n=o.UrlFormat.makeUrl(`${this._baseUrl}/drives`,e);this._xhr({url:n,responseType:"json",success:e=>{if(!e)return this.logger.error("Drive list error",this.logger.ts(s)),null==t?void 0:t("drive list error");this.logger.debug("Listed drives",this.logger.ts(s));const n=e.drives.map((e=>({name:e.name,path:e.id,dir:!0})));return null==t?void 0:t(null,n)},error:e=>(this.logger.error("Drive dist error",this.logger.ts(s),e),null==t?void 0:t(e))})}else{let n="trashed=false and ";n+="shared"===e?"sharedWithMe=true":e?`"${e}" in parents`:'"root" in parents';const r={fields:"files(id,name,mimeType,headRevisionId)",q:n,pageSize:1e3,includeItemsFromAllDrives:!0,supportsAllDrives:!0},a=o.UrlFormat.makeUrl(`${this._baseUrl}/files`,r);this._xhr({url:a,responseType:"json",success:n=>{if(!n)return this.logger.error("List error",this.logger.ts(s)),null==t?void 0:t("list error");this.logger.debug("Listed",this.logger.ts(s));const r=n.files.map((e=>({name:e.name,path:e.id,rev:e.headRevisionId,dir:"application/vnd.google-apps.folder"===e.mimeType})));return e||(r.unshift({name:i.Locale.gdriveSharedWithMe,path:"shared",rev:void 0,dir:!0}),r.unshift({name:i.Locale.gdriveSharedDrives,path:"drives",rev:void 0,dir:!0})),null==t?void 0:t(null,r)},error:e=>(this.logger.error("List error",this.logger.ts(s),e),null==t?void 0:t(e))})}}))}remove(e,t){this.logger.debug("Remove",e);const n=this.logger.ts(),s=`${this._baseUrl}/files/${e}`;this._xhr({url:s,method:"DELETE",responseType:"json",statuses:[200,204],success:()=>(this.logger.debug("Removed",e,this.logger.ts(n)),t&&t()),error:s=>(this.logger.error("Remove error",e,s,this.logger.ts(n)),t&&t(s))})}logout(){this._oauthRevokeToken("https://accounts.google.com/o/oauth2/revoke?token={token}")}_getOAuthConfig(){let e=this.appSettings.gdriveClientId,t=this.appSettings.gdriveClientSecret;return e&&t||(r.Features.isDesktop?({id:e,secret:t}=a.GDriveApps.Desktop):r.Features.isLocal?({id:e,secret:t}=a.GDriveApps.Local):({id:e,secret:t}=a.GDriveApps.Production)),{scope:"https://www.googleapis.com/auth/drive",url:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",clientId:e,clientSecret:t,width:600,height:400,pkce:!0,urlParams:this.appSettings.shortLivedStorageToken?{}:{access_type:"offline"}}}}},1854:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageOneDrive:()=>o});var s=n(8402),i=n(5754),r=n(667);class o extends s.StorageBase{constructor(...e){super(...e),this.name="onedrive",this.enabled=!0,this.uipos=40,this.icon="onedrive",this._baseUrl="https://graph.microsoft.com/v1.0/me"}getPathForName(e){return"/drive/root:/"+e+".kdbx"}load(e,t,n){this._oauthAuthorize((t=>{if(t)return n&&n(t);this.logger.debug("Load",e);const s=this.logger.ts(),i=this._baseUrl+e;this._xhr({url:i,responseType:"json",success:t=>{const i=t["@microsoft.graph.downloadUrl"];let r=t.eTag;if(!i||!t.eTag)return this.logger.debug("Load error",e,"no download url",t,this.logger.ts(s)),n&&n("no download url");this._xhr({url:i,responseType:"arraybuffer",skipAuth:!0,success:(t,i)=>(r=i.getResponseHeader("ETag")||r,this.logger.debug("Loaded",e,r,this.logger.ts(s)),n&&n(null,t,{rev:r})),error:t=>(this.logger.error("Load error",e,t,this.logger.ts(s)),n&&n(t))})},error:t=>(this.logger.error("Load error",e,t,this.logger.ts(s)),n&&n(t))})}))}stat(e,t,n){this._oauthAuthorize((t=>{if(t)return n&&n(t);this.logger.debug("Stat",e);const s=this.logger.ts(),i=this._baseUrl+e;this._xhr({url:i,responseType:"json",success:t=>{const i=t.eTag;return i?(this.logger.debug("Stated",e,i,this.logger.ts(s)),n&&n(null,{rev:i})):(this.logger.error("Stat error",e,"no eTag",this.logger.ts(s)),n&&n("no eTag"))},error:(t,i)=>404===i.status?(this.logger.debug("Stated not found",e,this.logger.ts(s)),n&&n({notFound:!0})):(this.logger.error("Stat error",e,t,this.logger.ts(s)),n&&n(t))})}))}save(e,t,n,s,i){this._oauthAuthorize((t=>{if(t)return s&&s(t);this.logger.debug("Save",e,i);const r=this.logger.ts(),o=this._baseUrl+e+":/content";this._xhr({url:o,method:"PUT",responseType:"json",headers:i?{"If-Match":i}:null,data:n,statuses:[200,201,412],success:(t,n)=>(i=t.eTag)?412===n.status?(this.logger.debug("Save conflict",e,i,this.logger.ts(r)),s&&s({revConflict:!0},{rev:i})):(this.logger.debug("Saved",e,i,this.logger.ts(r)),s&&s(null,{rev:i})):(this.logger.error("Save error",e,"no eTag",this.logger.ts(r)),s&&s("no eTag")),error:t=>(this.logger.error("Save error",e,t,this.logger.ts(r)),s&&s(t))})}))}list(e,t){this._oauthAuthorize((n=>{if(n)return t&&t(n);this.logger.debug("List");const s=this.logger.ts(),i=this._baseUrl+(e?`${e}:/children`:"/drive/root/children");this._xhr({url:i,responseType:"json",success:e=>{if(!e||!e.value)return this.logger.error("List error",this.logger.ts(s),e),t&&t("list error");this.logger.debug("Listed",this.logger.ts(s));const n=e.value.filter((e=>e.name)).map((e=>({name:e.name,path:e.parentReference.path+"/"+e.name,rev:e.eTag,dir:!!e.folder})));return t&&t(null,n)},error:e=>(this.logger.error("List error",this.logger.ts(s),e),t&&t(e))})}))}remove(e,t){this.logger.debug("Remove",e);const n=this.logger.ts(),s=this._baseUrl+e;this._xhr({url:s,method:"DELETE",responseType:"json",statuses:[200,204],success:()=>(this.logger.debug("Removed",e,this.logger.ts(n)),t&&t()),error:s=>(this.logger.error("Remove error",e,s,this.logger.ts(n)),t&&t(s))})}mkdir(e,t){this._oauthAuthorize((n=>{if(n)return t&&t(n);this.logger.debug("Make dir",e);const s=this.logger.ts(),i=this._baseUrl+"/drive/root/children",r=JSON.stringify({name:e.replace("/drive/root:/",""),folder:{}});this._xhr({url:i,method:"POST",responseType:"json",statuses:[200,204],data:r,dataType:"application/json",success:()=>(this.logger.debug("Made dir",e,this.logger.ts(s)),t&&t()),error:n=>(this.logger.error("Make dir error",e,n,this.logger.ts(s)),t&&t(n))})}))}logout(e){this._oauthRevokeToken()}_getOAuthConfig(){let e=this.appSettings.onedriveClientId,t=this.appSettings.onedriveClientSecret,n=this.appSettings.onedriveTenantId;e||(r.Features.isDesktop?({id:e,secret:t,tenantId:n}=i.OneDriveApps.Desktop):r.Features.isLocal?({id:e,secret:t,tenantId:n}=i.OneDriveApps.Local):({id:e,secret:t,tenantId:n}=i.OneDriveApps.Production)),n=n||"common";let s="files.readwrite";return this.appSettings.shortLivedStorageToken||(s+=" offline_access"),{url:`https://login.microsoftonline.com/${n}/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/${n}/oauth2/v2.0/token`,scope:s,clientId:e,clientSecret:t,pkce:!0,width:600,height:500}}}},194:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageTeams:()=>o});var s=n(8402),i=n(5754),r=n(667);class o extends s.StorageBase{constructor(...e){super(...e),this.name="msteams",this.enabled=!0,this.uipos=50,this.icon="user-friends",this._graphUrl="https://graph.microsoft.com/v1.0",this._groupsUrl=`${this._graphUrl}/me/joinedTeams`,this._baseUrl=`${this._graphUrl}/groups`}getPathForName(e){return"/drive/root:/"+e+".kdbx"}genUrlAddress(e,t){return e?this._baseUrl+"/"+e+(t?"/"+t.replace(/^\/+/,""):""):this._groupsUrl}genUrl(e){if(!e){const e=null,t=null;return[e,t,this.genUrlAddress(e,t)]}const t=e.replace(/^\/+/,"").split("/");if(0===t.length){const e=null,t=null;return[e,t,this.genUrlAddress(e,t)]}if(1===t.length){const e=t[0],n=null;return[e,n,this.genUrlAddress(e,n)]}{e=e.replace(/\/drive\/root\:/,"");const n=t[0],s=("/"+t.slice(1).join("/")).replace(/^\/+/,"");return[n,s,this.genUrlAddress(n,s)]}}load(e,t,n){this._oauthAuthorize((t=>{if(t)return n&&n(t);this.logger.debug("Load",e);const s=this.logger.ts(),i=this.genUrl(e),r=i[0];e=i[1];const o=i[2];if(!r){const e="no group id defined";return n&&n(e)}this._xhr({url:o,responseType:"json",success:t=>{const i=t["@microsoft.graph.downloadUrl"];let r=t.eTag;if(!i||!t.eTag)return this.logger.debug("Load error",e,"no download url",t,this.logger.ts(s)),n&&n("no download url");this._xhr({url:i,responseType:"arraybuffer",skipAuth:!0,success:(t,i)=>(r=i.getResponseHeader("ETag")||r,this.logger.debug("Loaded",e,r,this.logger.ts(s)),n&&n(null,t,{rev:r})),error:t=>(this.logger.error("Load error",e,t,this.logger.ts(s)),n&&n(t))})},error:t=>(this.logger.error("Load error",e,t,this.logger.ts(s)),n&&n(t))})}))}stat(e,t,n){this._oauthAuthorize((t=>{if(t)return n&&n(t);this.logger.debug("Stat",e);const s=this.logger.ts(),i=this.genUrl(e),r=i[0];e=i[1];const o=i[2];if(!r){const e="no group id defined";return n&&n(e)}this._xhr({url:o,responseType:"json",success:t=>{const i=t.eTag;return i?(this.logger.debug("Stated",e,i,this.logger.ts(s)),n&&n(null,{rev:i})):(this.logger.error("Stat error",e,"no eTag",this.logger.ts(s)),n&&n("no eTag"))},error:(t,i)=>404===i.status?(this.logger.debug("Stated not found",e,this.logger.ts(s)),n&&n({notFound:!0})):(this.logger.error("Stat error",e,t,this.logger.ts(s)),n&&n(t))})}))}save(e,t,n,s,i){this._oauthAuthorize((t=>{if(t)return s&&s(t);this.logger.debug("Save",e,i);const r=this.logger.ts(),o=this.genUrl(e),a=o[0];e=o[1];const l=o[2]+":/content";if(!a){const e="no group id defined";return s&&s(e)}this._xhr({url:l,method:"PUT",responseType:"json",headers:i?{"If-Match":i}:null,data:n,statuses:[200,201,412],success:(t,n)=>(i=t.eTag)?412===n.status?(this.logger.debug("Save conflict",e,i,this.logger.ts(r)),s&&s({revConflict:!0},{rev:i})):(this.logger.debug("Saved",e,i,this.logger.ts(r)),s&&s(null,{rev:i})):(this.logger.error("Save error",e,"no eTag",this.logger.ts(r)),s&&s("no eTag")),error:t=>(this.logger.error("Save error",e,t,this.logger.ts(r)),s&&s(t))})}))}list(e,t){this._oauthAuthorize((n=>{if(n)return t&&t(n);this.logger.debug("List",e);const s=this.logger.ts(),i=this.genUrl(e),r=i[0];e=i[1];const o=r?e?":/children":"/drive/root/children":"",a=i[2]+o,l=this;l._groupId=r,this._xhr({url:a,responseType:"json",success:e=>{if(!e||!e.value)return this.logger.error("List error",this.logger.ts(s),e),t&&t("list error");let n;return this.logger.debug("Listed",this.logger.ts(s)),n=l._groupId?e.value.filter((e=>e.name)).map((e=>({name:e.name,path:`/${l._groupId}${e.parentReference.path}/${e.name}`,rev:e.eTag,dir:!!e.folder}))):e.value.filter((e=>e.displayName)).map((e=>({name:e.displayName,path:"/"+e.id,rev:e.id,dir:!0}))),t&&t(null,n)},error:e=>(this.logger.error("List error",this.logger.ts(s),e),t&&t(e))})}))}remove(e,t){this.logger.debug("Remove",e);const n=this.logger.ts(),s=this.genUrl(e),i=s[0];e=s[1];const r=s[2];if(!i){const e="no group id defined";return t&&t(e)}this._xhr({url:r,method:"DELETE",responseType:"json",statuses:[200,204],success:()=>(this.logger.debug("Removed",e,this.logger.ts(n)),t&&t()),error:s=>(this.logger.error("Remove error",e,s,this.logger.ts(n)),t&&t(s))})}mkdir(e,t){this._oauthAuthorize((n=>{if(n)return t&&t(n);this.logger.debug("Make dir",e);const s=this.logger.ts(),i=this.genUrl(e),r=i[0];e=i[1];const o=i[2]+"/drive/root/children";if(!r){const e="no group id defined";return t&&t(e)}const a=JSON.stringify({name:e.replace("/drive/root:/",""),folder:{}});this._xhr({url:o,method:"POST",responseType:"json",statuses:[200,204],data:a,dataType:"application/json",success:()=>(this.logger.debug("Made dir",e,this.logger.ts(s)),t&&t()),error:n=>(this.logger.error("Make dir error",e,n,this.logger.ts(s)),t&&t(n))})}))}logout(e){this._oauthRevokeToken()}_getOAuthConfig(){let e=this.appSettings.msteamsClientId,t=this.appSettings.msteamsClientSecret,n=this.appSettings.msteamsTenantId;e||(r.Features.isDesktop?({id:e,secret:t,tenantId:n}=i.MsTeamsApps.Desktop):r.Features.isLocal?({id:e,secret:t,tenantId:n}=i.MsTeamsApps.Local):({id:e,secret:t,tenantId:n}=i.MsTeamsApps.Production)),n=n||"common";let s="Sites.ReadWrite.All Team.ReadBasic.All";return this.appSettings.shortLivedStorageToken||(s+=" offline_access"),{url:`https://login.microsoftonline.com/${n}/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/${n}/oauth2/v2.0/token`,scope:s,clientId:e,clientSecret:t,pkce:!0,width:600,height:500}}}},1337:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageWebDav:()=>o});var s=n(3617),i=n(8402),r=n(3297);class o extends i.StorageBase{constructor(...e){super(...e),this.name="webdav",this.icon="server",this.enabled=!0,this.uipos=10}needShowOpenConfig(){return!0}getOpenConfig(){return{fields:[{id:"path",title:"openUrl",desc:"openUrlDesc",type:"text",required:!0,pattern:"^https://.+"},{id:"user",title:"openUser",desc:"openUserDesc",placeholder:"openUserPlaceholder",type:"text"},{id:"password",title:"openPass",desc:"openPassDesc",placeholder:"openPassPlaceholder",type:"password"}]}}getSettingsConfig(){return{fields:[{id:"webdavSaveMethod",title:"webdavSaveMethod",type:"select",value:this.appSettings.webdavSaveMethod||"default",options:{default:"webdavSaveMove",put:"webdavSavePut"}},{id:"webdavStatReload",title:"webdavStatReload",type:"checkbox",value:!!this.appSettings.webdavStatReload}]}}applySetting(e,t){this.appSettings[e]=t}load(e,t,n){this._request({op:"Load",method:"GET",path:e,user:t?t.user:null,password:t?t.password:null,nostat:this.appSettings.webdavStatReload},n?(e,t,s)=>{this.appSettings.webdavStatReload?this._calcStatByContent(t).then((s=>n(e,t.response,s))):n(e,t.response,s)}:null)}stat(e,t,n){this._statRequest(e,t,"Stat",n?(e,t,s)=>n(e,s):null)}_statRequest(e,t,n,s){this.appSettings.webdavStatReload?this._request({op:n,method:"GET",path:e,user:t?t.user:null,password:t?t.password:null,nostat:!0},s?(e,t)=>{this._calcStatByContent(t).then((n=>s(e,t,n)))}:null):this._request({op:n,method:"HEAD",path:e,user:t?t.user:null,password:t?t.password:null},s?(e,t,n)=>{s(e,t,n)}:null)}save(e,t,n,s,i){const r=function(e,t,n){s&&(s(e,n),s=null)},o=e.replace(/[^\/]+$/,(e=>"."+e))+"."+Date.now(),a={path:e,user:t?t.user:null,password:t?t.password:null};this._statRequest(e,t,"Save:stat",((s,l,c)=>{let u="put"!==this.appSettings.webdavSaveMethod;if(s){if(!s.notFound)return r(s);this.logger.debug("Save: not found, creating"),u=!1}else if(c.rev!==i)return this.logger.debug("Save error",e,"rev conflict",c.rev,i),r({revConflict:!0},0,c);u?this._request(Object.assign({},a,{op:"Save:put",method:"PUT",path:o,data:n,nostat:!0}),(n=>{if(n)return r(n);this._statRequest(e,t,"Save:stat",((n,s,l)=>{if(n)return this._request(Object.assign({},a,{op:"Save:delete",method:"DELETE",path:o})),r(n,0,l);if(l.rev!==i)return this.logger.debug("Save error",e,"rev conflict",l.rev,i),this._request(Object.assign({},a,{op:"Save:delete",method:"DELETE",path:o})),r({revConflict:!0},0,l);let c=e;c.indexOf("://")<0&&(c=0===c.indexOf("/")?location.protocol+"//"+location.host+c:location.href.replace(/\?(.*)/,"").replace(/[^/]*$/,c));const u=/%[A-Z0-9]{2}/.test(c)?c:encodeURI(c);this._request(Object.assign({},a,{op:"Save:move",method:"MOVE",path:o,nostat:!0,headers:{Destination:u,Overwrite:"T"}}),(n=>{if(n)return r(n);this._statRequest(e,t,"Save:stat",((e,t,n)=>{r(e,0,n)}))}))}))})):this._request(Object.assign({},a,{op:"Save:put",method:"PUT",data:n,nostat:!0}),(n=>{if(n)return r(n);this._statRequest(e,t,"Save:stat",((e,t,n)=>{r(e,0,n)}))}))}))}fileOptsToStoreOpts(e,t){const n={user:e.user,encpass:e.encpass};if(e.password){const s=t.uuid,i=e.password,r=this._xorString(i,s);n.encpass=btoa(r)}return n}storeOptsToFileOpts(e,t){const n={user:e.user,password:e.password};if(e.encpass){const s=t.uuid,i=atob(e.encpass);n.password=this._xorString(i,s)}return n}_xorString(e,t){let n="";for(let s=0;s<e.length;s++){const i=e.charCodeAt(s),r=s%t.length,o=i^t.charCodeAt(r);n+=String.fromCharCode(o)}return n}_request(e,t){e.rev?this.logger.debug(e.op,e.path,e.rev):this.logger.debug(e.op,e.path);const n=this.logger.ts(),s=new XMLHttpRequest;if(s.addEventListener("load",(()=>{if([200,201,204].indexOf(s.status)<0){let i;switch(this.logger.debug(e.op+" error",e.path,s.status,this.logger.ts(n)),s.status){case 404:i={notFound:!0};break;case 412:i={revConflict:!0};break;default:i="HTTP status "+s.status}return void(t&&(t(i,s),t=null))}const i=s.getResponseHeader("Last-Modified");if(!i&&!e.nostat)return this.logger.debug(e.op+" error",e.path,"no headers",this.logger.ts(n)),void(t&&(t(r.Locale.webdavNoLastModified,s),t=null));const o=e.op+("e"===e.op.charAt(e.op.length-1)?"d":"ed");this.logger.debug(o,e.path,i,this.logger.ts(n)),t&&(t(null,s,i?{rev:i}:null),t=null)})),s.addEventListener("error",(()=>{this.logger.debug(e.op+" error",e.path,this.logger.ts(n)),t&&(t("network error",s),t=null)})),s.addEventListener("abort",(()=>{this.logger.debug(e.op+" error",e.path,"aborted",this.logger.ts(n)),t&&(t("aborted",s),t=null)})),s.open(e.method,e.path),s.responseType="arraybuffer",e.user&&s.setRequestHeader("Authorization","Basic "+btoa(e.user+":"+e.password)),e.headers)for(const[t,n]of Object.entries(e.headers))s.setRequestHeader(t,n);if(["GET","HEAD"].indexOf(e.method)>=0&&s.setRequestHeader("Cache-Control","no-cache"),e.data){const t=new Blob([e.data],{type:"application/octet-stream"});s.send(t)}else s.send()}_calcStatByContent(e){return 200===e.status&&"arraybuffer"===e.responseType&&e.response&&e.response.byteLength?s.CryptoEngine.sha256(e.response).then((t=>{const n=s.ByteUtils.bytesToHex(t).substr(0,10);return this.logger.debug("Calculated rev by content",`${e.response.byteLength} bytes`,n),{rev:n}})):(this.logger.debug("Cannot calculate rev by content"),null)}}},949:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Storage:()=>g});var s=n(9491),i=n(7980),r=n(526),o=n(7899),a=n(3758),l=n(5661),c=n(1854),u=n(194),d=n(1337),h=n(5434);const p={file:new o.StorageFile,cache:s.Launcher?new a.StorageFileCache:new i.StorageCache},m={dropbox:new r.StorageDropbox,gdrive:new l.StorageGDrive,onedrive:new c.StorageOneDrive,msteams:new u.StorageTeams,webdav:new d.StorageWebDav},g=p;s.Launcher&&!s.Launcher.thirdPartyStoragesSupported||Object.assign(g,m),requestAnimationFrame(h.createOAuthSession)},6902:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IoBrowserCache:()=>i});const s=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,i=function(e){this.db=null,this.cacheName=e.cacheName,this.logger=e.logger};Object.assign(i.prototype,{initDb(e){if(this.db)return e&&e();try{const t=s.open(this.cacheName);t.onerror=t=>{this.logger.error("Error opening indexed db",t),e&&e(t)},t.onsuccess=t=>{this.db=t.target.result,e&&e()},t.onupgradeneeded=e=>{e.target.result.createObjectStore("files")}}catch(t){this.logger.error("Error opening indexed db",t),e&&e(t)}},save(e,t,n){this.logger.debug("Save",e),this.initDb((s=>{if(s)return n&&n(s);try{const s=this.logger.ts(),i=this.db.transaction(["files"],"readwrite").objectStore("files").put(t,e);i.onsuccess=()=>{this.logger.debug("Saved",e,this.logger.ts(s)),n&&n()},i.onerror=()=>{this.logger.error("Error saving to cache",e,i.error),n&&n(i.error)}}catch(t){this.logger.error("Error saving to cache",e,t),n&&n(t)}}))},load(e,t){this.logger.debug("Load",e),this.initDb((n=>{if(n)return t&&t(n,null);try{const n=this.logger.ts(),s=this.db.transaction(["files"],"readonly").objectStore("files").get(e);s.onsuccess=()=>{this.logger.debug("Loaded",e,this.logger.ts(n)),t&&t(null,s.result)},s.onerror=()=>{this.logger.error("Error loading from cache",e,s.error),t&&t(s.error)}}catch(n){this.logger.error("Error loading from cache",e,n),t&&t(n,null)}}))},remove(e,t){this.logger.debug("Remove",e),this.initDb((n=>{if(n)return t&&t(n);try{const n=this.logger.ts(),s=this.db.transaction(["files"],"readwrite").objectStore("files").delete(e);s.onsuccess=()=>{this.logger.debug("Removed",e,this.logger.ts(n)),t&&t()},s.onerror=()=>{this.logger.error("Error removing from cache",e,s.error),t&&t(s.error)}}catch(n){this.logger.error("Error removing from cache",e,n),t&&t(n)}}))}})},3366:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IoCache:()=>o});var s=n(9491),i=n(7811),r=n(6902);const o=s.Launcher?i.IoFileCache:r.IoBrowserCache},7811:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IoFileCache:()=>i});var s=n(9491);const i=function(e){this.basePath=null,this.cacheName=e.cacheName,this.logger=e.logger};Object.assign(i.prototype,{initFs(e){if(this.basePath)return e();const t=s.Launcher.getUserDataPath(this.cacheName);s.Launcher.mkdir(t,(n=>{n?this.logger.error("Error creating plugin folder"):this.basePath=t,e(n)}))},resolvePath(e){return s.Launcher.joinPath(this.basePath,e)},save(e,t,n){this.initFs((i=>{if(i)return n&&n(i,null);this.logger.debug("Save",e);const r=this.logger.ts(),o=this.resolvePath(e);s.Launcher.writeFile(o,t,(t=>{t?(this.logger.error("Error saving file",e,t),n&&n(t)):(this.logger.debug("Saved",e,this.logger.ts(r)),n&&n())}))}))},load(e,t){this.initFs((n=>{if(n)return t&&t(n,null);this.logger.debug("Load",e);const i=this.logger.ts(),r=this.resolvePath(e);s.Launcher.readFile(r,void 0,((n,s)=>{s?(this.logger.error("Error loading file",e,s),t&&t(s)):(this.logger.debug("Loaded",e,this.logger.ts(i)),t&&t(null,n))}))}))},remove(e,t){this.initFs((n=>{if(n)return t&&t(n,null);this.logger.debug("Remove",e);const i=this.logger.ts(),r=this.resolvePath(e);s.Launcher.deleteFile(r,(n=>{n?(this.logger.error("Error removing file",e,n),t&&t(n)):(this.logger.debug("Removed",e,this.logger.ts(i)),t&&t())}))}))}})},5434:(e,t,n)=>{"use strict";n.r(t),n.d(t,{createOAuthSession:()=>r});var s=n(3617);let i;function r(){const e=i,t=s.ByteUtils.bytesToHex(s.CryptoEngine.random(64)),n=s.ByteUtils.bytesToHex(s.CryptoEngine.random(50)),r=s.ByteUtils.arrayToBuffer(s.ByteUtils.stringToBytes(n));return s.CryptoEngine.sha256(r).then((e=>{const r=s.ByteUtils.bytesToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"");i={state:t,codeChallenge:r,codeVerifier:n}})),i=null,e}},8402:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageBase:()=>m});var s=n(7201),i=n(9673),r=n(7614),o=n(8925),a=n(2363),l=n(4715),c=n(4798),u=n(9491),d=n(6838),h=n(667),p=n(5434);class m{constructor(){this.name=null,this.icon=null,this.enabled=!1,this.system=!1,this.uipos=null,this.logger=null,this.appSettings=r.AppSettingsModel,this.runtimeData=o.RuntimeDataModel}init(){if(!this.name)throw"Failed to init provider: no name";if(!this.system){const e=this.appSettings[this.name];"boolean"==typeof e&&(this.enabled=e)}return this.logger=new a.Logger("storage-"+this.name),this}setEnabled(e){e||this.logout(),this.enabled=e}get loggedIn(){return!!this.runtimeData[this.name+"OAuthToken"]}logout(){}deleteStoredToken(){delete this.runtimeData[this.name+"OAuthToken"]}_xhr(e){this.logger.info("HTTP request",e.method||"GET",e.url),e.data&&(e.dataType||(e.dataType="application/octet-stream"),e.headers=Object.assign({},e.headers,{"Content-Type":e.dataType})),this._oauthToken&&!e.skipAuth&&(e.headers=Object.assign({},e.headers,{Authorization:"Bearer "+this._oauthToken.accessToken})),this._httpRequest(e,(t=>{this.logger.info("HTTP response",t.status);return(e.statuses||[200]).indexOf(t.status)>=0?e.success&&e.success(t.response,t):401===t.status&&this._oauthToken?void this._oauthGetNewToken((n=>n?e.error&&e.error("unauthorized",t):(e.tryNum=(e.tryNum||0)+1,e.tryNum>=3?(this.logger.info("Too many authorize attempts, fail request",e.url),e.error&&e.error("unauthorized",t)):(this.logger.info("Repeat request, try #"+e.tryNum,e.url),void this._xhr(e))))):e.error&&e.error("http status "+t.status,t)}))}_httpRequest(e,t){(h.Features.isDesktop?this._httpRequestLauncher:this._httpRequestWeb).call(this,e,t)}_httpRequestWeb(e,t){const n=new XMLHttpRequest;if(e.responseType&&(n.responseType=e.responseType),n.addEventListener("load",(()=>{t({status:n.status,response:n.response,getResponseHeader:e=>n.getResponseHeader(e)})})),n.addEventListener("error",(()=>e.error&&e.error("network error",n))),n.addEventListener("timeout",(()=>e.error&&e.error("timeout",n))),n.open(e.method||"GET",e.url),e.headers)for(const[t,s]of Object.entries(e.headers))n.setRequestHeader(t,s);let s=e.data;s&&(e.dataIsMultipart||(s=[s]),s=new Blob(s,{type:e.dataType})),n.send(s)}_httpRequestLauncher(e,t){u.Launcher.remoteApp().httpRequest(e,((e,...t)=>this.logger[e](...t)),(({status:n,response:s,headers:i})=>{if(s=Buffer.from(s,"hex"),"json"===e.responseType)try{s=JSON.parse(s.toString("utf8"))}catch(t){return e.error&&e.error("json parse error")}else s=s.buffer.slice(s.byteOffset,s.byteOffset+s.length);t({status:n,response:s,getResponseHeader:e=>i[e.toLowerCase()]})}))}_openPopup(e,t,n,s,i){const r=void 0!==window.screenLeft?window.screenLeft:screen.left,o=void 0!==window.screenTop?window.screenTop:screen.top;let a={width:n,height:s,left:(window.innerWidth?window.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:screen.width)/2-n/2+r,top:(window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:screen.height)/2-s/2+o,dialog:"yes",dependent:"yes",scrollbars:"yes",location:"yes"};return a=Object.keys(a).map((e=>e+"="+a[e])).join(","),window.open(e,t,a,i)}_getOauthRedirectUrl(){let e=window.location.href;return 0===e.lastIndexOf("file:",0)&&(e=i.Links.WebApp),new URL(`oauth-result/${this.name}.html`,e).href}_oauthAuthorize(e){if(this._tokenIsValid(this._oauthToken))return e();const t=this._getOAuthConfig(),n=this.runtimeData[this.name+"OAuthToken"];if(this._tokenIsValid(n))return this._oauthToken=n,e();if(n&&n.refreshToken)return this._oauthExchangeRefreshToken(e);const i=(0,p.createOAuthSession)();let r;h.Features.isDesktop?(r=l.StorageOAuthListener.listen(this.name),i.redirectUri=r.redirectUri):i.redirectUri=this._getOauthRedirectUrl();const o=t.pkce?{code_challenge:i.codeChallenge,code_challenge_method:"S256"}:void 0,a=c.UrlFormat.makeUrl(t.url,Object.assign({client_id:t.clientId,scope:t.scope,state:i.state,redirect_uri:i.redirectUri,response_type:"code"},o,t.urlParams));if(r)return r.on("ready",(()=>{u.Launcher.openLink(a),e("browser-auth-started")})),r.on("error",(t=>e(t))),void r.on("result",(e=>this._oauthCodeReceived(e,i)));if(!this._openPopup(a,"OAuth",t.width,t.height))return e("OAuth: cannot open popup");this.logger.debug("OAuth: popup opened");const d=t=>{const n={};for(const[e,s]of new URLSearchParams(t).entries())n[e]=s;n.error?(this.logger.error("OAuth error",n.error,n.error_description),e("OAuth: "+n.error)):n.code?(s.Events.off("popup-closed",m),window.removeEventListener("message",g),this._oauthCodeReceived(n,i,e)):this.logger.debug("Skipped OAuth message",n)},m=t=>{s.Events.off("popup-closed",m),window.removeEventListener("message",g),t.locationSearch?d(t.locationSearch):(this.logger.error("OAuth error","popup closed"),e("OAuth: popup closed"))},g=e=>{e.origin===location.origin&&(e.data&&e.data.storage&&e.data.search?e.data.storage===this.name?d(e.data.search):this.logger.debug("Skipped OAuth message for another storage",e.data.storage):this.logger.debug("Skipped empty OAuth message",e.data))};s.Events.on("popup-closed",m),window.addEventListener("message",g)}_oauthProcessReturn(e){const t=this._oauthMsgToToken(e);return t&&!t.error&&(this._oauthToken=t,this.appSettings.shortLivedStorageToken||(this.runtimeData[this.name+"OAuthToken"]=t),this.logger.debug("OAuth token received")),t}_oauthMsgToToken(e){return e.token_type?(0,d.omitEmpty)({dt:Date.now()-6e4,tokenType:e.token_type,accessToken:e.access_token,refreshToken:e.refresh_token,authenticationToken:e.authentication_token,expiresIn:+e.expires_in,scope:e.scope,userId:e.user_id}):e.error?{error:e.error,errorDescription:e.error_description}:void 0}_oauthGetNewToken(e){this._oauthToken.expired=!0,this.appSettings.shortLivedStorageToken||(this.runtimeData[this.name+"OAuthToken"]=this._oauthToken),this._oauthToken.refreshToken?this._oauthExchangeRefreshToken(e):this._oauthAuthorize(e)}_oauthRevokeToken(e,t){const n=this.runtimeData[this.name+"OAuthToken"];n&&(e&&this._xhr(Object.assign({url:e.replace("{token}",n.accessToken),statuses:[200,401]},t)),delete this.runtimeData[this.name+"OAuthToken"],this._oauthToken=null)}_tokenIsValid(e){return!(!e||e.expired)&&!(e.dt&&e.expiresIn&&e.dt+1e3*e.expiresIn<Date.now())}_oauthCodeReceived(e,t,n){if(!e.state)return this.logger.info("OAuth result has no state"),n&&n("OAuth result has no state");if(e.state!==t.state)return this.logger.info("OAuth result has bad state"),n&&n("OAuth result has bad state");if(!e.code)return this.logger.info("OAuth result has no code"),n&&n("OAuth result has no code");this.logger.debug("OAuth code received"),h.Features.isDesktop&&u.Launcher.showMainWindow();const s=this._getOAuthConfig(),i=s.pkce?{code_verifier:t.codeVerifier}:void 0;this._xhr({url:s.tokenUrl,method:"POST",responseType:"json",skipAuth:!0,data:c.UrlFormat.buildFormData(Object.assign({client_id:s.clientId},s.clientSecret?{client_secret:s.clientSecret}:null,{grant_type:"authorization_code",code:e.code,redirect_uri:t.redirectUri},i)),dataType:"application/x-www-form-urlencoded",success:e=>{this.logger.debug("OAuth code exchanged",e);const t=this._oauthProcessReturn(e);if(t&&t.error)return n&&n("OAuth code exchange error: "+t.error);null==n||n()},error:e=>{this.logger.error("Error exchanging OAuth code",e),null==n||n("OAuth code exchange error: "+e)}})}_oauthExchangeRefreshToken(e){this.logger.debug("Exchanging refresh token");const{refreshToken:t}=this.runtimeData[this.name+"OAuthToken"],n=this._getOAuthConfig();this._xhr({url:n.tokenUrl,method:"POST",responseType:"json",skipAuth:!0,data:c.UrlFormat.buildFormData(Object.assign({client_id:n.clientId},n.clientSecret?{client_secret:n.clientSecret}:null,{grant_type:"refresh_token",refresh_token:t})),dataType:"application/x-www-form-urlencoded",success:n=>{this.logger.debug("Refresh token exchanged"),this._oauthProcessReturn(Object.assign({refresh_token:t},n)),e()},error:(t,n)=>{400===n.status?(delete this.runtimeData[this.name+"OAuthToken"],this._oauthToken=null,this.logger.error("Error exchanging refresh token, trying to authorize again"),this._oauthAuthorize(e)):(this.logger.error("Error exchanging refresh token",t),null==e||e("Error exchanging refresh token"))}})}}},4715:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageOAuthListener:()=>d});var s=n(7187),i=n.n(s),r=n(2363),o=n(9491),a=n(7086),l=n(2460),c=n.n(l);const u=new r.Logger("storage-oauth-listener"),d={server:null,listen(e){this.server&&this.stop();const t={};Object.keys(i().prototype).forEach((e=>{t[e]=i().prototype[e]}));const n=o.Launcher.req("http");let s=!1;const r=n.createServer(((e,n)=>{n.writeHead(200,"OK",{"Content-Type":"text/html; charset=UTF-8"}),n.end(c()({logoSrc:a.KeeWebLogo})),s||(this.stop(),this.handleResult(e.url,t),s=!0)})),l=48149;return u.info("Starting OAuth listener on port 48149..."),r.listen(l),r.on("error",(e=>{u.error("Failed to start OAuth listener",e),t.emit("error","Failed to start OAuth listener: "+e),r.close()})),r.on("listening",(()=>{this.server=r,t.emit("ready")})),t.redirectUri=`http://localhost:48149/oauth-result/${e}.html`,t},stop(){this.server&&(this.server.close(),u.info("OAuth listener stopped"))},handleResult(e,t){if((e=new URL(e,t.redirectUri)).origin+e.pathname!==t.redirectUri)return void u.info("Skipped result",e,t.redirectUri);u.info("OAuth result with code received");const n=e.searchParams.get("state"),s=e.searchParams.get("code");t.emit("result",{state:n,code:s})}}},4546:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Color:()=>r});var s=n(7017);const i={},r=function(e){const t=/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*([\d.]+))?\)$/.exec(e);if(t)this.r=+t[1],this.g=+t[2],this.b=+t[2],this.a=t[4]?t[4]:1,this.setHsl();else{const t=/^#?([0-9a-f]{3,6})$/i.exec(e);if(t){const e=t[1],n=3===e.length?1:2;this.r=parseInt(e.substr(0,n),16),this.g=parseInt(e.substr(n,n),16),this.b=parseInt(e.substr(2*n,n),16),this.a=1,this.setHsl()}else e instanceof r?(this.r=e.r,this.g=e.g,this.b=e.b,this.h=e.h,this.s=e.s,this.l=e.l,this.a=e.a):(this.r=this.g=this.b=this.h=this.s=this.l=0,this.a=1)}};r.prototype.setHsl=function(){const e=this.r/255,t=this.g/255,n=this.b/255,s=Math.max(e,t,n),i=Math.min(e,t,n);let r,o;const a=(s+i)/2;if(s===i)r=o=0;else{const l=s-i;switch(o=a>.5?l/(2-s-i):l/(s+i),s){case e:r=(t-n)/l+(t<n?6:0);break;case t:r=(n-e)/l+2;break;case n:r=(e-t)/l+4}r/=6}this.h=r,this.s=o,this.l=a},r.prototype.toHex=function(){return"#"+o(this.r)+o(this.g)+o(this.b)},r.prototype.toRgba=function(){return`rgba(${Math.round(this.r)},${Math.round(this.g)},${Math.round(this.b)},${this.a})`},r.prototype.toHsla=function(){return`hsla(${Math.round(100*this.h)},${Math.round(100*this.s)}%,${Math.round(100*this.l)}%,${this.a})`},r.prototype.distanceTo=function(e){return Math.abs(this.h-e.h)},r.prototype.mix=function(e,t){const n=new r(this),s=1-t;return n.r=this.r*t+e.r*s,n.g=this.g*t+e.g*s,n.b=this.b*t+e.b*s,n.a=this.a*t+e.a*s,n},r.getNearest=function(e){const t=new r(e);if(!t.s)return null;let n=null,s=Number.MAX_VALUE;for(const[e,r]of Object.entries(i)){const i=t.distanceTo(r);i<s&&(s=i,n=e)}return n},r.getKnownBgColor=function(e){return s.Colors.BgColors[e]?"#"+s.Colors.BgColors[e]:void 0};for(const[e,t]of Object.entries(s.Colors.ColorsValues))i[e]=new r(t);function o(e){const t=(e||0).toString(16);return t.length<2?"0"+t:t}r.black=new r("#000")},8612:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Comparators:()=>r});const s=String.fromCharCode(65533),i=window.Intl&&window.Intl.Collator&&!/Edge/.test(navigator.userAgent)?new Intl.Collator(void 0,{sensitivity:"base"}).compare:(e,t)=>e.toLocaleLowerCase().localeCompare(t.toLocaleLowerCase()),r={stringComparator:(e,t)=>t?function(t,n){return i(t[e]||s,n[e]||s)}:function(t,n){return i(n[e],t[e])},rankComparator:()=>function(e,t){return t.getRank(this.filter)-e.getRank(this.filter)},dateComparator:(e,t)=>t?function(t,n){return t[e]-n[e]}:function(t,n){return n[e]-t[e]}}},8009:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CsvParser:()=>s});class s{constructor(){this.next=void 0,this.csv=void 0,this.index=void 0,this.line=[],this.lines=[],this.value="",this.error=void 0}parse(e){for(this.csv=e.trim().replace(/\r\n/g,"\n"),this.result=[],this.next=this.handleBeforeValue,this.index=0;this.next&&this.index<this.csv.length;)this.next=this.next(this);if(this.lines.length<=1)throw new Error("Empty CSV");return{headers:this.lines[0],rows:this.lines.slice(1)}}handleBeforeValue(){return'"'===this.csv[this.index]?(this.index++,this.value="",this.handleQuotedValue):this.handleUnquotedValue}handleUnquotedValue(){const e=this.csv.indexOf(",",this.index),t=this.csv.indexOf("\n",this.index);let n;n=e>=0&&(t<0||e<t)?e:t>=0?t:this.csv.length;const s=this.csv.substr(this.index,n-this.index);return this.line.push(s),this.index=n,this.handleAfterValue}handleQuotedValue(){const e=this.csv.indexOf('"',this.index),t=this.csv.indexOf("\\",this.index);if(e<0)return this.index=this.csv.length,this.error="Quoted value not closed",this.handleError;if(t>0&&t<e){const e=this.csv[t+1];return'"'===e||"\\"===e?(this.value+=this.csv.substr(this.index,t-this.index)+e,this.index=t+2):(this.value+=this.csv.substr(this.index,t-this.index+1),this.index=t+1),this.handleQuotedValue}return'"'===this.csv[e+1]?(this.value+=this.csv.substr(this.index,e-this.index+1),this.index=e+2,this.handleQuotedValue):(this.value+=this.csv.substr(this.index,e-this.index),this.index=e+1,this.line.push(this.value),this.value="",this.handleAfterValue)}handleAfterValue(){const e=","===this.csv[this.index];return this.index++,e||(this.lines.push(this.line),this.line=[]),this.handleBeforeValue}handleError(){throw new Error(this.error)}}},9081:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Otp:()=>i});const s=new(n(2363).Logger)("otp"),i=function(e,t){if(["hotp","totp"].indexOf(t.type)<0)throw"Bad type: "+t.type;if(!t.secret)throw"Empty secret";if(t.algorithm&&["SHA1","SHA256","SHA512"].indexOf(t.algorithm)<0)throw"Bad algorithm: "+t.algorithm;if(t.digits&&["6","7","8"].indexOf(t.digits)<0)throw"Bad digits: "+t.digits;if("hotp"===t.type&&!t.counter)throw"Bad counter: "+t.counter;if(t.period&&isNaN(t.period)||t.period<1)throw"Bad period: "+t.period;if(this.url=e,this.type=t.type,this.account=t.account,this.secret=t.secret,this.issuer=t.issuer,this.algorithm=t.algorithm?t.algorithm.toUpperCase():"SHA1",this.digits=t.digits?+t.digits:6,this.counter=t.counter,this.period=t.period?+t.period:30,this.key=i.fromBase32(this.secret),!this.key)throw"Bad key: "+this.key};i.prototype.next=function(e){let t,n;if("totp"===this.type){const e=Date.now(),s=Math.round(e/1e3);t=Math.floor(s/this.period);const i=1e3*this.period;n=i-e%i}else t=this.counter;const r=new Uint8Array(8).buffer;new DataView(r).setUint32(4,t),this.hmac(r,((t,r)=>{if(!t)return s.error("OTP calculation error",r),e(r);const o=15&(t=new DataView(t)).getInt8(t.byteLength-1),a=2147483647&t.getUint32(o);let l;l="Steam"===this.issuer?i.hmacToSteamCode(a):i.hmacToDigits(a,this.digits),e(null,l,n)}))},i.prototype.hmac=function(e,t){const n=window.crypto.subtle||window.crypto.webkitSubtle,s={name:"HMAC",hash:{name:this.algorithm.replace("SHA","SHA-")}};n.importKey("raw",this.key,s,!1,["sign"]).then((i=>{n.sign(s,i,e).then((e=>{t(e)})).catch((e=>{t(null,e)}))})).catch((e=>{t(null,e)}))},i.hmacToDigits=function(e,t){let n=e.toString();return n=i.leftPad(n.substr(n.length-t),t),n},i.hmacToSteamCode=function(e){const t="23456789BCDFGHJKMNPQRTVWXY";let n="";for(let s=0;s<5;++s)n+=t.charAt(e%t.length),e/=t.length;return n},i.fromBase32=function(e){e=e.replace(/\s/g,"");let t,n="";for(t=0;t<e.length;t++){const s="abcdefghijklmnopqrstuvwxyz234567".indexOf(e[t].toLowerCase());if(s<0)return null;n+=i.leftPad(s.toString(2),5)}const s=new Uint8Array(Math.floor(n.length/8));for(t=0;t<s.length;t++){const e=n.substr(8*t,8);s[t]=parseInt(e,2)}return s.buffer},i.leftPad=function(e,t){for(;e.length<t;)e="0"+e;return e},i.parseUrl=function(e){const t=/^otpauth:\/\/(\w+)\/([^\?]+)\?(.*)/i.exec(e);if(!t)throw"Not OTP url";const n={},s=decodeURIComponent(t[2]);if(s){const e=s.split(":");n.issuer=e[0].trim(),e.length>1&&(n.account=e[1].trim())}return n.type=t[1].toLowerCase(),t[3].split("&").forEach((e=>{const t=e.split("=",2);n[t[0].toLowerCase()]=decodeURIComponent(t[1])})),new i(e,n)},i.isSecret=function(e){return!!i.fromBase32(e)},i.makeUrl=function(e,t,n){return"otpauth://totp/default?secret="+e+(t?"&period="+t:"")+(n?"&digits="+n:"")}},905:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PasswordStrengthLevel:()=>s,passwordStrength:()=>o});const s={None:0,Low:1,Good:2},i=new Uint8Array(128);for(let e=48;e<=57;e++)i[e]=1;for(let e=97;e<=122;e++)i[e]=2;for(let e=65;e<=90;e++)i[e]=3;const r=new Uint8Array([95,10,26,26]);function o(e){if(!e||!e.isProtected)throw new TypeError("Bad password type");if(!e.byteLength)return{level:s.None,length:0};let t=0;const n=[0,0,0,0];let o=!0,a=-1;e.forEachChar((e=>{const s=e<i.length?i[e]:0;n[s]++,t++,o&&e!==a&&(-1===a?a=e:o=!1)}));const l=n[1]===t;if(t<6)return{level:s.None,length:t,onlyDigits:l};if(o)return{level:s.None,length:t,onlyDigits:l};if(t<8)return{level:s.Low,length:t,onlyDigits:l};let c=0;for(let e=0;e<n.length;e++)n[e]>0&&(c+=r[e]);const u=Math.log2(Math.pow(c,t))<60?s.Low:s.Good;return{length:t,level:u,onlyDigits:l}}},5563:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Ranking:()=>s});const s={getStringRank(e,t){if(!e||!t)return 0;let n=i(e,t);return 0===n&&e.length===t.length?10:0===n?5:n>0?3:(n=i(t,e),0===n?5:n>0?3:0)}};function i(e,t){return e.isProtected?e.indexOfLower(t):t.isProtected?t.indexOfSelfInLower(e):e.indexOf(t)}window.Ranking=s},8146:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemVer:()=>s});const s={compareVersions(e,t){e=e.replace(/-.*$/,"").split("."),t=t.replace(/-.*$/,"").split(".");for(let n=0;n<e.length;n++){const s=0|e[n],i=0|t[n];if(s<i)return-1;if(s>i)return 1}return 0}}},7536:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SignatureVerifier:()=>a});var s=n(3617),i=n(2363);const r="-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnRq2k3TTx0ewTe6wDr6Q\nVeB5diwiIWzsJD+ApfZu1KNPedcAgslAfjpNsYF1if6cYsPMJH70xJ2np6RQBl1V\nPdwShOuxkD7m0BD5Hw/Aar8Hdp5cvAdOOMdBO+0DbGeUMy+z66s+oUCJmqVp19T6\nPkkxbhN08rgtT7v+aFvrbqbO/vlsskbJpH2K2io+e1XmRGPnSr9q4KSqfGbTfe5g\nLwDIOFd66Z4mb5Utb5wWpsy6Gjh06Yf257AccGD3A1bkTNOyeeX0tqciYBePWMk0\nicP/aZ6hnErfhnUKf3tOgPLppSHiGcaSKekhChZ2xLUs3U64JwrXSmwHj+TzdO3S\n0QIDAQAB\n-----END PUBLIC KEY-----\n",o="-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyZAmWXMpKsh9WCyUO5TR\n2/QIJsgyaViWRAgY5nHZhTR/sjhfG97OeurW7NYC4XPsnyJDepEjDsj9LNzquMES\nxsLRSmxo+m1lVWn8Q59LwqOvUK+BKH4eZYF89Nwv2HZjZnr/w7xYcxJbhOuAzpbq\nFD/gAvlozrsHG9uI95h1FHPd6mfolEHLK30LXPQ5FdJ/AWb29ILKYbVEdM8qsjoN\nfSICw7XTbd7wB0TMcgRpjWllzKaftxCO38svhBjAz4cUvtZ05yi4dzK0VsJHfW33\nuno3YBn0/bwLkqMzD1/Hv05p6CVzuDTOCBsXkEobra8OBviatoSukot6cS4Famki\n9QIDAQAB\n-----END PUBLIC KEY-----\n",a={logger:new i.Logger("signature-verifier"),publicKeys:null,verify(e,t,n){if(!n){const n=this.getPublicKeys();return this.verify(e,t,n[0]).then((s=>s||!n[1]?s:this.verify(e,t,n[1])))}return new Promise(((i,r)=>{const o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};try{"string"==typeof t&&(t=s.ByteUtils.base64ToBytes(t));const a=window.crypto.subtle,l="spki";n=s.ByteUtils.base64ToBytes(n),a.importKey(l,n,o,!1,["verify"]).then((n=>{try{a.verify(o,n,s.ByteUtils.arrayToBuffer(t),s.ByteUtils.arrayToBuffer(e)).then((e=>{i(e)})).catch((e=>{this.logger.error("Verify error",e),r(e)}))}catch(e){this.logger.error("Signature verification error",e),r(e)}})).catch((e=>{this.logger.error("ImportKey error",e),r(e)}))}catch(e){this.logger.error("Signature key verification error",e),r(e)}}))},getPublicKeys(){return this.publicKeys||(this.publicKeys=[r,o].map((e=>e.match(/-+BEGIN PUBLIC KEY-+([\s\S]+?)-+END PUBLIC KEY-+/)[1].replace(/\s+/g,"")))),this.publicKeys}}},9907:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EntrySearch:()=>i});var s=n(9166);class i{constructor(e){this.model=e}matches(e){if(!e)return!0;if(e.tagLower&&this.model.searchTags&&this.model.searchTags.indexOf(e.tagLower)<0)return!1;if(e.textLower)if(e.advanced){if(!this.matchesAdv(e))return!1}else if(e.textLowerParts){const t=e.textLowerParts;for(let e=0;e<t.length;e++)if(this.model.searchText.indexOf(t[e])<0)return!1}else if(this.model.searchText.indexOf(e.textLower)<0)return!1;if(e.color)if(!0===e.color){if(!this.model.searchColor)return!1}else if(this.model.searchColor!==e.color)return!1;return!(e.autoType&&!this.model.autoTypeEnabled)&&!(e.otp&&!this.model.fields.otp&&!this.model.fields["TOTP Seed"]&&"otp-device"!==this.model.backend)}matchesAdv(e){const t=e.advanced;let n,s;if(t.regex){try{n=new RegExp(e.text,t.cs?"":"i")}catch(e){return!1}s=i.matchRegex}else t.cs?e.textParts?(n=e.textParts,s=i.matchStringMulti):(n=e.text,s=i.matchString):e.textLowerParts?(n=e.textLowerParts,s=i.matchStringMultiLower):(n=e.textLower,s=i.matchStringLower);if(i.matchFields(this.model.getAllFields(),t,s,n))return!0;if(t.history&&this.model.getHistoryEntriesForSearch)for(const e of this.model.getHistoryEntriesForSearch())if(i.matchFields(e.fields,t,s,n))return!0;return!1}static matchString(e,t){return e.isProtected?e.includes(t):e.indexOf(t)>=0}static matchStringLower(e,t){return e.isProtected?e.includesLower(t):e.toLowerCase().indexOf(t)>=0}static matchStringMulti(e,t,n,s){for(let i=0;i<t.length;i++){const r=t[i];let o;s?o=e.isProtected?e.includesLower(r):e.includes(r):(e.isProtected,o=e.includes(r)),o&&(n.matches?n.matches.includes(r)||n.matches.push(r):n.matches=[r])}return n.matches&&n.matches.length===t.length}static matchStringMultiLower(e,t,n){return i.matchStringMulti(e,t,n,!0)}static matchRegex(e,t){return e.isProtected&&(e=e.getText()),t.test(e)}static matchFields(e,t,n,r){const o={},a=i.matchField;if(t.user&&a(e.UserName,n,r,o))return!0;if(t.url&&a(e.URL,n,r,o))return!0;if(t.notes&&a(e.Notes,n,r,o))return!0;if(t.pass&&a(e.Password,n,r,o))return!0;if(t.title&&a(e.Title,n,r,o))return!0;let l=!1;if(t.other||t.protect){l=Object.keys(e).some((i=>!(s.BuiltInFields.indexOf(i)>=0)&&("string"==typeof e[i]?t.other&&a(e[i],n,r,o):t.protect&&a(e[i],n,r,o))))}return l}static matchField(e,t,n,s){return!!e&&t(e,n,s)}}},667:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Features:()=>i});const s=!!(window.process&&window.process.versions&&window.process.versions.electron),i={isDesktop:s,isMac:navigator.platform.indexOf("Mac")>=0,isWindows:navigator.platform.indexOf("Win")>=0,isiOS:/iPad|iPhone|iPod/i.test(navigator.userAgent),isMobile:/iPhone|iPad|iPod|Android|BlackBerry|Opera Mini|IEMobile|WPDesktop|Windows Phone|webOS/i.test(navigator.userAgent)||screen.width<800,isPopup:!(window.parent===window.top&&!window.opener),isStandalone:!!navigator.standalone,isFrame:window.top!==window,isSelfHosted:!s&&!/^http(s?):\/\/((localhost:8085)|((app|beta)\.keeweb\.info))/.test(location.href),isLocal:location.origin.indexOf("localhost")>=0,get supportsTitleBarStyles(){return s&&(this.isMac||this.isWindows)},get supportsCustomTitleBarAndDraggableWindow(){return s&&this.isMac},get renderCustomTitleBar(){return s&&this.isWindows},get hasUnicodeFlags(){return this.isMac},get browserCssClass(){return window.chrome&&window.navigator.userAgent.indexOf("Chrome/")>-1?"chrome":window.navigator.userAgent.indexOf("Edge/")>-1?"edge":navigator.standalone?"standalone":""},get browserIcon(){return this._browserIcon||(this.isDesktop?this._browserIcon=this.isMac?"safari":this.isWindows?"edge":"chrome":/Gecko\//.test(navigator.userAgent)?this._browserIcon="firefox-browser":/Edg\//.test(navigator.userAgent)?this._browserIcon="edge":/Chrome\//.test(navigator.userAgent)?this._browserIcon="chrome":this.isMac&&/Safari\//.test(navigator.userAgent)?this._browserIcon="safari":this._browserIcon="window-maximize"),this._browserIcon},get supportsBrowserExtensions(){return!this.isMobile&&(this.isDesktop||"safari"!==this.browserIcon)},get extensionBrowserFamily(){return i.isDesktop?void 0:/Gecko\//.test(navigator.userAgent)?"Firefox":/Edg\//.test(navigator.userAgent)?"Edge":/Chrome\//.test(navigator.userAgent)?"Chrome":this.isMac&&/Safari\//.test(navigator.userAgent)?"Safari":"Chrome"}}},6838:(e,t,n)=>{"use strict";n.r(t),n.d(t,{escape:()=>i,noop:()=>r,shuffle:()=>o,pick:()=>a,omit:()=>l,omitEmpty:()=>c,mapObject:()=>u,isEqual:()=>d,minmax:()=>h});var s=n(7109);const i=n.n(s)().escapeExpression;function r(){}function o(e){for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e}function a(e,t){if(!e)return e;const n={};for(const s of t)Object.prototype.hasOwnProperty.call(e,s)&&(n[s]=e[s]);return n}function l(e,t){if(!e)return e;const n=Object.assign({},e);for(const e of t)delete n[e];return n}function c(e){return e?Object.entries(e).reduce(((e,[t,n])=>(n&&(e[t]=n),e)),{}):e}function u(e,t){return Object.entries(e).reduce(((e,[n,s])=>(e[n]=t(s),e)),{})}function d(e,t){return e===t||(e instanceof Date?+e==+t:e instanceof Array&&t instanceof Array&&e.join(",")===t.join(","))}function h(e,t,n){return Math.min(n,Math.max(t,e))}},8495:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IconUrlFormat:()=>i});var s=n(3617);const i={toDataUrl:e=>e?"data:image/png;base64,"+s.ByteUtils.bytesToBase64(e):null}},8134:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MdToHtml:()=>c});var s=n(1638),i=n.n(s),r=n(4782),o=n.n(r);const a=/<\/?p>|<br>|\r|\n/g;class l extends o().Renderer{link(e,t,n){return super.link(e,t,n).replace("<a ",'<a target="_blank" rel="noreferrer noopener" ')}}const c={convert(e){if(!e)return"";const t=new l,n=o()(e,{renderer:t,breaks:!0});if(n.replace(a,"")===e.replace(a,""))return{text:e};return{html:`<div class="markdown">${i().sanitize(n,{ADD_ATTR:["target"]})}</div>`}}}},1705:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PasswordPresenter:()=>o});n(9689);var s=n(6838);class i{randomCharCode(){return 97+Math.floor(26*Math.random())}}function r(e){return Math.random()<.2?String.fromCharCode(e):`&#x${e.toString(16)};`}const o={present:e=>new Array(e+1).join("•"),presentValueWithLineBreaks(e){if(!e)return"";let t="";return e.forEachChar((e=>{t+=10===e?"\n":"•"})),t},asDOM(e){const t=[],n=new i;let o=0;e.forEachChar((e=>{const s=r(e);if(t.push({html:s,order:o}),Math.random()>.5){const e=r(n.randomCharCode());t.push({html:e,order:-1})}o++})),(0,s.shuffle)(t);const a=document.createElement("div");a.style.display="flex",a.style.overflow="hidden",a.style.textOverflow="ellipsis";for(const e of t){const t=document.createElement("div");t.innerHTML=e.html,e.order>=0?t.style.order=e.order:t.style.display="none",a.appendChild(t)}return a}}},2378:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StringFormat:()=>s});const s={camelCaseRegex:/-./g,capFirst:e=>e?e[0].toUpperCase()+e.substr(1):"",pad(e,t){let n=e.toString();for(;n.length<t;)n="0"+n;return n},padStr(e,t){for(;e.length<t;)e+=" ";return e},camelCase(e){return e.replace(this.camelCaseRegex,(e=>e[1].toUpperCase()))},pascalCase(e){return this.capFirst(e.replace(this.camelCaseRegex,(e=>e[1].toUpperCase())))},replaceVersion:(e,t)=>e.replace(/\d+\.\d+\.\d+/g,t)}},4798:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UrlFormat:()=>s});const s={multiSlashRegex:/\/{2,}/g,lastPartRegex:/[\/\\]?[^\/\\]+$/,kdbxEndRegex:/\.kdbx$/i,maxShortPresentableUrlLength:60,getDataFileName(e){const t=e.lastIndexOf("/");return t>=0&&(e=e.substr(t+1)),e=e.replace(/\?.*/,"").replace(/\.kdbx/i,"")},isKdbx(e){return e&&this.kdbxEndRegex.test(e)},fixSlashes(e){return e.replace(this.multiSlashRegex,"/")},fileToDir(e){return e.replace(this.lastPartRegex,"")||"/"},makeUrl:(e,t)=>e+"?"+Object.entries(t).map((([e,t])=>e+"="+encodeURIComponent(t))).join("&"),buildFormData:e=>Object.entries(e).map((([e,t])=>`${e}=${encodeURIComponent(t)}`)).join("&"),presentAsShortUrl(e){if(e.length<=this.maxShortPresentableUrlLength)return e;const[t]=e.split("#",1);if(t.length<=this.maxShortPresentableUrlLength)return t+"#…";const[n]=e.split("?",1);if(n.length<=this.maxShortPresentableUrlLength)return n+"?…";const s=new URL(n),i=s.pathname.split("/");for(;i.length>1;){i.pop(),s.pathname=i.join("/");const e=s.toString();if(e.length<this.maxShortPresentableUrlLength)return e+"/…"}return s+"…"}}},1240:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IdGenerator:()=>s});const s={uuid(){const e=s.s4;return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},s4:()=>Math.floor(65536*(1+Math.random())).toString(16).substring(1)}},4486:(e,t,n)=>{"use strict";n.r(t),n.d(t,{PasswordGenerator:()=>l,CharRanges:()=>o});var s=n(3617),i=n(8709),r=n(6838);const o={upper:"ABCDEFGHJKLMNPQRSTUVWXYZ",lower:"abcdefghijkmnpqrstuvwxyz",digits:"123456789",special:"!@#$%^&*_+-=,./?;:`\"~'\\",brackets:"(){}[]<>",high:"¡¢£¤¥¦§©ª«¬®¯°±²³´µ¶¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþ",ambiguous:"O0oIl"},a={A:o.upper,a:o.lower,1:o.digits,"*":o.special,"[":o.brackets,Ä:o.high,0:o.ambiguous},l={generate(e){if(!e||"number"!=typeof e.length||e.length<0)return"";if("Pronounceable"===e.name)return this.generatePronounceable(e);const t=Object.keys(o).filter((t=>e[t])).map((e=>o[e]));if(e.include&&e.include.length&&t.push(e.include),!t.length)return"";const n=Object.assign({},a,{I:e.include||""}),i=e.pattern||"X";let l=0;for(let t=0;t<e.length;t++){"X"===i[t%i.length]&&l++}const c=s.CryptoEngine.random(l),u=s.CryptoEngine.random(l),d=[];for(let e=0;e<l;e++){const n=t[e<t.length?e:c[e]%t.length],s=n[u[e]%n.length];d.push(s)}(0,r.shuffle)(d);const h=s.CryptoEngine.random(e.length),p=[];for(let t=0;t<e.length;t++){const e=Math.round(1e3*Math.random())+h[t],s=i[t%i.length];if("X"===s)p.push(d.pop());else{const t=n[s],i=t?t[e%t.length]:s;p.push(i)}}return p.join("")},generatePronounceable(e){const t=i.phonetic.generate({length:e.length});let n="";const s=[];let r;if(e.upper)for(r=0;r<t.length;r+=8)s.push(Math.floor(Math.random()*e.length));for(r=0;r<t.length;r++){let e=t[r];s.indexOf(r)>=0&&(e=e.toUpperCase()),n+=e}return n.substr(0,e.length)},deriveOpts(e){const t={};let n=0;if(e){const s=o;e.forEachChar((e=>{n++,e=String.fromCharCode(e);for(const[n,i]of Object.entries(s))i.indexOf(e)>=0&&(t[n]=!0)}))}return t.length=n,t}}},8709:(e,t,n)=>{"use strict";n.r(t),n.d(t,{phonetic:()=>d});const s=["b","c","d","f","g","h","j","k","l","m","n","p","qu","r","s","t","bl","ch","cl","cr","dr","fl","fr","gl","gr","kl","kr","ph","pr","pl","sc","sh","sl","sn","sr","st","str","sw","th","tr","br","v","w","y","z"],i=["a","e","i","o","u","ee","ie","oo","ou","ue"],r=["b","d","f","g","k","l","m","n","p","r","s","t","y","ch","ck","ln","nk","ng","rn","sh","sk","st","th","x","z"],o={quu:"que","qu([aeiou]){2}":"qu$1","[iu]y":"ey",eye:"ye","(.)ye$":"$1y","(^|e)cie(?!$)":"$1cei","([vz])$":"$1e","[iu]w":"ow"};function a(e){const t=l(e.numeric),n=t%e.opts.compoundSimplicity==0,o=""===e.word;o&&t%6>0||e.lastSkippedPost||n?(e.word+=c(s,16,e),e.lastSkippedPre=!1):e.lastSkippedPre=!0,e.word+=c(i,5,e,o&&e.lastSkippedPre),e.lastSkippedPre||n?(e.word+=c(r,13,e),e.lastSkippedPost=!1):e.lastSkippedPost=!0}function l(e){let t=1;for(;e;)t+=e%7,e=Math.floor(e/7);return t}function c(e,t,n,s){const i=l(n.numeric),r=(n.numeric+i)%n.opts.phoneticSimplicity>0||s?t:e.length,o=e[n.numeric%r];return n.numeric=u(n.numeric+n.word),o}function u(e){let t=0;for(let n=0,s=(e+="-Phonetic").length;n<s;n++){t=(t<<5)-t+e.charCodeAt(n),t>>>=0}return t}const d={generate:function(e){const t=(e=function(e){const t={};return e=e||{},t.length=e.length||16,t.seed=e.seed||Math.random(),t.phoneticSimplicity=e.phoneticSimplicity?Math.max(e.phoneticSimplicity,1):5,t.compoundSimplicity=e.compoundSimplicity?Math.max(e.compoundSimplicity,1):5,t}(e)).length,n={numeric:u(e.seed),lastSkippedPost:!1,word:"",opts:e},s=t+5;for(;n.word.length<s;)a(n);return function(e){let t;for(const n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t=new RegExp(n),e.word=e.word.replace(t,o[n]));return e.word}(n).substr(0,t)}}},1504:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KdbxwebInit:()=>l});var s=n(3617),i=n(2363),r=n(667),o=n(3006);const a=new i.Logger("argon2"),l={init(){s.CryptoEngine.setArgon2Impl(((...e)=>this.argon2(...e)))},argon2(e,t,n,s,i,r,o,l){const c={password:e,salt:t,memory:n,iterations:s,length:i,parallelism:r,type:o,version:l};return this.loadRuntime(n).then((e=>{const t=a.ts();return e.hash(c).then((e=>(a.debug("Hash computed",a.ts(t)),e)))}))},loadRuntime(e){return this.runtimeModule?Promise.resolve(this.runtimeModule):n.g.WebAssembly?r.Features.isDesktop?(a.debug("Using native argon2"),this.runtimeModule={hash(e){const t=a.ts(),n=s.ProtectedValue.fromBinary(e.password).dataAndSalt(),i=s.ProtectedValue.fromBinary(e.salt).dataAndSalt();return o.NativeModules.argon2(n,i,{type:e.type,version:e.version,hashLength:e.length,saltLength:e.salt.length,timeCost:e.iterations,parallelism:e.parallelism,memoryCost:e.memory}).then((e=>(n.data.fill(0),i.data.fill(0),a.debug("Argon2 hash calculated",a.ts(t)),(e=new s.ProtectedValue(e.data,e.salt)).getBinary()))).catch((e=>{throw n.data.fill(0),i.data.fill(0),a.error("Argon2 error",e),e}))}},Promise.resolve(this.runtimeModule)):new Promise(((t,s)=>{const i=setTimeout((()=>s("timeout")),5e3);try{const r=a.ts(),o=n(3401).Z,c=n(3e3),u=1048576,d=65536,h=(2*(1024*(1024*u))-64*u)/1024/d,p=Math.min(Math.max(Math.ceil(1024*e/d),256)+256,h),m=`var wasmMemory=new WebAssembly.Memory({initial:${p},maximum:${h}});`,g='var Module={wasmJSMethod: "native-wasm",wasmBinary: Uint8Array.from(atob("'+c+'"), c => c.charCodeAt(0)),print(...args) { postMessage({op:"log",args}) },printErr(...args) { postMessage({op:"log",args}) },postRun:'+this.workerPostRun.toString()+",calcHash:"+this.calcHash.toString()+",wasmMemory:wasmMemory,buffer:wasmMemory.buffer,TOTAL_MEMORY:"+p*d+"}",f=o.replace(/^var Module.*?}/,m+g),A=new Blob([f],{type:"application/javascript"}),y=URL.createObjectURL(A),v=new Worker(y),b=e=>{switch(e.data.op){case"log":a.debug(...e.data.args);break;case"postRun":a.debug("WebAssembly runtime loaded (web worker)",a.ts(r)),URL.revokeObjectURL(y),clearTimeout(i),v.removeEventListener("message",b),this.runtimeModule={hash:e=>new Promise(((t,n)=>{v.postMessage(e);const s=e=>{if(v.removeEventListener("message",s),v.terminate(),l.runtimeModule=null,e.data&&!e.data.error&&e.data.hash)t(e.data.hash);else{const t=e.data&&e.data.error||"unexpected error";a.error("Worker error",t),n(t)}};v.addEventListener("message",s)}))},t(this.runtimeModule);break;default:a.error("Unknown message",e.data),URL.revokeObjectURL(y),s("Load error")}};v.addEventListener("message",b)}catch(e){s(e)}})).catch((e=>{throw a.warn("WebAssembly error",e),new Error("WebAssembly error")})):Promise.reject("WebAssembly is not supported")},workerPostRun:function(){self.postMessage({op:"postRun"}),self.onmessage=e=>{try{const t=Module.calcHash(Module,e.data);self.postMessage({hash:t})}catch(e){self.postMessage({error:e.toString()})}}},calcHash:function(e,t){let{password:n,salt:s}=t;const{memory:i,iterations:r,length:o,parallelism:a,type:l,version:c}=t,u=n.byteLength;n=e.allocate(new Uint8Array(n),"i8",e.ALLOC_NORMAL);const d=s.byteLength;s=e.allocate(new Uint8Array(s),"i8",e.ALLOC_NORMAL);const h=e.allocate(new Array(o),"i8",e.ALLOC_NORMAL),p=e.allocate(new Array(512),"i8",e.ALLOC_NORMAL),m=e._argon2_hash(r,i,a,n,u,s,d,h,o,p,512,l,c);if(m)throw new Error("Argon2 error "+m);const g=new Uint8Array(o);for(let t=0;t<o;t++)g[t]=e.HEAP8[h+t];return e._free(n),e._free(s),e._free(h),e._free(p),g}}},9689:(e,t,n)=>{"use strict";n.r(t);var s=n(3617);const i="{REF:0@I:00000000000000000000000000000000}".split(""),r=i.length;s.ProtectedValue.prototype.isProtected=!0,s.ProtectedValue.prototype.forEachChar=function(e){const t=this.value,n=this.salt;let s,i,r,o;for(let a=0,l=t.length;a<l;a++)if(s=t[a]^n[a],s<128){if(!1===e(s))return}else{if(a++,i=t[a]^n[a],a===l)break;if(s>=192&&s<224){if(!1===e((31&s)<<6|63&i))return}else{if(a++,r=t[a]^n[a],a===l)break;if(s>=224&&s<240&&!1===e((15&s)<<12|(63&i)<<6|63&r))return;if(a++,o=t[a]^n[a],a===l)break;if(s>=240&&s<248){let t=(7&s)<<18|(63&i)<<12|(63&r)<<6|63&o;if(t<=65535){if(!1===e(t))return}else{if(t^=65536,!1===e(55296|t>>10))return;if(!1===e(56320|1023&t))return}}}}},Object.defineProperty(s.ProtectedValue.prototype,"length",{get(){return this.textLength}}),Object.defineProperty(s.ProtectedValue.prototype,"textLength",{get(){let e=0;return this.forEachChar((()=>{e++})),e}}),s.ProtectedValue.prototype.includesLower=function(e){return-1!==this.indexOfLower(e)},s.ProtectedValue.prototype.indexOfLower=function(e){let t=-1;const n=[],s=e.length;let i=-1;return this.forEachChar((r=>{if(i++,r=String.fromCharCode(r).toLowerCase(),-1===t){for(let o=0;o<n.length;o++){const a=++n[o];if(e[a]===r){if(a===s-1)return void(t=i-s+1)}else n.splice(o,1),o--}e[0]===r&&(1===s?t=i-s+1:n.push(0))}})),t},s.ProtectedValue.prototype.indexOfSelfInLower=function(e){let t=-1,n=!1;do{let s=-1;this.forEachChar((i=>{if(s++,i=String.fromCharCode(i).toLowerCase(),0===s)return t=e.indexOf(i,t+1),void(n=-1!==t);n&&(n=e[t+s]===i)}))}while(!n&&t>=0);return t},s.ProtectedValue.prototype.equals=function(e){if(!e)return!1;if(!e.isProtected)return this.textLength===e.length&&this.includes(e);if(e===this)return!0;const t=this.byteLength;if(t!==e.byteLength)return!1;for(let n=0;n<t;n++)if((this.value[n]^this.salt[n])!=(e.value[n]^e.salt[n]))return!1;return!0},s.ProtectedValue.prototype.isFieldReference=function(){if(this.byteLength!==r)return!1;let e=0;return this.forEachChar((t=>{const n=i[e++];if("0"!==n&&t!==n)return!1})),!0};const o=s.CryptoEngine.random(128);s.ProtectedValue.prototype.saltedValue=function(){if(!this.byteLength)return 0;const e=this.value,t=this.salt;let n="";for(let s=0,i=e.length;s<i;s++){const i=e[s]^t[s];n+=String.fromCharCode(i^o[s%o.length])}return n},s.ProtectedValue.prototype.dataAndSalt=function(){return{data:[...this.value],salt:[...this.salt]}},s.ProtectedValue.prototype.toBase64=function(){const e=this.getBinary(),t=s.ByteUtils.bytesToBase64(e);return s.ByteUtils.zeroBuffer(e),t},s.ProtectedValue.fromBase64=function(e){const t=s.ByteUtils.base64ToBytes(e);return s.ProtectedValue.fromBinary(t)}},3297:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Locale:()=>s});var s=n(6846)},2363:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Logger:()=>r});const s={Off:0,Error:1,Warn:2,Info:3,Debug:4,All:5},i=[],r=function(e,t,n=s.All){this.prefix=e?e+(t?":"+t:""):"default",this.level=n};r.prototype.ts=function(e){return e?Math.round(performance.now()-e)+"ms":performance.now()},r.prototype.getPrefix=function(){return(new Date).toISOString()+" ["+this.prefix+"] "},r.prototype.debug=function(...e){e[0]=this.getPrefix()+e[0],this.level>=s.Debug&&(r.saveLast("debug",e),console.log(...e))},r.prototype.info=function(...e){e[0]=this.getPrefix()+e[0],this.level>=s.Info&&(r.saveLast("info",e),console.info(...e))},r.prototype.warn=function(...e){e[0]=this.getPrefix()+e[0],this.level>=s.Warn&&(r.saveLast("warn",e),console.warn(...e))},r.prototype.error=function(...e){e[0]=this.getPrefix()+e[0],this.level>=s.Error&&(r.saveLast("error",e),console.error(...e))},r.prototype.setLevel=function(e){this.level=e},r.prototype.getLevel=function(){return this.level},r.saveLast=function(e,t){i.push({level:e,args:Array.prototype.slice.call(t)}),i.length>100&&i.shift()},r.getLast=function(){return i},r.Level=s},2547:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FileSaver:()=>i});var s=n(403);const i={saveAs(e,t){const n=document.createElement("a");n.download=t,n.rel="noopener",n.href=URL.createObjectURL(e),document.body.appendChild(n),n.click(),document.body.removeChild(n),setTimeout((()=>{URL.revokeObjectURL(n.href)}),s.Timeouts.LinkDownloadRevoke)}}},7609:(e,t,n)=>{"use strict";n.r(t),n.d(t,{InputFx:()=>s});const s={shake(e){e.addClass("input-shake"),setTimeout((()=>e.removeClass("input-shake")),1e3)}}},3710:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Tip:()=>a});var s=n(7201),i=n(667),r=n(6838),o=n(6718);const a=function(e,t){this.el=e,this.title=t&&t.title||e.attr("title"),this.placement=t&&t.placement||e.attr("tip-placement"),this.fast=t&&t.fast||!1,this.tipEl=null,this.showTimeout=null,this.hideTimeout=null,this.force=t&&t.force||!1,this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this),this.mouseenter=this.mouseenter.bind(this),this.mouseleave=this.mouseleave.bind(this)};a.enabled=!i.Features.isMobile,a.prototype.init=function(){a.enabled&&(this.el.removeAttr("title"),this.el.attr("data-title",this.title),this.el.mouseenter(this.mouseenter).mouseleave(this.mouseleave),this.el.click(this.mouseleave))},a.prototype.show=function(){if(!a.enabled&&!this.force||!this.title)return;s.Events.on("page-geometry",this.hide),this.tipEl&&(this.tipEl.remove(),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null));const e=this.tipEl=o("<div></div>").addClass("tip").appendTo("body").text(this.title),t=this.el[0].getBoundingClientRect(),n=this.tipEl[0].getBoundingClientRect(),i=this.placement||this.getAutoPlacement(t,n);let r,l;e.addClass("tip--"+i),this.fast&&e.addClass("tip--fast");switch(i){case"top":r=t.top-n.height-10,l=t.left+t.width/2-n.width/2;break;case"top-left":r=t.top-n.height-10,l=t.left+t.width/2-n.width+10;break;case"bottom":r=t.bottom+10,l=t.left+t.width/2-n.width/2;break;case"left":r=t.top+t.height/2-n.height/2,l=t.left-n.width-10;break;case"right":r=t.top+t.height/2-n.height/2,l=t.right+10}e.css({top:r,left:l})},a.prototype.hide=function(){this.tipEl&&(this.tipEl.remove(),this.tipEl=null,s.Events.off("page-geometry",this.hide))},a.prototype.destroy=function(){this.hide(),this.el.off("mouseenter",this.mouseenter),this.el.off("mouseleave",this.mouseleave),this.el.off("click",this.mouseleave),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)},a.prototype.mouseenter=function(){this.showTimeout||(this.showTimeout=setTimeout((()=>{this.showTimeout=null,this.show()}),200))},a.prototype.mouseleave=function(){this.tipEl&&(this.tipEl.addClass("tip--hide"),this.hideTimeout=setTimeout((()=>{this.hideTimeout=null,this.hide()}),500)),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)},a.prototype.getAutoPlacement=function(e,t){const n=document.body.getBoundingClientRect(),s=n.bottom-e.bottom>20+t.height,i=n.right-e.right>20+t.width/2,r=n.right-e.right>20+t.width,o=e.left>20+t.width/2,a=e.left>20+t.width;return s?a&&!i?"left":r&&!o?"right":"bottom":a&&!i?"left":r&&!o?"right":"top"},a.createTips=function(e){a.enabled&&o("[title]",e).each(((e,t)=>{a.createTip(t)}))},a.createTip=function(e,t){if(!(a.enabled||t&&t.force))return;const n=new a(o(e),t);return t&&t.noInit||n.init(),e._tip=n,n},a.hideTips=function(e){a.enabled&&e&&o("[data-title]",e).each(((e,t)=>{a.hideTip(t)}))},a.hideTip=function(e){e._tip&&e._tip.hide()},a.updateTip=function(e,t){e._tip&&(e._tip.hide(),Object.assign(e._tip,(0,r.pick)(t,["title","placement","fast","showTimeout","hideTimeout"])))},a.destroyTips=function(e){o("[data-title]",e).each(((e,t)=>{t._tip&&(t._tip.destroy(),t._tip=void 0)}))}},2014:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AppView:()=>F});var s=n(7779),i=n(7201),r=n(5665),o=n(1164),a=n(9491),l=n(111),c=n(4530),u=n(2977),d=n(2706),h=n(667),p=n(3297),m=n(2363),g=n(8009),f=n(2766),A=n(1864),y=n(1434),v=n(5249),b=n(7953),w=n(5984),k=n(7622),C=n(7780),_=n(9676),E=n(6498),x=n(2791),I=n(4199),S=n(9993),D=n(97),B=n(357),P=n(4062),T=n.n(P);class F extends s.View{constructor(e){super(e),this.parent="body",this.template=T(),this.events={contextmenu:"contextMenu",drop:"drop",dragenter:"dragover",dragover:"dragover","click a[target=_blank]":"extLinkClick",mousedown:"bodyClick"},this.titlebarStyle="default",this.titlebarStyle=this.model.settings.titlebarStyle,this.views.menu=new E.MenuView(this.model.menu,{ownParent:!0}),this.views.menuDrag=new A.DragView("x",{parent:".app__menu-drag"}),this.views.footer=new v.FooterView(this.model,{ownParent:!0}),this.views.listWrap=new _.ListWrapView(this.model,{ownParent:!0}),this.views.list=new C.ListView(this.model,{ownParent:!0}),this.views.listDrag=new A.DragView("x",{parent:".app__list-drag"}),this.views.list.dragView=this.views.listDrag,this.views.details=new f.DetailsView(void 0,{ownParent:!0}),this.views.details.appModel=this.model,"default"!==this.titlebarStyle&&h.Features.renderCustomTitleBar&&(this.views.titlebar=new B.TitlebarView(this.model)),this.views.menu.listenDrag(this.views.menuDrag),this.views.list.listenDrag(this.views.listDrag),this.listenTo(this.model.settings,"change:theme",this.setTheme),this.listenTo(this.model.settings,"change:locale",this.setLocale),this.listenTo(this.model.settings,"change:fontSize",this.setFontSize),this.listenTo(this.model.settings,"change:autoSaveInterval",this.setupAutoSave),this.listenTo(this.model.files,"change",this.fileListUpdated),this.listenTo(i.Events,"select-all",this.selectAll),this.listenTo(i.Events,"menu-select",this.menuSelect),this.listenTo(i.Events,"lock-workspace",this.lockWorkspace),this.listenTo(i.Events,"show-file",this.showFileSettings),this.listenTo(i.Events,"open-file",this.toggleOpenFile),this.listenTo(i.Events,"save-all",this.saveAll),this.listenTo(i.Events,"remote-key-changed",this.remoteKeyChanged),this.listenTo(i.Events,"key-change-pending",this.keyChangePending),this.listenTo(i.Events,"toggle-settings",this.toggleSettings),this.listenTo(i.Events,"toggle-menu",this.toggleMenu),this.listenTo(i.Events,"toggle-details",this.toggleDetails),this.listenTo(i.Events,"show-open-view",this.showOpenIfNotThere),this.listenTo(i.Events,"edit-group",this.editGroup),this.listenTo(i.Events,"edit-tag",this.editTag),this.listenTo(i.Events,"edit-generator-presets",this.editGeneratorPresets),this.listenTo(i.Events,"launcher-open-file",this.launcherOpenFile),this.listenTo(i.Events,"user-idle",this.userIdle),this.listenTo(i.Events,"os-lock",this.osLocked),this.listenTo(i.Events,"power-monitor-suspend",this.osLocked),this.listenTo(i.Events,"app-minimized",this.appMinimized),this.listenTo(i.Events,"show-context-menu",this.showContextMenu),this.listenTo(i.Events,"second-instance",this.showSingleInstanceAlert),this.listenTo(i.Events,"enter-full-screen",this.enterFullScreen),this.listenTo(i.Events,"leave-full-screen",this.leaveFullScreen),this.listenTo(i.Events,"import-csv-requested",this.showImportCsv),this.listenTo(i.Events,"launcher-before-quit",this.launcherBeforeQuit),this.listenTo(d.UpdateModel,"change:updateReady",this.updateApp),window.onbeforeunload=this.beforeUnload.bind(this),window.onresize=this.windowResize.bind(this),window.onblur=this.windowBlur.bind(this),this.onKey(u.Keys.DOM_VK_ESCAPE,this.escPressed),this.onKey(u.Keys.DOM_VK_BACK_SPACE,this.backspacePressed),a.Launcher&&a.Launcher.devTools&&this.onKey(u.Keys.DOM_VK_I,this.openDevTools,o.KeyHandler.SHORTCUT_ACTION+o.KeyHandler.SHORTCUT_OPT,"*"),this.setWindowClass(),this.setupAutoSave()}setWindowClass(){const e=h.Features.browserCssClass;e&&document.body.classList.add(e),"default"!==this.titlebarStyle&&(document.body.classList.add("titlebar-"+this.titlebarStyle),h.Features.renderCustomTitleBar&&document.body.classList.add("titlebar-custom")),h.Features.isMobile&&document.body.classList.add("mobile")}render(){var e;super.render({beta:this.model.isBeta,titlebarStyle:this.titlebarStyle,customTitlebar:h.Features.renderCustomTitleBar}),this.panelEl=this.$el.find(".app__panel:first"),this.views.listWrap.render(),this.views.menu.render(),this.views.menuDrag.render(),this.views.footer.render(),this.views.list.render(),this.views.listDrag.render(),this.views.details.render(),null===(e=this.views.titlebar)||void 0===e||e.render(),this.showLastOpenFile()}showOpenFile(){this.hideContextMenu(),this.views.menu.hide(),this.views.menuDrag.$el.parent().hide(),this.views.listWrap.hide(),this.views.list.hide(),this.views.listDrag.hide(),this.views.details.hide(),this.views.footer.toggle(this.model.files.hasOpenFiles()),this.hidePanelView(),this.hideSettings(),this.hideOpenFile(),this.hideKeyChange(),this.hideImportCsv(),this.views.open=new x.OpenView(this.model),this.views.open.render(),this.views.open.on("close",(()=>{this.showEntries()}))}showLastOpenFile(){this.showOpenFile();const e=this.model.fileInfos[0];e&&(this.views.open.currentSelectedIndex=0,this.views.open.showOpenFileInfo(e))}launcherOpenFile(e){e&&e.data&&/\.kdbx$/i.test(e.data)&&(this.showOpenFile(),this.views.open.showOpenLocalFile(e.data,e.key))}updateApp(){"ready"!==d.UpdateModel.updateStatus||a.Launcher||this.model.files.hasOpenFiles()||window.location.reload()}showEntries(){this.views.menu.show(),this.views.menuDrag.$el.parent().show(),this.views.listWrap.show(),this.views.listDrag.show(),this.views.details.show(),this.views.footer.show(),this.hidePanelView(),this.hideOpenFile(),this.hideSettings(),this.hideKeyChange(),this.hideImportCsv(),this.views.list.show()}hideOpenFile(){this.views.open&&(this.views.open.remove(),this.views.open=null)}hidePanelView(){this.views.panel&&(this.views.panel.remove(),this.views.panel=null,this.panelEl.addClass("hide"))}showPanelView(e){this.views.listWrap.hide(),this.views.list.hide(),this.views.listDrag.hide(),this.views.details.hide(),this.hidePanelView(),e.render(),this.views.panel=e,this.panelEl.removeClass("hide")}hideSettings(){this.views.settings&&(this.model.menu.setMenu("app"),this.views.settings.remove(),this.views.settings=null)}hideKeyChange(){this.views.keyChange&&(this.views.keyChange.hide(),this.views.keyChange=null)}hideImportCsv(){this.views.importCsv&&(this.views.importCsv.remove(),this.views.importCsv=null)}showSettings(e){this.model.menu.setMenu("settings"),this.views.menu.show(),this.views.menuDrag.$el.parent().show(),this.views.listWrap.hide(),this.views.list.hide(),this.views.listDrag.hide(),this.views.details.hide(),this.hidePanelView(),this.hideOpenFile(),this.hideKeyChange(),this.hideImportCsv(),this.views.settings=new I.SettingsView(this.model),this.views.settings.render(),e||(e=this.model.menu.generalSection.items[0]),this.model.menu.select({item:e}),this.views.menu.switchVisibility(!1)}showEditGroup(e){this.showPanelView(new w.GrpView(e))}showEditTag(){this.showPanelView(new S.TagView(this.model))}showKeyChange(e,t){c.Alerts.alertDisplayed||this.views.keyChange&&this.views.keyChange.model.remote||(this.hideSettings(),this.hidePanelView(),this.views.menu.hide(),this.views.listWrap.hide(),this.views.list.hide(),this.views.listDrag.hide(),this.views.details.hide(),this.views.keyChange=new k.KeyChangeView({file:e,expired:t.expired,remote:t.remote}),this.views.keyChange.render(),this.views.keyChange.on("accept",this.keyChangeAccept.bind(this)),this.views.keyChange.on("cancel",this.showEntries.bind(this)))}fileListUpdated(){this.model.files.hasOpenFiles()?this.showEntries():(this.showOpenFile(),this.selectLastOpenFile())}showFileSettings(e){const t=this.model.menu.filesSection.items.find((t=>t.file.id===e.fileId));this.views.settings?this.views.settings.file===t.file?this.showEntries():this.model.menu.select({item:t}):this.showSettings(t)}toggleOpenFile(){this.views.open?this.model.files.hasOpenFiles()&&this.showEntries():this.showOpenFile()}launcherBeforeQuit(){const e={preventDefault(){}};!1!==this.beforeUnload(e)&&a.Launcher.exit()}beforeUnload(e){const t={preventDefault(){this.prevented=!0}};if(i.Events.emit("main-window-will-close",t),t.prevented)return!!a.Launcher&&a.Launcher.preventExit(e);let n=this.model.settings.minimizeOnClose;if(null!==a.Launcher&&void 0!==a.Launcher&&a.Launcher.quitOnRealQuitEventIfMinimizeOnQuitIsEnabled()&&(n=!1),this.model.files.hasDirtyFiles()){if(a.Launcher){const t=()=>{n?a.Launcher.minimizeApp():a.Launcher.exit()};if(a.Launcher.exitRequested)return;if(!this.exitAlertShown){if(this.model.settings.autoSave)return this.saveAndLock((e=>{e&&t()}),{appClosing:!0}),a.Launcher.preventExit(e);this.exitAlertShown=!0,c.Alerts.yesno({header:p.Locale.appUnsavedWarn,body:p.Locale.appUnsavedWarnBody,buttons:[{result:"save",title:p.Locale.saveChanges},{result:"exit",title:p.Locale.discardChanges,error:!0},{result:"",title:p.Locale.appDontExitBtn}],success:e=>{"save"===e?this.saveAndLock((e=>{e&&t()}),{appClosing:!0}):t()},cancel:()=>{a.Launcher.cancelRestart(!1)},complete:()=>{this.exitAlertShown=!1}})}return a.Launcher.preventExit(e)}return p.Locale.appUnsavedWarnBody}return a.Launcher&&!a.Launcher.exitRequested&&!a.Launcher.restartPending&&n?(a.Launcher.minimizeApp(),this.appMinimized(),a.Launcher.preventExit(e)):void 0}windowResize(){i.Events.emit("page-geometry",{source:"window"})}windowBlur(e){e.target===window&&i.Events.emit("page-blur")}enterFullScreen(){this.$el.addClass("fullscreen")}leaveFullScreen(){this.$el.removeClass("fullscreen")}escPressed(){this.views.open&&this.model.files.hasOpenFiles()&&this.showEntries()}backspacePressed(e){e.target===document.body&&e.preventDefault()}openDevTools(){a.Launcher&&a.Launcher.devTools&&a.Launcher.openDevTools()}selectAll(){this.menuSelect({item:this.model.menu.allItemsSection.items[0]})}menuSelect(e){this.model.menu.select(e),this.views.panel&&!this.views.panel.isHidden()&&this.showEntries()}userIdle(){this.lockWorkspace(!0)}osLocked(){this.model.settings.lockOnOsLock&&this.lockWorkspace(!0)}appMinimized(){this.model.settings.lockOnMinimize&&this.lockWorkspace(!0)}lockWorkspace(e){if(!c.Alerts.alertDisplayed)if(this.model.files.hasUnsavedFiles())if(this.model.settings.autoSave)this.saveAndLock();else{const t=e?p.Locale.appCannotLockAutoInit:p.Locale.appCannotLock;c.Alerts.alert({icon:"lock",header:"Lock",body:t,buttons:[{result:"save",title:p.Locale.saveChanges},{result:"discard",title:p.Locale.discardChanges,error:!0},{result:"",title:p.Locale.alertCancel}],checkbox:p.Locale.appAutoSave,success:(e,t)=>{"save"===e?(t&&(this.model.settings.autoSave=t),this.saveAndLock()):"discard"===e&&this.model.closeAllFiles()}})}else this.closeAllFilesAndShowFirst()}saveAndLock(e,t){let n=0;const s=[];function i(i,r){if(r&&s.push(i.name),0==--n)if(s.length&&this.model.files.hasDirtyFiles())if(c.Alerts.alertDisplayed)e&&e(!1);else{const n=[c.Alerts.buttons.ok];let i=(s.length>1?p.Locale.appSaveErrorBodyMul:p.Locale.appSaveErrorBody)+" "+s.join(", ")+".";null!=t&&t.appClosing&&(n.unshift({result:"ignore",title:p.Locale.appSaveErrorExitLoseChanges,error:!0}),i+="\n"+p.Locale.appSaveErrorExitLoseChangesBody),c.Alerts.error({header:p.Locale.appSaveError,body:i,buttons:n,complete:t=>{"ignore"===t?(this.model.closeAllFiles(),e&&e(!0)):e&&e(!1)}})}else this.closeAllFilesAndShowFirst(),e&&e(!0)}this.model.files.forEach((function(e){e.dirty&&(this.model.syncFile(e,null,i.bind(this,e)),n++)}),this),n||this.closeAllFilesAndShowFirst()}closeAllFilesAndShowFirst(){if(!this.model.files.hasOpenFiles())return;let e=this.model.files.find((e=>!e.demo&&!e.created&&!e.skipOpenList));if(this.model.closeAllFiles(),e||(e=this.model.fileInfos[0]),e){const t=this.model.fileInfos.getMatch(e.storage,e.name,e.path);t&&this.views.open.showOpenFileInfo(t)}}selectLastOpenFile(){const e=this.model.fileInfos[0];e&&this.views.open.showOpenFileInfo(e)}saveAll(){this.model.files.forEach((function(e){this.model.syncFile(e)}),this)}setupAutoSave(){this.autoSaveTimer&&clearInterval(this.autoSaveTimer),this.model.settings.autoSaveInterval>0&&(this.autoSaveTimer=setInterval(this.saveAll.bind(this),1e3*this.model.settings.autoSaveInterval*60))}remoteKeyChanged(e){this.showKeyChange(e.file,{remote:!0})}keyChangePending(e){this.showKeyChange(e.file,{expired:!0})}keyChangeAccept(e){this.showEntries(),e.expired?(e.file.setPassword(e.password),e.keyFileData&&e.keyFileName?e.file.setKeyFile(e.keyFileData,e.keyFileName):e.file.removeKeyFile()):this.model.syncFile(e.file,{remoteKey:{password:e.password,keyFileName:e.keyFileName,keyFileData:e.keyFileData}})}toggleSettings(e,t){let n=e?this.model.menu[e+"Section"]:null;n&&(n=t&&n.items.find((e=>e.section===t))||n.items[0]),this.views.settings?this.views.settings.page!==e&&n?this.model.menu.select({item:n}):this.model.files.hasOpenFiles()?this.showEntries():(this.showLastOpenFile(),this.views.open.toggleMore()):(this.showSettings(),n&&this.model.menu.select({item:n}))}toggleMenu(){this.views.menu.switchVisibility()}toggleDetails(e){this.$el.toggleClass("app--details-visible",e),this.views.menu.switchVisibility(!1)}showOpenIfNotThere(){this.views.open||this.showLastOpenFile()}editGroup(e){!e||this.views.panel instanceof w.GrpView?this.showEntries():this.showEditGroup(e)}editTag(e){!e||this.views.panel instanceof S.TagView?this.showEntries():(this.showEditTag(),this.views.panel.showTag(e))}editGeneratorPresets(){this.views.panel instanceof b.GeneratorPresetsView?this.showEntries():(this.views.settings&&this.showEntries(),this.showPanelView(new b.GeneratorPresetsView(this.model)))}isContextMenuAllowed(e){return["input","textarea"].indexOf(e.target.tagName.toLowerCase())<0}contextMenu(e){this.isContextMenuAllowed(e)&&e.preventDefault()}showContextMenu(e){if(e.options&&this.isContextMenuAllowed(e)){e.stopImmediatePropagation(),e.preventDefault(),this.views.contextMenu&&this.views.contextMenu.remove();const t=new y.DropdownView(e);t.render({position:{left:e.pageX,top:e.pageY},options:e.options}),t.on("cancel",(e=>this.hideContextMenu())),t.on("select",(e=>this.contextMenuSelect(e))),this.views.contextMenu=t}}hideContextMenu(){this.views.contextMenu&&(this.views.contextMenu.remove(),delete this.views.contextMenu)}contextMenuSelect(e){this.hideContextMenu(),i.Events.emit("context-menu-select",e)}showSingleInstanceAlert(){this.hideOpenFile(),c.Alerts.error({header:p.Locale.appTabWarn,body:p.Locale.appTabWarnBody,esc:!1,enter:!1,click:!1,buttons:[]})}dragover(e){e.preventDefault(),e.dataTransfer.dropEffect="none"}drop(e){e.preventDefault()}setTheme(){l.SettingsManager.setTheme(this.model.settings.theme)}setFontSize(){l.SettingsManager.setFontSize(this.model.settings.fontSize)}setLocale(){l.SettingsManager.setLocale(this.model.settings.locale),this.views.settings.isVisible()&&(this.hideSettings(),this.showSettings()),this.$el.find(".app__beta:first").text(p.Locale.appBeta)}extLinkClick(e){if(a.Launcher){e.preventDefault();const t=e.target.closest("a");null!=t&&t.href&&a.Launcher.openLink(t.href)}}bodyClick(e){r.IdleTracker.regUserAction(),i.Events.emit("click",e)}showImportCsv(e){const t=new FileReader,n=new m.Logger("import-csv");n.info("Reading CSV..."),t.onload=t=>{n.info("Parsing CSV...");const s=n.ts(),i=new g.CsvParser;let r;try{r=i.parse(t.target.result)}catch(t){return n.error("Error parsing CSV",t),void c.Alerts.error({header:p.Locale.openFailedRead,body:t.toString()})}n.info(`Parsed CSV: ${r.rows.length} records, ${n.ts(s)}`),this.hideSettings(),this.hidePanelView(),this.hideOpenFile(),this.hideKeyChange(),this.views.menu.hide(),this.views.listWrap.hide(),this.views.list.hide(),this.views.listDrag.hide(),this.views.details.hide(),this.views.importCsv=new D.ImportCsvView(r,{appModel:this.model,fileName:e.name}),this.views.importCsv.render(),this.views.importCsv.on("cancel",(()=>{this.model.files.hasOpenFiles()?this.showEntries():this.showOpenFile()})),this.views.importCsv.on("done",(()=>{this.model.refresh(),this.showEntries()}))},t.onerror=()=>{c.Alerts.error({header:p.Locale.openFailedRead})},t.readAsText(e)}}},2385:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AutoTypeHintView:()=>u});var s=n(7779),i=n(9673),r=n(403),o=n(667),a=n(7410),l=n.n(a),c=n(6718);class u extends s.View{constructor(e){super(e),this.parent="body",this.template=l(),this.events={},this.input=e.input,this.bodyClick=this.bodyClick.bind(this),this.inputBlur=this.inputBlur.bind(this),c("body").on("click",this.bodyClick),this.input.addEventListener("blur",this.inputBlur),this.once("remove",(()=>{c("body").off("click",this.bodyClick),this.input.removeEventListener("blur",this.inputBlur)}))}render(){super.render({cmd:o.Features.isMac?"command":"ctrl",hasCtrl:o.Features.isMac,link:i.Links.AutoType});const e=this.input.getBoundingClientRect();this.$el.appendTo(document.body).css({left:e.left,top:e.bottom+1,width:e.width});const t=this.$el[0].getBoundingClientRect(),n=document.body.getBoundingClientRect();t.bottom>n.bottom&&this.$el.css("height",t.height+n.bottom-t.bottom-1)}bodyClick(e){if(this.removeTimer&&(clearTimeout(this.removeTimer),this.removeTimer=null),e.target!==this.input)if(c.contains(this.$el[0],e.target)||e.target===this.$el[0]){if(e.stopPropagation(),"a"===e.target.tagName.toLowerCase()&&!e.target.href){let t=c(e.target).text();"{"!==t[0]&&(t=t.split(" ")[0]),this.insertText(t)}this.input.focus()}else this.remove();else e.stopPropagation()}inputBlur(){this.removeTimer||(this.removeTimer=setTimeout(this.remove.bind(this),r.Timeouts.DropDownClickWait))}insertText(e){const t=this.input.selectionEnd||this.input.value.length;this.input.value=this.input.value.substr(0,t)+e+this.input.value.substr(t),this.input.selectionStart=this.input.selectionEnd=t+e.length,this.input.dispatchEvent(new Event("input",{bubbles:!0}))}}},3122:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DetailsAddFieldView:()=>o});var s=n(7779),i=n(617),r=n.n(i);class o extends s.View{constructor(...e){super(...e),this.parent=".details__body-fields",this.template=r(),this.events={"click .details__field-label":"fieldLabelClick","click .details__field-value":"fieldValueClick"}}render(){super.render(),this.labelEl=this.$el.find(".details__field-label")}fieldLabelClick(){this.emit("more-click")}fieldValueClick(){this.emit("add-field")}}},2550:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DetailsAttachmentView:()=>c});var s=n(7779),i=n(7027),r=n(667),o=n(3388),a=n.n(o),l=n(6718);class c extends s.View{constructor(...e){super(...e),this.template=a(),this.events={"click .details__subview-close":"closeAttachment","click .details__attachment-preview-download-btn":"downloadAttachment"}}render(e){super.render({isMobile:r.Features.isMobile});this.$el.find(".details__attachment-preview-download-text-shortcut").text(i.Shortcuts.actionShortcutSymbol());const t=new Blob([this.model.getBinary()],{type:this.model.mimeType}),n=this.$el.find(".details__attachment-preview-data");switch((this.model.mimeType||"").split("/")[0]){case"text":{const s=new FileReader;return s.addEventListener("loadend",(()=>{l("<pre/>").text(s.result).appendTo(n),e()})),void s.readAsText(t)}case"image":return l("<img/>").attr("src",URL.createObjectURL(t)).appendTo(n),void e()}this.$el.addClass("details__attachment-preview--empty"),this.$el.find(".details__attachment-preview-icon").addClass("fa-"+this.model.icon),e()}downloadAttachment(){this.emit("download")}closeAttachment(){this.emit("close")}}},4184:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DetailsAutoTypeView:()=>d});var s=n(7779),i=n(3898),r=n(7027),o=n(3297),a=n(2385),l=n(1443),c=n.n(l),u=n(6718);class d extends s.View{constructor(...e){super(...e),this.parent=".details__body-after",this.template=c(),this.events={"focus #details__auto-type-sequence":"seqFocus","input #details__auto-type-sequence":"seqInput","keypress #details__auto-type-sequence":"seqKeyPress","keydown #details__auto-type-sequence":"seqKeyDown","change #details__auto-type-enabled":"enabledChange","change #details__auto-type-obfuscation":"obfuscationChange"}}render(){const e=o.Locale.detAutoTypeShortcutsDesc.replace("{}",r.Shortcuts.actionShortcutSymbol()+"T").replace("{}",r.Shortcuts.globalShortcutText("autoType"));super.render({enabled:this.model.getEffectiveEnableAutoType(),obfuscation:this.model.autoTypeObfuscation,sequence:this.model.autoTypeSequence,windows:this.model.autoTypeWindows,defaultSequence:this.model.group.getEffectiveAutoTypeSeq(),detAutoTypeShortcutsDesc:e})}seqInput(e){const t=e.target,n=t.value.trim();i.AutoType.validate(this.model,n,(e=>{u(t).toggleClass("input--error",!!e),e||this.model.setAutoTypeSeq(n)}))}seqKeyPress(e){e.stopPropagation()}seqKeyDown(e){e.stopPropagation()}seqFocus(e){this.views.hint||(this.views.hint=new a.AutoTypeHintView({input:e.target}),this.views.hint.render(),this.views.hint.on("remove",(()=>{delete this.views.hint})))}enabledChange(e){this.model.setEnableAutoType(e.target.checked)}obfuscationChange(e){this.model.setAutoTypeObfuscation(e.target.checked)}}},9042:(e,t,n)=>{"use strict";n.r(t),n.d(t,{createDetailsFields:()=>v,createNewCustomField:()=>b});var s=n(3297),i=n(2378),r=n(6098),o=n(2985),a=n(9260),l=n(8877),c=n(2836),u=n(2969),d=n(1297),h=n(1960),p=n(3033),m=n(2574),g=n(8108),f=n(4169),A=n(4984),y=n(7725);function v(e){const t=e.model,n=e.matchingOtpEntry,v=[],b=[];if("otp-device"===t.backend)b.push(new a.FieldViewReadOnly({name:"Device",title:i.StringFormat.capFirst(s.Locale.device),value:()=>t.device.name})),v.push(new A.FieldViewReadOnlyWithOptions({name:"$UserName",title:i.StringFormat.capFirst(s.Locale.user),aside:!1,value:()=>t.user,sequence:"{USERNAME}"})),v.push(new l.FieldViewOtp({name:"$otp",title:s.Locale.detOtpField,value:()=>t.otpGenerator,sequence:"{TOTP}",readonly:!0,needsTouch:t.needsTouch,deviceShortName:t.device.shortName}));else{const A=o.AppModel.instance.files.filter((e=>e.active&&!e.readOnly));if(t.isJustCreated&&A.length>1){const e=A.map((e=>({id:e.id,value:e.name,selected:e===t.file})));v.push(new c.FieldViewSelect({name:"$File",title:i.StringFormat.capFirst(s.Locale.file),value:()=>e}))}else t.backend?b.push(new a.FieldViewReadOnly({name:"Storage",title:i.StringFormat.capFirst(s.Locale.storage),value:()=>t.fileName})):b.push(new a.FieldViewReadOnly({name:"File",title:i.StringFormat.capFirst(s.Locale.file),value:()=>t.fileName}));v.push(new u.FieldViewAutocomplete({name:"$UserName",title:i.StringFormat.capFirst(s.Locale.user),value:()=>t.user,getCompletions:e.getUserNameCompletions.bind(e),sequence:"{USERNAME}"})),v.push(new d.FieldViewText({name:"$Password",title:i.StringFormat.capFirst(s.Locale.password),canGen:!0,value:()=>t.password,sequence:"{PASSWORD}"})),v.push(new h.FieldViewUrl({name:"$URL",title:i.StringFormat.capFirst(s.Locale.website),value:()=>t.url,sequence:"{URL}"})),v.push(new d.FieldViewText({name:"$Notes",title:i.StringFormat.capFirst(s.Locale.notes),multiline:"true",markdown:!0,value:()=>t.notes,sequence:"{NOTES}"})),t.file.supportsTags&&v.push(new p.FieldViewTags({name:"Tags",title:i.StringFormat.capFirst(s.Locale.tags),tags:o.AppModel.instance.tags,value:()=>t.tags})),t.file.supportsExpiration&&v.push(new m.FieldViewDate({name:"Expires",title:s.Locale.detExpires,lessThanNow:"("+s.Locale.detExpired+")",value:()=>t.expires})),b.push(new a.FieldViewReadOnly({name:"Group",title:s.Locale.detGroup,value:()=>t.groupName,tip:()=>t.getGroupPath().join(" / ")})),t.created&&b.push(new a.FieldViewReadOnly({name:"Created",title:s.Locale.detCreated,value:()=>r.DateFormat.dtStr(t.created)})),t.updated&&b.push(new a.FieldViewReadOnly({name:"Updated",title:s.Locale.detUpdated,value:()=>r.DateFormat.dtStr(t.updated)})),t.backend||b.push(new g.FieldViewHistory({name:"History",title:i.StringFormat.capFirst(s.Locale.history),value:()=>({length:t.historyLength,unsaved:t.unsaved})})),n&&v.push(new l.FieldViewOtp({name:"$otp",title:s.Locale.detOtpField,value:()=>n.otpGenerator,sequence:"{TOTP}",readonly:!0,needsTouch:n.needsTouch,deviceShortName:n.device.shortName}));for(const e of Object.keys(t.fields))if("otp"===e&&t.otpGenerator)n||v.push(new l.FieldViewOtp({name:"$"+e,title:s.Locale.detOtpField,value:()=>t.otpGenerator,sequence:"{TOTP}"}));else{e.startsWith(y.ExtraUrlFieldName)?v.push(new h.FieldViewUrl({name:"$"+e,title:i.StringFormat.capFirst(s.Locale.website),isExtraUrl:!0,value:()=>t.fields[e],sequence:`{S:${e}}`})):v.push(new f.FieldViewCustom({name:"$"+e,title:e,multiline:!0,value:()=>t.fields[e],sequence:`{S:${e}}`}))}}return{fieldViews:v,fieldViewsAside:b}}function b(e,t,n){return e.startsWith(y.ExtraUrlFieldName)?new h.FieldViewUrl({name:"$"+e,title:i.StringFormat.capFirst(s.Locale.website),newField:e,isExtraUrl:!0,value:()=>n.fields[e]},t):new f.FieldViewCustom({name:"$"+e,title:e,newField:e,multiline:!0,value:()=>""},t)}},264:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DetailsHistoryView:()=>f});var s=n(7779),i=n(4530),r=n(2977),o=n(6098),a=n(2378),l=n(3297),c=n(4796),u=n(9260),d=n(2402),h=n(6838),p=n(3445),m=n.n(p),g=n(6718);class f extends s.View{constructor(e,t){super(e,t),this.template=m(),this.events={"click .details__subview-close":"closeHistory","click .details__history-timeline-item":"timelineItemClick","click .details__history-arrow-prev":"timelinePrevClick","click .details__history-arrow-next":"timelineNextClick","click .details__history-button-revert":"revertClick","click .details__history-button-delete":"deleteClick","click .details__history-button-discard":"discardClick"},this.formats=[{name:"ms",round:1,format:e=>o.DateFormat.dtStr(e)},{name:"sec",round:1e3,format:e=>o.DateFormat.dtStr(e)},{name:"min",round:6e4,format:e=>o.DateFormat.dtStr(e).replace(":00 "," ")},{name:"hour",round:36e5,format:e=>o.DateFormat.dtStr(e).replace(":00","")},{name:"day",round:864e5,format:e=>o.DateFormat.dStr(e)},{name:"month",round:26784e5,format:e=>o.DateFormat.dStr(e)},{name:"year",round:31536e6,format:e=>e.getFullYear()}],this.fieldViews=[],this.visibleRecord=void 0,this.onKey(r.Keys.DOM_VK_ESCAPE,this.closeHistory),this.once("remove",(()=>{this.removeFieldViews()}))}render(){super.render(),this.history=this.model.getHistory(),this.buildTimeline(),this.timelineEl=this.$el.find(".details__history-timeline"),this.bodyEl=this.$el.find(".details__history-body"),this.timeline.forEach((function(e,t){g("<i/>").addClass("fa fa-circle details__history-timeline-item").css("left",100*e.pos+"%").attr("data-id",t).appendTo(this.timelineEl)}),this),this.labels.forEach((function(e){g("<div/>").addClass("details__history-timeline-label").css("left",100*e.pos+"%").text(e.text).appendTo(this.timelineEl)}),this);let e=this.visibleRecord;void 0===e&&(e=this.history.length-1),this.showRecord(e)}removeFieldViews(){this.fieldViews.forEach((e=>e.remove())),this.fieldViews=[]}showRecord(e){this.activeIx=e,this.record=this.timeline[e].rec,this.timelineEl.find(".details__history-timeline-item").removeClass("details__history-timeline-item--active"),this.timelineEl.find('.details__history-timeline-item[data-id="'+e+'"]').addClass("details__history-timeline-item--active"),this.removeFieldViews(),this.bodyEl.empty();const t=this.record.color?this.record.color+"-color":"";this.fieldViews.push(new u.FieldViewReadOnly({name:"Rev",title:l.Locale.detHistoryVersion,value:e+1})),this.fieldViews.push(new u.FieldViewReadOnly({name:"Updated",title:l.Locale.detHistorySaved,value:o.DateFormat.dtStr(this.record.updated)+(this.record.unsaved?" ("+l.Locale.detHistoryCurUnsavedState+")":"")+(e!==this.history.length-1||this.record.unsaved?"":" ("+l.Locale.detHistoryCurState+")")})),this.fieldViews.push(new d.FieldViewReadOnlyRaw({name:"$Title",title:a.StringFormat.capFirst(l.Locale.title),value:'<i class="fa fa-'+this.record.icon+" "+t+'"></i> '+(0,h.escape)(this.record.title)||0})),this.fieldViews.push(new u.FieldViewReadOnly({name:"$UserName",title:a.StringFormat.capFirst(l.Locale.user),value:this.record.user})),this.fieldViews.push(new u.FieldViewReadOnly({name:"$Password",title:a.StringFormat.capFirst(l.Locale.password),value:this.record.password})),this.fieldViews.push(new u.FieldViewReadOnly({name:"$URL",title:a.StringFormat.capFirst(l.Locale.website),value:this.record.url})),this.fieldViews.push(new u.FieldViewReadOnly({name:"$Notes",title:a.StringFormat.capFirst(l.Locale.notes),value:this.record.notes})),this.fieldViews.push(new u.FieldViewReadOnly({name:"Tags",title:a.StringFormat.capFirst(l.Locale.tags),value:this.record.tags.join(", ")})),this.fieldViews.push(new u.FieldViewReadOnly({name:"Expires",title:l.Locale.detExpires,value:this.record.expires?o.DateFormat.dtStr(this.record.expires):""}));for(const[e,t]of Object.entries(this.record.fields))this.fieldViews.push(new u.FieldViewReadOnly({name:"$"+e,title:e,value:t}));this.record.attachments.length&&this.fieldViews.push(new u.FieldViewReadOnly({name:"Attachments",title:l.Locale.detAttachments,value:this.record.attachments.map((e=>e.title)).join(", ")})),this.fieldViews.forEach((e=>{e.parent=this.bodyEl[0],e.render(),e.on("copy",this.fieldCopied.bind(this))}));const n=this.$el.find(".details__history-buttons");n.find(".details__history-button-revert").toggle(e<this.history.length-1),n.find(".details__history-button-delete").toggle(e<this.history.length-1),n.find(".details__history-button-discard").toggle(this.record.unsaved&&e===this.history.length-1&&this.history.length>1||!1)}timelineItemClick(e){const t=g(e.target).closest(".details__history-timeline-item").data("id");this.showRecord(t)}timelinePrevClick(){this.activeIx>0&&this.showRecord(this.activeIx-1)}timelineNextClick(){this.activeIx<this.timeline.length-1&&this.showRecord(this.activeIx+1)}buildTimeline(){const e=this.history[0],t=this.history[this.history.length-1];this.timeline=this.history.map((n=>({pos:(n.updated-e.updated)/(t.updated-e.updated),rec:n})));const n=t.updated-e.updated,s=this.getDateFormat(n);this.labels=this.getLabels(e.updated.getTime(),t.updated.getTime(),s.round).map((n=>({pos:(n-e.updated)/(t.updated-e.updated),val:n,text:s.format(new Date(n))})))}getDateFormat(e){for(let t=0;t<this.formats.length;t++)if(e<1.2*this.formats[t].round)return this.formats[t>0?t-1:0];return this.formats[this.formats.length-1]}getLabels(e,t,n){const s=Math.floor((t-e)/n);s>2&&(n*=Math.ceil(s/2));const i=[];let r=Math.ceil(e/n)*n;for(;r<t;)i.push(r),r+=n;return i.length>1&&(i[0]-e)/(t-e)<.1&&i.shift(),i}closeHistory(e){this.emit("close",{updated:e})}revertClick(){i.Alerts.yesno({header:l.Locale.detHistoryRevertAlert,body:l.Locale.detHistoryRevertAlertBody,success:()=>{this.model.revertToHistoryState(this.record.entry),this.closeHistory(!0)}})}deleteClick(){i.Alerts.yesno({header:l.Locale.detHistoryDeleteAlert,body:l.Locale.detHistoryDeleteAlertBody,success:()=>{this.model.deleteHistory(this.record.entry),this.visibleRecord=this.activeIx,this.render()}})}discardClick(){i.Alerts.yesno({header:l.Locale.detHistoryDiscardChangesAlert,body:l.Locale.detHistoryDiscardChangesAlertBody,success:()=>{this.model.discardUnsaved(),this.closeHistory(!0)}})}}Object.assign(f.prototype,c.Copyable)},2524:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DetailsIssuesView:()=>m});var s=n(7779),i=n(7201),r=n(5285),o=n.n(r),a=n(4530),l=n(403),c=n(3297),u=n(905),d=n(7614),h=n(9673),p=n(4558);class m extends s.View{constructor(e){super(e),this.parent=".details__issues-container",this.template=o(),this.events={"click .details__issues-close-btn":"closeIssuesClick"},this.passwordIssue=null,this.listenTo(d.AppSettingsModel,"change",this.settingsChanged),d.AppSettingsModel.auditPasswords&&this.checkPasswordIssues()}render(e){d.AppSettingsModel.auditPasswords?super.render({hibpLink:h.Links.HaveIBeenPwned,passwordIssue:this.passwordIssue,fadeIn:null==e?void 0:e.fadeIn}):super.render()}settingsChanged(){d.AppSettingsModel.auditPasswords&&this.checkPasswordIssues(),this.render()}passwordChanged(){const e=this.passwordIssue;if(this.checkPasswordIssues(),e!==this.passwordIssue){const t=!e;this.passwordIssue?this.render({fadeIn:t}):(this.el.classList.add("fade-out"),setTimeout((()=>this.render()),l.Timeouts.FastAnimation))}}checkPasswordIssues(){if(!this.model.canCheckPasswordIssues())return void(this.passwordIssue=null);const{password:e}=this.model;if(!e||!e.isProtected||!e.byteLength)return void(this.passwordIssue=null);const t=d.AppSettingsModel.auditPasswordEntropy,n=(0,u.passwordStrength)(e);d.AppSettingsModel.excludePinsFromAudit&&n.onlyDigits&&n.length<=6?this.passwordIssue=null:t&&n.level<u.PasswordStrengthLevel.Low?this.passwordIssue="poor":t&&n.level<u.PasswordStrengthLevel.Good?this.passwordIssue="weak":d.AppSettingsModel.auditPasswordAge&&this.isOld()?this.passwordIssue="old":(this.passwordIssue=null,this.checkOnHIBP())}isOld(){if(!this.model.updated)return!1;const e=new Date(this.model.updated);return e.setFullYear(e.getFullYear()+d.AppSettingsModel.auditPasswordAge),e<Date.now()}checkOnHIBP(){if(!d.AppSettingsModel.checkPasswordsOnHIBP)return;const e=(0,p.checkIfPasswordIsExposedOnline)(this.model.password);if("boolean"==typeof e)this.passwordIssue=e?"pwned":null;else{var t;const n=null===(t=this.el)||void 0===t?void 0:t.querySelector(".details__issues-icon");null==n||n.classList.add("details__issues-icon--loading"),e.then((e=>{e?this.passwordIssue="pwned":!1===e?"pwned"===this.passwordIssue&&(this.passwordIssue=null):this.passwordIssue=n?"error":null,this.render()}))}}closeIssuesClick(){a.Alerts.alert({header:c.Locale.detIssueCloseAlertHeader,body:c.Locale.detIssueCloseAlertBody,icon:"exclamation-triangle",buttons:[{result:"entry",title:c.Locale.detIssueCloseAlertEntry,silent:!0},{result:"settings",title:c.Locale.detIssueCloseAlertSettings,silent:!0},a.Alerts.buttons.cancel],esc:"",click:"",success:e=>{switch(e){case"entry":this.disableAuditForEntry();break;case"settings":this.openAuditSettings()}}})}disableAuditForEntry(){this.model.setIgnorePasswordIssues(),this.checkPasswordIssues(),this.render()}openAuditSettings(){i.Events.emit("toggle-settings","general","audit")}}},2766:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DetailsView:()=>K});var s=n(3617),i=n(7779),r=n(7201),o=n(3898),a=n(5933),l=n(1164),c=n(6655),u=n(4530),d=n(2977),h=n(403),p=n(7614),m=n(5572),g=n(667),f=n(3297),A=n(2547),y=n(3710),v=n(4796),b=n(7015),w=n(3122),k=n(2550),C=n(4184),_=n(264),E=n(2524),x=n(1434),I=n(9042),S=n(4169),D=n(3872),B=n(6838),P=n(2914),T=n.n(P),F=n(2892),M=n.n(F),O=n(5462),L=n.n(O),N=n(9491),R=n(6718);class K extends i.View{constructor(e,t){super(e,t),this.parent=".app__details",this.fieldViews=[],this.fieldCopyTip=null,this.events={"click .details__colors-popup-item":"selectColor","click .details__header-icon":"toggleIcons","click .details__attachment":"toggleAttachment","click .details__header-title":"editTitle","click .details__history-link":"showHistory","click .details__buttons-trash":"moveToTrash","click .details__buttons-trash-del":"deleteFromTrash","click .details__back-button":"backClick","click .details__attachment-add":"attachmentBtnClick","change .details__attachment-input-file":"attachmentFileChange","dragover .details":"dragover","dragleave .details":"dragleave","drop .details":"drop","contextmenu .details":"contextMenu"},this.initScroll(),this.listenTo(r.Events,"entry-selected",this.showEntry),this.listenTo(r.Events,"copy-password",this.copyPassword),this.listenTo(r.Events,"copy-user",this.copyUserName),this.listenTo(r.Events,"copy-url",this.copyUrl),this.listenTo(r.Events,"copy-otp",this.copyOtp),this.listenTo(r.Events,"toggle-settings",this.settingsToggled),this.listenTo(r.Events,"context-menu-select",this.contextMenuSelect),this.listenTo(r.Events,"set-locale",this.render),this.listenTo(r.Events,"qr-read",this.otpCodeRead),this.listenTo(r.Events,"qr-enter-manually",this.otpEnterManually),this.onKey(d.Keys.DOM_VK_C,this.copyPasswordFromShortcut,l.KeyHandler.SHORTCUT_ACTION,!1,!0),this.onKey(d.Keys.DOM_VK_B,this.copyUserName,l.KeyHandler.SHORTCUT_ACTION),this.onKey(d.Keys.DOM_VK_U,this.copyUrl,l.KeyHandler.SHORTCUT_ACTION),this.onKey(d.Keys.DOM_VK_2,this.copyOtp,l.KeyHandler.SHORTCUT_OPT),o.AutoType.enabled&&this.onKey(d.Keys.DOM_VK_T,(()=>this.autoType()),l.KeyHandler.SHORTCUT_ACTION),this.onKey(d.Keys.DOM_VK_DELETE,this.deleteKeyPress,l.KeyHandler.SHORTCUT_ACTION,!1,!0),this.onKey(d.Keys.DOM_VK_BACK_SPACE,this.deleteKeyPress,l.KeyHandler.SHORTCUT_ACTION,!1,!0),this.once("remove",(()=>{this.removeFieldViews()}))}removeFieldViews(){this.fieldViews.forEach((e=>e.remove())),this.fieldViews=[],this.hideFieldCopyTip()}render(){if(y.Tip.destroyTips(this.$el),this.removeScroll(),this.removeFieldViews(),this.removeInnerViews(),!this.model)return this.template=M(),void super.render();if(this.model instanceof m.GroupModel)return this.template=L(),void super.render();const e=Object.assign({deleted:this.appModel.filter.trash,canEditColor:this.model.file.supportsColors&&!this.model.readOnly,canEditIcon:this.model.file.supportsIcons&&!this.model.readOnly,showButtons:!this.model.backend&&!this.model.readOnly},this.model);this.template=T(),super.render(e),this.setSelectedColor(this.model.color),this.addFieldViews(),this.checkPasswordIssues(),this.createScroll({root:this.$el.find(".details__body")[0],scroller:this.$el.find(".scroller")[0],bar:this.$el.find(".scroller__bar")[0]}),this.$el.find(".details").removeClass("details--drag"),this.dragging=!1,this.dragTimeout&&clearTimeout(this.dragTimeout),this.pageResized(),this.showCopyTip()}getFieldView(e){return this.fieldViews.find((t=>t.model.name===e))}addFieldViews(){const{fieldViews:e,fieldViewsAside:t}=(0,I.createDetailsFields)(this),n=p.AppSettingsModel.hideEmptyFields,s=this.$el.find(".details__body-fields"),i=this.$el.find(".details__body-aside");for(const r of[e,t])for(const t of r)if(t.parent=r===e?s[0]:i[0],t.render(),t.on("change",this.fieldChanged.bind(this)),t.on("copy",(e=>this.copyFieldValue(e))),t.on("autotype",(e=>this.autoType(e.source.model.sequence))),n){const e=t.model.value();if(!e||0===e.length||0===e.byteLength){if(this.model.isJustCreated){if(!["$URL","$Notes","Tags","Expires","History"].includes(t.model.name))continue}t.hide()}}this.fieldViews=e.concat(t),this.model.backend||(this.moreView=new w.DetailsAddFieldView,this.moreView.render(),this.moreView.on("add-field",this.addNewField.bind(this)),this.moreView.on("more-click",this.toggleMoreOptions.bind(this)))}addNewField(e){this.moreView.remove(),this.moreView=null;let t=e||f.Locale.detNetField;if(this.model.fields[t])for(let e=1;;e++){const n=t+e;if(!this.model.fields[n]){t=n;break}}const n=(0,I.createNewCustomField)(t,{parent:this.$el.find(".details__body-fields")[0]},this.model);n.on("change",this.fieldChanged.bind(this)),n.render(),n.edit(),this.fieldViews.push(n)}toggleMoreOptions(){this.views.dropdownView?(this.views.dropdownView.remove(),this.views.dropdownView=null):setTimeout((()=>{const e=new x.DropdownView;this.listenTo(e,"cancel",this.toggleMoreOptions),this.listenTo(e,"select",this.moreOptionsSelect);const t=p.AppSettingsModel.hideEmptyFields,n=[];t?(this.fieldViews.forEach((e=>{e.isHidden()&&n.push({value:"add:"+e.model.name,icon:"pencil-alt",text:f.Locale.detMenuAddField.replace("{}",e.model.title)})}),this),n.push({value:"add-new",icon:"plus",text:f.Locale.detMenuAddNewField}),this.model.url&&n.push({value:"add-website",icon:"plus",text:f.Locale.detMenuAddNewWebsite}),n.push({value:"toggle-empty",icon:"eye",text:f.Locale.detMenuShowEmpty})):(n.push({value:"add-new",icon:"plus",text:f.Locale.detMenuAddNewField}),this.model.url&&n.push({value:"add-website",icon:"plus",text:f.Locale.detMenuAddNewWebsite}),n.push({value:"toggle-empty",icon:"eye-slash",text:f.Locale.detMenuHideEmpty})),n.push({value:"otp",icon:"clock",text:f.Locale.detSetupOtp}),o.AutoType.enabled&&n.push({value:"auto-type",icon:"keyboard",text:f.Locale.detAutoTypeSettings}),n.push({value:"clone",icon:"clone",text:f.Locale.detClone}),n.push({value:"copy-to-clipboard",icon:"copy",text:f.Locale.detCopyEntryToClipboard});const s=this.moreView.labelEl[0].getBoundingClientRect();e.render({position:{top:s.bottom,left:s.left},options:n}),this.views.dropdownView=e}))}moreOptionsSelect(e){switch(this.views.dropdownView.remove(),this.views.dropdownView=null,e.item){case"add-new":this.addNewField();break;case"add-website":this.addNewField(this.model.getNextUrlFieldName());break;case"toggle-empty":{const e=p.AppSettingsModel.hideEmptyFields;p.AppSettingsModel.hideEmptyFields=!e,this.render();break}case"otp":this.setupOtp();break;case"auto-type":this.toggleAutoType();break;case"clone":this.clone();break;case"copy-to-clipboard":this.copyToClipboard();break;default:if(0===e.item.lastIndexOf("add:",0)){const t=e.item.substr(4),n=this.fieldViews.find((e=>e.model.name===t));n.show(),n.edit()}}}getUserNameCompletions(e){return this.appModel.completeUserNames(e)}setSelectedColor(e){this.$el.find(".details__colors-popup > .details__colors-popup-item").removeClass("details__colors-popup-item--active");const t=this.$el.find(".details__header-color")[0];for(const e of t.classList)e.indexOf("color")>0&&0!==e.lastIndexOf("details",0)&&t.classList.remove(e);e&&(this.$el.find(".details__colors-popup > ."+e+"-color").addClass("details__colors-popup-item--active"),t.classList.add(e+"-color"))}selectColor(e){let t=R(e.target).closest(".details__colors-popup-item").data("color");t&&(t===this.model.color&&(t=null),this.model.setColor(t),this.entryUpdated())}toggleIcons(){if(this.model.backend)return;if(this.views.sub&&this.views.sub instanceof D.IconSelectView)return void this.render();this.removeSubView();const e=new D.IconSelectView({iconId:this.model.customIconId||this.model.iconId,url:this.model.url,file:this.model.file},{parent:this.scroller[0],replace:!0});this.listenTo(e,"select",this.iconSelected),e.render(),this.pageResized(),this.views.sub=e}toggleAttachment(e){const t=R(e.target).closest(".details__attachment"),n=t.data("id"),s=this.model.attachments[n];if(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)return void this.downloadAttachment(s);if(this.views.sub&&this.views.sub.attId===n)return void this.render();this.removeSubView();const i=new k.DetailsAttachmentView(s,{parent:this.scroller[0],replace:!0});i.attId=n,i.render(this.pageResized.bind(this)),i.on("download",(()=>this.downloadAttachment(s))),this.listenTo(i,"close",this.render.bind(this)),this.views.sub=i,t.addClass("details__attachment--active")}removeSubView(){this.$el.find(".details__attachment").removeClass("details__attachment--active"),this.views.sub&&(this.views.sub.remove(),delete this.views.sub)}downloadAttachment(e){const t=e.getBinary();if(!t)return;const n=e.mimeType||"application/octet-stream",s=new Blob([t],{type:n});A.FileSaver.saveAs(s,e.title)}iconSelected(e){e.custom?e.id!==this.model.customIconId?(this.model.setCustomIcon(e.id),this.entryUpdated()):this.render():e.id!==this.model.iconId?(this.model.setIcon(+e.id),this.entryUpdated()):this.render()}showEntry(e){this.model=e,this.initOtp(),this.render(),e&&!e.title&&e.isJustCreated&&this.editTitle()}initOtp(){var e,t,n;this.matchingOtpEntry=null,this.model&&(null===(e=(t=this.model).initOtpGenerator)||void 0===e||e.call(t),"otp-device"!==this.model.backend&&(this.matchingOtpEntry=this.appModel.getMatchingOtpEntry(this.model),null===(n=this.matchingOtpEntry)||void 0===n||n.initOtpGenerator()))}copyKeyPress(e){if(!e||this.isHidden())return!1;if(!window.getSelection().toString()){const t=e.getTextValue();if(!t)return;a.CopyPaste.simpleCopy||a.CopyPaste.createHiddenInput(t);const n=a.CopyPaste.copy(t);return this.copyFieldValue({source:e,copyRes:n}),!0}return!1}copyPasswordFromShortcut(e){if(!this.model)return;"otp-device"===this.model.backend&&(this.copyOtp(),e.preventDefault());this.copyKeyPress(this.getFieldView("$Password"))&&e.preventDefault()}copyPassword(){this.copyKeyPress(this.getFieldView("$Password"))}copyUserName(){this.copyKeyPress(this.getFieldView("$UserName"))}copyUrl(){this.copyKeyPress(this.getFieldView("$URL"))}copyOtp(){const e=this.getFieldView("$otp");if("otp-device"===this.model.backend)return!!e&&(e.copyValue(),!0);this.copyKeyPress(e)}showCopyTip(){if(this.helpTipCopyShown)return;if(this.helpTipCopyShown=p.AppSettingsModel.helpTipCopyShown,this.helpTipCopyShown)return;p.AppSettingsModel.helpTipCopyShown=!0,this.helpTipCopyShown=!0;const e=this.moreView.labelEl,t=new y.Tip(e,{title:f.Locale.detCopyHint,placement:"right"});t.show(),this.fieldCopyTip=t,setTimeout((()=>{t.hide()}),h.Timeouts.AutoHideHint)}settingsToggled(){this.hideFieldCopyTip()}fieldChanged(e){if(e.field){if("$"===e.field[0]){let t=e.field.substr(1);if("otp"===t){if(this.otpFieldChanged(e.val))return void this.entryUpdated()}else{if(e.newField){t&&this.model.setField(t,void 0),t=e.newField;let n=0;for(;this.model.hasField(t);)n++,t=e.newField+n;const s=this.model.group.isEntryTemplatesGroup();return this.model.setField(t,e.val,s),void this.entryUpdated()}if("File"===t){const t=this.appModel.files.get(e.val);return this.model.moveToFile(t),this.appModel.activeEntryId=this.model.id,this.entryUpdated(),void r.Events.emit("entry-selected",this.model)}t&&this.model.setField(t,e.val)}"Password"===t&&this.views.issues&&this.views.issues.passwordChanged()}else if("Tags"===e.field)this.model.setTags(e.val),this.appModel.updateTags();else if("Expires"===e.field){const t=e.val||void 0;(0,B.isEqual)(t,this.model.expires)||this.model.setExpires(t)}this.entryUpdated(!0),this.fieldViews.forEach((function(e,t){e instanceof S.FieldViewCustom&&!e.model.newField&&!this.model.hasField(e.model.title)||e.model.isExtraUrl&&!e.model.newField&&!this.model.hasField(e.model.name.replace("$",""))?(e.remove(),this.fieldViews.splice(t,1)):e.update()}),this)}else if(e.newField)return void this.render();e.tab&&this.focusNextField(e.tab)}otpFieldChanged(e){let t=this.model.fields.otp;return t&&t.isProtected&&(t=t.getText()),e&&e.isProtected&&(e=e.getText()),t===e?(this.render(),!1):(this.model.setOtpUrl(e),!0)}dragover(e){e.preventDefault(),e.stopPropagation();const t=e.dataTransfer;t.types&&(t.types.indexOf?-1!==t.types.indexOf("Files"):t.types.contains("Files"))?(t.dropEffect="copy",this.dragTimeout&&clearTimeout(this.dragTimeout),this.model&&!this.dragging&&(this.dragging=!0,this.$el.find(".details").addClass("details--drag"))):t.dropEffect="none"}dragleave(){this.dragTimeout&&clearTimeout(this.dragTimeout),this.dragTimeout=setTimeout((()=>{this.$el.find(".details").removeClass("details--drag"),this.dragging=!1}),100)}drop(e){if(e.preventDefault(),!this.model)return;this.dragTimeout&&clearTimeout(this.dragTimeout),this.$el.find(".details").removeClass("details--drag"),this.dragging=!1;const t=e.target.files||e.dataTransfer.files;this.addAttachedFiles(t)}attachmentBtnClick(){this.$el.find(".details__attachment-input-file")[0].click()}attachmentFileChange(e){this.addAttachedFiles(e.target.files)}addAttachedFiles(e){for(const t of e){const e=new FileReader;e.onload=()=>{this.addAttachment(t.name,e.result)},e.readAsArrayBuffer(t)}}addAttachment(e,t){this.model.addAttachment(e,t).then((()=>{this.entryUpdated()}))}deleteKeyPress(e){if(this.views.sub&&void 0!==this.views.sub.attId){e.preventDefault();const t=this.model.attachments[this.views.sub.attId];this.model.removeAttachment(t.title),this.render()}}editTitle(){if("otp-device"===this.model.backend)return;const e=R("<input/>").addClass("details__header-title-input").attr({autocomplete:"off",spellcheck:"false",placeholder:"Title"}).val(this.model.title);e.bind({blur:this.titleInputBlur.bind(this),input:this.titleInputInput.bind(this),keydown:this.titleInputKeydown.bind(this),keypress:this.titleInputInput.bind(this)}),R(".details__header-title").replaceWith(e),e.focus()[0].setSelectionRange(this.model.title.length,this.model.title.length)}titleInputBlur(e){this.setTitle(e.target.value)}titleInputInput(e){e.stopPropagation()}titleInputKeydown(e){l.KeyHandler.reg(),e.stopPropagation();const t=e.keyCode||e.which;if(t===d.Keys.DOM_VK_RETURN)R(e.target).unbind("blur"),this.setTitle(e.target.value);else if(t===d.Keys.DOM_VK_ESCAPE){if(R(e.target).unbind("blur"),this.model.isJustCreated)return this.model.removeWithoutHistory(),void r.Events.emit("refresh");this.render()}else t===d.Keys.DOM_VK_TAB&&(e.preventDefault(),R(e.target).unbind("blur"),this.setTitle(e.target.value),e.shiftKey||this.focusNextField({field:"$Title"}))}setTitle(e){this.model.title instanceof s.ProtectedValue&&(e=s.ProtectedValue.fromString(e)),e!==this.model.title&&(this.model.setField("Title",e),this.entryUpdated(!0));const t=R('<h1 class="details__header-title"></h1>').text(e||"(no title)");this.$el.find(".details__header-title-input").replaceWith(t)}entryUpdated(e){r.Events.emit("entry-updated",{entry:this.model}),this.initOtp(),e||this.render()}focusNextField(e){let t,n=!1;"$Title"!==e.field||e.prev||(n=!0);const s=e.prev?this.fieldViews.length-1:0,i=e.prev?-1:this.fieldViews.length,r=e.prev?-1:1;for(let o=s;o!==i;o+=r){const s=this.fieldViews[o];if(s.model.name===e.field)n=!0;else if(n&&!s.readonly&&!s.isHidden()){t=s;break}}t&&t.edit()}showHistory(){this.removeSubView();const e=new _.DetailsHistoryView(this.model,{parent:this.scroller[0],replace:!0});this.listenTo(e,"close",this.historyClosed.bind(this)),e.render(),this.pageResized(),this.views.sub=e}historyClosed(e){e.updated?this.entryUpdated():this.render()}moveToTrash(){const e=()=>{this.model.moveToTrash(),r.Events.emit("refresh")};g.Features.isMobile?u.Alerts.yesno({header:f.Locale.detDelToTrash,body:f.Locale.detDelToTrashBody,icon:"trash-alt",success:e}):e()}clone(){const e=this.model.cloneEntry(" "+f.Locale.detClonedName);r.Events.emit("select-entry",e)}copyToClipboard(){a.CopyPaste.copyHtml(this.model.getHtml())}deleteFromTrash(){u.Alerts.yesno({header:f.Locale.detDelFromTrash,body:f.Locale.detDelFromTrashBody,hint:f.Locale.detDelFromTrashBodyHint,icon:"minus-circle",success:()=>{this.model.deleteFromTrash(),r.Events.emit("refresh")}})}backClick(){r.Events.emit("toggle-details",!1)}contextMenu(e){const t=document.queryCommandSupported("copy"),n=[];t&&("otp-device"===this.model.backend?n.push({value:"det-copy-otp",icon:"copy",text:f.Locale.detMenuCopyOtp}):n.push({value:"det-copy-password",icon:"copy",text:f.Locale.detMenuCopyPassword}),n.push({value:"det-copy-user",icon:"copy",text:f.Locale.detMenuCopyUser})),this.model.backend||(n.push({value:"det-add-new",icon:"plus",text:f.Locale.detMenuAddNewField}),n.push({value:"det-clone",icon:"clone",text:f.Locale.detClone}),t&&n.push({value:"copy-to-clipboard",icon:"clipboard",text:f.Locale.detCopyEntryToClipboard})),o.AutoType.enabled&&n.push({value:"det-auto-type",icon:"keyboard",text:f.Locale.detAutoType}),r.Events.emit("show-context-menu",Object.assign(e,{options:n}))}contextMenuSelect(e){switch(e.item){case"det-copy-password":this.copyPassword();break;case"det-copy-user":this.copyUserName();break;case"det-copy-otp":this.copyOtp();break;case"det-add-new":this.addNewField();break;case"det-clone":this.clone();break;case"det-auto-type":this.autoType();break;case"copy-to-clipboard":this.copyToClipboard()}}setupOtp(){c.OtpQrReader.read()}otpCodeRead(e){this.model.setOtp(e),this.entryUpdated()}otpEnterManually(){if(this.model.fields.otp){const e=this.fieldViews.find((e=>"$otp"===e.model.name));e&&e.edit()}else{this.moreView.remove(),this.moreView=null;const e=new S.FieldViewCustom({name:"$otp",title:"otp",newField:"otp",value:s.ProtectedValue.fromString("")},{parent:this.$el.find(".details__body-fields")[0]});e.on("change",this.fieldChanged.bind(this)),e.render(),e.edit(),this.fieldViews.push(e)}}toggleAutoType(){if(this.views.autoType)return this.views.autoType.remove(),void delete this.views.autoType;this.views.autoType=new C.DetailsAutoTypeView(this.model),this.views.autoType.render()}autoType(e){const t=this.model;if((null==e?void 0:e.includes("{TOTP}"))||"otp-device"===t.backend&&!e){const n=this.getFieldView("$otp");n.refreshOtp((s=>{s||r.Events.emit("auto-type",{entry:t,sequence:e,context:{resolved:{totp:n.otpValue}}})}))}else r.Events.emit("auto-type",{entry:t,sequence:e})}checkPasswordIssues(){this.model.readOnly||(this.views.issues=new E.DetailsIssuesView(this.model),this.views.issues.render())}copyFieldValue(e){this.fieldCopied(e),p.AppSettingsModel.minimizeOnFieldCopy&&N.Launcher.minimizeApp()}}Object.assign(K.prototype,b.Scrollable),Object.assign(K.prototype,v.Copyable)},1864:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DragView:()=>a});var s=n(7779),i=n(5220),r=n.n(i),o=n(6718);class a extends s.View{constructor(e,t){super(e,t),this.template=r(),this.events={mousedown:"mousedown"},this.setCoord(e),this.mouseDownTime=-1,this.mouseDownCount=0}render(){super.render({coord:this.model})}setCoord(e){this.coord=e,this.offsetProp="page"+e.toUpperCase()}mousedown(e){if(1===e.which){const t=Date.now();if(t-this.mouseDownTime<500){if(this.mouseDownCount++,2===this.mouseDownCount)return void this.emit("autosize",{coord:this.coord})}else this.mouseDownTime=t,this.mouseDownCount=1;this.initialOffset=e[this.offsetProp];const n=this.$el.css("cursor");this.dragMask=o("<div/>",{class:"drag-mask"}).css("cursor",n).appendTo("body"),this.dragMask.on("mousemove",this.mousemove.bind(this)),this.dragMask.on("mouseup",this.mouseup.bind(this)),this.emit("dragstart",{offset:this.initialOffset,coord:this.coord}),this.$el.addClass("dragging"),e.preventDefault()}}mousemove(e){0===e.which?this.mouseup():this.emit("drag",{offset:e[this.offsetProp]-this.initialOffset})}mouseup(){this.dragMask.remove(),this.$el.removeClass("dragging")}}},1434:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DropdownView:()=>c});var s=n(7201),i=n(7779),r=n(2977),o=n(1460),a=n.n(o),l=n(6718);class c extends i.View{constructor(e){super(e),this.parent="body",this.modal="dropdown",this.template=a(),this.events={"click .dropdown__item":"itemClick"},s.Events.emit("dropdown-shown"),this.bodyClick=this.bodyClick.bind(this),this.listenTo(s.Events,"show-context-menu",this.bodyClick),this.listenTo(s.Events,"dropdown-shown",this.bodyClick),l("body").on("click contextmenu keydown",this.bodyClick),this.onKey(r.Keys.DOM_VK_UP,this.upPressed,!1,"dropdown"),this.onKey(r.Keys.DOM_VK_DOWN,this.downPressed,!1,"dropdown"),this.onKey(r.Keys.DOM_VK_RETURN,this.enterPressed,!1,"dropdown"),this.onKey(r.Keys.DOM_VK_ESCAPE,this.escPressed,!1,"dropdown"),this.once("remove",(()=>{l("body").off("click contextmenu keydown",this.bodyClick)})),this.selectedOption=null==e?void 0:e.selectedOption}render(e){this.options=e.options,super.render(e);const t=this.$el[0].getBoundingClientRect(),n=document.body.getBoundingClientRect();let s=e.position.left||e.position.right-t.right+t.left,i=e.position.top;s+t.width>n.right&&(s=Math.max(0,n.right-t.width)),i+t.height>n.bottom&&(i=Math.max(0,n.bottom-t.height)),this.$el.css({top:i,left:s}),"number"==typeof this.selectedOption&&this.renderSelectedOption()}bodyClick(e){e&&[r.Keys.DOM_VK_UP,r.Keys.DOM_VK_DOWN,r.Keys.DOM_VK_RETURN,r.Keys.DOM_VK_ESCAPE].includes(e.which)||this.removed||this.emit("cancel")}itemClick(e){e.stopPropagation();const t=l(e.target).closest(".dropdown__item"),n=t.data("value");this.emit("select",{item:n,el:t})}upPressed(e){e.preventDefault(),this.selectedOption?this.selectedOption--:this.selectedOption=this.options.length-1,this.renderSelectedOption()}downPressed(e){e.preventDefault(),void 0===this.selectedOption||this.selectedOption===this.options.length-1?this.selectedOption=0:this.selectedOption++,this.renderSelectedOption()}renderSelectedOption(){this.$el.find(".dropdown__item").removeClass("dropdown__item--active"),this.$el.find(`.dropdown__item:nth(${this.selectedOption})`).addClass("dropdown__item--active")}enterPressed(){if(!this.removed&&void 0!==this.selectedOption){const e=this.$el.find(`.dropdown__item:nth(${this.selectedOption})`),t=e.data("value");this.emit("select",{item:t,el:e})}}escPressed(e){e.stopImmediatePropagation(),this.removed||this.emit("cancel")}}},7031:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ExtensionConnectView:()=>o});var s=n(7779),i=n(1388),r=n.n(i);class o extends s.View{constructor(e){super(e),this.template=r(),this.events={"change #extension-connect__ask-get":"askGetChanged","change .extension-connect__file-check":"fileChecked"},this.config={askGet:this.model.askGet,allFiles:this.model.allFiles,files:this.model.files.filter((e=>e.checked)).map((e=>e.id))}}render(){super.render(Object.assign({},this.model,this.config,{files:this.model.files.map((e=>({id:e.id,name:e.name,checked:this.config.files.includes(e.id)})))}))}fileChecked(e){const t=e.target.dataset.file,n=e.target.checked;"all"===t?(this.config.allFiles=n,this.config.files=this.model.files.map((e=>e.id))):n?this.config.files.push(t):(this.config.files=this.config.files.filter((e=>e!==t)),this.config.allFiles=!1),this.render();const s=this.config.files.length>0||this.config.allFiles;document.querySelector(".modal button[data-result=yes]").classList.toggle("hide",!s)}askGetChanged(e){this.config.askGet=e.target.value}}},9793:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ExtensionCreateGroupView:()=>o});var s=n(7779),i=n(1582),r=n.n(i);class o extends s.View{constructor(e){super(e),this.template=r(),this.events={"change #extension-create-group__file":"fileChanged"},this.selectedFile=e.files.find((e=>e.selected)).id}render(){super.render(this.model)}fileChanged(e){this.selectedFile=e.target.value}}},2729:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ExtensionSaveEntryView:()=>o});var s=n(7779),i=n(7396),r=n.n(i);class o extends s.View{constructor(e){super(e),this.template=r(),this.events={"change #extension-save-entry__auto":"autoChanged","change #extension-save-entry__group":"groupChanged"};const t=e.allGroups.find((e=>e.selected));this.config={askSave:e.askSave||"always",groupId:t.id,fileId:t.fileId}}render(){super.render(this.model)}autoChanged(e){this.config.askSave=e.target.checked?"auto":"always"}groupChanged(e){const t=e.target.options[e.target.selectedIndex];this.config.groupId=t.value,this.config.fileId=t.dataset.file}}},2969:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewAutocomplete:()=>l});var s=n(2977),i=n(1297),r=n(2617),o=n.n(r),a=n(6718);class l extends i.FieldViewText{constructor(...e){super(...e),this.hasOptions=!0}endEdit(e,t){this.autocomplete&&(this.autocomplete.remove(),this.autocomplete=null),delete this.selectedCompletionIx,super.endEdit(e,t)}startEdit(){super.startEdit();const e=this.input[0].getBoundingClientRect(),t=parseInt(this.input.css("--focus-shadow-spread"))||0;this.autocomplete=a('<div class="details__field-autocomplete"></div>').appendTo("body"),this.autocomplete.css({top:e.bottom+t,left:e.left,width:e.width-2}),delete this.selectedCompletionIx,this.autocomplete.mousedown(this.autocompleteClick.bind(this)),this.input.val()?this.autocomplete.hide():this.updateAutocomplete()}fieldValueInput(e){e.stopPropagation(),this.updateAutocomplete(),super.fieldValueInput.call(this,e)}fieldValueKeydown(e){switch(e.which){case s.Keys.DOM_VK_UP:this.moveAutocomplete(!1),e.preventDefault();break;case s.Keys.DOM_VK_DOWN:this.moveAutocomplete(!0),e.preventDefault();break;case s.Keys.DOM_VK_RETURN:{const e=this.autocomplete.find(".details__field-autocomplete-item--selected").text();e&&(this.input.val(e),this.endEdit(e));break}default:delete this.selectedCompletionIx}super.fieldValueKeydown(e)}moveAutocomplete(e){const t=this.model.getCompletions(this.input.val());"number"==typeof this.selectedCompletionIx?this.selectedCompletionIx=(t.length+this.selectedCompletionIx+(e?1:-1))%t.length:this.selectedCompletionIx=e?0:t.length-1,this.updateAutocomplete()}updateAutocomplete(){const e=this.model.getCompletions(this.input.val()),t=o()({completions:e,selectedIx:this.selectedCompletionIx});this.autocomplete.html(t),this.autocomplete.toggle(!!t)}autocompleteClick(e){if(e.stopPropagation(),e.target.classList.contains("details__field-autocomplete-item")){const t=a(e.target).text();this.input.val(t),this.endEdit(t)}else this.afterPaint((()=>{this.input.focus()}))}}},4169:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewCustom:()=>u});var s=n(3617),i=n(2977),r=n(3297),o=n(3710),a=n(4707),l=n(1297),c=n(6718);class u extends l.FieldViewText{constructor(e,t){super(e,t),this.events=Object.assign({},this.events,{"mousedown .details__field-label":"fieldLabelMousedown"})}startEdit(){super.startEdit(),this.$el.addClass("details__field--can-edit-title"),void 0===this.isProtected&&(this.isProtected=this.value instanceof s.ProtectedValue),this.$el.toggleClass("details__field--protected",this.isProtected),c("<div/>").addClass("details__field-value-btn details__field-value-btn-protect").appendTo(this.valueEl).mousedown(this.protectBtnClick.bind(this));let e=r.Locale.detLockField;this.isProtected&&(e=r.Locale.detUnlockField);new o.Tip(c(this.valueEl).find(".details__field-value-btn"),{title:e}).init()}endEdit(e,t){this.$el.removeClass("details__field--can-edit-title"),t=Object.assign({},t),this.model.titleChanged&&(t.newField=this.model.title),this.editing&&(delete this.input,"string"==typeof e&&(e=this.isProtected?s.ProtectedValue.fromString(e):c.trim(e)),a.FieldView.prototype.endEdit.call(this,e,t),this.model.titleChanged&&delete this.model.titleChanged)}startEditTitle(e){const t=e?"":this.model.title||"";this.labelInput=c("<input/>"),this.labelEl.empty().append(this.labelInput),this.labelInput.attr({autocomplete:"off",spellcheck:"false"}).val(t).focus()[0].setSelectionRange(t.length,t.length),this.labelInput.bind({input:this.fieldLabelInput.bind(this),keydown:this.fieldLabelKeydown.bind(this),keyup:this.fieldLabelKeyup.bind(this),keypress:this.fieldLabelInput.bind(this),mousedown:this.fieldLabelInputClick.bind(this),click:this.fieldLabelInputClick.bind(this)})}endEditTitle(e){e&&e!==this.model.title?(this.model.title=e,this.model.titleChanged=!0):""===e&&this.emit("change",{field:"$"+this.model.title,val:""}),this.$el.find(".details__field-label").text(this.model.title),delete this.labelInput,this.editing&&this.input&&this.input.focus()}fieldLabelClick(e){e.stopImmediatePropagation(),this.model.newField?this.startEditTitle(!0):this.editing?this.startEditTitle():super.fieldLabelClick.call(this,e)}fieldLabelMousedown(e){this.editing&&e.stopPropagation()}fieldValueBlur(){this.labelInput&&this.endEditTitle(this.labelInput.val()),this.input&&this.endEdit(this.input.val())}fieldLabelInput(e){e.stopPropagation()}fieldLabelInputClick(e){e.stopPropagation()}fieldLabelKeydown(e){e.stopPropagation();const t=e.keyCode||e.which;t===i.Keys.DOM_VK_ESCAPE?this.endEditTitle():t===i.Keys.DOM_VK_TAB&&(e.preventDefault(),this.endEditTitle(e.target.value))}fieldLabelKeyup(e){(e.keyCode||e.which)===i.Keys.DOM_VK_RETURN&&this.endEditTitle(e.target.value)}fieldValueInputClick(){this.labelInput&&this.endEditTitle(this.labelInput.val()),super.fieldValueInputClick.call(this)}protectBtnClick(e){e.stopPropagation(),this.isProtected=!this.isProtected,this.$el.toggleClass("details__field--protected",this.isProtected),this.labelInput&&this.endEditTitle(this.labelInput.val()),setTimeout((()=>this.input.focus()))}}},2574:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewDate:()=>a});var s=n(4319),i=n.n(s),r=n(6098),o=n(1297);class a extends o.FieldViewText{constructor(...e){super(...e),this.hasOptions=!1}renderValue(e){let t=e?r.DateFormat.dStr(e):"";return e&&this.model.lessThanNow&&e<new Date&&(t+=" "+this.model.lessThanNow),t}getEditValue(e){return e?r.DateFormat.dStr(e):""}startEdit(){super.startEdit(),this.picker=new(i())({field:this.input[0],onSelect:this.pickerSelect.bind(this),onClose:this.pickerClose.bind(this),defaultDate:this.value,firstDay:1,i18n:{previousMonth:"",nextMonth:"",months:r.DateFormat.months(),weekdays:r.DateFormat.weekDays(),weekdaysShort:r.DateFormat.shortWeekDays()}}),this.picker.adjustPosition=this.adjustPickerPosition.bind(this),setTimeout((()=>this.picker.show()),0)}adjustPickerPosition(...e){window.Pikaday=i(),i().prototype.adjustPosition.apply(this.picker,e);const t=parseInt(this.input.css("--focus-shadow-spread"))||0;if(t){const e=this.picker.el.classList.contains("top-aligned")?-t:t,n=parseInt(this.picker.el.style.top)+e;this.picker.el.style.top=`${n}px`}}fieldValueBlur(e){this.picker||super.fieldValueBlur(e)}endEdit(e,t){if(this.picker){try{this.picker.destroy()}catch(e){}this.picker=null}e=new Date(e),isNaN(e.getTime())&&(e=null),super.endEdit(e,t)}pickerClose(){this.endEdit(this.input.val())}pickerSelect(e){this.endEdit(e)}}},8108:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewHistory:()=>r});var s=n(3297),i=n(4707);class r extends i.FieldView{constructor(...e){super(...e),this.readonly=!0}renderValue(e){if(!e.length)return s.Locale.detHistoryEmpty;let t=e.length+" "+(1===e.length?s.Locale.detHistoryRec:s.Locale.detHistoryRecs);return e.unsaved&&(t+=" ("+s.Locale.detHistoryModified+")"),'<a class="details__history-link">'+t+"</a>"}}},8877:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewOtp:()=>a});var s=n(403),i=n(1297),r=n(3297),o=n(2378);class a extends i.FieldViewText{constructor(e,t){super(e,t),this.otpTimeout=null,this.otpTickInterval=null,this.otpValue=null,this.otpGenerator=null,this.otpTimeLeft=0,this.otpValidUntil=0,this.fieldOpacity=null,this.otpState=null,this.once("remove",(()=>this.stopOtpUpdater())),e.readonly&&(this.readonly=!0)}renderValue(e){if(!e)return this.resetOtp(),"";if(e!==this.otpGenerator&&(this.resetOtp(),this.otpGenerator=e,this.requestOtpUpdate()),this.otpValue)return this.otpValue;switch(this.otpState){case"awaiting-command":return r.Locale.detOtpClickToTouch;case"awaiting-touch":return r.Locale.detOtpTouch.replace("{}",this.model.deviceShortName);case"error":return o.StringFormat.capFirst(r.Locale.error);case"generating":return r.Locale.detOtpGenerating;default:return""}}getEditValue(e){return e&&e.url}getTextValue(){return this.otpValue}render(){super.render(),this.fieldOpacity=null,this.otpTick()}resetOtp(){this.otpGenerator=null,this.otpValue=null,this.otpTimeLeft=0,this.otpValidUntil=0,this.otpState=null,this.otpTimeout&&(clearTimeout(this.otpTimeout),this.otpTimeout=null),this.otpTickInterval&&(clearInterval(this.otpTickInterval),this.otpTickInterval=null)}requestOtpUpdate(){this.value&&(this.model.needsTouch?this.otpState="awaiting-command":(this.otpState="generating",this.value.next(this.otpUpdated.bind(this))))}otpUpdated(e,t,n){if(!this.removed)return e?(this.otpState="error",void this.render()):void(this.value&&t?(this.otpValue=t,this.otpTimeLeft=n||0,this.otpValidUntil=Date.now()+n,this.editing||this.render(),this.otpValue&&n&&(this.otpTimeout=setTimeout((()=>{this.requestOtpUpdate(),this.otpTickInterval&&(clearInterval(this.otpTickInterval),this.otpTickInterval=null),this.model.needsTouch&&(this.fieldOpacity=null,this.otpValue=null,this.otpValidUntil=0,this.otpTimeLeft=0,this.valueEl.css("opacity",1)),this.render()}),n),this.otpTickInterval||(this.otpTickInterval=setInterval(this.otpTick.bind(this),300)))):this.resetOtp())}otpTick(){if(!this.value||!this.otpValidUntil)return;let e;const t=this.otpValidUntil-Date.now();e=t>=s.Timeouts.OtpFadeDuration||this.editing?1:t<=0?.1:Math.max(.1,Math.pow(t/s.Timeouts.OtpFadeDuration,2)),this.fieldOpacity!==e&&(this.fieldOpacity=e,this.valueEl.css("opacity",e))}copyValue(){this.refreshOtp((e=>{e||super.copyValue()}))}refreshOtp(e){this.model.needsTouch?this.otpValue?e():this.requestTouch(e):e()}requestTouch(e){this.otpState="awaiting-touch",this.value.next(((t,n,s)=>{this.otpUpdated(t,n,s),e(t)})),this.render()}stopOtpUpdater(){"awaiting-touch"===this.otpState&&this.value&&this.value.cancel&&this.value.cancel(),this.resetOtp()}}},2402:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewReadOnlyRaw:()=>i});var s=n(4707);class i extends s.FieldView{constructor(...e){super(...e),this.readonly=!0}renderValue(e){return e}}},4984:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewReadOnlyWithOptions:()=>i});var s=n(1297);class i extends s.FieldViewText{constructor(...e){super(...e),this.readonly=!0,this.hasOptions=!0}}},9260:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewReadOnly:()=>r});var s=n(4707),i=n(6838);class r extends s.FieldView{constructor(...e){super(...e),this.readonly=!0}renderValue(e){var t;return e=(e=null!==(t=e)&&void 0!==t&&t.isProtected?new Array(e.textLength+1).join("•"):(0,i.escape)(e)).replace(/\n/g,"<br/>")}}},2836:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewSelect:()=>r});var s=n(4707),i=n(6838);class r extends s.FieldView{constructor(...e){super(...e),this.readonly=!0}renderValue(e){return"<select>"+e.map((e=>'<option value="'+(0,i.escape)(e.id)+'" '+(e.selected?"selected ":"")+">"+(0,i.escape)(e.value)+"</option>")).join("")+"</select>"}render(){super.render(),this.valueEl.addClass("details__field-value--select"),this.valueEl.find("select:first").change((e=>{this.triggerChange({val:e.target.value,field:this.model.name})}))}fieldLabelClick(){}fieldValueClick(){}edit(){}startEdit(){}endEdit(e,t){this.editing&&(delete this.input,super.endEdit(e,t))}}},3033:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewTags:()=>l});var s=n(1297),i=n(6838),r=n(4405),o=n.n(r),a=n(6718);class l extends s.FieldViewText{constructor(...e){super(...e),this.hasOptions=!1}renderValue(e){return e?(0,i.escape)(e.join(", ")):""}getEditValue(e){return e?e.join(", "):""}getTextValue(){return this.value?this.value.join(", "):""}valueToTags(e){const t={};this.model.tags.forEach((e=>{t[e.toLowerCase()]=e}));const n={};return e.split(/\s*[;,:]\s*/).filter((e=>e)).map((e=>t[e.toLowerCase()]||e)).forEach((e=>{n[e]=e})),Object.keys(n)}endEdit(e,t){void 0!==e&&(e=this.valueToTags(e)),this.tagsAutocomplete&&(this.tagsAutocomplete.remove(),this.tagsAutocomplete=null),super.endEdit(e,t)}startEdit(){super.startEdit();const e=this.input[0].getBoundingClientRect(),t=parseInt(this.input.css("--focus-shadow-spread"))||0;this.tagsAutocomplete=a('<div class="details__field-autocomplete"></div>').appendTo("body"),this.tagsAutocomplete.css({top:e.bottom+t,left:e.left,width:e.width-2}),this.tagsAutocomplete.mousedown(this.tagsAutocompleteClick.bind(this)),this.setTags()}fieldValueInput(e){e.stopPropagation(),this.setTags(),super.fieldValueInput(e)}getAvailableTags(){const e=this.valueToTags(this.input.val()),t=e[e.length-1],n=t&&this.model.tags.indexOf(t)<0;return this.model.tags.filter((s=>e.indexOf(s)<0&&(!n||s.toLowerCase().indexOf(t.toLowerCase())>=0)))}setTags(){const e=this.getAvailableTags(),t=o()({tags:e});this.tagsAutocomplete.html(t),this.tagsAutocomplete.toggle(!!t)}tagsAutocompleteClick(e){if(e.stopPropagation(),e.target.classList.contains("details__field-autocomplete-item")){const t=a(e.target).text();let n=this.input.val();if(n){const e=this.valueToTags(n),s=e[e.length-1];s&&this.model.tags.indexOf(s)<0?n=n.substr(0,n.lastIndexOf(s))+t:n+=", "+t}else n=t;this.input.val(n),this.input.focus(),this.setTags()}this.afterPaint((()=>{this.input.focus()}))}}},1297:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewText:()=>f});var s=n(3617),i=n(7201),r=n(1164),o=n(2977),a=n(667),l=n(8134),c=n(1705),u=n(3710),d=n(4707),h=n(1473),p=n(6838),m=n(7614),g=n(6718);class f extends d.FieldView{constructor(e,t){super(e,t),this.hasOptions=!0,this.once("remove",(()=>this.stopBlurListener()))}renderValue(e){if(this.model.markdown&&m.AppSettingsModel.useMarkdown){e&&e.isProtected&&(e=e.getText());const t=l.MdToHtml.convert(e);if(t.html)return t.html;e=t.text}return e&&e.isProtected?c.PasswordPresenter.presentValueWithLineBreaks(e):(0,p.escape)(e||"").replace(/\n/g,"<br/>")}getEditValue(e){return e&&e.isProtected?e.getText():e||""}startEdit(){const e=this.getEditValue(this.value),t=!(!this.value||!this.value.isProtected);this.$el.toggleClass("details__field--protected",t),this.input=g(document.createElement(this.model.multiline?"textarea":"input")),this.valueEl.empty().append(this.input),this.input.attr({autocomplete:"off",spellcheck:"false"}).val(e).focus()[0].setSelectionRange(e.length,e.length),this.input.bind({input:this.fieldValueInput.bind(this),keydown:this.fieldValueKeydown.bind(this),keypress:this.fieldValueInput.bind(this),click:this.fieldValueInputClick.bind(this),mousedown:this.fieldValueInputMouseDown.bind(this)});const n=e=>this.fieldValueBlur(e);i.Events.on("click",n),this.stopBlurListener=()=>i.Events.off("click",n),this.listenTo(i.Events,"main-window-will-close",this.externalEndEdit),this.listenTo(i.Events,"before-user-idle",this.externalEndEdit),this.model.multiline&&this.setInputHeight(),a.Features.isMobile?this.createMobileControls():this.model.canGen&&g("<div/>").addClass("details__field-value-btn details__field-value-btn-gen").appendTo(this.valueEl).click(this.showGeneratorClick.bind(this)).mousedown(this.showGenerator.bind(this)),u.Tip.hideTip(this.valueEl[0]),u.Tip.hideTip(this.labelEl[0])}createMobileControls(){this.mobileControls={},["cancel","apply"].forEach((e=>{this.mobileControls[e]=g("<div/>").addClass("details__field-value-btn details__field-value-btn-"+e).appendTo(this.labelEl).data("action",e).on({mousedown:this.mobileFieldControlMouseDown.bind(this),touchstart:this.mobileFieldControlTouchStart.bind(this),touchend:this.mobileFieldControlTouchEnd.bind(this),touchmove:this.mobileFieldControlTouchMove.bind(this)})}))}showGeneratorClick(e){e.stopPropagation(),this.gen||this.input.focus()}showGenerator(){if(this.gen)this.hideGenerator();else{const e=this.input[0].getBoundingClientRect(),t=parseInt(this.input.css("--focus-shadow-spread"))||0,n={left:e.left},s=e.bottom+t,i=document.documentElement.clientHeight;s>i/2&&s>200?n.bottom=i-e.top+t:n.top=s,this.gen=new h.GeneratorView({pos:n,password:this.value}),this.gen.render(),this.gen.once("remove",this.generatorClosed.bind(this)),this.gen.once("result",this.generatorResult.bind(this))}}hideGenerator(){if(this.gen){const e=this.gen;delete this.gen,e.remove()}}generatorClosed(){this.gen&&(delete this.gen,this.endEdit())}generatorResult(e){this.gen&&(delete this.gen,this.endEdit(e))}setInputHeight(){this.input.height(18);let e=this.input[0].scrollHeight;e<=18&&(e=18),this.input.height(e)}fieldValueBlur(){!this.gen&&this.input&&this.endEdit(this.input.val())}fieldValueInput(e){e.stopPropagation(),this.model.multiline&&this.setInputHeight()}fieldValueInputClick(){this.gen&&this.hideGenerator()}fieldValueInputMouseDown(e){e.stopPropagation()}fieldValueKeydown(e){r.KeyHandler.reg();const t=e.keyCode||e.which;if(t===o.Keys.DOM_VK_RETURN){if(!this.model.multiline||!e.altKey&&!e.shiftKey&&!e.ctrlKey){if(this.gen)return e.target.value=this.gen.password,void this.hideGenerator();this.stopBlurListener(),this.endEdit(e.target.value)}}else if(t===o.Keys.DOM_VK_ESCAPE)this.stopBlurListener(),this.endEdit();else if(t===o.Keys.DOM_VK_TAB)e.preventDefault(),this.stopBlurListener(),this.endEdit(e.target.value,{tab:{field:this.model.name,prev:e.shiftKey}});else if(t===o.Keys.DOM_VK_G&&e.metaKey)e.preventDefault(),this.showGenerator();else if(t===o.Keys.DOM_VK_S&&(e.metaKey||e.ctrlKey))return this.stopBlurListener(),void this.endEdit(e.target.value);e.stopPropagation()}externalEndEdit(){this.input&&this.endEdit(this.input.val())}endEdit(e,t){this.gen&&this.hideGenerator(),this.editing&&(delete this.input,this.mobileControls&&(this.mobileControls.cancel.remove(),this.mobileControls.apply.remove(),delete this.mobileControls),this.stopBlurListener(),"string"==typeof e&&this.value instanceof s.ProtectedValue&&(e=s.ProtectedValue.fromString(e)),"string"==typeof e&&(e=g.trim(e)),super.endEdit(e,t))}stopBlurListener(){}mobileFieldControlMouseDown(e){e.stopPropagation(),this.stopBlurListener();"apply"===g(e.target).data("action")?this.endEdit(this.input.val()):this.endEdit()}mobileFieldControlTouchStart(e){this.$el.attr("active-mobile-action",g(e.target).data("action"))}mobileFieldControlTouchEnd(e){const t=this.$el.attr("active-mobile-action")===g(e.target).data("action");this.$el.removeAttr("active-mobile-action"),t&&this.mobileFieldControlMouseDown(e)}mobileFieldControlTouchMove(e){const t=e.originalEvent.targetTouches[0],n=t.target.getBoundingClientRect();t.clientX>=n.left&&t.clientX<=n.right&&t.clientY>=n.top&&t.clientY<=n.bottom?this.$el.attr("active-mobile-action",g(e.target).data("action")):this.$el.removeAttr("active-mobile-action")}}},1960:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldViewUrl:()=>o});var s=n(1297),i=n(6838);const r=["http:","https:","ftp:","ftps:","mailto:"];class o extends s.FieldViewText{constructor(...e){super(...e),this.displayUrlRegex=/^https:\/\//i,this.cssClass="url"}renderValue(e){try{return e?'<a href="'+(0,i.escape)(this.fixUrl(e))+'" rel="noreferrer noopener" target="_blank">'+(0,i.escape)(this.displayUrl(e))+"</a>":""}catch(t){return(0,i.escape)(e)}}fixUrl(e){const t=new URL(e,"ws://x").protocol;if("ws:"===t)return"https://"+e;if(!r.includes(t))throw new Error("Bad url");return e}displayUrl(e){return e.replace(this.displayUrlRegex,"")}getTextValue(){return this.value}}},4707:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FieldView:()=>v});var s=n(3617),i=n(7779),r=n(7201),o=n(5933),a=n(3710),l=n(6838),c=n(667),u=n(3297),d=n(3898),h=n(1705),p=n(1434),m=n(7614),g=n(403),f=n(5037),A=n.n(f),y=n(6718);class v extends i.View{constructor(e,t){super(e,t),this.template=A(),this.events={"click .details__field-label":"fieldLabelClick","dblclick .details__field-label":"fieldLabelDblClick","click .details__field-value":"fieldValueClick","dragstart .details__field-label":"fieldLabelDrag","click .details__field-options":"fieldOptionsClick"},this.once("remove",(()=>{this.tip&&a.Tip.hideTip(this.valueEl[0])})),c.Features.isMobile&&this.listenTo(r.Events,"click",this.bodyClick)}render(){this.value="function"==typeof this.model.value?this.model.value():this.model.value;const e=this.renderValue(this.value);super.render({cls:this.cssClass,editable:!this.readonly,multiline:this.model.multiline,title:this.model.title,canEditTitle:this.model.newField,canGen:this.model.canGen,protect:this.value&&this.value.isProtected,hasOptions:!c.Features.isMobile&&e&&this.hasOptions}),this.valueEl=this.$el.find(".details__field-value"),this.valueEl.html(e),this.labelEl=this.$el.find(".details__field-label"),this.model.tip&&(this.tip="function"==typeof this.model.tip?this.model.tip():this.model.tip,this.tip&&(this.valueEl.attr("title",this.tip),a.Tip.createTip(this.valueEl[0])))}update(){if("function"==typeof this.model.value){const e=this.model.value();(!(0,l.isEqual)(e,this.value)||this.value&&e&&this.value.toString()!==e.toString())&&this.render()}}fieldLabelClick(e){if(e.stopImmediatePropagation(),this.hideOptionsDropdown(),!this.preventCopy)if(d.AutoType.enabled&&m.AppSettingsModel.fieldLabelDblClickAutoType){if(this.fieldLabelClickTimer)return clearTimeout(this.fieldLabelClickTimer),this.fieldLabelClickTimer=null,void this.emit("autotype",{source:this});this.fieldLabelClickTimer=setTimeout((()=>{this.copyValue(),this.fieldLabelClickTimer=null}),g.Timeouts.FieldLabelDoubleClick)}else this.copyValue()}copyValue(){let e;if(this.model.name){const t=this.getTextValue();if(!t)return;return o.CopyPaste.simpleCopy||o.CopyPaste.createHiddenInput(t),e=o.CopyPaste.copy(t),void this.emit("copy",{source:this,copyRes:e})}if(!this.value)return;const t=window.getSelection(),n=document.createRange();n.selectNodeContents(this.valueEl[0]),t.removeAllRanges(),t.addRange(n),e=o.CopyPaste.copy(this.valueEl[0].innerText||this.valueEl.text()),e&&(t.removeAllRanges(),this.emit("copy",{source:this,copyRes:e}))}fieldValueClick(e){if(this.hideOptionsDropdown(),["a","input","textarea"].indexOf(e.target.tagName.toLowerCase())>=0)return;window.getSelection().toString()||(c.Features.isMobile?(e.stopPropagation(),this.showMobileActions()):this.edit())}fieldLabelDrag(e){if(e.stopPropagation(),this.hideOptionsDropdown(),!this.value)return;const t=e.dataTransfer,n=this.getTextValue();"a"===this.valueEl[0].tagName.toLowerCase()&&t.setData("text/uri-list",n),t.setData("text/plain",n),t.effectAllowed="copy"}edit(){this.readonly||this.editing||(this.valueEl.removeClass("details__field-value--revealed"),this.$el.addClass("details__field--edit"),this.startEdit(),this.editing=!0,this.preventCopy=!0,this.labelEl[0].setAttribute("draggable","false"))}endEdit(e,t){var n;if(!this.editing)return;let s;this.editing=!1,setTimeout((()=>{this.preventCopy=!1}),300),s=this.value&&this.value.isProtected?this.value.equals(e):e&&e.isProtected?e.equals(this.value):e instanceof Date&&this.value instanceof Date?e.toDateString()===this.value.toDateString():(0,l.isEqual)(this.value,e);const i=(e&&e.isProtected)===(this.value&&this.value.isProtected);var r;null!==(n=t)&&void 0!==n&&n.newField||!this.model.newField||(null!==(r=t)&&void 0!==r||(t={}),t.newField=this.model.newField);const o=t&&t.newField;let a;void 0===e||s&&i&&!o?t&&(a=t):(a={val:e,field:this.model.name},t&&Object.assign(a,t)),a&&this.triggerChange(a),this.valueEl.removeClass("details__field-value--revealed").html(this.renderValue(this.value)),this.$el.removeClass("details__field--edit"),this.labelEl[0].setAttribute("draggable","true")}triggerChange(e){e.sender=this,this.emit("change",e)}fieldOptionsClick(e){if(this.views.optionsDropdown)return void this.hideOptionsDropdown();e.stopPropagation();const t=new p.DropdownView;this.listenTo(t,"cancel",this.hideOptionsDropdown),this.listenTo(t,"select",this.optionsDropdownSelect);const n=[];n.push({value:"copy",icon:"copy",text:u.Locale.alertCopy}),this.value instanceof s.ProtectedValue&&(this.valueEl.hasClass("details__field-value--revealed")?n.push({value:"hide",icon:"eye-slash",text:u.Locale.detHideField}):n.push({value:"reveal",icon:"eye",text:u.Locale.detRevealField})),d.AutoType.enabled&&this.model.sequence&&n.push({value:"autotype",icon:"keyboard",text:u.Locale.detAutoTypeField});const i=this.$el[0].getBoundingClientRect(),r={top:i.bottom,right:i.right};t.render({position:r,options:n}),this.views.optionsDropdown=t}hideOptionsDropdown(){this.views.optionsDropdown&&(this.views.optionsDropdown.remove(),delete this.views.optionsDropdown)}optionsDropdownSelect(e){switch(this.hideOptionsDropdown(),e.item){case"copy":this.copyValue();break;case"reveal":this.revealValue();break;case"hide":this.hideValue();break;case"autotype":this.emit("autotype",{source:this})}}revealValue(){const e=h.PasswordPresenter.asDOM(this.value);this.valueEl.addClass("details__field-value--revealed").empty(),this.valueEl.append(e)}hideValue(){this.valueEl.removeClass("details__field-value--revealed").html(this.renderValue(this.value))}bodyClick(e){this.mobileActionsEl&&(this.valueEl[0].contains(e.target)||this.mobileActionsEl[0].contains(e.target)||(this.mobileActionsEl.remove(),delete this.mobileActionsEl))}showMobileActions(){if(this.readonly)return;if(this.mobileActionsEl)return this.mobileActionsEl.remove(),void delete this.mobileActionsEl;const e=this.valueEl.position().left,t=this.$el.width()-e,n=this.valueEl.height(),i=y("<div></div>").addClass("details__field-mobile-actions").appendTo(this.$el).css({left:e,top:n,width:t}),r=[];this.value&&r.push({name:"copy",icon:"copy"}),r.push({name:"edit",icon:"pencil-alt"}),this.value instanceof s.ProtectedValue&&r.push({name:"reveal",icon:"eye"}),this.model.canGen&&r.push({name:"generate",icon:"bolt"});for(const e of r)y("<div></div>").addClass(`details__field-mobile-action fa fa-${e.icon}`).appendTo(i).click((()=>this.doMobileAction(e.name)));this.mobileActionsEl=i}doMobileAction(e){switch(this.mobileActionsEl.remove(),delete this.mobileActionsEl,e){case"copy":this.copyValue();break;case"edit":this.edit();break;case"reveal":this.revealValue();break;case"generate":this.edit(),setTimeout((()=>this.showGenerator()),0)}}getTextValue(){return this.value?this.value.isProtected?this.value.getText():this.value:""}}},5249:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FooterView:()=>h});var s=n(7779),i=n(7201),r=n(1164),o=n(2977),a=n(2706),l=n(1473),c=n(5386),u=n.n(c),d=n(6718);class h extends s.View{constructor(e,t){super(e,t),this.parent=".app__footer",this.template=u(),this.events={"click .footer__db-item":"showFile","click .footer__db-open":"openFile","click .footer__btn-help":"toggleHelp","click .footer__btn-settings":"toggleSettings","click .footer__btn-generate":"genPass","click .footer__btn-lock":"lockWorkspace"},this.onKey(o.Keys.DOM_VK_L,this.lockWorkspace,r.KeyHandler.SHORTCUT_ACTION,!1,!0),this.onKey(o.Keys.DOM_VK_G,this.genPass,r.KeyHandler.SHORTCUT_ACTION),this.onKey(o.Keys.DOM_VK_O,this.openFile,r.KeyHandler.SHORTCUT_ACTION),this.onKey(o.Keys.DOM_VK_S,this.saveAll,r.KeyHandler.SHORTCUT_ACTION),this.onKey(o.Keys.DOM_VK_COMMA,this.toggleSettings,r.KeyHandler.SHORTCUT_ACTION),this.listenTo(this,"hide",this.viewHidden),this.listenTo(this.model.files,"change",this.render),this.listenTo(i.Events,"file-changed",this.render),this.listenTo(i.Events,"set-locale",this.render),this.listenTo(a.UpdateModel,"change:updateStatus",this.render)}render(){super.render({files:this.model.files,updateAvailable:["ready","found"].indexOf(a.UpdateModel.updateStatus)>=0})}viewHidden(){this.views.gen&&(this.views.gen.remove(),delete this.views.gen)}lockWorkspace(e){this.model.files.hasOpenFiles()&&(e.preventDefault(),i.Events.emit("lock-workspace"))}genPass(e){if(e.stopPropagation(),this.views.gen)return void this.views.gen.remove();const t=this.$el.find(".footer__btn-generate")[0].getBoundingClientRect(),n=document.body.getBoundingClientRect(),s=n.right-t.right,i=n.bottom-t.top,r=new l.GeneratorView({copy:!0,pos:{right:s,bottom:i}});r.render(),r.once("remove",(()=>{delete this.views.gen})),this.views.gen=r}showFile(e){const t=d(e.target).closest(".footer__db-item").data("file-id");t&&i.Events.emit("show-file",{fileId:t})}openFile(){i.Events.emit("open-file")}saveAll(){i.Events.emit("save-all")}toggleHelp(){i.Events.emit("toggle-settings","help")}toggleSettings(){i.Events.emit("toggle-settings","general")}}},7953:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GeneratorPresetsView:()=>h});var s=n(7201),i=n(7779),r=n(1622),o=n(4486),a=n(3297),l=n(7015),c=n(923),u=n.n(c),d=n(6718);class h extends i.View{constructor(...e){super(...e),this.parent=".app__panel",this.template=u(),this.events={"click .back-button":"returnToApp","change .gen-ps__list":"changePreset","click .gen-ps__btn-create":"createPreset","click .gen-ps__btn-delete":"deletePreset","click .info-btn--pattern":"togglePatternHelp","input #gen-ps__field-title":"changeTitle","change #gen-ps__check-enabled":"changeEnabled","change #gen-ps__check-default":"changeDefault","input #gen-ps__field-length":"changeLength","change .gen-ps__check-range":"changeRange","input #gen-ps__field-include":"changeInclude","input #gen-ps__field-pattern":"changePattern"},this.selected=null,this.reservedTitles=[a.Locale.genPresetDerived]}render(){this.presets=r.GeneratorPresets.all,this.selected&&this.presets.some((e=>e.name===this.selected))||(this.selected=(this.presets.filter((e=>e.default))[0]||this.presets[0]).name),super.render({presets:this.presets,selected:this.getPreset(this.selected),ranges:this.getSelectedRanges()}),this.createScroll({root:this.$el.find(".gen-ps")[0],scroller:this.$el.find(".scroller")[0],bar:this.$el.find(".scroller__bar")[0]}),this.renderExample()}renderExample(){const e=this.getPreset(this.selected),t=o.PasswordGenerator.generate(e);this.$el.find(".gen-ps__example").text(t),this.pageResized()}getSelectedRanges(){const e=this.getPreset(this.selected),t={high:"¡¢£¤¥¦§©ª«¬®¯°±¹²´µ¶»¼÷¿ÀÖîü..."};return["Upper","Lower","Digits","Special","Brackets","High","Ambiguous"].map((n=>{const s=n.toLowerCase();return{name:s,title:a.Locale["genPs"+n],enabled:e[s],sample:t[s]||o.CharRanges[s]}}))}getPreset(e){return this.presets.filter((t=>t.name===e))[0]}returnToApp(){s.Events.emit("edit-generator-presets")}changePreset(e){this.selected=e.target.value,this.render()}createPreset(){let e,t;for(let n=1;;n++){const s="Custom"+n,i=a.Locale.genPsNew+" "+n;if(!this.presets.filter((e=>e.name===s||e.title===i)).length){e=s,t=i;break}}const n=this.getPreset(this.selected),s={name:e,title:t,length:n.length,upper:n.upper,lower:n.lower,digits:n.digits,special:n.special,brackets:n.brackets,ambiguous:n.ambiguous,include:n.include};r.GeneratorPresets.add(s),this.selected=e,this.render()}deletePreset(){r.GeneratorPresets.remove(this.selected),this.render()}togglePatternHelp(){this.$el.find(".gen-ps__pattern-help").toggleClass("hide")}changeTitle(e){const t=d.trim(e.target.value);if(t&&t!==this.getPreset(this.selected).title){let n=this.presets.some((e=>e.title.toLowerCase()===t.toLowerCase()));if(n||(n=this.reservedTitles.some((e=>e.toLowerCase()===t.toLowerCase()))),n)return void d(e.target).addClass("input--error");d(e.target).removeClass("input--error"),r.GeneratorPresets.setPreset(this.selected,{title:t}),this.$el.find(".gen-ps__list option[selected]").text(t)}}changeEnabled(e){const t=e.target.checked;r.GeneratorPresets.setDisabled(this.selected,!t)}changeDefault(e){const t=e.target.checked;r.GeneratorPresets.setDefault(t?this.selected:null)}changeLength(e){const t=+e.target.value;t>0?(r.GeneratorPresets.setPreset(this.selected,{length:t}),d(e.target).removeClass("input--error")):d(e.target).addClass("input--error"),this.presets=r.GeneratorPresets.all,this.renderExample()}changeRange(e){const t=e.target.checked,n=e.target.dataset.range;r.GeneratorPresets.setPreset(this.selected,{[n]:t}),this.presets=r.GeneratorPresets.all,this.renderExample()}changeInclude(e){const t=e.target.value;t!==this.getPreset(this.selected).include&&r.GeneratorPresets.setPreset(this.selected,{include:t}),this.presets=r.GeneratorPresets.all,this.renderExample()}changePattern(e){const t=e.target.value;t!==this.getPreset(this.selected).pattern&&r.GeneratorPresets.setPreset(this.selected,{pattern:t}),this.presets=r.GeneratorPresets.all,this.renderExample()}}Object.assign(h.prototype,l.Scrollable)},1473:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GeneratorView:()=>g});var s=n(7779),i=n(7201),r=n(1622),o=n(5933),a=n(7614),l=n(4486),c=n(1705),u=n(3297),d=n(3710),h=n(2955),p=n.n(h),m=n(6718);class g extends s.View{constructor(e){super(e),this.parent="body",this.template=p(),this.events={click:"click","mousedown .gen__length-range":"generate","input .gen__length-range":"lengthChange","change .gen__length-range":"lengthChange","change .gen__check input[type=checkbox]":"checkChange","change .gen__check-hide":"hideChange","click .gen__btn-ok":"btnOkClick","change .gen__sel-tpl":"presetChange","click .gen__btn-refresh":"newPass"},this.valuesMap=[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,24,26,28,30,32,48,64],this.presets=null,this.preset=null,this.createPresets();const t=this.preset;this.gen=Object.assign({},this.presets.find((e=>e.name===t))),this.hide=a.AppSettingsModel.generatorHidePassword,m("body").one("click",this.remove.bind(this)),this.listenTo(i.Events,"lock-workspace",this.remove.bind(this))}render(){const e=document.queryCommandSupported("copy"),t=this.model.copy?e?u.Locale.alertCopy:u.Locale.alertClose:u.Locale.alertOk;super.render({btnTitle:t,showToggleButton:this.model.copy,opt:this.gen,hide:this.hide,presets:this.presets,preset:this.preset,showTemplateEditor:!this.model.noTemplateEditor}),this.resultEl=this.$el.find(".gen__result"),this.$el.css(this.model.pos),this.generate()}createPresets(){if(this.presets=r.GeneratorPresets.enabled,!this.model.password||this.model.password.isProtected&&!this.model.password.byteLength){const e=this.presets.filter((e=>e.default))[0]||this.presets[0];this.preset=e.name}else{const e={name:"Derived",title:u.Locale.genPresetDerived};Object.assign(e,l.PasswordGenerator.deriveOpts(this.model.password)),this.presets.splice(0,0,e),this.preset="Derived"}this.presets.forEach((e=>{e.pseudoLength=this.lengthToPseudoValue(e.length)}))}lengthToPseudoValue(e){for(let t=0;t<this.valuesMap.length;t++)if(this.valuesMap[t]>=e)return t;return this.valuesMap.length-1}showPassword(){this.hide&&!this.model.copy?this.resultEl.text(c.PasswordPresenter.present(this.password.length)):this.resultEl.text(this.password)}click(e){e.stopPropagation()}lengthChange(e){const t=this.valuesMap[e.target.value];t!==this.gen.length&&(this.gen.length=t,this.$el.find(".gen__length-range-val").text(t),this.optionChanged("length"),this.generate())}checkChange(e){const t=m(e.target).data("id");t&&(this.gen[t]=e.target.checked),this.optionChanged(t),this.generate()}optionChanged(e){"Custom"===this.preset||"Pronounceable"===this.preset&&["length","lower","upper"].indexOf(e)>=0||(this.preset=this.gen.name="Custom",this.$el.find(".gen__sel-tpl").val(""))}generate(){this.password=l.PasswordGenerator.generate(this.gen),this.showPassword();const e=this.password.length>32;this.resultEl.toggleClass("gen__result--long-pass",e)}hideChange(e){this.hide=e.target.checked,a.AppSettingsModel.generatorHidePassword=this.hide;const t=this.$el.find(".gen__check-hide-label");d.Tip.updateTip(t[0],{title:this.hide?u.Locale.genShowPass:u.Locale.genHidePass}),this.showPassword()}btnOkClick(){this.model.copy&&(o.CopyPaste.simpleCopy||o.CopyPaste.createHiddenInput(this.password),o.CopyPaste.copy(this.password)),this.emit("result",this.password),this.remove()}presetChange(e){const t=e.target.value;if("..."===t)return i.Events.emit("edit-generator-presets"),void this.remove();this.preset=t;const n=this.presets.find((e=>e.name===t));this.gen=Object.assign({},n),this.render()}newPass(){this.generate()}}},5984:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GrpView:()=>h});var s=n(7779),i=n(7201),r=n(3898),o=n(7015),a=n(2385),l=n(3872),c=n(5380),u=n.n(c),d=n(6718);class h extends s.View{constructor(...e){super(...e),this.parent=".app__panel",this.template=u(),this.events={"click .grp__icon":"showIconsSelect","click .grp__buttons-trash":"moveToTrash","click .back-button":"returnToApp","input #grp__field-title":"changeTitle","focus #grp__field-auto-type-seq":"focusAutoTypeSeq","input #grp__field-auto-type-seq":"changeAutoTypeSeq","change #grp__check-search":"setEnableSearching","change #grp__check-auto-type":"setEnableAutoType"}}render(){this.removeSubView(),super.render({title:this.model.title,icon:this.model.icon||"folder",customIcon:this.model.customIcon,enableSearching:this.model.getEffectiveEnableSearching(),readonly:this.model.top,canAutoType:r.AutoType.enabled,autoTypeSeq:this.model.autoTypeSeq,autoTypeEnabled:this.model.getEffectiveEnableAutoType(),defaultAutoTypeSeq:this.model.getParentEffectiveAutoTypeSeq()}),this.model.title||this.$el.find("#grp__field-title").focus(),this.createScroll({root:this.$el.find(".grp")[0],scroller:this.$el.find(".scroller")[0],bar:this.$el.find(".scroller__bar")[0]}),this.pageResized()}removeSubView(){this.views.sub&&(this.views.sub.remove(),delete this.views.sub)}changeTitle(e){const t=d.trim(e.target.value);t?this.model.top||t===this.model.title||this.model.setName(t):this.model.isJustCreated&&(this.model.removeWithoutHistory(),i.Events.emit("edit-group"))}changeAutoTypeSeq(e){const t=e.target,n=d.trim(t.value);r.AutoType.validate(null,n,(t=>{d(e.target).toggleClass("input--error",!!t),t||this.model.setAutoTypeSeq(n)}))}focusAutoTypeSeq(e){this.views.hint||(this.views.hint=new a.AutoTypeHintView({input:e.target}),this.views.hint.render(),this.views.hint.on("remove",(()=>{delete this.views.hint})))}showIconsSelect(){if(this.views.sub)this.removeSubView();else{const e=new l.IconSelectView({iconId:this.model.customIconId||this.model.iconId,file:this.model.file},{parent:this.$el.find(".grp__icons")[0]});this.listenTo(e,"select",this.iconSelected),e.render(),this.views.sub=e}this.pageResized()}iconSelected(e){e.custom?e.id!==this.model.customIconId&&this.model.setCustomIcon(e.id):e.id!==this.model.iconId&&this.model.setIcon(+e.id),this.render()}moveToTrash(){this.model.moveToTrash(),i.Events.emit("select-all")}setEnableSearching(e){const t=e.target.checked;this.model.setEnableSearching(t)}setEnableAutoType(e){const t=e.target.checked;this.model.setEnableAutoType(t)}returnToApp(){i.Events.emit("edit-group")}}Object.assign(h.prototype,o.Scrollable)},3872:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IconSelectView:()=>u});var s=n(7779),i=n(353),r=n(2363),o=n(9851),a=n.n(o),l=n(6718);const c=new r.Logger("icon-select-view");class u extends s.View{constructor(...e){super(...e),this.template=a(),this.events={"click .icon-select__icon":"iconClick","click .icon-select__icon-download":"downloadIcon","click .icon-select__icon-select":"selectIcon","change .icon-select__file-input":"iconSelected"},this.special={select:null,download:null}}render(){const e=this.model.file.getCustomIcons(),t=Object.keys(e).length>0;super.render({sel:this.model.iconId,icons:i.IconMap,canDownloadFavicon:!!this.model.url,customIcons:e,hasCustomIcons:t})}iconClick(e){const t=l(e.target).closest(".icon-select__icon"),n=t[0].getAttribute("data-val");if("special"===n){const n=this.special[t.data("special")];if(n){const t=this.model.file.addCustomIcon(n.data);this.emit("select",{id:t,custom:!0}),e.preventDefault(),e.stopImmediatePropagation()}}else if(n){const e=t.hasClass("icon-select__icon-custom");this.emit("select",{id:n,custom:e})}}downloadIcon(){if(this.downloadingFavicon)return;this.downloadingFavicon=!0,this.$el.find(".icon-select__icon-download>i").addClass("spin"),this.$el.find(".icon-select__icon-download").addClass("icon-select__icon--progress").removeClass("icon-select__icon--download-error");const e=this.getIconUrl(!0),t=document.createElement("img");t.crossOrigin="Anonymous",t.src=e,t.onload=()=>{this.setSpecialImage(t,"download"),this.$el.find(".icon-select__icon-download img").remove(),this.$el.find(".icon-select__icon-download>i").removeClass("spin"),this.$el.find(".icon-select__icon-download").removeClass("icon-select__icon--progress").addClass("icon-select__icon--custom-selected").append(t),this.downloadingFavicon=!1;const e=this.model.file.addCustomIcon(this.special.download.data);this.emit("select",{id:e,custom:!0})},t.onerror=t=>{c.error("Favicon download error: "+e,t),this.$el.find(".icon-select__icon-download>i").removeClass("spin"),this.$el.find(".icon-select__icon-download").removeClass("icon-select__icon--custom-selected icon-select__icon--progress").addClass("icon-select__icon--download-error"),this.downloadingFavicon=!1}}getIconUrl(e){if(!this.model.url)return null;let t=this.model.url.replace(/([^\/:]\/.*)?$/,(e=>(e&&e[0])+"/favicon.ico"));return t.indexOf("://")<0&&(t="http://"+t),e?"https://services.keeweb.info/favicon/"+t.replace(/^.*:\/+/,"").replace(/\/.*/,""):t}selectIcon(e){e.target.closest(".icon-select__icon-select").classList.contains("icon-select__icon--custom-selected")||this.$el.find(".icon-select__file-input").click()}iconSelected(e){const t=e.target.files[0];if(t){const e=new FileReader;e.onload=e=>{const t=document.createElement("img");t.onload=()=>{this.setSpecialImage(t,"select"),this.$el.find(".icon-select__icon-select img").remove(),this.$el.find(".icon-select__icon-select").addClass("icon-select__icon--custom-selected").append(t)},t.src=e.target.result},e.readAsDataURL(t)}else this.$el.find(".icon-select__icon-select img").remove(),this.$el.find(".icon-select__icon-select").removeClass("icon-select__icon--custom-selected")}setSpecialImage(e,t){const n=Math.min(e.width,32),s=document.createElement("canvas"),i=s.getContext("2d");s.width=n,s.height=n,i.drawImage(e,0,0,n,n);const r=s.toDataURL().replace(/^.*,/,"");this.special[t]={width:e.width,height:e.height,data:r}}}},97:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ImportCsvView:()=>c});var s=n(3617),i=n(7779),r=n(7015),o=n(7655),a=n.n(o),l=n(7725);class c extends i.View{constructor(e,t){super(e,t),this.parent=".app__body",this.template=a(),this.events={"click .back-button":"returnToApp","click .import-csv__button-cancel":"returnToApp","click .import-csv__button-run":"runImport","change .import-csv__field-select":"changeMapping","change .import-csv__target-select":"changeGroup"},this.knownFields=[{field:"Title",re:/title|\bname|account/i},{field:"UserName",re:/user|login/i},{field:"Password",re:/pass/i},{field:"URL",re:/url|site/i},{field:"Notes",re:/notes|comment|extra/i}],this.fieldMapping=[],this.targetGroup=void 0,this.appModel=t.appModel,this.fileName=t.fileName,this.guessFieldMapping(),this.fillGroups(),this.initScroll()}render(){super.render({headers:this.model.headers,rows:this.model.rows,fieldMapping:this.fieldMapping,groups:this.groups}),this.createScroll({root:this.$el.find(".import-csv__body")[0],scroller:this.$el.find(".import-csv__body > .scroller")[0],bar:this.$el.find(".import-csv__body > .scroller__bar-wrapper > .scroller__bar")[0]}),this.pageResized(),this.scroll._update||(this.scroll._update=this.scroll.update,this.scroll.update=this.scrollUpdate.bind(this))}scrollUpdate(){this.scroller.css({width:"auto",minWidth:"auto",maxWidth:"auto"}),this.scroll._update()}returnToApp(){this.emit("cancel")}changeMapping(e){const t=+e.target.dataset.col,n=e.target.value,s=this.knownFields.some((e=>e.field===n)),i=n?s?"builtin":"custom":"ignore";if(this.fieldMapping[t]={mapping:i,field:n},n){let e=0;for(const s of this.fieldMapping){if(s.field===n&&t!==e){s.type="ignore",s.field="";this.el.querySelector(`.import-csv__field-select[data-col="${e}"]`).value=""}e++}}}guessFieldMapping(){const e={};for(const t of this.model.headers.map((e=>e.trim()))){if(!t||/^(group|grouping)$/i.test(t)){this.fieldMapping.push({type:"ignore"});continue}let n=!1;for(const{field:s,re:i}of this.knownFields)if(!e[s]&&i.test(t)){this.fieldMapping.push({type:"builtin",field:s}),e[s]=!0,n=!0;break}n||this.fieldMapping.push({type:"custom",field:t})}}fillGroups(){this.groups=[];for(const e of this.appModel.files)e.forEachGroup((t=>{const n=t.title,s=[];for(let e=t;e.parentGroup;e=e.parentGroup)s.push(" "," ");this.groups.push({id:t.id,fileId:e.id,spaces:s,title:n})}))}changeGroup(e){const t=e.target.value;if(!t)return void(this.targetGroup=void 0);const n=e.target.querySelector(`option[value="${t}"]`).dataset.file,s=this.appModel.files.get(n);this.targetGroup=s.getGroup(t)}runImport(){let e,t=this.targetGroup;if(t)e=Promise.resolve(t.file);else{const t=this.fileName.replace(/\.csv$/i,"");e=new Promise((e=>this.appModel.createNewFile(t,e)))}e.then((e=>{t||(t=e.groups[0]);for(const n of this.model.rows){const i=l.EntryModel.newEntry(t,e);for(let e=0;e<n.length;e++){let t=n[e];if(!t)continue;const r=this.fieldMapping[e];"ignore"!==r.type&&r.field&&("Password"===r.field&&(t=s.ProtectedValue.fromString(t)),i.setField(r.field,t))}}e.reload(),this.emit("done")}))}}Object.assign(c.prototype,r.Scrollable)},7622:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeyChangeView:()=>d});var s=n(7779),i=n(6892),r=n(4530),o=n(2977),a=n(3297),l=n(7609),c=n(6704),u=n.n(c);class d extends s.View{constructor(e){super(e),this.parent=".app__body",this.template=u(),this.events={"keydown .key-change__pass":"inputKeydown","keydown .key-change__pass-repeat":"inputKeydown","click .key-change__keyfile":"keyFileClicked","change .key-change__file":"keyFileSelected","click .key-change__btn-ok":"accept","click .key-change__btn-cancel":"cancel"},this.passwordInput=null,this.passwordRepeatInput=null,this.inputEl=null,this.passwordInput=new i.SecureInput}render(){this.keyFileName=this.model.file.keyFileName||null,this.keyFileData=null;const e=this.model.expired;super.render({fileName:this.model.file.name,keyFileName:this.model.file.keyFileName,title:this.model.expired?a.Locale.keyChangeTitleExpired:a.Locale.keyChangeTitleRemote,message:this.model.expired?a.Locale.keyChangeMessageExpired:a.Locale.keyChangeMessageRemote,repeat:e}),this.$el.find(".key-change__keyfile-name").text(this.keyFileName?": "+this.keyFileName:""),this.inputEl=this.$el.find(".key-change__pass"),this.passwordInput.reset(),this.passwordInput.setElement(this.inputEl),this.inputEl.focus(),e&&(this.passwordRepeatInput=new i.SecureInput,this.passwordRepeatInput.reset(),this.passwordRepeatInput.setElement(this.$el.find(".key-change__pass-repeat")))}inputKeydown(e){e.which===o.Keys.DOM_VK_RETURN&&this.accept()}keyFileClicked(){this.keyFileName&&(this.keyFileName=null,this.keyFile=null,this.$el.find(".key-change__keyfile-name").empty()),this.$el.find(".key-change__file").val(null).click(),this.inputEl.focus()}keyFileSelected(e){const t=e.target.files[0];if(t){const e=new FileReader;e.onload=e=>{this.keyFileName=t.name,this.keyFileData=e.target.result,this.$el.find(".key-change__keyfile-name").text(": "+this.keyFileName)},e.onerror=()=>{r.Alerts.error({header:a.Locale.openFailedRead})},e.readAsArrayBuffer(t)}else this.$el.find(".key-change__keyfile-name").empty();this.inputEl.focus()}accept(){return this.passwordInput.value.byteLength?(this.passwordInput.el.removeClass("input--error"),this.passwordRepeatInput&&!this.passwordRepeatInput.value.equals(this.passwordInput.value)?(this.passwordRepeatInput.el.addClass("input--error"),this.passwordRepeatInput.el.focus(),void l.InputFx.shake(this.passwordRepeatInput.el)):void this.emit("accept",{file:this.model.file,expired:this.model.expired,password:this.passwordInput.value,keyFileName:this.keyFileName,keyFileData:this.keyFileData})):(this.passwordInput.el.focus(),this.passwordRepeatInput.el.addClass("input--error"),void l.InputFx.shake(this.passwordInput.el))}cancel(){this.emit("cancel")}}},248:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ListSearchView:()=>f});var s=n(7779),i=n(7201),r=n(7027),o=n(1164),a=n(2977),l=n(8612),c=n(667),u=n(2378),d=n(3297),h=n(1434),p=n(46),m=n.n(p),g=n(6718);class f extends s.View{constructor(e){super(e),this.parent=".list__header",this.template=m(),this.events={"keydown .list__search-field":"inputKeyDown","keypress .list__search-field":"inputKeyPress","input .list__search-field":"inputChange","focus .list__search-field":"inputFocus","click .list__search-btn-new":"createOptionsClick","click .list__search-btn-sort":"sortOptionsClick","click .list__search-icon-search":"advancedSearchClick","click .list__search-btn-menu":"toggleMenu","click .list__search-icon-clear":"clickClear","change .list__search-adv input[type=checkbox]":"toggleAdvCheck"},this.inputEl=null,this.sortOptions=null,this.sortIcons=null,this.createOptions=null,this.advancedSearchEnabled=!1,this.advancedSearch=null,this.sortOptions=[{value:"title",icon:"sort-alpha-down",loc:()=>u.StringFormat.capFirst(d.Locale.title)+" "+this.addArrow(d.Locale.searchAZ)},{value:"-title",icon:"sort-alpha-down-alt",loc:()=>u.StringFormat.capFirst(d.Locale.title)+" "+this.addArrow(d.Locale.searchZA)},{value:"website",icon:"sort-alpha-down",loc:()=>u.StringFormat.capFirst(d.Locale.website)+" "+this.addArrow(d.Locale.searchAZ)},{value:"-website",icon:"sort-alpha-down-alt",loc:()=>u.StringFormat.capFirst(d.Locale.website)+" "+this.addArrow(d.Locale.searchZA)},{value:"user",icon:"sort-alpha-down",loc:()=>u.StringFormat.capFirst(d.Locale.user)+" "+this.addArrow(d.Locale.searchAZ)},{value:"-user",icon:"sort-alpha-down-alt",loc:()=>u.StringFormat.capFirst(d.Locale.user)+" "+this.addArrow(d.Locale.searchZA)},{value:"created",icon:"sort-numeric-down",loc:()=>d.Locale.searchCreated+" "+this.addArrow(d.Locale.searchON)},{value:"-created",icon:"sort-numeric-down-alt",loc:()=>d.Locale.searchCreated+" "+this.addArrow(d.Locale.searchNO)},{value:"updated",icon:"sort-numeric-down",loc:()=>d.Locale.searchUpdated+" "+this.addArrow(d.Locale.searchON)},{value:"-updated",icon:"sort-numeric-down-alt",loc:()=>d.Locale.searchUpdated+" "+this.addArrow(d.Locale.searchNO)},{value:"-attachments",icon:"sort-amount-down",loc:()=>d.Locale.searchAttachments},{value:"-rank",icon:"sort-amount-down",loc:()=>d.Locale.searchRank}],this.sortIcons={},this.sortOptions.forEach((e=>{this.sortIcons[e.value]=e.icon})),this.advancedSearch={user:!0,other:!0,url:!0,protect:!1,notes:!0,pass:!1,cs:!1,regex:!1,history:!1,title:!0},this.model.advancedSearch&&(this.advancedSearch=Object.assign({},this.model.advancedSearch)),this.setLocale(),this.onKey(a.Keys.DOM_VK_F,this.findKeyPress,o.KeyHandler.SHORTCUT_ACTION),this.onKey(a.Keys.DOM_VK_N,this.newKeyPress,o.KeyHandler.SHORTCUT_OPT),this.onKey(a.Keys.DOM_VK_DOWN,this.downKeyPress),this.onKey(a.Keys.DOM_VK_UP,this.upKeyPress),this.listenTo(this,"show",this.viewShown),this.listenTo(this,"hide",this.viewHidden),this.listenTo(i.Events,"filter",this.filterChanged),this.listenTo(i.Events,"set-locale",this.setLocale),this.listenTo(i.Events,"page-blur",this.pageBlur),this.listenTo(this.model.files,"change",this.fileListUpdated),this.once("remove",(()=>{this.removeKeypressHandler()}))}setLocale(){this.sortOptions.forEach((e=>{e.text=e.loc()})),this.createOptions=[{value:"entry",icon:"key",text:u.StringFormat.capFirst(d.Locale.entry),hint:c.Features.isMobile?null:`(${d.Locale.searchShiftClickOr} ${r.Shortcuts.altShortcutSymbol(!0)})`},{value:"group",icon:"folder",text:u.StringFormat.capFirst(d.Locale.group)}],this.el&&this.render()}pageBlur(){this.inputEl.blur()}removeKeypressHandler(){}viewShown(){const e=e=>this.documentKeyPress(e);i.Events.on("keypress",e),this.removeKeypressHandler=()=>i.Events.off("keypress",e)}viewHidden(){this.removeKeypressHandler()}render(){let e;this.inputEl&&(e=this.inputEl.val()),super.render({adv:this.advancedSearch,advEnabled:this.advancedSearchEnabled,canCreate:this.model.canCreateEntries()}),this.inputEl=this.$el.find(".list__search-field"),e&&this.inputEl.val(e)}inputKeyDown(e){switch(e.which){case a.Keys.DOM_VK_UP:case a.Keys.DOM_VK_DOWN:break;case a.Keys.DOM_VK_RETURN:e.target.blur();break;case a.Keys.DOM_VK_ESCAPE:this.inputEl.val()&&(this.inputEl.val(""),this.inputChange()),e.target.blur();break;default:return}e.preventDefault()}inputKeyPress(e){e.stopPropagation()}inputChange(){const e=this.inputEl.val();this.inputEl[0].parentElement.classList.toggle("list__search-field-wrap--text",e),i.Events.emit("add-filter",{text:e})}inputFocus(e){g(e.target).select()}documentKeyPress(e){if(this.hidden)return;const t=e.charCode;t&&(this.hideSearchOptions(),this.inputEl.val(String.fromCharCode(t)).focus(),this.inputEl[0].setSelectionRange(1,1),this.inputChange(),e.preventDefault())}findKeyPress(e){this.hidden||(e.preventDefault(),this.hideSearchOptions(),this.inputEl.select().focus())}newKeyPress(e){this.hidden||(e.preventDefault(),this.hideSearchOptions(),this.emit("create-entry"))}downKeyPress(e){e.preventDefault(),this.hideSearchOptions(),this.emit("select-next")}upKeyPress(e){e.preventDefault(),this.hideSearchOptions(),this.emit("select-prev")}filterChanged(e){this.hideSearchOptions(),e.filter.text!==this.inputEl.val()&&this.inputEl.val(e.text||"");const t=this.sortIcons[e.sort]||"sort";this.$el.find(".list__search-btn-sort>i").attr("class","fa fa-"+t);let n=!!e.filter.advanced;this.model.advancedSearch&&(n=e.filter.advanced!==this.model.advancedSearch),this.advancedSearchEnabled!==n&&(this.advancedSearchEnabled=n,this.$el.find(".list__search-adv").toggleClass("hide",!this.advancedSearchEnabled))}createOptionsClick(e){if(e.stopImmediatePropagation(),e.shiftKey)return this.hideSearchOptions(),void this.emit("create-entry");this.toggleCreateOptions()}sortOptionsClick(e){this.toggleSortOptions(),e.stopImmediatePropagation()}advancedSearchClick(){this.advancedSearchEnabled=!this.advancedSearchEnabled,this.$el.find(".list__search-adv").toggleClass("hide",!this.advancedSearchEnabled);let e=!1;this.advancedSearchEnabled?e=this.advancedSearch:this.model.advancedSearch&&(e=this.model.advancedSearch),i.Events.emit("add-filter",{advanced:e})}toggleMenu(){i.Events.emit("toggle-menu")}toggleAdvCheck(e){const t=g(e.target).data("id");this.advancedSearch[t]=e.target.checked,i.Events.emit("add-filter",{advanced:this.advancedSearch})}hideSearchOptions(){this.views.searchDropdown&&(this.views.searchDropdown.remove(),this.views.searchDropdown=null,this.$el.find(".list__search-btn-sort,.list__search-btn-new").removeClass("sel--active"))}toggleSortOptions(){if(this.views.searchDropdown&&this.views.searchDropdown.isSort)return void this.hideSearchOptions();this.hideSearchOptions(),this.$el.find(".list__search-btn-sort").addClass("sel--active");const e=new h.DropdownView;e.isSort=!0,this.listenTo(e,"cancel",this.hideSearchOptions),this.listenTo(e,"select",this.sortDropdownSelect),this.sortOptions.forEach((function(e){e.active=this.model.sort===e.value}),this),e.render({position:{top:this.$el.find(".list__search-btn-sort")[0].getBoundingClientRect().bottom,right:this.$el[0].getBoundingClientRect().right+1},options:this.sortOptions}),this.views.searchDropdown=e}toggleCreateOptions(){if(this.views.searchDropdown&&this.views.searchDropdown.isCreate)return void this.hideSearchOptions();this.hideSearchOptions(),this.$el.find(".list__search-btn-new").addClass("sel--active");const e=new h.DropdownView;e.isCreate=!0,this.listenTo(e,"cancel",this.hideSearchOptions),this.listenTo(e,"select",this.createDropdownSelect),e.render({position:{top:this.$el.find(".list__search-btn-new")[0].getBoundingClientRect().bottom,right:this.$el[0].getBoundingClientRect().right+1},options:this.createOptions.concat(this.getCreateEntryTemplateOptions())}),this.views.searchDropdown=e}getCreateEntryTemplateOptions(){const e=this.model.getEntryTemplates(),t=this.model.files.length>1;this.entryTemplates={};const n=[];return e.forEach((e=>{const s="tmpl:"+e.entry.id;n.push({value:s,icon:e.entry.icon,text:t?e.file.name+" / "+e.entry.title:e.entry.title}),this.entryTemplates[s]=e})),n.sort(l.Comparators.stringComparator("text",!0)),n.push({value:"tmpl",icon:"sticky-note-o",text:u.StringFormat.capFirst(d.Locale.template)}),n}sortDropdownSelect(e){this.hideSearchOptions(),i.Events.emit("set-sort",e.item)}createDropdownSelect(e){switch(this.hideSearchOptions(),e.item){case"entry":this.emit("create-entry");break;case"group":this.emit("create-group");break;case"tmpl":this.emit("create-template");break;default:this.entryTemplates[e.item]&&this.emit("create-entry",{template:this.entryTemplates[e.item]})}}addArrow(e){return e.replace("{}","→")}fileListUpdated(){this.render()}clickClear(){this.inputEl.val(""),this.inputChange()}}},7780:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ListView:()=>C});var s=n(7779),i=n(7201),r=n(6491),o=n(9207),a=n(4530),l=n(7614),c=n(9938),u=n(2378),d=n(3297),h=n(8892),p=n(7015),m=n(1434),g=n(248),f=n(3493),A=n.n(f),y=n(5959),v=n.n(y),b=n(4497),w=n.n(b),k=n(6718);class C extends s.View{constructor(e,t){super(e,t),this.parent=".app__list",this.template=v(),this.emptyTemplate=w(),this.events={click:"click","click .list__table-options":"tableOptionsClick","dragstart .list__item":"itemDragStart"},this.minWidth=200,this.minHeight=200,this.maxWidth=500,this.maxHeight=500,this.itemsEl=null,this.tableColumns=[{val:"title",name:"title",enabled:!0},{val:"user",name:"user",enabled:!0},{val:"url",name:"website",enabled:!0},{val:"tags",name:"tags",enabled:!0},{val:"notes",name:"notes",enabled:!0},{val:"groupName",name:"group",enabled:!1},{val:"fileName",name:"file",enabled:!1}],this.throttleSetViewSizeSetting=A()((e=>{l.AppSettingsModel.listViewWidth=e}),1e3),this.initScroll(),this.views.search=new g.ListSearchView(this.model),this.listenTo(this.views.search,"select-prev",this.selectPrev),this.listenTo(this.views.search,"select-next",this.selectNext),this.listenTo(this.views.search,"create-entry",this.createEntry),this.listenTo(this.views.search,"create-group",this.createGroup),this.listenTo(this.views.search,"create-template",this.createTemplate),this.listenTo(this,"show",this.viewShown),this.listenTo(this,"hide",this.viewHidden),this.listenTo(this,"view-resize",this.viewResized),this.listenTo(i.Events,"filter",this.filterChanged),this.listenTo(i.Events,"entry-updated",this.entryUpdated),this.listenTo(i.Events,"set-locale",this.render),this.listenTo(this.model.settings,"change:tableView",this.setTableView),this.readTableColumnsEnabled(),this.items=new r.SearchResultCollection,this.renderedItems=new Map}render(){if(this.isVisible()){if(this.pendingRender=!1,this.itemsEl||(super.render(),this.itemsEl=this.$el.find(".list__items>.scroller"),this.itemsEl.on("scroll",(()=>this.renderVisibleItems())),this.views.search.render(),this.setTableView(),this.createScroll({root:this.$el.find(".list__items")[0],scroller:this.$el.find(".scroller")[0],bar:this.$el.find(".scroller__bar")[0]})),this.items.length){const e=this.getItemsTemplate(),t=l.AppSettingsModel.colorfulIcons?"":"grayscale",n=new c.EntryPresenter(this.getDescField(),t,this.model.activeEntryId),i={};this.tableColumns.forEach((e=>{e.enabled&&(i[e.val]=!0)})),n.columns=i,this.presenter=n,n.present(this.items[0]);const r=this.getItemTemplate()(n,s.DefaultTemplateOptions);n.reset();const o=e({itemsHtml:r,columns:this.tableColumns},s.DefaultTemplateOptions);this.itemsEl.html(o),this.itemsContainerEl=this.itemsEl.find(".list__items-container:first")[0];const a=this.itemsContainerEl.firstElementChild;this.itemHeight=a.getBoundingClientRect().height,this.renderedItems=new Map([[0,a]]);const u=this.itemHeight*this.items.length;this.itemsContainerEl.style.minHeight=u+"px",this.renderVisibleItems()}else this.itemsEl.html(this.emptyTemplate({},s.DefaultTemplateOptions));this.pageResized()}else this.pendingRender=!0}getItemsTemplate(){return this.model.settings.tableView?n(6973):n(9363)}getItemTemplate(){return this.model.settings.tableView?n(5826):n(2739)}renderVisibleItems(){if(!this.isVisible())return;const e=this.itemsEl[0],t=e.getBoundingClientRect(),n=e.scrollTop,i=t.height,r=this.itemHeight,o=this.renderedItems;let a=Math.max(0,Math.floor(n/r)),l=Math.min(this.items.length-1,Math.ceil((n+i)/r));const c=l-a;a=Math.max(0,a-c),l=Math.min(this.items.length-1,l+c);const u=this.getItemTemplate(),d=this.presenter;let h="";const p=[];for(let e=a;e<=l;e++){const t=this.items[e];o.has(e)||(d.present(t),h+=u(d,s.DefaultTemplateOptions),p.push(e))}d.reset();const m=document.createElement("div");m.innerHTML=h;const g=[...m.children];for(let e=0;e<g.length;e++){const t=g[e],n=p[e];this.itemsContainerEl.append(t),t.style.top=n*r+"px",o.set(n,t)}const f=5*c;if(o.size>f)for(const[e,t]of this.renderedItems)(e<a||e>l)&&(t.remove(),o.delete(e))}ensureItemRendered(e){if(this.renderedItems.has(e))return;const t=this.items[e],n=this.getItemTemplate();this.presenter.present(t);const i=n(this.presenter,s.DefaultTemplateOptions);this.presenter.reset();const r=document.createElement("div");r.innerHTML=i;const[o]=r.children;this.itemsContainerEl.append(o),o.style.top=e*this.itemHeight+"px",this.renderedItems.set(e,o)}getDescField(){return this.model.sort.replace("-","")}click(e){const t=e.target.closest(".list__item");if(!t)return;const n=t.id,s=this.items.get(n);s.active||this.selectItem(s),i.Events.emit("toggle-details",!0)}selectPrev(){const e=this.items.indexOf(this.items.get(this.model.activeEntryId));e>0&&this.selectItem(this.items[e-1])}selectNext(){const e=this.items.indexOf(this.items.get(this.model.activeEntryId));e<this.items.length-1&&this.selectItem(this.items[e+1])}createEntry(e){const t=this.model.createNewEntry(e);this.items.unshift(t),this.render(),this.selectItem(t),i.Events.emit("toggle-details",!0)}createGroup(){const e=this.model.createNewGroup();i.Events.emit("edit-group",e)}createTemplate(){if(!this.model.settings.templateHelpShown)return void a.Alerts.yesno({icon:"sticky-note-o",header:d.Locale.listAddTemplateHeader,body:d.Locale.listAddTemplateBody1.replace("{}",'"+"')+"\n"+d.Locale.listAddTemplateBody2.replace("{}","Templates"),buttons:[a.Alerts.buttons.ok,a.Alerts.buttons.cancel],success:()=>{this.model.settings.templateHelpShown=!0,this.createTemplate()}});const e=this.model.createNewTemplateEntry();this.items.unshift(e),this.render(),this.selectItem(e)}selectItem(e){this.presenter.activeEntryId=e.id,this.model.activeEntryId=e.id;const t=this.items.indexOf(e);this.ensureItemRendered(t),i.Events.emit("entry-selected",e),this.itemsEl.find(".list__item--active").removeClass("list__item--active");const n=document.getElementById(e.id);n.classList.add("list__item--active");const s=this.itemsEl[0],r=n.getBoundingClientRect(),o=s.getBoundingClientRect();r.top<o.top?s.scrollTop+=r.top-o.top:r.bottom>o.bottom&&(s.scrollTop+=r.bottom-o.bottom)}viewShown(){this.views.search.show(),this.pendingRender&&this.render()}viewHidden(){this.views.search.hide()}setTableView(){const e=this.model.settings.tableView;this.dragView.setCoord(e?"y":"x"),this.setDefaultSize()}setDefaultSize(){this.setSize(this.model.settings.listViewWidth)}setSize(e){this.$el.css({width:"auto",height:"auto"}),e?this.$el.css("flex","0 0 "+e+"px"):this.$el.css("flex","")}viewResized(e){this.setSize(e),this.throttleSetViewSizeSetting(e),this.renderVisibleItems()}filterChanged(e){this.items=e.entries,this.renderedItems=new Map,this.render()}entryUpdated(){const e=this.itemsEl[0].scrollTop;this.render(),this.itemsEl[0].scrollTop=e,this.renderVisibleItems()}itemDragStart(e){e.stopPropagation();const t=k(e.target).closest(".list__item").attr("id");e.dataTransfer.setData("text/entry",t),e.dataTransfer.effectAllowed="move",o.DragDropInfo.dragObject=this.items.get(t)}tableOptionsClick(e){if(e.stopImmediatePropagation(),this.views.optionsDropdown)return void this.hideOptionsDropdown();const t=new m.DropdownView;this.listenTo(t,"cancel",this.hideOptionsDropdown),this.listenTo(t,"select",this.optionsDropdownSelect);const n=this.$el.find(".list__table-options")[0].getBoundingClientRect(),s=this.tableColumns.map((e=>({value:e.val,icon:e.enabled?"check-square-o":"square-o",text:u.StringFormat.capFirst(d.Locale[e.name])})));t.render({position:{top:n.bottom,left:n.left},options:s}),this.views.optionsDropdown=t}hideOptionsDropdown(){this.views.optionsDropdown&&(this.views.optionsDropdown.remove(),delete this.views.optionsDropdown)}optionsDropdownSelect(e){const t=this.tableColumns.find((t=>t.val===e.item));t.enabled=!t.enabled,e.el.find("i:first").toggleClass("fa-check-square-o fa-square-o"),this.render(),this.saveTableColumnsEnabled()}readTableColumnsEnabled(){const e=l.AppSettingsModel.tableViewColumns;e&&e.length&&this.tableColumns.forEach((t=>{t.enabled=e.indexOf(t.name)>=0}))}saveTableColumnsEnabled(){const e=this.tableColumns.filter((e=>e.enabled)).map((e=>e.name));l.AppSettingsModel.tableViewColumns=e}}Object.assign(C.prototype,h.Resizable),Object.assign(C.prototype,p.Scrollable)},9676:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ListWrapView:()=>i});var s=n(7779);class i extends s.View{constructor(e,t){super(e,t),this.parent=".app__list-wrap",this.template=()=>"",this.events={},this.listenTo(this.model.settings,"change:tableView",this.setListLayout)}render(){super.render(),this.setListLayout()}setListLayout(){const e=!!this.model.settings.tableView;this.el.classList.toggle("app__list-wrap--table",e)}}},1956:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuItemView:()=>p});var s=n(7201),i=n(7779),r=n(9207),o=n(1164),a=n(4530),l=n(2977),c=n(3297),u=n(6669),d=n.n(u),h=n(6718);class p extends i.View{constructor(e,t){super(e,t),this.template=d(),this.events={mouseover:"mouseover",mouseout:"mouseout","click .menu__item-option":"selectOption",click:"selectItem",dblclick:"expandItem","click .menu__item-edit":"editItem","click .menu__item-empty-trash":"emptyTrash",dragstart:"dragstart",dragover:"dragover",dragleave:"dragleave",drop:"drop","dragover .menu__item-drag-top":"dragoverTop","dragleave .menu__item-drag-top":"dragleaveTop"},this.iconEl=null,this.itemViews=[],this.listenTo(this.model,"change:title",this.changeTitle),this.listenTo(this.model,"change:icon",this.changeIcon),this.listenTo(this.model,"change:customIconId",this.render),this.listenTo(this.model,"change:active",this.changeActive),this.listenTo(this.model,"change:expanded",this.changeExpanded),this.listenTo(this.model,"change:cls",this.changeCls),this.listenTo(this.model,"change:iconCls",this.changeIconCls),this.listenTo(this.model,"delete",this.remove),this.listenTo(this.model,"insert",this.insertItem);const n=this.model.shortcut;n&&(this.onKey(n,this.selectItem,o.KeyHandler.SHORTCUT_OPT),n!==l.Keys.DOM_VK_C&&this.onKey(n,this.selectItem,o.KeyHandler.SHORTCUT_ACTION)),this.once("remove",(()=>{this.removeInnerViews()}))}render(){this.removeInnerViews(),super.render(this.model),this.model.options&&(window.model=this.model),this.iconEl=this.$el.find(".menu__item-icon");const e=this.model.items;e&&e.forEach((e=>{e.visible&&this.insertItem(e)})),this.$el.toggleClass("menu__item--collapsed",!this.model.expanded)}insertItem(e){const t=new p(e,{parent:this.el});t.render(),this.itemViews.push(t)}removeInnerViews(){this.itemViews.forEach((e=>e.remove())),this.itemViews=[]}changeTitle(e,t){this.$el.find(".menu__item-title").first().text(t||"(no title)")}changeIcon(e,t){this.iconEl[0].className="menu__item-icon fa "+(t?"fa-"+t:"menu__item-icon--no-icon")}changeActive(e,t){this.$el.toggleClass("menu__item--active",t)}changeExpanded(e,t){this.$el.toggleClass("menu__item--collapsed",!t),this.model.setExpanded(t)}changeCls(e,t,n){n&&this.$el.removeClass(n),this.$el.addClass(t)}changeIconCls(e,t,n){const s=this.el.querySelector(".menu__item-icon");n&&s.classList.remove(n),t&&s.classList.add(t)}mouseover(e){e.button||(this.$el.addClass("menu__item--hover"),e.stopPropagation())}mouseout(e){this.$el.removeClass("menu__item--hover"),e.stopPropagation()}selectItem(e){e.stopPropagation(),e.preventDefault(),this.model.active||(this.model.disabled?a.Alerts.info(this.model.disabled):s.Events.emit("menu-select",{item:this.model}))}selectOption(e){const t=this.model.options,n=h(e.target).data("value");if(t&&t.length){const e=t.find((e=>e.value===n));e&&s.Events.emit("menu-select",{item:this.model,option:e})}e.stopImmediatePropagation(),e.preventDefault()}expandItem(e){this.model.toggleExpanded&&this.model.toggleExpanded(),e.stopPropagation()}editItem(e){if(this.model.active&&this.model.editable)switch(e.stopPropagation(),this.model.filterKey){case"tag":s.Events.emit("edit-tag",this.model);break;case"group":s.Events.emit("edit-group",this.model)}}emptyTrash(e){e.stopPropagation(),a.Alerts.yesno({header:c.Locale.menuEmptyTrashAlert,body:c.Locale.menuEmptyTrashAlertBody,icon:"minus-circle",success(){s.Events.emit("empty-trash")}})}dropAllowed(e){const t=e.dataTransfer.types;for(let e=0;e<t.length;e++)if("text/group"===t[e]||"text/entry"===t[e])return r.DragDropInfo.dragObject&&!r.DragDropInfo.dragObject.readOnly;return!1}dragstart(e){e.stopPropagation(),this.model.drag&&(e.dataTransfer.setData("text/group",this.model.id),e.dataTransfer.effectAllowed="move",r.DragDropInfo.dragObject=this.model)}dragover(e){this.model.drop&&this.dropAllowed(e)&&(e.stopPropagation(),e.preventDefault(),this.$el.addClass("menu__item--drag"))}dragleave(e){e.stopPropagation(),this.model.drop&&this.dropAllowed(e)&&this.$el.removeClass("menu__item--drag menu__item--drag-top")}drop(e){if(e.stopPropagation(),this.model.drop&&this.dropAllowed(e)){const e=this.$el.hasClass("menu__item--drag-top");this.$el.removeClass("menu__item--drag menu__item--drag-top"),e?this.model.moveToTop(r.DragDropInfo.dragObject):"trash"===this.model.filterKey?r.DragDropInfo.dragObject.moveToTrash():this.model.moveHere(r.DragDropInfo.dragObject),s.Events.emit("refresh")}}dropTopAllowed(e){const t=e.dataTransfer.types;for(let e=0;e<t.length;e++)if("text/group"===t[e])return!0;return!1}dragoverTop(e){this.dropTopAllowed(e)&&this.$el.addClass("menu__item--drag-top")}dragleaveTop(e){this.dropTopAllowed(e)&&this.$el.removeClass("menu__item--drag-top")}}},913:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuSectionView:()=>h});var s=n(7779),i=n(7614),r=n(8892),o=n(7015),a=n(1956),l=n(3493),c=n.n(l),u=n(6051),d=n.n(u);class h extends s.View{constructor(e,t){super(e,t),this.template=d(),this.events={},this.itemViews=[],this.minHeight=55,this.autoHeight="auto",this.saveViewHeight=c()((e=>{i.AppSettingsModel.tagsViewHeight=e}),1e3),this.listenTo(this.model,"change-items",this.itemsChanged),this.listenTo(this,"view-resize",this.viewResized),this.once("remove",(()=>{this.scroll&&this.scroll.dispose(),this.removeInnerViews()}))}render(){if(this.itemsEl?this.removeInnerViews():(super.render(this.model),this.itemsEl=this.model.scrollable?this.$el.find(".scroller"):this.$el,this.model.scrollable&&(this.initScroll(),this.createScroll({root:this.$el[0],scroller:this.$el.find(".scroller")[0],bar:this.$el.find(".scroller__bar")[0]}))),this.model.items.forEach((e=>{const t=new a.MenuItemView(e,{parent:this.itemsEl[0]});t.render(),this.itemViews.push(t)})),this.model.drag){const e=i.AppSettingsModel.tagsViewHeight;"number"==typeof e&&(this.$el.height(),this.$el.css("flex","0 0 "+e+"px"))}this.pageResized()}maxHeight(){return this.$el.parent().height()-116}removeInnerViews(){this.itemViews.forEach((e=>e.remove())),this.itemViews=[]}itemsChanged(){this.render()}viewResized(e){this.$el.css("flex","0 0 "+(e?e+"px":"auto")),this.saveViewHeight(e)}}Object.assign(h.prototype,r.Resizable),Object.assign(h.prototype,o.Scrollable)},6498:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MenuView:()=>f});var s=n(7201),i=n(7779),r=n(1164),o=n(2977),a=n(7614),l=n(8892),c=n(1864),u=n(913),d=n(3493),h=n.n(d),p=n(8445),m=n.n(p),g=n(6718);class f extends i.View{constructor(e,t){super(e,t),this.parent=".app__menu",this.template=m(),this.events={},this.sectionViews=[],this.minWidth=130,this.maxWidth=300,this.viewResized=h()((e=>{a.AppSettingsModel.menuViewWidth=e}),1e3),this.listenTo(this.model,"change:sections",this.menuChanged),this.listenTo(this,"view-resize",this.viewResized),this.onKey(o.Keys.DOM_VK_UP,this.selectPreviousSection,r.KeyHandler.SHORTCUT_ACTION+r.KeyHandler.SHORTCUT_OPT),this.onKey(o.Keys.DOM_VK_DOWN,this.selectNextSection,r.KeyHandler.SHORTCUT_ACTION+r.KeyHandler.SHORTCUT_OPT),this.once("remove",(()=>{this.sectionViews.forEach((e=>e.remove())),this.sectionViews=[]}))}render(){super.render();const e=this.$el.find(".menu");this.model.sections.forEach((function(t){const n=new u.MenuSectionView(t,{parent:e[0]});if(n.render(),t.drag){const t=g("<div/>").addClass("menu__drag-section").appendTo(e),s=new c.DragView("y",{parent:t[0]});n.listenDrag(s),s.render(),this.sectionViews.push(s)}this.sectionViews.push(n)}),this),"number"==typeof a.AppSettingsModel.menuViewWidth&&this.$el.width(a.AppSettingsModel.menuViewWidth)}menuChanged(){this.render()}switchVisibility(e){this.$el.toggleClass("menu-visible",e)}selectPreviousSection(){s.Events.emit("select-previous-menu-item")}selectNextSection(){s.Events.emit("select-next-menu-item")}}Object.assign(f.prototype,l.Resizable)},5266:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ModalView:()=>c});var s=n(7779),i=n(9491),r=n(2977),o=n(4727),a=n.n(o),l=n(6718);class c extends s.View{constructor(e){super(e),this.parent="body",this.modal="alert",this.template=a(),this.events={"click .modal__buttons button":"buttonClick","click .modal__link":"linkClick",click:"bodyClick"},"string"==typeof this.model.esc&&this.onKey(r.Keys.DOM_VK_ESCAPE,this.escPressed,!1,"alert"),"string"==typeof this.model.enter&&this.onKey(r.Keys.DOM_VK_RETURN,this.enterPressed,!1,"alert"),this.once("remove",(()=>{this.model.view&&this.model.view.remove()}))}render(){super.render(Object.assign({},this.model,{body:this.model.body?this.model.body.toString().split("\n"):""})),this.$el.addClass("modal--hidden"),setTimeout((()=>{this.$el.removeClass("modal--hidden"),document.activeElement.blur()}),20),this.model.view&&(this.model.view.parent=this.el.querySelector(".modal__body"),this.model.view.render())}change(e){e.header&&this.$el.find(".modal__header").text(e.header)}buttonClick(e){const t=l(e.target).data("result");this.closeWithResult(t)}linkClick(e){i.Launcher&&(e.preventDefault(),i.Launcher.openLink(e.target.href))}bodyClick(e){"string"!=typeof this.model.click||e.target.matches("button")||this.closeWithResult(this.model.click)}escPressed(){this.closeWithResult(this.model.esc)}enterPressed(e){e.stopImmediatePropagation(),e.preventDefault(),this.closeWithResult(this.model.enter)}closeWithResult(e){const t=this.model.checkbox?this.$el.find("#modal__check").is(":checked"):void 0;this.emit("will-close"),this.emit("result",e,t),this.removeView()}closeWithoutResult(){this.emit("will-close"),this.removeView()}removeView(){this.$el.addClass("modal--hidden"),this.unbindEvents(),setTimeout((()=>this.remove()),100)}closeImmediate(){this.emit("will-close"),this.emit("result",void 0),this.unbindEvents(),this.remove()}}},5634:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OpenChalRespView:()=>d});var s=n(7201),i=n(7779),r=n(9777),o=n(667),a=n(3297),l=n(403),c=n(1198),u=n.n(c);class d extends i.View{constructor(){super(),this.template=u(),this.events={"click .open-chal-resp__item":"itemClick"},this.listenTo(s.Events,"usb-devices-changed",this.usbDevicesChanged),this.checkDevices()}render(){let e=this.error;const t=this.yubiKeys&&!this.yubiKeys.length;t&&(e=a.Locale.openChalRespErrorEmpty),super.render({error:e,showEmptyMacWarning:t&&o.Features.isMac,yubiKeys:this.yubiKeys,loading:!this.yubiKeys&&!this.error})}usbDevicesChanged(){setTimeout((()=>{this.removed||this.checkDevices()}),l.Timeouts.ExternalDeviceAfterReconnect)}checkDevices(){r.YubiKey.list(((e,t)=>{if(!this.removed){if(this.error=e,this.yubiKeys=[],t)for(const{fullName:e,vid:n,pid:s,serial:i,slots:r}of t)for(const t of r.filter((e=>e.valid)))this.yubiKeys.push({fullName:e,vid:n,pid:s,serial:i,slot:t.number});this.render()}}))}itemClick(e){const t=e.target.closest("[data-serial]"),n=+t.dataset.vid,s=+t.dataset.pid,i=+t.dataset.serial,r=+t.dataset.slot;this.emit("select",{vid:n,pid:s,serial:i,slot:r})}}},1764:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OpenConfigView:()=>l});var s=n(7779),i=n(2977),r=n(3297),o=n(6796),a=n.n(o);class l extends s.View{constructor(...e){super(...e),this.template=a(),this.events={"click .open__config-btn-cancel":"cancel","click .open__config-btn-ok":"apply","input input":"changeInput","keyup input":"keyup"}}render(){super.render(this.model),this.$el.find(":input:first").focus(),this.checkValidity()}cancel(){this.emit("cancel")}apply(){const e=this.getData();e&&this.emit("apply",e)}changeInput(){this.checkValidity()}keyup(e){e.which===i.Keys.DOM_VK_RETURN&&this.apply()}checkValidity(){const e=this.getData();this.$el.find(".open__config-btn-ok").prop("disabled",!e)}getData(){let e={storage:this.model.id};return this.model.fields.every((function(t){const n=this.$el.find("#open__config-field-"+t.id)[0];return e&&n.checkValidity()?(e[t.id]=n.value,!0):(e=null,!1)}),this),e}setDisabled(e){e=!!e,this.$el.find(":input:not(.open__config-btn-cancel)").prop("disabled",e),this.$el.toggleClass("open__config--disabled",e),e&&this.$el.find(".open__config-error").text("")}setError(e){const t=e&&e.notFound?r.Locale.openConfigErrorNotFound:r.Locale.openConfigError.replace("{}",e);this.$el.find(".open__config-error").text(t)}}},2791:(e,t,n)=>{"use strict";n.r(t),n.d(t,{OpenView:()=>T});var s=n(3617),i=n(7779),r=n(7201),o=n(949),a=n(2596),l=n(9053),c=n(1164),u=n(6892),d=n(9491),h=n(4530),p=n(8647),m=n(9777),g=n(2977),f=n(8612),A=n(667),y=n(4798),v=n(3297),b=n(2363),w=n(7609),k=n(1764),C=n(4902),_=n(5634),E=n(6838),x=n(1473),I=n(3006),S=n(160),D=n.n(S),B=n(6718);const P=new b.Logger("open-view");class T extends i.View{constructor(e){super(e),this.parent=".app__body",this.modal="open",this.template=D(),this.events={"change .open__file-ctrl":"fileSelected","click .open__icon-open":"openFile","click .open__icon-new":"createNew","click .open__icon-demo":"createDemo","click .open__icon-yubikey":"openYubiKey","click .open__icon-more":"toggleMore","click .open__icon-storage":"openStorage","click .open__icon-settings":"openSettings","click .open__pass-input[readonly]":"openFile","input .open__pass-input":"inputInput","keydown .open__pass-input":"inputKeydown","keyup .open__pass-input":"inputKeyup","keypress .open__pass-input":"inputKeypress","click .open__pass-enter-btn":"openDb","click .open__settings-key-file":"openKeyFile","click .open__settings-yubikey":"selectYubiKeyChalResp","click .open__last-item":"openLast","click .open__icon-generate":"toggleGenerator","click .open__message-cancel-btn":"openMessageCancelClick",dragover:"dragover",dragleave:"dragleave",drop:"drop"},this.params=null,this.passwordInput=null,this.busy=!1,this.currentSelectedIndex=-1,this.encryptedPassword=null,window.$=B,this.resetParams(),this.passwordInput=new u.SecureInput,this.onKey(g.Keys.DOM_VK_Z,this.undoKeyPress,c.KeyHandler.SHORTCUT_ACTION,"open"),this.onKey(g.Keys.DOM_VK_TAB,this.tabKeyPress,null,"open"),this.onKey(g.Keys.DOM_VK_ENTER,this.enterKeyPress,null,"open"),this.onKey(g.Keys.DOM_VK_RETURN,this.enterKeyPress,null,"open"),this.onKey(g.Keys.DOM_VK_DOWN,this.moveOpenFileSelectionDown,null,"open"),this.onKey(g.Keys.DOM_VK_UP,this.moveOpenFileSelectionUp,null,"open"),this.listenTo(r.Events,"main-window-focus",this.windowFocused.bind(this)),this.listenTo(r.Events,"usb-devices-changed",this.usbDevicesChanged.bind(this)),this.listenTo(r.Events,"unlock-message-changed",this.unlockMessageChanged.bind(this)),this.once("remove",(()=>{this.passwordInput.reset()})),this.listenTo(r.Events,"user-idle",this.userIdle)}render(){this.dragTimeout&&clearTimeout(this.dragTimeout);const e=[];this.model.settings.canOpenStorage&&Object.keys(o.Storage).forEach((t=>{const n=o.Storage[t];!n.system&&n.enabled&&e.push(n)})),e.sort(((e,t)=>(e.uipos||1/0)-(t.uipos||1/0)));const t=e.length||this.model.settings.canOpenSettings||this.model.settings.canOpenGenerator,n=!(t||this.model.settings.canOpen||this.model.settings.canCreate||this.model.settings.canOpenDemo&&!this.model.settings.demoOpened),s=!!p.UsbListener.attachedYubiKeys,i=s&&this.model.settings.canOpenOtpDevice&&this.model.settings.yubiKeyShowIcon&&!this.model.files.get("yubikey"),r=s&&this.model.settings.yubiKeyShowChalResp;super.render({lastOpenFiles:this.getLastOpenFiles(),canOpenKeyFromDropbox:!d.Launcher&&o.Storage.dropbox.enabled,demoOpened:this.model.settings.demoOpened,storageProviders:e,unlockMessageRes:this.model.unlockMessageRes,canOpen:this.model.settings.canOpen,canOpenDemo:this.model.settings.canOpenDemo,canOpenSettings:this.model.settings.canOpenSettings,canOpenGenerator:this.model.settings.canOpenGenerator,canCreate:this.model.settings.canCreate,canRemoveLatest:this.model.settings.canRemoveLatest,canOpenYubiKey:i,canUseChalRespYubiKey:r,showMore:t,showLogo:n}),this.inputEl=this.$el.find(".open__pass-input"),this.passwordInput.setElement(this.inputEl)}resetParams(){this.params={id:null,name:"",storage:null,path:null,keyFileName:null,keyFileData:null,keyFilePath:null,fileData:null,rev:null,opts:null,chalResp:null}}windowFocused(){this.inputEl.focus(),this.checkIfEncryptedPasswordDateIsValid()}focusInput(e){!l.FocusDetector.hasFocus()||!e&&A.Features.isMobile||this.inputEl.focus()}getLastOpenFiles(){return this.model.fileInfos.map((e=>{let t="file-alt";const n=o.Storage[e.storage];return n&&n.icon&&(t=n.icon),{id:e.id,name:e.name,path:this.getDisplayedPath(e),icon:t}}))}getDisplayedPath(e){const t=e.storage;return"file"===t||"webdav"===t?e.path:null}showLocalFileAlert(){this.model.settings.skipOpenLocalWarn||h.Alerts.alert({header:v.Locale.openLocalFile,body:v.Locale.openLocalFileBody,icon:"file-alt",buttons:[{result:"skip",title:v.Locale.openLocalFileDontShow,error:!0},{result:"ok",title:v.Locale.alertOk}],click:"",esc:"",enter:"",success:e=>{this.focusInput(),"skip"===e&&(this.model.settings.skipOpenLocalWarn=!0)}})}fileSelected(e){const t=e.target.files[0];t&&(this.model.settings.canImportCsv&&/\.csv$/.test(t.name)?r.Events.emit("import-csv-requested",t):this.model.settings.canImportXml&&/\.xml$/.test(t.name)?this.setFile(t,null,this.showLocalFileAlert.bind(this)):this.processFile(t,(e=>{e&&!t.path&&"fileData"===this.reading&&this.showLocalFileAlert()})))}processFile(e,t){const n=new FileReader;n.onload=n=>{let i=!1;switch(this.reading){case"fileData":switch(this.getOpenFileFormat(n.target.result)){case"kdbx":this.params.id=null,this.params.fileData=n.target.result,this.params.name=e.name.replace(/(.+)\.\w+$/i,"$1"),this.params.path=e.path||null,this.params.storage=e.path?"file":null,this.params.rev=null,this.params.keyFileData||(this.params.keyFileName=null),this.encryptedPassword=null,this.displayOpenFile(),this.displayOpenKeyFile(),this.displayOpenDeviceOwnerAuth(),i=!0;break;case"xml":this.params.id=null,this.params.fileXml=s.ByteUtils.bytesToString(n.target.result),this.params.name=e.name.replace(/\.\w+$/i,""),this.params.path=null,this.params.storage=null,this.params.rev=null,this.encryptedPassword=null,this.importDbWithXml(),this.displayOpenDeviceOwnerAuth(),i=!0;break;case"kdb":h.Alerts.error({header:v.Locale.openWrongFile,body:v.Locale.openKdbFileBody});break;default:h.Alerts.error({header:v.Locale.openWrongFile,body:v.Locale.openWrongFileBody})}break;case"keyFileData":this.params.keyFileData=n.target.result,this.params.keyFileName=e.name,"path"===this.model.settings.rememberKeyFiles&&(this.params.keyFilePath=e.path),this.displayOpenKeyFile(),i=!0}t&&t(i)},n.onerror=()=>{h.Alerts.error({header:v.Locale.openFailedRead}),t&&t(!1)},"fileXml"===this.reading?n.readAsText(e):n.readAsArrayBuffer(e)}getOpenFileFormat(e){if(e.byteLength<8)return;const t=new Uint32Array(e,0,2);if(t[0]===s.Consts.Signatures.FileMagic)return t[1]===s.Consts.Signatures.Sig2Kdb?"kdb":t[1]===s.Consts.Signatures.Sig2Kdbx?"kdbx":void 0;if(this.model.settings.canImportXml)try{if(s.ByteUtils.bytesToString(t).trim().startsWith("<?xml"))return"xml"}catch(e){}else;}displayOpenFile(){this.$el.addClass("open--file"),this.$el.find(".open__settings-key-file,.open__settings-yubikey").removeClass("hide"),this.inputEl[0].removeAttribute("readonly"),this.inputEl[0].setAttribute("placeholder",v.Locale.openPassFor+" "+this.params.name),this.focusInput()}displayOpenKeyFile(){this.$el.toggleClass("open--key-file",!!this.params.keyFileName),this.$el.find(".open__settings-key-file-name").text(this.params.keyFileName||this.params.keyFilePath||v.Locale.openKeyFile),this.focusInput()}displayOpenChalResp(){this.$el.find(".open__settings-yubikey").toggleClass("open__settings-yubikey--active",!!this.params.chalResp)}displayOpenDeviceOwnerAuth(){const e=!!this.encryptedPassword,t=!this.passwordInput.length,n=e&&t;this.el.querySelector(".open__pass-enter-btn").classList.toggle("open__pass-enter-btn--touch-id",n)}setFile(e,t,n){this.reading="fileData",this.processFile(e,(e=>{e&&t&&(this.reading="keyFileData",this.processFile(t)),e&&"function"==typeof n&&n()}))}openFile(){!1!==this.model.settings.canOpen&&(this.busy||(this.closeConfig(),this.openAny("fileData")))}openKeyFile(e){B(e.target).hasClass("open__settings-key-file-dropbox")?this.openKeyFileFromDropbox():!this.busy&&this.params.name&&(this.params.keyFileName?(this.params.keyFileData=null,this.params.keyFilePath=null,this.params.keyFileName="",this.$el.removeClass("open--key-file"),this.$el.find(".open__settings-key-file-name").text(v.Locale.openKeyFile)):this.openAny("keyFileData"))}openKeyFileFromDropbox(){this.busy||new a.DropboxChooser(((e,t)=>{e||(this.params.keyFileData=t.data,this.params.keyFileName=t.name,this.displayOpenKeyFile())})).choose()}openAny(e,t){this.reading=e,this.params[e]=null;const n=this.$el.find(".open__file-ctrl").attr("accept",t||"").val(null);d.Launcher&&d.Launcher.openFileChooser?d.Launcher.openFileChooser(((e,t)=>{e?P.error("Error opening file chooser",e):this.processFile(t)})):n.click()}openLast(e){if(this.busy)return;const t=B(e.target).closest(".open__last-item").data("id").toString();if(B(e.target).is(".open__last-item-icon-del")){const e=this.model.fileInfos.get(t);return!e.storage||e.modified?void h.Alerts.yesno({header:v.Locale.openRemoveLastQuestion,body:e.modified?v.Locale.openRemoveLastQuestionModBody:v.Locale.openRemoveLastQuestionBody,buttons:[{result:"yes",title:v.Locale.alertYes},{result:"",title:v.Locale.alertNo}],success:()=>{this.removeFile(t)}}):void this.removeFile(t)}const n=this.model.fileInfos.get(t);this.showOpenFileInfo(n,!0)}removeFile(e){this.model.removeFileInfo(e),this.$el.find('.open__last-item[data-id="'+e+'"]').remove(),this.resetParams(),this.render()}inputKeydown(e){const t=e.keyCode||e.which;t===g.Keys.DOM_VK_RETURN?this.openDb():t===g.Keys.DOM_VK_CAPS_LOCK&&this.toggleCapsLockWarning(!1)}inputKeyup(e){(e.keyCode||e.which)===g.Keys.DOM_VK_CAPS_LOCK&&this.toggleCapsLockWarning(!1)}inputKeypress(e){const t=e.keyCode||e.which,n=String.fromCharCode(t),s=n.toLowerCase();s===n.toUpperCase()||e.shiftKey||this.toggleCapsLockWarning(n!==s)}inputInput(){this.displayOpenDeviceOwnerAuth()}toggleCapsLockWarning(e){this.$el.find(".open__pass-warning").toggleClass("invisible",!e)}dragover(e){if(!1===this.model.settings.canOpen)return;e.preventDefault(),e.stopPropagation();const t=e.dataTransfer;t.types&&(t.types.indexOf?-1!==t.types.indexOf("Files"):t.types.contains("Files"))?(t.dropEffect="copy",this.dragTimeout&&clearTimeout(this.dragTimeout),this.$el.hasClass("open--drag")||this.$el.addClass("open--drag")):t.dropEffect="none"}dragleave(){!1!==this.model.settings.canOpen&&(this.dragTimeout&&clearTimeout(this.dragTimeout),this.dragTimeout=setTimeout((()=>{this.$el.removeClass("open--drag")}),100))}drop(e){if(!1===this.model.settings.canOpen)return;if(e.preventDefault(),this.busy)return;this.dragTimeout&&clearTimeout(this.dragTimeout),this.closeConfig(),this.$el.removeClass("open--drag");const t=[...e.target.files||e.dataTransfer.files],n=t.find((e=>/\.kdbx$/i.test(e.name))),s=t.find((e=>/\.keyx?$/i.test(e.name)));if(n)this.setFile(n,s,n.path?null:this.showLocalFileAlert.bind(this));else{if(this.model.settings.canImportXml){const e=t.find((e=>/\.xml$/i.test(e.name)));if(e)return void this.setFile(e,null,this.showLocalFileAlert.bind(this))}if(this.model.settings.canImportCsv){const e=t.find((e=>/\.csv$/i.test(e.name)));e&&r.Events.emit("import-csv-requested",e)}}}undoKeyPress(e){e.preventDefault()}tabKeyPress(){this.$el.addClass("open--show-focus")}enterKeyPress(e){const t=this.$el.find("[tabindex]:focus");t.length&&t.trigger("click",e)}showOpenFileInfo(e,t){!this.busy&&e&&(this.params.id=e.id,this.params.storage=e.storage,this.params.path=e.path,this.params.name=e.name,this.params.fileData=null,this.params.rev=null,this.params.keyFileName=e.keyFileName,this.params.keyFilePath=e.keyFilePath,this.params.keyFileData=null,this.params.opts=e.opts,this.params.chalResp=e.chalResp,this.setEncryptedPassword(e),this.displayOpenFile(),this.displayOpenKeyFile(),this.displayOpenChalResp(),this.displayOpenDeviceOwnerAuth(),t&&this.focusInput(!0))}showOpenLocalFile(e,t){if(!this.busy&&(this.params.id=null,this.params.storage="file",this.params.path=e,this.params.name=e.match(/[^/\\]*$/)[0],this.params.rev=null,this.params.fileData=null,this.encryptedPassword=null,this.displayOpenFile(),this.displayOpenDeviceOwnerAuth(),t)){const e=d.Launcher.parsePath(t);this.params.keyFileName=e.file,this.params.keyFilePath=t,this.params.keyFileData=null,this.displayOpenKeyFile()}}createDemo(){this.busy||(this.closeConfig(),this.model.createDemoFile()||this.emit("close"),this.model.settings.demoOpened||(this.model.settings.demoOpened=!0))}createNew(){this.busy||this.model.createNewFile()}openDb(){if(this.params.id&&this.model.files.get(this.params.id))this.emit("close");else if(!this.busy&&this.params.name)if(this.$el.toggleClass("open--opening",!0),this.inputEl.attr("disabled","disabled"),this.busy=!0,this.params.password=this.passwordInput.value,this.encryptedPassword&&!this.params.password.length){P.debug("Encrypting password using hardware decryption");const e=v.Locale.bioOpenAuthPrompt.replace("{}",this.params.name),t=s.ProtectedValue.fromBase64(this.encryptedPassword.value);r.Events.emit("hardware-decrypt-started"),I.NativeModules.hardwareDecrypt(t,e).then((e=>{r.Events.emit("hardware-decrypt-finished"),this.params.password=e,this.params.encryptedPassword=this.encryptedPassword,this.model.openFile(this.params,(e=>this.openDbComplete(e)))})).catch((e=>{r.Events.emit("hardware-decrypt-finished"),e.message.includes("User refused")?e.userCanceled=!0:e.message.includes("SecKeyCreateDecryptedData")&&(e.maybeTouchIdChanged=!0),P.error("Error in hardware decryption",e),this.openDbComplete(e)}))}else this.params.encryptedPassword=null,this.afterPaint((()=>{this.model.openFile(this.params,(e=>this.openDbComplete(e)))}))}openDbComplete(e){this.busy=!1,this.$el.toggleClass("open--opening",!1);const t=e&&!e.userCanceled;if(this.inputEl.removeAttr("disabled").toggleClass("input--error",!!t),e)if(P.error("Error opening file",e),this.focusInput(!0),this.inputEl[0].selectionStart=0,this.inputEl[0].selectionEnd=this.inputEl.val().length,"InvalidKey"===e.code)w.InputFx.shake(this.inputEl);else if(e.userCanceled);else{e.notFound&&(e=v.Locale.openErrorFileNotFound);let t=v.Locale.openErrorDescription;e.maybeTouchIdChanged&&(t+="\n"+v.Locale.openErrorDescriptionMaybeTouchIdChanged),h.Alerts.error({header:v.Locale.openError,body:t,pre:this.errorToString(e)})}else this.emit("close")}importDbWithXml(){!this.busy&&this.params.name&&(this.$el.toggleClass("open--opening",!0),this.inputEl.attr("disabled","disabled"),this.busy=!0,this.afterPaint((()=>this.model.importFileWithXml(this.params,(e=>{e&&(this.params.name="",this.params.fileXml=null),this.openDbComplete(e)})))))}toggleMore(){this.busy||(this.closeConfig(),this.$el.find(".open__icons--lower").toggleClass("hide"))}openSettings(){r.Events.emit("toggle-settings")}openStorage(e){if(this.busy)return;const t=o.Storage[B(e.target).closest(".open__icon").data("storage")];t&&(t.needShowOpenConfig&&t.needShowOpenConfig()?this.showConfig(t):t.list?this.listStorage(t):h.Alerts.notImplemented())}listStorage(e,t){if(this.busy)return;this.closeConfig();const n=this.$el.find(".open__icon-storage[data-storage="+e.name+"]");this.busy=!0,n.toggleClass("flip3d",!0),e.list(t&&t.dir,((s,i)=>{if(n.toggleClass("flip3d",!1),this.busy=!1,s||!i){if("browser-auth-started"===(s=s?s.toString():""))return;return void(0===s.lastIndexOf("OAuth",0)||h.Alerts.alertDisplayed||h.Alerts.error({header:v.Locale.openError,body:v.Locale.openListErrorBody,pre:s.toString()}))}if(!i.length)return void h.Alerts.error({header:v.Locale.openNothingFound,body:v.Locale.openNothingFoundBody});const r=f.Comparators.stringComparator("path",!0);i.sort(((e,t)=>e.dir!==t.dir?!!t.dir-!!e.dir:r(e,t))),t&&t.dir&&i.unshift({path:t.prevDir,name:"..",dir:!0});const o=new C.StorageFileListView({files:i});o.on("selected",(n=>{n.dir?this.listStorage(e,{dir:n.path,prevDir:t&&t.dir||""}):this.openStorageFile(e,n)})),h.Alerts.alert({header:v.Locale.openSelectFile,body:v.Locale.openSelectFileBody,icon:e.icon||"file-alt",buttons:[{result:"",title:v.Locale.alertCancel}],esc:"",click:"",view:o})}))}openStorageFile(e,t){this.busy||(this.params.id=null,this.params.storage=e.name,this.params.path=t.path,this.params.name=y.UrlFormat.getDataFileName(t.name),this.params.rev=t.rev,this.params.fileData=null,this.encryptedPassword=null,this.displayOpenFile(),this.displayOpenDeviceOwnerAuth())}showConfig(e){if(this.busy)return;this.views.openConfig&&this.views.openConfig.remove();const t=Object.assign({id:e.name,name:v.Locale[e.name]||e.name,icon:e.icon,buttons:!0},e.getOpenConfig());this.views.openConfig=new k.OpenConfigView(t,{parent:".open__config-wrap"}),this.views.openConfig.on("cancel",this.closeConfig.bind(this)),this.views.openConfig.on("apply",this.applyConfig.bind(this)),this.views.openConfig.render(),this.$el.find(".open__pass-area").addClass("hide"),this.$el.find(".open__icons--lower").addClass("hide")}closeConfig(){this.busy&&(this.storageWaitId=null,this.busy=!1),this.views.openConfig&&(this.views.openConfig.remove(),delete this.views.openConfig),this.$el.find(".open__pass-area").removeClass("hide"),this.$el.find(".open__config").addClass("hide"),this.focusInput()}applyConfig(e){if(this.busy||!e)return;this.busy=!0,this.views.openConfig.setDisabled(!0);const t=o.Storage[e.storage];this.storageWaitId=Math.random();const n=e.path,s=(0,E.omit)(e,["path","storage"]),i={waitId:this.storageWaitId,storage:e.storage,path:n,opts:s};t.applyConfig?t.applyConfig(s,this.storageApplyConfigComplete.bind(this,i)):t.stat(n,s,this.storageStatComplete.bind(this,i))}storageApplyConfigComplete(e,t){this.storageWaitId===e.waitId&&(this.storageWaitId=null,this.busy=!1,t?(this.views.openConfig.setDisabled(!1),this.views.openConfig.setError(t)):this.closeConfig())}storageStatComplete(e,t,n){this.storageWaitId===e.waitId&&(this.storageWaitId=null,this.busy=!1,t?(this.views.openConfig.setDisabled(!1),this.views.openConfig.setError(t)):(this.closeConfig(),this.params.id=null,this.params.storage=e.storage,this.params.path=e.path,this.params.opts=e.opts,this.params.name=y.UrlFormat.getDataFileName(e.path),this.params.rev=n.rev,this.params.fileData=null,this.encryptedPassword=null,this.displayOpenFile(),this.displayOpenDeviceOwnerAuth()))}moveOpenFileSelection(e){const t=this.getLastOpenFiles();this.currentSelectedIndex+e>=0&&this.currentSelectedIndex+e<=t.length-1&&(this.currentSelectedIndex=this.currentSelectedIndex+e);if(!t[this.currentSelectedIndex])return;const n=this.model.fileInfos.get(t[this.currentSelectedIndex].id);this.showOpenFileInfo(n)}moveOpenFileSelectionDown(){this.moveOpenFileSelection(1)}moveOpenFileSelectionUp(){this.moveOpenFileSelection(-1)}toggleGenerator(e){if(e.stopPropagation(),this.views.gen)return void this.views.gen.remove();const t=this.$el.find(".open__icon-generate")[0].getBoundingClientRect(),n={left:t.left,top:t.top};A.Features.isMobile&&(n.left="50vw",n.top="50vh",n.transform="translate(-50%, -50%)");const s=new x.GeneratorView({copy:!0,noTemplateEditor:!0,pos:n});s.render(),s.once("remove",(()=>{delete this.views.gen})),this.views.gen=s}userIdle(){this.inputEl.val(""),this.passwordInput.reset(),this.passwordInput.setElement(this.inputEl)}usbDevicesChanged(){if(this.model.settings.canOpenOtpDevice){const e=!!p.UsbListener.attachedYubiKeys,t=e&&this.model.settings.yubiKeyShowIcon;this.$el.find(".open__icon-yubikey").toggleClass("hide",!t);const n=e&&this.model.settings.yubiKeyShowChalResp;this.$el.find(".open__settings-yubikey").toggleClass("open__settings-yubikey--present",!!n),!e&&this.busy&&this.otpDevice&&this.otpDevice.cancelOpen()}}openYubiKey(){if(this.busy&&this.otpDevice&&this.otpDevice.cancelOpen(),!this.busy){this.busy=!0,this.inputEl.attr("disabled","disabled");const e=this.$el.find(".open__icon-yubikey");e.toggleClass("flip3d",!0),m.YubiKey.checkToolStatus().then((t=>{if("ok"!==t)return e.toggleClass("flip3d",!1),this.inputEl.removeAttr("disabled"),this.busy=!1,r.Events.emit("toggle-settings","devices");this.otpDevice=this.model.openOtpDevice((t=>{t&&!m.YubiKey.aborted&&h.Alerts.error({header:v.Locale.openError,body:v.Locale.openErrorDescription,pre:this.errorToString(t)}),this.otpDevice=null,e.toggleClass("flip3d",!1),this.inputEl.removeAttr("disabled"),this.busy=!1}))}))}}selectYubiKeyChalResp(){if(this.busy)return;if(this.params.chalResp)return this.params.chalResp=null,this.el.querySelector(".open__settings-yubikey").classList.remove("open__settings-yubikey--active"),void this.focusInput();const e=new _.OpenChalRespView;e.on("select",(({vid:e,pid:t,serial:n,slot:s})=>{this.params.chalResp={vid:e,pid:t,serial:n,slot:s},this.el.querySelector(".open__settings-yubikey").classList.add("open__settings-yubikey--active"),this.focusInput()})),h.Alerts.alert({header:v.Locale.openChalRespHeader,icon:"usb-token",buttons:[{result:"",title:v.Locale.alertCancel}],esc:"",click:"",view:e})}errorToString(e){const t=e.toString();return t!=={}.toString()?t:e.ykError&&e.code?v.Locale.yubiKeyErrorWithCode.replace("{}",e.code):void 0}setEncryptedPassword(e){if(this.encryptedPassword=null,e.id){switch(this.model.settings.deviceOwnerAuth){case"memory":this.encryptedPassword=this.model.getMemoryPassword(e.id);break;case"file":this.encryptedPassword={value:e.encryptedPassword,date:e.encryptedPasswordDate}}this.checkIfEncryptedPasswordDateIsValid()}}checkIfEncryptedPasswordDateIsValid(){if(this.encryptedPassword){const e=new Date(this.encryptedPassword.date);e.setMinutes(e.getMinutes()+this.model.settings.deviceOwnerAuthTimeoutMinutes),e<new Date&&(this.encryptedPassword=null)}}unlockMessageChanged(e){if(this.el.querySelector(".open__message").classList.toggle("hide",!e),e){this.el.querySelector(".open__message-content").innerText=v.Locale[e]}}openMessageCancelClick(){this.model.rejectPendingFileUnlockPromise("User canceled")}}},3659:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SelectEntryFieldView:()=>u});var s=n(7779),i=n(7201),r=n(2977),o=n(7015),a=n(8335),l=n.n(a),c=n(1705);class u extends s.View{constructor(e){var t;super(e),this.parent="body",this.modal="select-entry-field",this.template=l(),this.events={"click .select-entry-field__item":"itemClicked","click .select-entry-field__cancel-btn":"cancelClicked"},this.result=null,this.fields=this.model.entry?this.getFields(this.model.entry):[],this.activeField=null===(t=this.fields[0])||void 0===t?void 0:t.field,this.initScroll(),this.listenTo(i.Events,"main-window-blur",this.mainWindowBlur),this.setupKeys()}setupKeys(){this.onKey(r.Keys.DOM_VK_UP,this.upPressed,!1,"select-entry-field"),this.onKey(r.Keys.DOM_VK_DOWN,this.downPressed,!1,"select-entry-field"),this.onKey(r.Keys.DOM_VK_ESCAPE,this.escPressed,!1,"select-entry-field"),this.onKey(r.Keys.DOM_VK_RETURN,this.enterPressed,!1,"select-entry-field")}render(){super.render({needsTouch:this.model.needsTouch,deviceShortName:this.model.deviceShortName,fields:this.fields,activeField:this.activeField}),document.activeElement.blur();const e=this.el.querySelector(".select-entry-field__items");e&&this.createScroll({root:e,scroller:this.el.querySelector(".scroller"),bar:this.el.querySelector(".scroller__bar")})}getFields(e){return Object.entries(e.getAllFields()).map((([e,t])=>({field:e,value:t}))).filter((({value:e})=>e)).map((({field:e,value:t})=>({field:e,value:t.isProtected?c.PasswordPresenter.present(t.length):t})))}upPressed(e){if(e.preventDefault(),!this.activeField)return;const t=this.fields.findIndex((e=>e.field===this.activeField))-1;t>=0&&(this.activeField=this.fields[t].field,this.render())}downPressed(e){if(e.preventDefault(),!this.activeField)return;const t=this.fields.findIndex((e=>e.field===this.activeField))+1;t<this.fields.length&&(this.activeField=this.fields[t].field,this.render())}escPressed(){this.emit("result",void 0)}enterPressed(){this.activeField&&this.emit("result",this.activeField)}itemClicked(e){const t=e.target.closest(".select-entry-field__item");this.activeField=t.dataset.field,this.emit("result",this.activeField)}mainWindowBlur(){this.emit("result",void 0)}showAndGetResult(){return this.render(),new Promise((e=>{this.once("result",(t=>{this.remove(),e(t)}))}))}cancelClicked(){this.emit("result",void 0)}}Object.assign(u.prototype,o.Scrollable)},4583:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SelectEntryView:()=>w});var s=n(7779),i=n(7201),r=n(7027),o=n(1164),a=n(2977),l=n(7614),c=n(9938),u=n(2378),d=n(4798),h=n(3297),p=n(7015),m=n(1434),g=n(7725),f=n(4807),A=n.n(f),y=n(4406),v=n.n(y),b=n(6718);class w extends s.View{constructor(e){super(e),this.parent="body",this.modal="select-entry",this.template=A(),this.itemTemplate=v(),this.events={"click .select-entry__header-filter-clear":"clearFilterText","click .select-entry__item":"itemClicked","contextmenu .select-entry__item":"itemRightClicked","click .select-entry__filter":"filterClicked","click .select-entry__cancel-btn":"cancelClicked"},this.result=null,this.entries=null,this.initScroll(),this.listenTo(i.Events,"main-window-blur",this.mainWindowBlur),this.listenTo(i.Events,"keypress:select-entry",this.keyPressed),this.setupKeys()}setupKeys(){this.onKey(a.Keys.DOM_VK_ESCAPE,this.escPressed,!1,"select-entry"),this.onKey(a.Keys.DOM_VK_RETURN,this.enterPressed,!1,"select-entry"),this.model.isAutoType&&(this.onKey(a.Keys.DOM_VK_RETURN,this.actionEnterPressed,o.KeyHandler.SHORTCUT_ACTION,"select-entry"),this.onKey(a.Keys.DOM_VK_RETURN,this.optEnterPressed,o.KeyHandler.SHORTCUT_OPT,"select-entry"),this.onKey(a.Keys.DOM_VK_RETURN,this.shiftEnterPressed,o.KeyHandler.SHORTCUT_SHIFT,"select-entry"),this.onKey(a.Keys.DOM_VK_O,this.openKeyPressed,o.KeyHandler.SHORTCUT_ACTION,"select-entry")),this.onKey(a.Keys.DOM_VK_UP,this.upPressed,!1,"select-entry"),this.onKey(a.Keys.DOM_VK_DOWN,this.downPressed,!1,"select-entry"),this.onKey(a.Keys.DOM_VK_BACK_SPACE,this.backSpacePressed,!1,"select-entry")}render(){var e;const t=l.AppSettingsModel.colorfulIcons?"":"grayscale";this.entries=this.model.filter.getEntries(),this.result&&this.entries.includes(this.result)||(this.result=this.entries[0]);const n=new c.EntryPresenter(null,t,null===(e=this.result)||void 0===e?void 0:e.id);n.itemOptions=this.model.itemOptions;let i="";const o=this.itemTemplate;this.entries.forEach((e=>{n.present(e),i+=o(n,s.DefaultTemplateOptions)}));const a=[];if(this.model.filter.url){const e=d.UrlFormat.presentAsShortUrl(this.model.filter.url);a.push({id:"url",type:u.StringFormat.capFirst(h.Locale.website),text:e,active:this.model.filter.useUrl}),a.push({id:"subdomains",type:u.StringFormat.capFirst(h.Locale.selectEntrySubdomains),active:this.model.filter.useUrl&&this.model.filter.subdomains})}this.model.filter.title&&a.push({id:"title",type:u.StringFormat.capFirst(h.Locale.title),text:this.model.filter.title,active:this.model.filter.useTitle}),this.model.filter.text&&a.push({id:"text",type:u.StringFormat.capFirst(h.Locale.selectEntryContains),text:this.model.filter.text,active:!0}),super.render({isAutoType:this.model.isAutoType,topMessage:this.model.topMessage,filters:a,itemsHtml:i,actionSymbol:r.Shortcuts.actionShortcutSymbol(!0),altSymbol:r.Shortcuts.altShortcutSymbol(!0),shiftSymbol:r.Shortcuts.shiftShortcutSymbol(!0),keyEnter:h.Locale.keyEnter,keyEsc:h.Locale.keyEsc}),document.activeElement.blur(),this.createScroll({root:this.$el.find(".select-entry__items")[0],scroller:this.$el.find(".scroller")[0],bar:this.$el.find(".scroller__bar")[0]})}cancelAndClose(){this.result=null,this.emit("result",this.result)}closeWithResult(e){this.emit("result",{entry:this.result,sequence:e})}escPressed(){this.cancelAndClose()}enterPressed(){this.closeWithResult()}actionEnterPressed(){this.closeWithResult("{PASSWORD}")}optEnterPressed(){this.closeWithResult("{USERNAME}")}openKeyPressed(){this.emit("show-open-files")}shiftEnterPressed(e){const t=this.$el.find('.select-entry__item[data-id="'+this.result.id+'"]');this.showItemOptions(t,e)}upPressed(e){e.preventDefault();const t=this.entries.indexOf(this.result)-1;t>=0&&(this.result=this.entries[t],this.highlightActive())}downPressed(e){e.preventDefault();const t=this.entries.indexOf(this.result)+1;t<this.entries.length&&(this.result=this.entries[t],this.highlightActive())}highlightActive(){this.$el.find(".select-entry__item").removeClass("select-entry__item--active");const e=this.$el.find('.select-entry__item[data-id="'+this.result.id+'"]');e.addClass("select-entry__item--active");const t=e[0].getBoundingClientRect(),n=this.scroller[0].getBoundingClientRect();t.top<n.top?this.scroller[0].scrollTop+=t.top-n.top:t.bottom>n.bottom&&(this.scroller[0].scrollTop+=t.bottom-n.bottom)}mainWindowBlur(){this.emit("result",void 0)}keyPressed(e){e.which&&e.which!==a.Keys.DOM_VK_RETURN&&(this.model.filter.text+=String.fromCharCode(e.which),this.render())}backSpacePressed(){this.model.filter.text&&(this.model.filter.text=this.model.filter.text.substr(0,this.model.filter.text.length-1),this.render())}clearFilterText(){this.model.filter.text="",this.render()}itemClicked(e){const t=b(e.target).closest(".select-entry__item");if(b(e.target).closest(".select-entry__item-options").length)this.showItemOptions(t,e);else{const e=t.data("id");this.result=this.entries.get(e),this.closeWithResult()}}itemRightClicked(e){const t=b(e.target).closest(".select-entry__item");this.showItemOptions(t,e)}showItemOptions(e,t){if(t&&t.stopImmediatePropagation(),!this.model.itemOptions)return;const n=e.data("id"),s=this.entries.get(n);if(this.views.optionsDropdown&&(this.hideItemOptionsDropdown(),this.result&&this.result.id===s.id))return;this.result=s,e.hasClass("select-entry__item--active")||this.highlightActive();const i=new m.DropdownView({selectedOption:0});this.listenTo(i,"cancel",this.hideItemOptionsDropdown),this.listenTo(i,"select",this.itemOptionsDropdownSelect);const r=[];s.fields.otp&&r.push({value:"{TOTP}",icon:"clock",text:h.Locale.autoTypeSelectionOtp}),s.user&&r.push({value:"{USERNAME}",icon:"user",text:u.StringFormat.capFirst(h.Locale.user)}),s.password&&r.push({value:"{PASSWORD}",icon:"key",text:u.StringFormat.capFirst(h.Locale.password)});for(const e of Object.keys(s.fields))"otp"===e||e.startsWith(g.ExtraUrlFieldName)||r.push({value:`{S:${e}}`,icon:"th-list",text:e});let o;if(t&&2===t.button)o={top:t.pageY,left:t.pageX};else{const t=e[0].getBoundingClientRect();o={top:t.bottom,right:t.right}}i.render({position:o,options:r}),this.views.optionsDropdown=i}hideItemOptionsDropdown(){this.views.optionsDropdown&&(this.views.optionsDropdown.remove(),delete this.views.optionsDropdown)}itemOptionsDropdownSelect(e){this.hideItemOptionsDropdown();const t=e.item;this.closeWithResult(t)}showAndGetResult(){return this.render(),new Promise((e=>{this.once("result",(t=>{this.remove(),e(t)}))}))}filterClicked(e){const t=e.target.closest(".select-entry__filter"),n=t.dataset.filter,s="true"!==t.dataset.active;switch(n){case"url":this.model.filter.useUrl=s;break;case"subdomains":this.model.filter.subdomains=s,s&&(this.model.filter.useUrl=!0);break;case"title":this.model.filter.useTitle=s;break;case"text":s||(this.model.filter.text="")}this.render()}cancelClicked(){this.cancelAndClose()}}Object.assign(w.prototype,p.Scrollable)},1127:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsAboutView:()=>c});var s=n(7779),i=n(7119),r=n(9673),o=n(667),a=n(6804),l=n.n(a);class c extends s.View{constructor(...e){super(...e),this.template=l()}render(){super.render({version:i.RuntimeInfo.version,licenseLink:r.Links.License,licenseLinkApache:r.Links.LicenseApache,licenseLinkCCBY40:r.Links.LicenseLinkCCBY40,repoLink:r.Links.Repo,donationLink:r.Links.Donation,isDesktop:o.Features.isDesktop,year:(new Date).getFullYear()})}}},2112:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsBrowserView:()=>g});var s=n(7201),i=n(7779),r=n(1424),o=n.n(r),a=n(667),l=n(9673),c=n(7614),u=n(8925),d=n(3297),h=n(8432),p=n(4530),m=n(6098);class g extends i.View{constructor(e,t){super(e,t),this.template=o(),this.events={"change .check-enable-for-browser":"changeEnableForBrowser","change .settings__browser-focus-if-locked":"changeFocusIfLocked","change .settings__browser-focus-if-empty":"changeFocusIfEmpty","change .settings__browser-session-ask-get":"changeSessionAskGet","change .settings__browser-session-ask-save":"changeSessionAskSave","change .settings__browser-session-file-check":"changeSessionFileAccess","click .settings__browser-btn-terminate-session":"terminateSession"},this.listenTo(s.Events,"browser-extension-sessions-changed",this.render)}render(){const e={desktop:a.Features.isDesktop,icon:a.Features.browserIcon,focusIfLocked:c.AppSettingsModel.extensionFocusIfLocked,focusIfEmpty:c.AppSettingsModel.extensionFocusIfEmpty,sessions:h.BrowserExtensionConnector.sessions.map((e=>{var t;const n=this.getSessionFileAccess(e);return Object.assign({},e,{fileAccess:n,noFileAccess:n&&!n.some((e=>e.checked)),showAskSave:void 0!==(null===(t=e.permissions)||void 0===t?void 0:t.askSave),connectedDate:m.DateFormat.dtStr(e.connectedDate)})}))};if(a.Features.isDesktop)e.extensionNames=["KeeWeb Connect","KeePassXC-Browser"],e.settingsPerBrowser=this.getSettingsPerBrowser(),e.anyBrowserIsEnabled=h.BrowserExtensionConnector.isEnabled();else{const t=a.Features.extensionBrowserFamily;e.extensionBrowserFamily=a.Features.extensionBrowserFamily,e.extensionDownloadLink=l.Links[`KWCFor${t}`]}super.render(e)}getSettingsPerBrowser(){return h.SupportedBrowsers.map((e=>{const t="Other"===e?d.Locale.setBrowserOtherBrowsers:e,n=h.SupportedExtensions.map((t=>("KPXC"===(t=Object.assign({},t,{supported:!0,enabled:!!c.AppSettingsModel[`extensionEnabled${t.alias}${e}`],installUrl:l.Links[`${t.alias}For${e}`]})).alias&&(t.manualUrl=l.Links.ExtensionHelpForKPXC),t.installUrl||("Other"===e?t.helpUrl=l.Links.ExtensionHelpForOtherBrowsers:t.supported=!1),t)));return{browser:e,browserName:t,extensions:n}}))}getSessionFileAccess(e){if(!e.permissions)return;const t=this.appModel.files.map((t=>({id:t.id,name:t.name,checked:e.permissions.files.includes(t.id)||e.permissions.allFiles})));for(const n of e.permissions.files)if(!this.appModel.files.get(n)){const e=this.appModel.fileInfos.get(n);e&&t.push({id:n,name:e.name,checked:!0})}return t.push({id:"all",name:t.length?d.Locale.extensionConnectAllOtherFiles:d.Locale.extensionConnectAllFiles,checked:e.permissions.allFiles}),t}changeEnableForBrowser(e){const t=e.target.checked,n=e.target.dataset.browser,s=e.target.dataset.extension;t&&"KPXC"===s&&!u.RuntimeDataModel.kpxcExtensionWarningShown?(e.target.checked=!1,p.Alerts.yesno({icon:"exclamation-triangle",header:d.Locale.setBrowserExtensionKPXCWarnHeader.replace("{}","KeePassXC"),body:d.Locale.setBrowserExtensionKPXCWarnBody1.replace(/{}/g,"KeePassXC")+"\n"+d.Locale.setBrowserExtensionKPXCWarnBody2,success:()=>{u.RuntimeDataModel.kpxcExtensionWarningShown=!0,this.enableForBrowser(t,n,s)}})):this.enableForBrowser(t,n,s)}enableForBrowser(e,t,n){const s=`extensionEnabled${n}${t}`;s?c.AppSettingsModel[s]=e:delete c.AppSettingsModel[s],h.BrowserExtensionConnector.enable(t,n,e),this.render()}changeFocusIfLocked(e){c.AppSettingsModel.extensionFocusIfLocked=e.target.checked,this.render()}changeFocusIfEmpty(e){c.AppSettingsModel.extensionFocusIfEmpty=e.target.checked,this.render()}changeSessionAskGet(e){const t=e.target.dataset.clientId,n=e.target.value;h.BrowserExtensionConnector.setClientPermissions(t,{askGet:n})}changeSessionAskSave(e){const t=e.target.dataset.clientId,n=e.target.value;h.BrowserExtensionConnector.setClientPermissions(t,{askSave:n})}changeSessionFileAccess(e){const t=e.target.dataset.clientId,n=e.target.dataset.fileId,s=e.target.checked;if("all"===n){const e={allFiles:s};s&&(e.files=this.appModel.files.map((e=>e.id))),h.BrowserExtensionConnector.setClientPermissions(t,e)}else{const e=h.BrowserExtensionConnector.getClientPermissions(t);let i;i=s?e.files.concat(n):e.files.filter((e=>e!==n));const r={files:i};s||(r.allFiles=!1),h.BrowserExtensionConnector.setClientPermissions(t,r)}this.render()}terminateSession(e){const t=e.target.dataset.connectionId;h.BrowserExtensionConnector.terminateConnection(t)}}},9646:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsDevicesView:()=>d});var s=n(7201),i=n(7779),r=n(7614),o=n(9777),a=n(9673),l=n(8647),c=n(2465),u=n.n(c);class d extends i.View{constructor(...e){super(...e),this.template=u(),this.events={"change .settings__devices-enable-usb":"changeEnableUsb","change .settings__yubikey-show-icon":"changeYubiKeyShowIcon","change .settings__yubikey-auto-open":"changeYubiKeyAutoOpen","change .settings__yubikey-match-entries":"changeYubiKeyMatchEntries","change .settings__yubikey-chalresp-show":"changeYubiKeyShowChalResp","change .settings__yubikey-remember-chalresp":"changeYubiKeyRememberChalResp","change .settings__yubikey-stuck-workaround":"changeYubiKeyStuckWorkaround"},["ok","checking"].includes(o.YubiKey.ykmanStatus)||(this.toolCheckPromise=o.YubiKey.checkToolStatus())}render(){this.toolCheckPromise&&(this.toolCheckPromise.then((()=>this.render())),this.toolCheckPromise=void 0),super.render({supported:l.UsbListener.supported,enableUsb:l.UsbListener.supported&&r.AppSettingsModel.enableUsb,ykmanStatus:o.YubiKey.ykmanStatus,yubiKeyShowIcon:r.AppSettingsModel.yubiKeyShowIcon,yubiKeyAutoOpen:r.AppSettingsModel.yubiKeyAutoOpen,yubiKeyMatchEntries:r.AppSettingsModel.yubiKeyMatchEntries,yubiKeyShowChalResp:r.AppSettingsModel.yubiKeyShowChalResp,yubiKeyRememberChalResp:r.AppSettingsModel.yubiKeyRememberChalResp,yubiKeyStuckWorkaround:r.AppSettingsModel.yubiKeyStuckWorkaround,yubiKeyManualLink:a.Links.YubiKeyManual,ykmanInstallLink:a.Links.YubiKeyManagerInstall})}changeEnableUsb(e){r.AppSettingsModel.enableUsb=e.target.checked,this.render()}changeYubiKeyShowIcon(e){r.AppSettingsModel.yubiKeyShowIcon=e.target.checked,this.render()}changeYubiKeyAutoOpen(e){r.AppSettingsModel.yubiKeyAutoOpen=e.target.checked,this.render()}changeYubiKeyMatchEntries(e){r.AppSettingsModel.yubiKeyMatchEntries=e.target.checked,this.render(),s.Events.emit("refresh")}changeYubiKeyShowChalResp(e){r.AppSettingsModel.yubiKeyShowChalResp=e.target.checked,this.render()}changeYubiKeyRememberChalResp(e){r.AppSettingsModel.yubiKeyRememberChalResp=e.target.checked,this.render()}changeYubiKeyStuckWorkaround(e){r.AppSettingsModel.yubiKeyStuckWorkaround=e.target.checked,this.render()}}},8387:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsFileOtpDeviceView:()=>a});var s=n(7779),i=n(7201),r=n(3953),o=n.n(r);class a extends s.View{constructor(...e){super(...e),this.template=o(),this.events={"click .settings__file-button-settings":"openDevicesSettings","click .settings__file-button-close":"closeFile"}}render(){super.render({name:this.model.name,deviceClassName:this.model.deviceClassName})}openDevicesSettings(){i.Events.emit("toggle-settings","devices")}closeFile(){this.appModel.closeFile(this.model)}}},1500:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsFileView:()=>E});var s=n(3617),i=n(7779),r=n(949),o=n(7027),a=n(9491),l=n(4530),c=n(9777),u=n(8647),d=n(9673),h=n(7614),p=n(6098),m=n(4798),g=n(1705),f=n(3297),A=n(667),y=n(2547),v=n(1764),b=n(6838),w=n(5194),k=n.n(w),C=n(6718);const _="Backups/{name}.{date}.bak";class E extends i.View{constructor(e,t){super(e,t),this.template=k(),this.yubiKeys=[],this.events={"click .settings__file-button-save-default":"saveDefault","click .settings__file-button-save-choose":"toggleChooser","click .settings__file-button-close":"closeFile","click .settings__file-save-to-file":"saveToFile","click .settings__file-save-to-xml":"saveToXml","click .settings__file-save-to-html":"saveToHtml","click .settings__file-save-to-storage":"saveToStorage","change #settings__file-key-file":"keyFileChange","click #settings__file-file-select-link":"triggerSelectFile","change #settings__file-file-select":"fileSelected","focus #settings__file-master-pass":"focusMasterPass","input #settings__file-master-pass":"changeMasterPass","blur #settings__file-master-pass":"blurMasterPass","focus #settings__file-confirm-master-pass":"focusConfirmMasterPass","blur #settings__file-confirm-master-pass":"blurConfirmMasterPass","input #settings__file-name":"changeName","input #settings__file-def-user":"changeDefUser","change #settings__file-backup-enabled":"changeBackupEnabled","input #settings__file-backup-path":"changeBackupPath","change #settings__file-backup-storage":"changeBackupStorage","change #settings__file-backup-schedule":"changeBackupSchedule","click .settings__file-button-backup":"backupFile","change #settings__file-trash":"changeTrash","change #settings__file-hist-type":"changeHistoryMode","input #settings__file-hist-len":"changeHistoryLength","input #settings__file-hist-size":"changeHistorySize","change #settings__file-format-version":"changeFormatVersion","change #settings__file-kdf":"changeKdf","input #settings__file-key-rounds":"changeKeyRounds","input #settings__file-key-change-force":"changeKeyChangeForce","input .settings__input-kdf":"changeKdfParameter","change #settings__file-yubikey":"changeYubiKey"};const n=["syncing","syncError","syncDate"];for(const e of n)this.listenTo(this.model,"change:"+e,(()=>{setTimeout((()=>this.render()),0)}));this.refreshYubiKeys(!1)}render(){const e=[],t=this.model.storage;let n=!1;Object.keys(r.Storage).forEach((s=>{const i=r.Storage[s];!n&&i.backup&&i.enabled&&(n=!0),!i.system&&i.enabled&&e.push({name:i.name,icon:i.icon,own:s===t,backup:i.backup})})),e.sort(((e,t)=>(e.uipos||1/0)-(t.uipos||1/0)));const s=this.model.backup,i=this.model.chalResp?`${this.model.chalResp.serial}:${this.model.chalResp.slot}`:"",l=!!this.model.chalResp||a.Launcher&&h.AppSettingsModel.enableUsb&&h.AppSettingsModel.yubiKeyShowChalResp,c=[];if(l){for(const e of this.yubiKeys)for(const t of e.slots.filter((e=>e.valid)))c.push({value:`${e.serial}:${t.number}`,fullName:e.fullName,vid:e.vid,pid:e.pid,serial:e.serial,slot:t.number});i&&!c.some((e=>e.value===i))&&c.push({value:i,fullName:`YubiKey ${this.model.chalResp.serial}`,vid:this.model.chalResp.vid,pid:this.model.chalResp.pid,serial:this.model.chalResp.serial,slot:this.model.chalResp.slot})}super.render({cmd:o.Shortcuts.actionShortcutSymbol(!0),supportFiles:!!a.Launcher,desktopLink:d.Links.Desktop,name:this.model.name,path:this.model.path,storage:this.model.storage,syncing:this.model.syncing,syncError:this.model.syncError,syncDate:p.DateFormat.dtStr(this.model.syncDate),password:g.PasswordPresenter.present(this.model.passwordLength),defaultUser:this.model.defaultUser,recycleBinEnabled:this.model.recycleBinEnabled,backupEnabled:s&&s.enabled,backupStorage:s&&s.storage,backupPath:s&&s.path||_.replace("{name}",this.model.name),backupSchedule:s?s.schedule:"1w",historyMaxItems:this.model.historyMaxItems,historyMaxSize:Math.round(this.model.historyMaxSize/1024/1024),formatVersion:this.model.formatVersion,kdfName:this.model.kdfName,isArgon2Kdf:this.model.kdfName.startsWith("Argon2"),keyEncryptionRounds:this.model.keyEncryptionRounds,keyChangeForce:this.model.keyChangeForce>0?this.model.keyChangeForce:null,kdfParameters:this.kdfParametersToUi(this.model.kdfParameters),storageProviders:e,canBackup:n,canSaveTo:h.AppSettingsModel.canSaveTo,canExportXml:h.AppSettingsModel.canExportXml,canExportHtml:h.AppSettingsModel.canExportHtml,showYubiKeyBlock:l,selectedYubiKey:i,yubiKeys:c}),this.model.created||(this.$el.find(".settings__file-master-pass-warning").toggle(this.model.passwordChanged),this.$el.find("#settings__file-master-pass-warning-text").text(f.Locale.setFilePassChanged)),this.renderKeyFileSelect()}kdfParametersToUi(e){return e?Object.assign({},e,{memory:Math.round(e.memory/1024)}):null}renderKeyFileSelect(){const e=this.model.keyFileName,t=this.model.oldKeyFileName,n=this.model.keyFileChanged,s=this.$el.find("#settings__file-key-file");if(s.empty(),e&&n){const t="Generated"!==e?f.Locale.setFileUseKeyFile+" "+e:f.Locale.setFileUseGenKeyFile;C("<option/>").val("ex").text(t).appendTo(s)}if(t){const e=n?f.Locale.setFileUseOldKeyFile:f.Locale.setFileUseKeyFile+" "+t;C("<option/>").val("old").text(e).appendTo(s)}C("<option/>").val("gen").text(f.Locale.setFileGenKeyFile).appendTo(s),C("<option/>").val("none").text(f.Locale.setFileDontUseKeyFile).appendTo(s),e&&n?s.val("ex"):e?t&&e===t&&!n&&s.val("old"):s.val("none")}validatePassword(e){return!!this.model.passwordLength||(l.Alerts.yesno({header:f.Locale.setFileEmptyPass,body:f.Locale.setFileEmptyPassBody,success:()=>{e()},cancel:()=>{this.$el.find("#settings__file-master-pass").focus()}}),!1)}save(e){if(e||(e={}),e.startedByUser=!0,!e.skipValidation){if(!this.validatePassword((()=>{e.skipValidation=!0,this.save(e)})))return}this.appModel.syncFile(this.model,e)}saveDefault(){this.save()}toggleChooser(){this.$el.find(".settings__file-save-choose").toggleClass("hide")}saveToFile(e){if(!0!==e&&!this.validatePassword(this.saveToFile.bind(this,!0)))return;const t=this.model.name+".kdbx";a.Launcher&&!this.model.storage?a.Launcher.getSaveFileName(t,(e=>{e&&this.save({storage:"file",path:e})})):this.model.getData((e=>{if(e)if(a.Launcher)a.Launcher.getSaveFileName(t,(t=>{t&&r.Storage.file.save(t,null,e,(e=>{e&&l.Alerts.error({header:f.Locale.setFileSaveError,body:f.Locale.setFileSaveErrorBody+" "+t+":",pre:e})}))}));else{const n=new Blob([e],{type:"application/octet-stream"});y.FileSaver.saveAs(n,t)}}))}saveToXml(){l.Alerts.yesno({header:f.Locale.setFileExportRaw,body:f.Locale.setFileExportRawBody,success:()=>{this.model.getXml((e=>{const t=new Blob([e],{type:"text/xml"});y.FileSaver.saveAs(t,this.model.name+".xml")}))}})}saveToHtml(){l.Alerts.yesno({header:f.Locale.setFileExportRaw,body:f.Locale.setFileExportRawBody,success:()=>{this.model.getHtml((e=>{const t=new Blob([e],{type:"text/html"});y.FileSaver.saveAs(t,this.model.name+".html")}))}})}saveToStorage(e){if(this.model.syncing||this.model.demo)return;const t=C(e.target).closest(".settings__file-save-to-storage").data("storage"),n=r.Storage[t];if(n)if(this.model.storage===t)this.save();else{if(!n.list){if(n.getOpenConfig){const e=Object.assign({id:n.name,name:f.Locale[n.name]||n.name,icon:n.icon,buttons:!1},n.getOpenConfig()),s=new v.OpenConfigView(e);l.Alerts.alert({header:"",body:"",icon:n.icon||"file-alt",buttons:[l.Alerts.buttons.ok,l.Alerts.buttons.cancel],esc:"",opaque:!0,view:s,success:()=>{const e=s.getData();if(!e)return;const n=(0,b.omit)(e,["path","storage"]);n&&Object.keys(n).length&&(this.model.opts=n),this.save({storage:t,path:e.path,opts:n})}})}else l.Alerts.notImplemented();return}this.model.syncing=!0,n.list("",((e,s)=>{if(this.model.syncing=!1,e)return;const i=this.model.name.toLowerCase(),r=[...s].find((e=>!e.dir&&m.UrlFormat.getDataFileName(e.name).toLowerCase()===i));r?l.Alerts.yesno({header:f.Locale.setFileAlreadyExists,body:f.Locale.setFileAlreadyExistsBody.replace("{}",this.model.name),success:()=>{this.model.syncing=!0,n.remove(r.path,(e=>{this.model.syncing=!1,e||this.save({storage:t})}))}}):this.save({storage:t})}))}}closeFile(){this.model.modified?l.Alerts.yesno({header:f.Locale.setFileUnsaved,body:f.Locale.setFileUnsavedBody,buttons:[{result:"close",title:f.Locale.setFileCloseNoSave,error:!0},{result:"",title:f.Locale.setFileDontClose}],success:e=>{"close"===e&&this.closeFileNoCheck()}}):this.closeFileNoCheck()}closeFileNoCheck(){this.appModel.closeFile(this.model)}keyFileChange(e){switch(e.target.value){case"old":this.selectOldKeyFile();break;case"gen":this.generateKeyFile();break;case"none":this.clearKeyFile()}}selectOldKeyFile(){this.model.resetKeyFile(),this.renderKeyFileSelect()}generateKeyFile(){this.model.generateAndSetKeyFile().then((e=>{const t=new Blob([e],{type:"application/octet-stream"});y.FileSaver.saveAs(t,this.model.name+".key"),this.renderKeyFileSelect()}))}clearKeyFile(){this.model.removeKeyFile(),this.renderKeyFileSelect()}triggerSelectFile(){this.$el.find("#settings__file-file-select").click()}fileSelected(e){const t=e.target.files[0],n=new FileReader;n.onload=e=>{const n=e.target.result;this.model.setKeyFile(n,t.name),this.renderKeyFileSelect()},n.readAsArrayBuffer(t)}focusMasterPass(e){e.target.value="",e.target.setAttribute("type","text"),this.model.passwordChanged=!1}changeMasterPass(e){e.target.value?(this.$el.find("#settings__file-confirm-master-pass-group").show(),this.$el.find("#settings__file-master-pass-warning-text").text(f.Locale.setFilePassChange),this.model.created||this.$el.find(".settings__file-master-pass-warning").show()):(this.model.resetPassword(),this.$el.find(".settings__file-master-pass-warning").hide())}blurMasterPass(e){e.target.value||(this.model.resetPassword(),this.resetConfirmMasterPass(),e.target.value=g.PasswordPresenter.present(this.model.passwordLength),this.$el.find(".settings__file-master-pass-warning").hide()),e.target.setAttribute("type","password")}resetConfirmMasterPass(){this.$el.find("#settings__file-confirm-master-pass").val(""),this.$el.find("#settings__file-confirm-master-pass-group").hide(),this.$el.find("#settings__file-master-pass-warning-text").text(f.Locale.setFilePassChange)}focusConfirmMasterPass(e){e.target.value="",e.target.setAttribute("type","text")}blurConfirmMasterPass(e){e.target.setAttribute("type","password");const t=this.$el.find("#settings__file-master-pass").val(),n=e.target.value;t===n?(this.$el.find("#settings__file-master-pass-warning-text").text(f.Locale.setFilePassChanged),this.$el.find(".settings__file-confirm-master-pass-warning").hide(),this.model.setPassword(s.ProtectedValue.fromString(n))):(this.$el.find("#settings__file-master-pass-warning-text").text(f.Locale.setFilePassChange),this.$el.find(".settings__file-confirm-master-pass-warning").show(),this.model.resetPassword())}changeName(e){const t=C.trim(e.target.value);t&&this.model.setName(t)}changeDefUser(e){const t=C.trim(e.target.value);this.model.setDefaultUser(t)}changeBackupEnabled(e){const t=e.target.checked;let n=this.model.backup;if(!n){n={enabled:t,schedule:"1w"};const e=_.replace("{name}",this.model.name);a.Launcher?(n.storage="file",n.path=a.Launcher.getDocumentsPath(e)):(n.storage="dropbox",n.path=e),this.$el.find("#settings__file-backup-storage").val(n.storage),this.$el.find("#settings__file-backup-path").val(n.path)}this.$el.find(".settings__file-backups").toggleClass("hide",!t),n.enabled=t,this.setBackup(n)}changeBackupPath(e){const t=this.model.backup;t.path=e.target.value.trim(),this.setBackup(t)}changeBackupStorage(e){const t=this.model.backup;t.storage=e.target.value,this.setBackup(t)}changeBackupSchedule(e){const t=this.model.backup;t.schedule=e.target.value,this.setBackup(t)}setBackup(e){this.model.backup=e,this.appModel.setFileBackup(this.model.id,e)}backupFile(){if(this.backupInProgress)return;const e=this.$el.find(".settings__file-button-backup");e.text(f.Locale.setFileBackupNowWorking),this.model.getData((t=>{if(!t)return this.backupInProgress=!1,void e.text(f.Locale.setFileBackupNow);this.appModel.backupFile(this.model,t,(t=>{if(this.backupInProgress=!1,e.text(f.Locale.setFileBackupNow),t){let e="",n="";t.isDir?(e=f.Locale.setFileBackupErrorIsDir,n=f.Locale.setFileBackupErrorIsDirDescription):(e=f.Locale.setFileBackupError,n=f.Locale.setFileBackupErrorDescription),l.Alerts.error({title:e,body:n,pre:t.toString()})}}))}))}changeTrash(e){this.model.setRecycleBinEnabled(e.target.checked)}changeHistoryLength(e){if(!e.target.validity.valid)return;const t=+e.target.value;isNaN(t)?e.target.value=this.model.historyMaxItems:this.model.setHistoryMaxItems(t)}changeHistoryMode(e){let t=+e.target.value;t>0&&(t=10),this.model.setHistoryMaxItems(t),this.render()}changeHistorySize(e){if(!e.target.validity.valid)return;const t=+e.target.value;isNaN(t)?e.target.value=this.model.historyMaxSize/1024/1024:this.model.setHistoryMaxSize(1024*t*1024)}changeFormatVersion(e){const t=+e.target.value;this.model.setFormatVersion(t),this.render()}changeKdf(e){this.model.setKdf(e.target.value),this.render()}changeKeyRounds(e){if(!e.target.validity.valid)return;const t=+e.target.value;isNaN(t)?e.target.value=this.model.keyEncryptionRounds:this.model.setKeyEncryptionRounds(t)}changeKeyChangeForce(e){if(!e.target.validity.valid)return;let t=Math.round(e.target.value);(isNaN(t)||t<=0)&&(t=-1),this.model.setKeyChange(!0,t)}changeKdfParameter(e){if(!e.target.validity.valid)return;const t=C(e.target).data("field"),n=C(e.target).data("mul")||1,s=e.target.value*n;isNaN(s)?e.target.value=Math.round(this.model.kdfParameters[t]/n):s>0&&this.model.setKdfParameter(t,s)}refreshYubiKeys(e){a.Launcher&&h.AppSettingsModel.enableUsb&&h.AppSettingsModel.yubiKeyShowChalResp&&(u.UsbListener.attachedYubiKeys||this.yubiKeys.length&&(this.yubiKeys=[],this.render()),c.YubiKey.list(((t,n)=>{t||this.removed||(this.yubiKeys=n,this.render(),e&&u.UsbListener.attachedYubiKeys&&!n.length&&A.Features.isMac&&l.Alerts.error({body:f.Locale.setFileYubiKeyErrorEmptyMac}))})))}changeYubiKey(e){let t=null;const n=e.target.value;if("refresh"===n)return this.render(),void this.refreshYubiKeys(!0);if(n){const n=e.target.selectedOptions[0],s=+n.dataset.vid,i=+n.dataset.pid,r=+n.dataset.serial,o=+n.dataset.slot;t={vid:s,pid:i,serial:r,slot:o}}l.Alerts.yesno({header:f.Locale.setFileYubiKeyHeader,body:f.Locale.setFileYubiKeyBody,success:()=>{this.model.setChallengeResponse(t)},cancel:()=>{this.render()}})}}},9383:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsGeneralView:()=>I});var s=n(7201),i=n(7779),r=n(3898),o=n(949),a=n(7119),l=n(5621),c=n(9491),u=n(111),d=n(4530),h=n(9673),p=n(7614),m=n(2706),g=n(8146),f=n(667),A=n(6098),y=n(3297),v=n(3346),b=n(2416),w=n(6838),k=n(8180),C=n(3006),_=n(4026),E=n.n(_),x=n(6718);class I extends i.View{constructor(e,t){super(e,t),this.template=E(),this.events={"click .settings__general-theme":"changeTheme","click .settings__general-auto-switch-theme":"changeAuthSwitchTheme","change .settings__general-locale":"changeLocale","change .settings__general-font-size":"changeFontSize","change .settings__general-expand":"changeExpandGroups","change .settings__general-auto-update":"changeAutoUpdate","change .settings__general-idle-minutes":"changeIdleMinutes","change .settings__general-clipboard":"changeClipboard","change .settings__general-auto-save":"changeAutoSave","change .settings__general-auto-save-interval":"changeAutoSaveInterval","change .settings__general-remember-key-files":"changeRememberKeyFiles","change .settings__general-minimize":"changeMinimize","change .settings__general-minimize-on-field-copy":"changeMinimizeOnFieldCopy","change .settings__general-audit-passwords":"changeAuditPasswords","change .settings__general-audit-password-entropy":"changeAuditPasswordEntropy","change .settings__general-exclude-pins-from-audit":"changeExcludePinsFromAudit","change .settings__general-check-passwords-on-hibp":"changeCheckPasswordsOnHIBP","click .settings__general-toggle-help-hibp":"clickToggleHelpHIBP","change .settings__general-audit-password-age":"changeAuditPasswordAge","change .settings__general-lock-on-minimize":"changeLockOnMinimize","change .settings__general-lock-on-copy":"changeLockOnCopy","change .settings__general-lock-on-auto-type":"changeLockOnAutoType","change .settings__general-lock-on-os-lock":"changeLockOnOsLock","change .settings__general-table-view":"changeTableView","change .settings__general-colorful-icons":"changeColorfulIcons","change .settings__general-use-markdown":"changeUseMarkdown","change .settings__general-use-group-icon-for-entries":"changeUseGroupIconForEntries","change .settings__general-direct-autotype":"changeDirectAutotype","change .settings__general-autotype-title-filter":"changeAutoTypeTitleFilter","change .settings__general-field-label-dblclick-autotype":"changeFieldLabelDblClickAutoType","change .settings__general-device-owner-auth":"changeDeviceOwnerAuth","change .settings__general-device-owner-auth-timeout":"changeDeviceOwnerAuthTimeout","change .settings__general-titlebar-style":"changeTitlebarStyle","click .settings__general-update-btn":"checkUpdate","click .settings__general-restart-btn":"installUpdateAndRestart","click .settings__general-download-update-btn":"downloadUpdate","click .settings__general-update-found-btn":"installFoundUpdate","change .settings__general-disable-offline-storage":"changeDisableOfflineStorage","change .settings__general-short-lived-storage-token":"changeShortLivedStorageToken","change .settings__general-prv-check":"changeStorageEnabled","click .settings__general-prv-logout":"logoutFromStorage","click .settings__general-show-advanced":"showAdvancedSettings","click .settings__general-dev-tools-link":"openDevTools","click .settings__general-try-beta-link":"tryBeta","click .settings__general-show-logs-link":"showLogs","click .settings__general-reload-app-link":"reloadApp"},this.listenTo(m.UpdateModel,"change",this.render),this.listenTo(s.Events,"theme-applied",this.render)}render(){const e="ready"===m.UpdateModel.updateStatus,t="found"===m.UpdateModel.updateStatus,n=m.UpdateModel.updateManual,s=this.getStorageProviders();super.render({themes:this.getAllThemes(),autoSwitchTheme:p.AppSettingsModel.autoSwitchTheme,activeTheme:u.SettingsManager.activeTheme,locales:u.SettingsManager.allLocales,activeLocale:u.SettingsManager.activeLocale,fontSize:p.AppSettingsModel.fontSize,expandGroups:p.AppSettingsModel.expandGroups,canClearClipboard:!!c.Launcher,clipboardSeconds:p.AppSettingsModel.clipboardSeconds,rememberKeyFiles:p.AppSettingsModel.rememberKeyFiles,supportFiles:!!c.Launcher,autoSave:p.AppSettingsModel.autoSave,autoSaveInterval:p.AppSettingsModel.autoSaveInterval,idleMinutes:p.AppSettingsModel.idleMinutes,minimizeOnClose:p.AppSettingsModel.minimizeOnClose,minimizeOnFieldCopy:p.AppSettingsModel.minimizeOnFieldCopy,devTools:c.Launcher&&c.Launcher.devTools,canAutoUpdate:l.Updater.enabled,canAutoSaveOnClose:!!c.Launcher,canMinimize:!!c.Launcher,canDetectMinimize:!!c.Launcher,canDetectOsSleep:c.Launcher&&c.Launcher.canDetectOsSleep(),canAutoType:r.AutoType.enabled,auditPasswords:p.AppSettingsModel.auditPasswords,auditPasswordEntropy:p.AppSettingsModel.auditPasswordEntropy,excludePinsFromAudit:p.AppSettingsModel.excludePinsFromAudit,checkPasswordsOnHIBP:p.AppSettingsModel.checkPasswordsOnHIBP,auditPasswordAge:p.AppSettingsModel.auditPasswordAge,hibpLink:h.Links.HaveIBeenPwned,hibpPrivacyLink:h.Links.HaveIBeenPwnedPrivacy,lockOnMinimize:c.Launcher&&p.AppSettingsModel.lockOnMinimize,lockOnCopy:p.AppSettingsModel.lockOnCopy,lockOnAutoType:p.AppSettingsModel.lockOnAutoType,lockOnOsLock:p.AppSettingsModel.lockOnOsLock,tableView:p.AppSettingsModel.tableView,canSetTableView:!f.Features.isMobile,autoUpdate:l.Updater.getAutoUpdateType(),updateInProgress:l.Updater.updateInProgress(),updateInfo:this.getUpdateInfo(),updateWaitingReload:e&&!c.Launcher,showUpdateBlock:l.Updater.enabled&&!n,updateReady:e,updateFound:t,updateManual:n,releaseNotesLink:h.Links.ReleaseNotes,colorfulIcons:p.AppSettingsModel.colorfulIcons,useMarkdown:p.AppSettingsModel.useMarkdown,useGroupIconForEntries:p.AppSettingsModel.useGroupIconForEntries,directAutotype:p.AppSettingsModel.directAutotype,autoTypeTitleFilterEnabled:p.AppSettingsModel.autoTypeTitleFilterEnabled,fieldLabelDblClickAutoType:p.AppSettingsModel.fieldLabelDblClickAutoType,supportsTitleBarStyles:f.Features.supportsTitleBarStyles,supportsCustomTitleBarAndDraggableWindow:f.Features.supportsCustomTitleBarAndDraggableWindow,titlebarStyle:p.AppSettingsModel.titlebarStyle,storageProviders:s,showReloadApp:f.Features.isStandalone,hasDeviceOwnerAuth:f.Features.isDesktop&&f.Features.isMac,deviceOwnerAuth:p.AppSettingsModel.deviceOwnerAuth,deviceOwnerAuthTimeout:p.AppSettingsModel.deviceOwnerAuthTimeoutMinutes,disableOfflineStorage:p.AppSettingsModel.disableOfflineStorage,shortLivedStorageToken:p.AppSettingsModel.shortLivedStorageToken}),this.renderProviderViews(s)}renderProviderViews(e){e.forEach((function(e){if(this.views[e.name]&&this.views[e.name].remove(),e.hasConfig){const t=new b.SettingsPrvView(e,{parent:this.$el.find(".settings__general-"+e.name)[0]});this.views[e.name]=t,t.render()}}),this)}getUpdateInfo(){switch(m.UpdateModel.status){case"checking":return y.Locale.setGenUpdateChecking+"...";case"error":{let e=y.Locale.setGenErrorChecking;return m.UpdateModel.lastError&&(e+=": "+m.UpdateModel.lastError),m.UpdateModel.lastSuccessCheckDate&&(e+=". "+y.Locale.setGenLastCheckSuccess.replace("{}",A.DateFormat.dtStr(m.UpdateModel.lastSuccessCheckDate))+": "+y.Locale.setGenLastCheckVer.replace("{}",m.UpdateModel.lastVersion)),e}case"ok":{let e=y.Locale.setGenCheckedAt+" "+A.DateFormat.dtStr(m.UpdateModel.lastCheckDate)+": ";switch(e+=g.SemVer.compareVersions(a.RuntimeInfo.version,m.UpdateModel.lastVersion)>=0?y.Locale.setGenLatestVer:y.Locale.setGenNewVer.replace("{}",m.UpdateModel.lastVersion)+" "+A.DateFormat.dStr(m.UpdateModel.lastVersionReleaseDate),m.UpdateModel.updateStatus){case"downloading":return e+". "+y.Locale.setGenDownloadingUpdate;case"extracting":return e+". "+y.Locale.setGenExtractingUpdate;case"error":return e+". "+y.Locale.setGenCheckErr}return e}default:return y.Locale.setGenNeverChecked}}getStorageProviders(){const e=[];return Object.keys(o.Storage).forEach((t=>{const n=o.Storage[t];n.system||e.push(n)})),e.sort(((e,t)=>(e.uipos||1/0)-(t.uipos||1/0))),e.map((e=>({name:e.name,enabled:e.enabled,hasConfig:!!e.getSettingsConfig,loggedIn:e.loggedIn})))}getAllThemes(){const{autoSwitchTheme:e}=p.AppSettingsModel;if(e){const e={},t={};for(const n of u.SettingsManager.autoSwitchedThemes){t[n.dark]=!0,t[n.light]=!0;e[k.ThemeWatcher.dark?n.dark:n.light]=y.Locale[n.name]}for(const[n,s]of Object.entries(u.SettingsManager.allThemes))t[n]||(e[n]=y.Locale[s]);return e}return(0,w.mapObject)(u.SettingsManager.allThemes,(e=>y.Locale[e]))}changeTheme(e){const t=e.target.closest(".settings__general-theme").dataset.theme;if("..."===t)this.goToPlugins();else{p.AppSettingsModel.theme!==t?p.AppSettingsModel.theme=t:u.SettingsManager.setTheme(t)}}changeAuthSwitchTheme(e){const t=e.target.checked;p.AppSettingsModel.autoSwitchTheme=t,u.SettingsManager.darkModeChanged(),this.render()}changeLocale(e){const t=e.target.value;"..."===t?(e.target.value=p.AppSettingsModel.locale||"en-US",this.goToPlugins()):p.AppSettingsModel.locale=t}goToPlugins(){this.appModel.menu.select({item:this.appModel.menu.pluginsSection.items[0]})}changeFontSize(e){const t=+e.target.value;p.AppSettingsModel.fontSize=t}changeTitlebarStyle(e){const t=e.target.value;p.AppSettingsModel.titlebarStyle=t}changeClipboard(e){const t=+e.target.value;p.AppSettingsModel.clipboardSeconds=t}changeIdleMinutes(e){const t=+e.target.value;p.AppSettingsModel.idleMinutes=t}changeAutoUpdate(e){const t=e.target.value||!1;p.AppSettingsModel.autoUpdate=t,t&&l.Updater.scheduleNextCheck()}checkUpdate(){l.Updater.check(!0)}changeAutoSave(e){const t=e.target.checked||!1;p.AppSettingsModel.autoSave=t}changeAutoSaveInterval(e){const t=0|e.target.value;p.AppSettingsModel.autoSaveInterval=t}changeRememberKeyFiles(e){const t=e.target.value||!1;p.AppSettingsModel.rememberKeyFiles=t,this.appModel.clearStoredKeyFiles()}changeMinimize(e){const t=e.target.checked||!1;p.AppSettingsModel.minimizeOnClose=t}changeMinimizeOnFieldCopy(e){const t=e.target.checked||!1;p.AppSettingsModel.minimizeOnFieldCopy=t}changeAuditPasswords(e){const t=e.target.checked||!1;p.AppSettingsModel.auditPasswords=t}changeAuditPasswordEntropy(e){const t=e.target.checked||!1;p.AppSettingsModel.auditPasswordEntropy=t}changeExcludePinsFromAudit(e){const t=e.target.checked||!1;p.AppSettingsModel.excludePinsFromAudit=t}changeCheckPasswordsOnHIBP(e){if(e.target.closest("a"))return;const t=e.target.checked||!1;p.AppSettingsModel.checkPasswordsOnHIBP=t}clickToggleHelpHIBP(){this.el.querySelector(".settings__general-help-hibp").classList.toggle("hide")}changeAuditPasswordAge(e){const t=0|e.target.value;p.AppSettingsModel.auditPasswordAge=t}changeLockOnMinimize(e){const t=e.target.checked||!1;p.AppSettingsModel.lockOnMinimize=t}changeLockOnCopy(e){const t=e.target.checked||!1;p.AppSettingsModel.lockOnCopy=t}changeLockOnAutoType(e){const t=e.target.checked||!1;p.AppSettingsModel.lockOnAutoType=t}changeLockOnOsLock(e){const t=e.target.checked||!1;p.AppSettingsModel.lockOnOsLock=t}changeTableView(e){const t=e.target.checked||!1;p.AppSettingsModel.tableView=t,s.Events.emit("refresh")}changeColorfulIcons(e){const t=e.target.checked||!1;p.AppSettingsModel.colorfulIcons=t,s.Events.emit("refresh")}changeUseMarkdown(e){const t=e.target.checked||!1;p.AppSettingsModel.useMarkdown=t,s.Events.emit("refresh")}changeUseGroupIconForEntries(e){const t=e.target.checked||!1;p.AppSettingsModel.useGroupIconForEntries=t}changeDirectAutotype(e){const t=e.target.checked||!1;p.AppSettingsModel.directAutotype=t}changeAutoTypeTitleFilter(e){const t=e.target.checked||!1;p.AppSettingsModel.autoTypeTitleFilterEnabled=t}changeFieldLabelDblClickAutoType(e){const t=e.target.checked||!1;p.AppSettingsModel.fieldLabelDblClickAutoType=t,s.Events.emit("refresh")}changeDeviceOwnerAuth(e){const t=e.target.value||null;let n=0|p.AppSettingsModel.deviceOwnerAuthTimeoutMinutes;if(t){const e={memory:[30,10080],file:[30,525600]},[s,i]=e[t]||[0,0];n=(0,w.minmax)(n,s,i)}p.AppSettingsModel.set({deviceOwnerAuth:t,deviceOwnerAuthTimeoutMinutes:n}),this.render(),this.appModel.checkEncryptedPasswordsStorage(),t||C.NativeModules.hardwareCryptoDeleteKey().catch((()=>{}))}changeDeviceOwnerAuthTimeout(e){const t=0|e.target.value;p.AppSettingsModel.deviceOwnerAuthTimeoutMinutes=t}installUpdateAndRestart(){c.Launcher?l.Updater.installAndRestart():window.location.reload()}downloadUpdate(){c.Launcher.openLink(h.Links.Desktop)}installFoundUpdate(){l.Updater.update(!0,(()=>{l.Updater.installAndRestart()}))}changeExpandGroups(e){const t=e.target.checked;p.AppSettingsModel.expandGroups=t,s.Events.emit("refresh")}changeDisableOfflineStorage(e){const t=e.target.checked;p.AppSettingsModel.disableOfflineStorage=t,t&&this.appModel.deleteAllCachedFiles()}changeShortLivedStorageToken(e){const t=e.target.checked;if(p.AppSettingsModel.shortLivedStorageToken=t,t)for(const e of Object.values(o.Storage))e.deleteStoredToken()}changeStorageEnabled(e){const t=o.Storage[x(e.target).data("storage")];t&&(t.setEnabled(e.target.checked),p.AppSettingsModel[t.name]=t.enabled,this.$el.find(".settings__general-"+t.name).toggleClass("hide",!e.target.checked))}logoutFromStorage(e){const t=o.Storage[x(e.target).data("storage")];t&&(t.logout(),x(e.target).remove())}showAdvancedSettings(){this.$el.find(".settings__general-show-advanced, .settings__general-advanced").toggleClass("hide"),this.scrollToBottom()}openDevTools(){c.Launcher&&c.Launcher.openDevTools()}tryBeta(){this.appModel.files.hasUnsavedFiles()?d.Alerts.info({header:y.Locale.setGenTryBetaWarning,body:y.Locale.setGenTryBetaWarningBody}):location.href=h.Links.BetaWebApp}showLogs(){this.views.logView&&this.views.logView.remove(),this.views.logView=new v.SettingsLogsView,this.views.logView.render(),this.scrollToBottom()}reloadApp(){location.reload()}scrollToBottom(){this.$el.closest(".scroller").scrollTop(this.$el.height())}}},1426:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsHelpView:()=>c});var s=n(7779),i=n(7119),r=n(9673),o=n(9491),a=n(4113),l=n.n(a);class c extends s.View{constructor(...e){super(...e),this.template=l()}render(){const e="KeeWeb v"+i.RuntimeInfo.version+" ("+i.RuntimeInfo.commit+", "+i.RuntimeInfo.buildDate+")\nEnvironment: "+(o.Launcher?o.Launcher.name+" v"+o.Launcher.version:"web")+"\nUser-Agent: "+navigator.userAgent;super.render({issueLink:r.Links.Repo+"/issues/new?body="+encodeURIComponent("# please describe your issue here\n\n"+e),desktopLink:r.Links.Desktop,webAppLink:r.Links.WebApp,appInfo:e})}}},3346:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsLogsView:()=>l});var s=n(7779),i=n(2378),r=n(2363),o=n(7648),a=n.n(o);class l extends s.View{constructor(...e){super(...e),this.parent=".settings__general-advanced",this.template=a(),this.levelToColor={debug:"muted",warn:"yellow",error:"red"}}render(){const e=r.Logger.getLast().map((e=>({level:e.level,color:this.levelToColor[e.level],msg:"["+i.StringFormat.padStr(e.level.toUpperCase(),5)+"] "+e.args.map((e=>this.mapArg(e))).join(" ")})));super.render({logs:e})}mapArg(e){if(null===e)return"null";if(void 0===e)return"undefined";if(""===e)return'""';if(!e||!e.toString()||"object"!=typeof e)return e?e.toString():e;if(e instanceof Array)return"["+e.map((e=>this.mapArg(e))).join(", ")+"]";let t=e.toString();if("[object Object]"===t){const n=[];t=JSON.stringify(e,((e,t)=>{if("object"==typeof t&&null!==t){if(-1!==n.indexOf(t))return;n.push(t)}return t}))}return t}}},868:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsPluginsView:()=>b});var s=n(7779),i=n(7201),r=n(7119),o=n(9491),a=n(111),l=n(9673),c=n(7614),u=n(3172),d=n(739),h=n(8612),p=n(8146),m=n(667),g=n(6098),f=n(3297),A=n(4103),y=n.n(A),v=n(6718);class b extends s.View{constructor(e,t){super(e,t),this.template=y(),this.events={"click .settings_plugins-install-btn":"installClick","click .settings_plugins-uninstall-btn":"uninstallClick","click .settings_plugins-disable-btn":"disableClick","click .settings_plugins-enable-btn":"enableClick","click .settings_plugins-update-btn":"updateClick","click .settings_plugins-use-locale-btn":"useLocaleClick","click .settings_plugins-use-theme-btn":"useThemeClick","click .settings__plugins-gallery-plugin-install-btn":"galleryInstallClick","input .settings__plugins-gallery-search":"gallerySearchInput","change select.settings__plugins-plugin-input":"pluginSettingChange","change input[type=checkbox].settings__plugins-plugin-input":"pluginSettingChange","input input[type=text].settings__plugins-plugin-input":"pluginSettingChange","change .settings__plugins-plugin-updates":"autoUpdateChange","click .settings__plugins-gallery-load-btn":"loadPluginGalleryClick"},this.searchStr=null,this.installFromUrl=null,this.installing={},this.installErrors={},this.listenTo(d.PluginManager,"change",this.render.bind(this)),this.listenTo(i.Events,"plugin-gallery-load-complete",this.pluginGalleryLoadComplete.bind(this))}render(){super.render({plugins:d.PluginManager.plugins.map((e=>({id:e.id,manifest:e.manifest,status:e.status,installTime:Math.round(e.installTime),updateError:e.updateError,updateCheckDate:g.DateFormat.dtStr(e.updateCheckDate),installError:e.installError,official:e.official,autoUpdate:e.autoUpdate,settings:e.getSettings()}))).sort(h.Comparators.stringComparator("id",!0)),installingFromUrl:this.installFromUrl&&!this.installFromUrl.error,installUrl:this.installFromUrl?this.installFromUrl.url:null,installUrlError:this.installFromUrl?this.installFromUrl.error:null,galleryLoading:u.PluginGallery.loading,galleryLoadError:u.PluginGallery.loadError,galleryPlugins:this.getGalleryPlugins(),searchStr:this.searchStr,hasUnicodeFlags:m.Features.hasUnicodeFlags,pluginDevLink:l.Links.PluginDevelopStart,translateLink:l.Links.Translation}),this.searchStr&&this.showFilterResults()}pluginGalleryLoadComplete(){this.render(),i.Events.emit("page-geometry",{source:"view"})}getGalleryPlugins(){if(!u.PluginGallery.gallery)return null;const e=d.PluginManager.plugins;return u.PluginGallery.gallery.plugins.map((e=>({url:e.url,manifest:e.manifest,installing:this.installing[e.url],installError:this.installErrors[e.url],official:e.official}))).filter((t=>!e.get(t.manifest.name)&&this.canInstallPlugin(t))).sort(((e,t)=>e.manifest.name.localeCompare(t.manifest.name)))}canInstallPlugin(e){return(!e.manifest.locale||!a.SettingsManager.allLocales[e.manifest.locale.name])&&(!(e.manifest.desktop&&!o.Launcher)&&(!(e.manifest.versionMin&&p.SemVer.compareVersions(e.manifest.versionMin,r.RuntimeInfo.version)>0)&&!(e.manifest.versionMax&&p.SemVer.compareVersions(e.manifest.versionMax,r.RuntimeInfo.version)>0)))}loadPluginGalleryClick(){u.PluginGallery.loading||(u.PluginGallery.loadPlugins(),this.render())}installClick(){const e=this.$el.find(".settings_plugins-install-btn"),t=this.$el.find("#settings__plugins-install-url");this.$el.find(".settings__plugins-install-error").empty();const n=t.val().trim();n&&(t.prop("disabled",!0),e.text(f.Locale.setPlInstallBtnProgress+"...").prop("disabled",!0),this.installFromUrl={url:n},d.PluginManager.install(n,void 0,!0).then((()=>{this.installFinished(),this.installFromUrl=null,this.render(),this.$el.closest(".scroller").scrollTop(0)})).catch((e=>{this.installFinished(),this.installFromUrl.error=e,this.$el.find(".settings__plugins-install-error").text(e.toString()),this.$el.closest(".scroller").scrollTop(this.$el.height())})))}installFinished(){const e=this.$el.find(".settings_plugins-install-btn");this.$el.find("#settings__plugins-install-url").prop("disabled",!1),e.text(f.Locale.setPlInstallBtn).prop("disabled",!1)}uninstallClick(e){const t=v(e.target).data("plugin");d.PluginManager.uninstall(t)}disableClick(e){const t=v(e.target).data("plugin");d.PluginManager.disable(t)}enableClick(e){const t=v(e.target).data("plugin");d.PluginManager.activate(t)}updateClick(e){const t=v(e.target).data("plugin");d.PluginManager.update(t)}useLocaleClick(e){const t=v(e.target).data("locale");c.AppSettingsModel.locale=t}useThemeClick(e){const t=v(e.target).data("theme");c.AppSettingsModel.theme=t}galleryInstallClick(e){const t=v(e.target),n=t.data("plugin"),s=u.PluginGallery.gallery.plugins.find((e=>e.manifest.name===n));t.text(f.Locale.setPlInstallBtnProgress+"...").prop("disabled",!0),this.installing[s.url]=!0,delete this.installErrors[s.url],d.PluginManager.install(s.url,s.manifest).catch((e=>{this.installErrors[s.url]=e,delete this.installing[s.url],this.render()})).then((()=>{t.prop("disabled",!0),delete this.installing[s.url]}))}gallerySearchInput(e){this.searchStr=e.target.value.toLowerCase(),this.showFilterResults()}showFilterResults(){const e={};for(const t of u.PluginGallery.gallery.plugins)e[t.manifest.name]=t;for(const t of v(".settings__plugins-gallery-plugin",this.$el)){const n=t.dataset.plugin,s=this.pluginMatchesFilter(e[n]);v(t).toggle(s)}}pluginMatchesFilter(e){const t=this.searchStr,n=e.manifest;return!!(!t||n.name.toLowerCase().indexOf(t)>=0||n.description&&n.description.toLowerCase().indexOf(t)>=0||n.locale&&(n.locale.name.toLowerCase().indexOf(t)>=0||n.locale.title.toLowerCase().indexOf(t)>=0))}pluginSettingChange(e){const t=e.target,n=v(t).closest(".settings__plugins-plugin-setting"),s=n.data("setting"),i=n.data("plugin"),r="checkbox"===t.type?t.checked:t.value;d.PluginManager.getPlugin(i).setSettings({[s]:r})}autoUpdateChange(e){const t=v(e.target).data("plugin"),n=e.target.checked;d.PluginManager.setAutoUpdate(t,n)}}},2416:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsPrvView:()=>l});var s=n(7779),i=n(949),r=n(7306),o=n.n(r),a=n(6718);class l extends s.View{constructor(...e){super(...e),this.template=o(),this.events={"change .settings__general-prv-field-sel":"changeField","input .settings__general-prv-field-txt":"changeField","change .settings__general-prv-field-check":"changeCheckbox"}}render(){const e=i.Storage[this.model.name];e&&e.getSettingsConfig&&super.render(e.getSettingsConfig())}changeField(e){const t=e.target.dataset.id,n=e.target.value;if(n&&!e.target.checkValidity())return;i.Storage[this.model.name].applySetting(t,n),a(e.target).is("select")&&this.render()}changeCheckbox(e){const t=e.target.dataset.id,n=!!e.target.checked;i.Storage[this.model.name].applySetting(t,n)}}},1499:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsShortcutsView:()=>h});var s=n(7779),i=n(7027),r=n(9491),o=n(2977),a=n(667),l=n(3297),c=n(5473),u=n.n(c),d=n(6718);class h extends s.View{constructor(...e){super(...e),this.template=u(),this.systemShortcuts=["Meta+A","Alt+A","Alt+C","Alt+D","Meta+F","Meta+C","Meta+B","Meta+U","Meta+T","Alt+N","Meta+O","Meta+S","Meta+G","Meta+,","Meta+L"],this.events={"click button.shortcut":"shortcutClick"}}render(){super.render({cmd:i.Shortcuts.actionShortcutSymbol(!0),alt:i.Shortcuts.altShortcutSymbol(!0),globalIsLarge:!a.Features.isMac,autoTypeSupported:!!r.Launcher,globalShortcuts:r.Launcher?{autoType:i.Shortcuts.globalShortcutText("autoType",!0),copyPassword:i.Shortcuts.globalShortcutText("copyPassword",!0),copyUser:i.Shortcuts.globalShortcutText("copyUser",!0),copyUrl:i.Shortcuts.globalShortcutText("copyUrl",!0),copyOtp:i.Shortcuts.globalShortcutText("copyOtp",!0),restoreApp:i.Shortcuts.globalShortcutText("restoreApp",!0)}:void 0})}shortcutClick(e){const t=e.target.dataset.shortcut,n=d(`.shortcut__editor[data-shortcut=${t}]`);if(n.length)return void n.remove();const s=d("<div/>").addClass("shortcut__editor").attr("data-shortcut",t);d("<div/>").text(l.Locale.setShEdit).appendTo(s);const r=d("<input/>").addClass("shortcut__editor-input").val(i.Shortcuts.globalShortcutText(t)).appendTo(s);a.Features.isMac||r.addClass("shortcut__editor-input--large"),s.insertAfter(d(e.target).parent()),r.focus(),r.on("keypress",(e=>e.preventDefault())),r.on("keydown",(e=>{if(e.preventDefault(),e.stopImmediatePropagation(),e.which===o.Keys.DOM_VK_DELETE||e.which===o.Keys.DOM_VK_BACK_SPACE)return i.Shortcuts.setGlobalShortcut(t,void 0),void this.render();if(e.which===o.Keys.DOM_VK_ESCAPE)return void r.blur();const n=i.Shortcuts.keyEventToShortcut(e),s=i.Shortcuts.presentShortcut(n.value);r.val(s);const a=this.systemShortcuts.includes(n.text);r.toggleClass("input--error",a);n.valid&&!a&&(i.Shortcuts.setGlobalShortcut(t,n.value),this.render())}))}}},4199:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SettingsView:()=>u});var s=n(7779),i=n(7201),r=n(2977),o=n(7015),a=n(2378),l=n(1279),c=n.n(l);class u extends s.View{constructor(e,t){super(e,t),this.parent=".app__body",this.template=c(),this.events={"click .settings__back-button":"returnToApp"},this.initScroll(),this.listenTo(i.Events,"set-page",this.setPage),this.onKey(r.Keys.DOM_VK_ESCAPE,this.returnToApp)}render(){super.render(),this.createScroll({root:this.$el.find(".settings")[0],scroller:this.$el.find(".scroller")[0],bar:this.$el.find(".scroller__bar")[0]}),this.pageEl=this.$el.find(".scroller")}setPage(e){let{page:t,section:s,file:i}=e;"file"===t&&i&&"otp-device"===i.backend&&(t="file-otp-device");const r=n(4367)("./settings-"+t+"-view")[`Settings${a.StringFormat.pascalCase(t)}View`];this.views.page&&this.views.page.remove(),this.views.page=new r(i,{parent:this.pageEl[0]}),this.views.page.appModel=this.model,this.views.page.render(),this.file=i,this.page=t,this.pageResized(),this.scrollToSection(s)}scrollToSection(e){let t;e&&(t=this.views.page.el.querySelector(`#${e}`)),t||(t=this.views.page.el.querySelector("h1")),t&&t.scrollIntoView(!0)}returnToApp(){i.Events.emit("toggle-settings",!1)}}Object.assign(u.prototype,o.Scrollable)},4902:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StorageFileListView:()=>l});var s=n(7779),i=n(4798),r=n(9132),o=n.n(r),a=n(6718);class l extends s.View{constructor(e){super(e),this.template=o(),this.events={"click .open-list__file":"fileClick","click .open-list__check-wrap":"showAllCheckClick","change #open-list__check":"showAllCheckChange"},this.allStorageFiles={},this.showHiddenFiles=!1}render(){let e=this.model.files.map((e=>(this.allStorageFiles[e.path]=e,{path:e.path,name:e.name.replace(/\.kdbx$/i,""),kdbx:i.UrlFormat.isKdbx(e.name),dir:e.dir})));const t=e.filter((e=>e.dir||e.kdbx)),n=t.length&&e.length>t.length;this.showHiddenFiles||t.length>0&&(e=t);const s=e.length>14?3:e.length>7?2:1;super.render({files:e,density:s,showHiddenFiles:this.showHiddenFiles,canShowHiddenFiles:n})}fileClick(e){const t=a(e.target).closest(".open-list__file").data("path"),n=this.allStorageFiles[t];this.emit("selected",n)}showAllCheckClick(e){e.stopPropagation()}showAllCheckChange(e){this.showHiddenFiles=e.target.checked,this.render()}}},9993:(e,t,n)=>{"use strict";n.r(t),n.d(t,{TagView:()=>u});var s=n(7201),i=n(7779),r=n(4530),o=n(3297),a=n(9057),l=n.n(a),c=n(6718);class u extends i.View{constructor(...e){super(...e),this.parent=".app__panel",this.template=l(),this.events={"click .tag__buttons-trash":"moveToTrash","click .back-button":"returnToApp","click .tag__btn-rename":"renameTag"}}render(){this.tag&&super.render({title:this.tag.title})}showTag(e){this.tag=e,this.render()}renameTag(){const e=c.trim(this.$el.find("#tag__field-title").val());e&&e!==this.tag.title&&(/[;,:]/.test(e)?r.Alerts.error({header:o.Locale.tagBadName,body:o.Locale.tagBadNameBody.replace("{}","`,`, `;`, `:`")}):this.model.tags.some((t=>t.toLowerCase()===e.toLowerCase()))?r.Alerts.error({header:o.Locale.tagExists,body:o.Locale.tagExistsBody}):(this.model.renameTag(this.tag.title,e),s.Events.emit("select-all")))}moveToTrash(){this.title=null,r.Alerts.yesno({header:o.Locale.tagTrashQuestion,body:o.Locale.tagTrashQuestionBody,success:()=>{this.model.renameTag(this.tag.title,void 0),s.Events.emit("select-all")}})}returnToApp(){s.Events.emit("edit-tag")}}},357:(e,t,n)=>{"use strict";n.r(t),n.d(t,{TitlebarView:()=>c});var s=n(7779),i=n(7201),r=n(9491),o=n(7086),a=n(1546),l=n.n(a);class c extends s.View{constructor(){super(),this.parent=".app__titlebar",this.template=l(),this.events={"click .titlebar__minimize":"clickMinimize","click .titlebar__maximize":"clickMaximize","click .titlebar__restore":"clickRestore","click .titlebar__close":"clickClose"},this.maximized=r.Launcher.mainWindowMaximized(),this.listenTo(i.Events,"app-maximized",this.appMaximized),this.listenTo(i.Events,"app-unmaximized",this.appUnmaximized)}render(){super.render({maximized:this.maximized,iconSrc:o.KeeWebLogo})}clickMinimize(){r.Launcher.minimizeMainWindow()}clickMaximize(){r.Launcher.maximizeMainWindow()}clickRestore(){r.Launcher.restoreMainWindow()}clickClose(){window.close()}appMaximized(){this.maximized=!0,this.render()}appUnmaximized(){this.maximized=!1,this.render()}}},4181:e=>{e.exports="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"},3e3:e=>{e.exports="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Sw0AGkFyIAEgACgCMCICQQN0SQ0AGiAAKAIoRQRAQXQPCyACRQRAQXAPC0FvIAJB////B0sNABogACgCNCIBRQRAQWQPC0FjIAFB////B0sNABogACgCQCEBAkAgACgCPARAIAENAUFpDwtBaCABDQEaC0EACw8LQW1BeiABGws4AQF/IwBBEGsiAiQAIAIgADYCDCACIAE2AgggAigCDEEAIAIoAghB2BcoAgARAAAaIAJBEGokAAvWAQEEfyMAQTBrIgIkAAJAIAAQHCIDDQBBZiEDIAFBAksNACAAKAIsIQQgACgCMCEDIAAoAjghBSACQQA2AgAgAiAFNgIEIAAoAighBSACIAM2AhggAiAFNgIIIAIgA0EDdCIFIAQgBCAFSRsgA0ECdCIFbiIENgIQIAIgBEECdDYCFCACIAQgBWw2AgwgACgCNCEEIAIgATYCICACIAQ2AhwgAyAESQRAIAIgAzYCHAsgAiAAED8iAw0AIAIQQyIDDQAgACACEEdBACEDCyACQTBqJAAgAwsnAQF/AkACQAJAAkAgAA4DAAECAwtByA4PC0HYDg8LQekOIQELIAELjwMBAX8jAEGAA2siBCQAIARBADYCjAEgBEGMAWogARAHAkAgAUHAAE0EQCAEQZABaiABEBhBAEgNASAEQZABaiAEQYwBakEEEAZBAEgNASAEQZABaiACIAMQBkEASA0BIARBkAFqIAAgARASGgwBCyAEQZABakHAABAYQQBIDQAgBEGQAWogBEGMAWpBBBAGQQBIDQAgBEGQAWogAiADEAZBAEgNACAEQZABaiAEQUBrQcAAEBJBAEgNACAAIAQpA0A3AAAgACAEKQNINwAIIAAgBCkDWDcAGCAAIAQpA1A3ABAgAEEgaiEAIAFBIGsiAkHBAE8EQANAIAQgBEFAa0HAABAFIgFBQGtBwAAgARAvQQBIDQIgACABKQNANwAAIAAgASkDSDcACCAAIAQpA1g3ABggACAEKQNQNwAQIABBIGohACACQSBrIgJBwABLDQALCyAEIARBQGtBwAAQBSIBQUBrIAIgARAvQQBIDQAgACABQUBrIAIQBRoLIARBkAFqQfABEAQgBEGAA2okAAsDAAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIg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ACAAIAMoAgwiBDYCMCAAIAQ2AjQgAS0AAEEkRw0AIAMgBzYCDCAAKAIQIANBDGogAUEBahArIgFFDQAgACADKAIMNgIUIAEtAABBJEcNACADIAY2AgwgACgCACADQQxqIAFBAWoQKyIBRQ0AIAAgAygCDDYCBCAAQQA2AkQgAEIANwI8IABCADcCGCAAQgA3AiAgABAcIgINACABLQAAIQAgA0EQaiQAQWBBACAAGw8LIANBEGokACACC2MBAn8jAEHQAGsiAiQAQWchAwJAIABFIAFFcg0AIAAgATYCKCABIAAgACgCDBBJIgMNACACIAEgACgCIBBAIAJBQGtBCBAEIAIgABBBIAJByAAQBEEAIQMLIAJB0ABqJAAgAwvqAwEBfyMAQYACayIDJAAgAEUgAUVyRQRAIANBEGpBwAAQGBogA0EMaiABKAIwEAcgA0EQaiADQQxqQQQQBhogA0EMaiABKAIEEAcgA0EQaiADQQxqQQQQBhogA0EMaiABKAIsEAcgA0EQaiADQQxqQQQQBhogA0EMaiABKAIoEAcgA0EQaiADQQxqQQQQBhogA0EMaiABKAI4EAcgA0EQaiADQQxqQQQQBhogA0EMaiACEAcgA0EQaiADQQxqQQQQBhogA0EMaiABKAIMEAcgA0EQaiADQQxqQQQQBhoCQCABKAIIIgJFDQAgA0EQaiACIAEoAgwQBhogAS0AREEBcUUNACABKAIIIAEoAgwQHSABQQA2AgwLIANBDGogASgCFBAHIANBEGogA0EMakEEEAYaIAEoAhAiAgRAIANBEGogAiABKAIUEAYaCyADQQxqIAEoAhwQByADQRBqIANBDGpBBBAGGgJAIAEoAhgiAkUNACADQRBqIAIgASgCHBAGGiABLQBEQQJxRQ0AIAEoAhggASgCHBAdIAFBADYCHAsgA0EMaiABKAIkEAcgA0EQaiADQQxqQQQQBhogASgCICICBEAgA0EQaiACIAEoAiQQBhoLIANBEGogAEHAABASGgsgA0GAAmokAAueAQEEfyMAQYAIayICJAAgASgCGARAIABBxABqIQUgAEFAayEEA0AgBEEAEAcgBSADEAcgAkGACCAAQcgAECAgASgCACABKAIUIANsQQp0aiACEC0gBEEBEAcgAkGACCAAQcgAECAgASgCACABKAIUIANsQQp0akGA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bABUaW1lIGNvc3QgaXMgdG9vIGxhcmdlAE1lbW9yeSBjb3N0IGlzIHRvbyBzbWFsbABNZW1vcnkgY29zdCBpcyB0b28gbGFyZ2UAVG9vIGZldyBsYW5lcwBUb28gbWFueSBsYW5lcwBQYXNzd29yZCBwb2ludGVyIGlzIE5VTEwsIGJ1dCBwYXNzd29yZCBsZW5ndGggaXMgbm90IDAAU2FsdCBwb2ludGVyIGlzIE5VTEwsIGJ1dCBzYWx0IGxlbmd0aCBpcyBub3QgMABTZWNyZXQgcG9pbnRlciBpcyBOVUxMLCBidXQgc2VjcmV0IGxlbmd0aCBpcyBub3QgMABBc3NvY2lhdGVkIGRhdGEgcG9pbnRlciBpcyBOVUxMLCBidXQgYWQgbGVuZ3RoIGlzIG5vdCAwAE1lbW9yeSBhbGxvY2F0aW9uIGVycm9yAFRoZSBmcmVlIG1lbW9yeSBjYWxsYmFjayBpcyBOVUxMAFRoZSBhbGxvY2F0ZSBtZW1vcnkgY2FsbGJhY2sgaXMgTlVMTABBcmdvbjJfQ29udGV4dCBjb250ZXh0IGlzIE5VTEwAVGhlcmUgaXMgbm8gc3VjaCB2ZXJzaW9uIG9mIEFyZ29uMgBPdXRwdXQgcG9pbnRlciBtaXNtYXRjaABOb3QgZW5vdWdoIHRocmVhZHMAVG9vIG1hbnkgdGhyZWFkcwBNaXNzaW5nIGFyZ3VtZW50cwBFbmNvZGluZyBmYWlsZWQARGVjb2RpbmcgZmFpbGVkAFRocmVhZGluZyBmYWlsdXJlAFNvbWUgb2YgZW5jb2RlZCBwYXJhbWV0ZXJzIGFyZSB0b28gbG9uZyBvciB0b28gc2hvcnQAVGhlIHBhc3N3b3JkIGRvZXMgbm90IG1hdGNoIHRoZSBzdXBwbGllZCBoYXNoAFVua25vd24gZXJyb3IgY29kZQAAAAAECwAAzwoAAL0KAACtCgAAnQoAAIsKAAB6CgAAZwoAAE8KAAAsCgAADQoAAOgJAADHCQAArwkAAHcJAABECQAAFQkAAN4IAADPCAAAwQgAAKgIAACPCAAAeAgAAGEIAABOCAAAOggAAB4IAAABCAAA8AcAAN4HAADJBwAAswcAAKAHAACMBwAAdQcAAHIHAAABAAAAJHY9ACRtPQAsdD0ALHA9ACVsdQBBlBgLAQIAQbsYCwX//////wBBgBkLEC0rICAgMFgweAAobnVsbCkAQaAZC0ERAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAAQAJCwsAAAkGCwAACwAGEQAAABEREQBB8RkLIQsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwBBqxoLAQwAQbcaCxUMAAAAAAwAAAAACQwAAAAAAAwAAAwAQeUaCwEOAEHxGgsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGfGwsBEABBqxsLHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBB4hsLDhIAAAASEhIAAAAAAAAJAEGTHAsBCwBBnxwLFQoAAAAACgAAAAAJCwAAAAAACwAACwBBzRwLAQwAQdkcCycMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAQYAdCwEBAEGwHgsCmA8AQegeCwOgEVA="},1638:function(e){e.exports=function(){"use strict";var e=Object.hasOwnProperty,t=Object.setPrototypeOf,n=Object.isFrozen,s=Object.getPrototypeOf,i=Object.getOwnPropertyDescriptor,r=Object.freeze,o=Object.seal,a=Object.create,l="undefined"!=typeof Reflect&&Reflect,c=l.apply,u=l.construct;c||(c=function(e,t,n){return e.apply(t,n)}),r||(r=function(e){return e}),o||(o=function(e){return e}),u||(u=function(e,t){return new(Function.prototype.bind.apply(e,[null].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))))});var d,h=k(Array.prototype.forEach),p=k(Array.prototype.pop),m=k(Array.prototype.push),g=k(String.prototype.toLowerCase),f=k(String.prototype.match),A=k(String.prototype.replace),y=k(String.prototype.indexOf),v=k(String.prototype.trim),b=k(RegExp.prototype.test),w=(d=TypeError,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return u(d,t)});function k(e){return function(t){for(var n=arguments.length,s=Array(n>1?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];return c(e,t,s)}}function C(e,s){t&&t(e,null);for(var i=s.length;i--;){var r=s[i];if("string"==typeof r){var o=g(r);o!==r&&(n(s)||(s[i]=o),r=o)}e[r]=!0}return e}function _(t){var n=a(null),s=void 0;for(s in t)c(e,t,[s])&&(n[s]=t[s]);return n}function E(e,t){for(;null!==e;){var n=i(e,t);if(n){if(n.get)return k(n.get);if("function"==typeof n.value)return k(n.value)}e=s(e)}return function(e){return console.warn("fallback value for",e),null}}var x=r(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),I=r(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),S=r(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),D=r(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),B=r(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),P=r(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),T=r(["#text"]),F=r(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),M=r(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),O=r(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),L=r(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),N=o(/\{\{[\s\S]*|[\s\S]*\}\}/gm),R=o(/<%[\s\S]*|[\s\S]*%>/gm),K=o(/^data-[\-\w.\u00B7-\uFFFF]/),U=o(/^aria-[\-\w]+$/),Q=o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),j=o(/^(?:\w+script|data):/i),G=o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function V(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var z=function(){return"undefined"==typeof window?null:window},q=function(e,t){if("object"!==(void 0===e?"undefined":H(e))||"function"!=typeof e.createPolicy)return null;var n=null,s="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(s)&&(n=t.currentScript.getAttribute(s));var i="dompurify"+(n?"#"+n:"");try{return e.createPolicy(i,{createHTML:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};return function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z(),n=function(t){return e(t)};if(n.version="2.2.8",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var s=t.document,i=t.document,o=t.DocumentFragment,a=t.HTMLTemplateElement,l=t.Node,c=t.Element,u=t.NodeFilter,d=t.NamedNodeMap,k=void 0===d?t.NamedNodeMap||t.MozNamedAttrMap:d,W=t.Text,Y=t.Comment,$=t.DOMParser,J=t.trustedTypes,X=c.prototype,Z=E(X,"cloneNode"),ee=E(X,"nextSibling"),te=E(X,"childNodes"),ne=E(X,"parentNode");if("function"==typeof a){var se=i.createElement("template");se.content&&se.content.ownerDocument&&(i=se.content.ownerDocument)}var ie=q(J,s),re=ie&&Le?ie.createHTML(""):"",oe=i,ae=oe.implementation,le=oe.createNodeIterator,ce=oe.createDocumentFragment,ue=s.importNode,de={};try{de=_(i).documentMode?i.documentMode:{}}catch(e){}var he={};n.isSupported="function"==typeof ne&&ae&&void 0!==ae.createHTMLDocument&&9!==de;var pe=N,me=R,ge=K,fe=U,Ae=j,ye=G,ve=Q,be=null,we=C({},[].concat(V(x),V(I),V(S),V(B),V(T))),ke=null,Ce=C({},[].concat(V(F),V(M),V(O),V(L))),_e=null,Ee=null,xe=!0,Ie=!0,Se=!1,De=!1,Be=!1,Pe=!1,Te=!1,Fe=!1,Me=!1,Oe=!0,Le=!1,Ne=!0,Re=!0,Ke=!1,Ue={},Qe=C({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),je=null,Ge=C({},["audio","video","img","source","image","track"]),He=null,Ve=C({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),ze="http://www.w3.org/1998/Math/MathML",qe="http://www.w3.org/2000/svg",We="http://www.w3.org/1999/xhtml",Ye=We,$e=null,Je=i.createElement("form"),Xe=function(e){$e&&$e===e||(e&&"object"===(void 0===e?"undefined":H(e))||(e={}),e=_(e),be="ALLOWED_TAGS"in e?C({},e.ALLOWED_TAGS):we,ke="ALLOWED_ATTR"in e?C({},e.ALLOWED_ATTR):Ce,He="ADD_URI_SAFE_ATTR"in e?C(_(Ve),e.ADD_URI_SAFE_ATTR):Ve,je="ADD_DATA_URI_TAGS"in e?C(_(Ge),e.ADD_DATA_URI_TAGS):Ge,_e="FORBID_TAGS"in e?C({},e.FORBID_TAGS):{},Ee="FORBID_ATTR"in e?C({},e.FORBID_ATTR):{},Ue="USE_PROFILES"in e&&e.USE_PROFILES,xe=!1!==e.ALLOW_ARIA_ATTR,Ie=!1!==e.ALLOW_DATA_ATTR,Se=e.ALLOW_UNKNOWN_PROTOCOLS||!1,De=e.SAFE_FOR_TEMPLATES||!1,Be=e.WHOLE_DOCUMENT||!1,Fe=e.RETURN_DOM||!1,Me=e.RETURN_DOM_FRAGMENT||!1,Oe=!1!==e.RETURN_DOM_IMPORT,Le=e.RETURN_TRUSTED_TYPE||!1,Te=e.FORCE_BODY||!1,Ne=!1!==e.SANITIZE_DOM,Re=!1!==e.KEEP_CONTENT,Ke=e.IN_PLACE||!1,ve=e.ALLOWED_URI_REGEXP||ve,Ye=e.NAMESPACE||Ye,De&&(Ie=!1),Me&&(Fe=!0),Ue&&(be=C({},[].concat(V(T))),ke=[],!0===Ue.html&&(C(be,x),C(ke,F)),!0===Ue.svg&&(C(be,I),C(ke,M),C(ke,L)),!0===Ue.svgFilters&&(C(be,S),C(ke,M),C(ke,L)),!0===Ue.mathMl&&(C(be,B),C(ke,O),C(ke,L))),e.ADD_TAGS&&(be===we&&(be=_(be)),C(be,e.ADD_TAGS)),e.ADD_ATTR&&(ke===Ce&&(ke=_(ke)),C(ke,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&C(He,e.ADD_URI_SAFE_ATTR),Re&&(be["#text"]=!0),Be&&C(be,["html","head","body"]),be.table&&(C(be,["tbody"]),delete _e.tbody),r&&r(e),$e=e)},Ze=C({},["mi","mo","mn","ms","mtext"]),et=C({},["foreignobject","desc","title","annotation-xml"]),tt=C({},I);C(tt,S),C(tt,D);var nt=C({},B);C(nt,P);var st=function(e){var t=ne(e);t&&t.tagName||(t={namespaceURI:We,tagName:"template"});var n=g(e.tagName),s=g(t.tagName);if(e.namespaceURI===qe)return t.namespaceURI===We?"svg"===n:t.namespaceURI===ze?"svg"===n&&("annotation-xml"===s||Ze[s]):Boolean(tt[n]);if(e.namespaceURI===ze)return t.namespaceURI===We?"math"===n:t.namespaceURI===qe?"math"===n&&et[s]:Boolean(nt[n]);if(e.namespaceURI===We){if(t.namespaceURI===qe&&!et[s])return!1;if(t.namespaceURI===ze&&!Ze[s])return!1;var i=C({},["title","style","font","a","script"]);return!nt[n]&&(i[n]||!tt[n])}return!1},it=function(e){m(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=re}catch(t){e.remove()}}},rt=function(e,t){try{m(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){m(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!ke[e])if(Fe||Me)try{it(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},ot=function(e){var t=void 0,n=void 0;if(Te)e="<remove></remove>"+e;else{var s=f(e,/^[\r\n\t ]+/);n=s&&s[0]}var r=ie?ie.createHTML(e):e;if(Ye===We)try{t=(new $).parseFromString(r,"text/html")}catch(e){}t&&t.documentElement||((t=ae.createDocument(Ye,"template",null)).documentElement.innerHTML=r);var o=t.body||t.documentElement;return e&&n&&o.insertBefore(i.createTextNode(n),o.childNodes[0]||null),Be?t.documentElement:o},at=function(e){return le.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,(function(){return u.FILTER_ACCEPT}),!1)},lt=function(e){return!(e instanceof W||e instanceof Y||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof k&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},ct=function(e){return"object"===(void 0===l?"undefined":H(l))?e instanceof l:e&&"object"===(void 0===e?"undefined":H(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ut=function(e,t,s){he[e]&&h(he[e],(function(e){e.call(n,t,s,$e)}))},dt=function(e){var t=void 0;if(ut("beforeSanitizeElements",e,null),lt(e))return it(e),!0;if(f(e.nodeName,/[\u0080-\uFFFF]/))return it(e),!0;var s=g(e.nodeName);if(ut("uponSanitizeElement",e,{tagName:s,allowedTags:be}),!ct(e.firstElementChild)&&(!ct(e.content)||!ct(e.content.firstElementChild))&&b(/<[/\w]/g,e.innerHTML)&&b(/<[/\w]/g,e.textContent))return it(e),!0;if(!be[s]||_e[s]){if(Re&&!Qe[s]){var i=ne(e)||e.parentNode,r=te(e)||e.childNodes;if(r&&i)for(var o=r.length-1;o>=0;--o)i.insertBefore(Z(r[o],!0),ee(e))}return it(e),!0}return e instanceof c&&!st(e)?(it(e),!0):"noscript"!==s&&"noembed"!==s||!b(/<\/no(script|embed)/i,e.innerHTML)?(De&&3===e.nodeType&&(t=e.textContent,t=A(t,pe," "),t=A(t,me," "),e.textContent!==t&&(m(n.removed,{element:e.cloneNode()}),e.textContent=t)),ut("afterSanitizeElements",e,null),!1):(it(e),!0)},ht=function(e,t,n){if(Ne&&("id"===t||"name"===t)&&(n in i||n in Je))return!1;if(Ie&&b(ge,t));else if(xe&&b(fe,t));else{if(!ke[t]||Ee[t])return!1;if(He[t]);else if(b(ve,A(n,ye,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==y(n,"data:")||!je[e])if(Se&&!b(Ae,A(n,ye,"")));else if(n)return!1}return!0},pt=function(e){var t=void 0,s=void 0,i=void 0,r=void 0;ut("beforeSanitizeAttributes",e,null);var o=e.attributes;if(o){var a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ke};for(r=o.length;r--;){var l=t=o[r],c=l.name,u=l.namespaceURI;if(s=v(t.value),i=g(c),a.attrName=i,a.attrValue=s,a.keepAttr=!0,a.forceKeepAttr=void 0,ut("uponSanitizeAttribute",e,a),s=a.attrValue,!a.forceKeepAttr&&(rt(c,e),a.keepAttr))if(b(/\/>/i,s))rt(c,e);else{De&&(s=A(s,pe," "),s=A(s,me," "));var d=e.nodeName.toLowerCase();if(ht(d,i,s))try{u?e.setAttributeNS(u,c,s):e.setAttribute(c,s),p(n.removed)}catch(e){}}}ut("afterSanitizeAttributes",e,null)}},mt=function e(t){var n=void 0,s=at(t);for(ut("beforeSanitizeShadowDOM",t,null);n=s.nextNode();)ut("uponSanitizeShadowNode",n,null),dt(n)||(n.content instanceof o&&e(n.content),pt(n));ut("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e,i){var r=void 0,a=void 0,c=void 0,u=void 0,d=void 0;if(e||(e="\x3c!--\x3e"),"string"!=typeof e&&!ct(e)){if("function"!=typeof e.toString)throw w("toString is not a function");if("string"!=typeof(e=e.toString()))throw w("dirty is not a string, aborting")}if(!n.isSupported){if("object"===H(t.toStaticHTML)||"function"==typeof t.toStaticHTML){if("string"==typeof e)return t.toStaticHTML(e);if(ct(e))return t.toStaticHTML(e.outerHTML)}return e}if(Pe||Xe(i),n.removed=[],"string"==typeof e&&(Ke=!1),Ke);else if(e instanceof l)1===(a=(r=ot("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?r=a:r.appendChild(a);else{if(!Fe&&!De&&!Be&&-1===e.indexOf("<"))return ie&&Le?ie.createHTML(e):e;if(!(r=ot(e)))return Fe?null:re}r&&Te&&it(r.firstChild);for(var h=at(Ke?e:r);c=h.nextNode();)3===c.nodeType&&c===u||dt(c)||(c.content instanceof o&&mt(c.content),pt(c),u=c);if(u=null,Ke)return e;if(Fe){if(Me)for(d=ce.call(r.ownerDocument);r.firstChild;)d.appendChild(r.firstChild);else d=r;return Oe&&(d=ue.call(s,d,!0)),d}var p=Be?r.outerHTML:r.innerHTML;return De&&(p=A(p,pe," "),p=A(p,me," ")),ie&&Le?ie.createHTML(p):p},n.setConfig=function(e){Xe(e),Pe=!0},n.clearConfig=function(){$e=null,Pe=!1},n.isValidAttribute=function(e,t,n){$e||Xe({});var s=g(e),i=g(t);return ht(s,i,n)},n.addHook=function(e,t){"function"==typeof t&&(he[e]=he[e]||[],m(he[e],t))},n.removeHook=function(e){he[e]&&p(he[e])},n.removeHooks=function(e){he[e]&&(he[e]=[])},n.removeAllHooks=function(){he={}},n}()}()},7187:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,s=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function r(){r.init.call(this)}e.exports=r,e.exports.once=function(e,t){return new Promise((function(n,s){function i(){void 0!==r&&e.removeListener("error",r),n([].slice.call(arguments))}var r;"error"!==t&&(r=function(n){e.removeListener(t,i),s(n)},e.once("error",r)),e.once(t,i)}))},r.EventEmitter=r,r.prototype._events=void 0,r.prototype._eventsCount=0,r.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?r.defaultMaxListeners:e._maxListeners}function c(e,t,n,s){var i,r,o,c;if(a(n),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),r=e._events),o=r[t]),void 0===o)o=r[t]=n,++e._eventsCount;else if("function"==typeof o?o=r[t]=s?[n,o]:[o,n]:s?o.unshift(n):o.push(n),(i=l(e))>0&&o.length>i&&!o.warned){o.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=o.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var s={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=u.bind(s);return i.listener=n,s.wrapFn=i,i}function h(e,t,n){var s=e._events;if(void 0===s)return[];var i=s[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):m(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=new Array(t),s=0;s<t;++s)n[s]=e[s];return n}Object.defineProperty(r,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),r.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},r.prototype.getMaxListeners=function(){return l(this)},r.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,r=this._events;if(void 0!==r)i=i&&void 0===r.error;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[e];if(void 0===l)return!1;if("function"==typeof l)s(l,this,t);else{var c=l.length,u=m(l,c);for(n=0;n<c;++n)s(u[n],this,t)}return!0},r.prototype.addListener=function(e,t){return c(this,e,t,!1)},r.prototype.on=r.prototype.addListener,r.prototype.prependListener=function(e,t){return c(this,e,t,!0)},r.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},r.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},r.prototype.removeListener=function(e,t){var n,s,i,r,o;if(a(t),void 0===(s=this._events))return this;if(void 0===(n=s[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete s[e],s.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,r=n.length-1;r>=0;r--)if(n[r]===t||n[r].listener===t){o=n[r].listener,i=r;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(s[e]=n[0]),void 0!==s.removeListener&&this.emit("removeListener",e,o||t)}return this},r.prototype.off=r.prototype.removeListener,r.prototype.removeAllListeners=function(e){var t,n,s;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,r=Object.keys(n);for(s=0;s<r.length;++s)"removeListener"!==(i=r[s])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(s=t.length-1;s>=0;s--)this.removeListener(e,t[s]);return this},r.prototype.listeners=function(e){return h(this,e,!0)},r.prototype.rawListeners=function(e){return h(this,e,!1)},r.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},r.prototype.listenerCount=p,r.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},9839:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var s=n(9839);!function(e){var t=e.babelHelpers={};t.typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.defineProperty=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},t.slicedToArray=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],s=!0,i=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(s=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{!s&&a.return&&a.return()}finally{if(i)throw r}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},t.toConsumableArray=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}}(void 0===n.g?self:n.g);const i=s},4062:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="app__beta"><i class="fa fa-exclamation-triangle"></i> '+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"appBeta",{name:"res",hash:{},data:i,loc:{start:{line:2,column:78},end:{line:2,column:95}}}))+"</div>"},3:function(e,t,n,s,i){return'<div class="app__titlebar"></div>\n'},5:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"titlebarStyle"):t,"hidden",{name:"ifeq",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:6,column:0},end:{line:6,column:79}}}))?r:"")+"\n"},6:function(e,t,n,s,i){return'<div class="app__titlebar-drag"></div>'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="app">\n'+(null!=(r=a(n,"if").call(o,null!=t?a(t,"beta"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:2,column:0},end:{line:2,column:108}}}))?r:"")+"\n"+(null!=(r=a(n,"if").call(o,null!=t?a(t,"customTitlebar"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.program(5,i,0),data:i,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?r:"")+'<div class="app__body">\n<div class="app__menu"></div>\n<div class="app__menu-drag"></div>\n<div class="app__list-wrap">\n<div class="app__list"></div>\n<div class="app__list-drag"></div>\n<div class="app__details"></div>\n</div>\n<div class="app__panel hide"></div>\n</div>\n<div class="app__footer"></div>\n</div>\n'},useData:!0})},7410:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"<a>^^ (ctrl)</a>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="auto-type-hint">\n<div class="auto-type-hint__body">\n<a href="'+u(typeof(o=null!=(o=d(n,"link")||(null!=t?d(t,"link"):t))?o:l)===c?o.call(a,{name:"link",hash:{},data:i,loc:{start:{line:3,column:9},end:{line:3,column:17}}}):o)+'" class="auto-type-hint__link-details" target="_blank">'+u(d(n,"res").call(a,"autoTypeLink",{name:"res",hash:{},data:i,loc:{start:{line:3,column:72},end:{line:3,column:94}}}))+'</a>\n<div class="auto-type-hint__block">\n<div>'+u(d(n,"res").call(a,"autoTypeEntryFields",{name:"res",hash:{},data:i,loc:{start:{line:5,column:5},end:{line:5,column:34}}}))+':</div>\n<a>{TITLE}</a><a>{USERNAME}</a><a>{URL}</a><a>{PASSWORD}</a><a>{NOTES}</a><a>{GROUP}</a>\n<a>{TOTP}</a><a>{S:Custom Field Name}</a>\n</div>\n<div class="auto-type-hint__block">\n<div>'+u(d(n,"res").call(a,"autoTypeModifiers",{name:"res",hash:{},data:i,loc:{start:{line:10,column:5},end:{line:10,column:32}}}))+":</div>\n<a>+ (shift)</a><a>% (alt)</a><a>^ ("+u(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:l)===c?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:11,column:36},end:{line:11,column:43}}}):o)+")</a>"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"hasCtrl"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:11,column:48},end:{line:11,column:86}}}))?r:"")+'\n</div>\n<div class="auto-type-hint__block">\n<div>'+u(d(n,"res").call(a,"autoTypeKeys",{name:"res",hash:{},data:i,loc:{start:{line:14,column:5},end:{line:14,column:27}}}))+":</div>\n<a>{TAB}</a><a>{ENTER}</a><a>{SPACE}</a><a>{UP}</a><a>{DOWN}</a><a>{LEFT}</a><a>{RIGHT}</a><a>{HOME}</a><a>{END}</a>\n<a>{+}</a><a>{%}</a><a>{^}</a><a>{~}</a><a>{(}</a><a>{)}</a><a>{[}</a><a>{]}</a><a>{{}</a><a>{}}</a>\n</div>\n</div>\n</div>\n"},useData:!0})},617:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r=null!=t?t:e.nullContext||{},o=e.escapeExpression,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__field details__field--editable details__field--no-select">\n<div class="details__field-label">'+o(a(n,"res").call(r,"detMore",{name:"res",hash:{},data:i,loc:{start:{line:2,column:34},end:{line:2,column:51}}}))+'&hellip;</div>\n<div class="details__field-value">\n<div class="details__field-value-add-label">'+o(a(n,"res").call(r,"detClickToAddField",{name:"res",hash:{},data:i,loc:{start:{line:4,column:44},end:{line:4,column:72}}}))+"</div>\n</div>\n</div>\n"},useData:!0})},3388:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__attachment-preview-buttons">\n<button class="btn-silent details__attachment-preview-download-btn">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detAttSave",{name:"res",hash:{},data:i,loc:{start:{line:9,column:68},end:{line:9,column:88}}}))+"</button>\n</div>\n"},3:function(e,t,n,s,i){var r=null!=t?t:e.nullContext||{},o=e.escapeExpression,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__attachment-preview-download-text">'+o(a(n,"res").call(r,"detAttDownload",{name:"res",hash:{},data:i,loc:{start:{line:12,column:55},end:{line:12,column:79}}}))+'\n&nbsp;<span class="details__attachment-preview-download-text-shortcut"></span>'+o(a(n,"res").call(r,"detAttDelToRemove",{name:"res",hash:{},data:i,loc:{start:{line:13,column:78},end:{line:13,column:105}}}))+"</div>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__attachment-preview">\n<div class="details__subview-close">\n<i class="fa fa-chevron-left details__subview-close-pre"></i>'+e.escapeExpression(a(n,"res").call(o,"detHistoryReturn",{name:"res",hash:{},data:i,loc:{start:{line:3,column:61},end:{line:3,column:87}}}))+' <i class="fa fa-arrow-circle-left details__subview-close-post"></i>\n</div>\n<div class="details__attachment-preview-data"></div>\n<i class="fa details__attachment-preview-icon"></i>\n'+(null!=(r=a(n,"if").call(o,null!=t?a(t,"isMobile"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i,loc:{start:{line:7,column:0},end:{line:14,column:7}}}))?r:"")+"</div>\n"},useData:!0})},1443:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"checked"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.hooks.helperMissing,u="function",d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__auto-type">\n<div class="details__field">\n<div class="details__field-label">'+l(d(n,"res").call(a,"detAutoType",{name:"res",hash:{},data:i,loc:{start:{line:3,column:34},end:{line:3,column:55}}}))+'</div>\n<div class="details__field-value">\n<input type="checkbox" class="input-base" id="details__auto-type-enabled" '+(null!=(r=d(n,"if").call(a,null!=t?d(t,"enabled"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:74},end:{line:5,column:103}}}))?r:"")+' />\n<label for="details__auto-type-enabled">'+l(d(n,"res").call(a,"detAutoTypeEnabled",{name:"res",hash:{},data:i,loc:{start:{line:6,column:40},end:{line:6,column:68}}}))+'</label>\n</div>\n</div>\n<div class="details__field">\n<div class="details__field-label">'+l(d(n,"res").call(a,"detAutoTypeSequence",{name:"res",hash:{},data:i,loc:{start:{line:10,column:34},end:{line:10,column:63}}}))+'</div>\n<div class="details__field-value">\n<input type="text" id="details__auto-type-sequence" maxlength="1024"\nvalue="'+l(typeof(o=null!=(o=d(n,"sequence")||(null!=t?d(t,"sequence"):t))?o:c)===u?o.call(a,{name:"sequence",hash:{},data:i,loc:{start:{line:13,column:7},end:{line:13,column:19}}}):o)+'" placeholder="'+l(typeof(o=null!=(o=d(n,"defaultSequence")||(null!=t?d(t,"defaultSequence"):t))?o:c)===u?o.call(a,{name:"defaultSequence",hash:{},data:i,loc:{start:{line:13,column:34},end:{line:13,column:53}}}):o)+'" />\n</div>\n</div>\n<div class="details__field">\n<div class="details__field-label">'+l(d(n,"res").call(a,"detAutoTypeInput",{name:"res",hash:{},data:i,loc:{start:{line:17,column:34},end:{line:17,column:60}}}))+'</div>\n<div class="details__field-value">\n<input type="checkbox" class="input-base" id="details__auto-type-obfuscation" '+(null!=(r=d(n,"if").call(a,null!=t?d(t,"obfuscation"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:19,column:78},end:{line:19,column:111}}}))?r:"")+' />\n<label for="details__auto-type-obfuscation">'+l(d(n,"res").call(a,"detAutoTypeObfuscation",{name:"res",hash:{},data:i,loc:{start:{line:20,column:44},end:{line:20,column:76}}}))+'</label>\n</div>\n</div>\n<div class="details__field">\n<div class="details__field-label">'+l(d(n,"res").call(a,"shortcuts",{name:"res",hash:{},data:i,loc:{start:{line:24,column:34},end:{line:24,column:53}}}))+'</div>\n<div class="details__field-value">'+l(typeof(o=null!=(o=d(n,"detAutoTypeShortcutsDesc")||(null!=t?d(t,"detAutoTypeShortcutsDesc"):t))?o:c)===u?o.call(a,{name:"detAutoTypeShortcutsDesc",hash:{},data:i,loc:{start:{line:25,column:34},end:{line:25,column:62}}}):o)+"</div>\n</div>\n</div>\n"},useData:!0})},2892:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="empty-block muted-color">\n<h1 class="empty-block__title">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detEmpty",{name:"res",hash:{},data:i,loc:{start:{line:2,column:31},end:{line:2,column:49}}}))+"</h1>\n</div>\n"},useData:!0})},5462:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="empty-block muted-color">\n<h1 class="empty-block__title">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detGroupRestore",{name:"res",hash:{},data:i,loc:{start:{line:2,column:31},end:{line:2,column:56}}}))+'</h1>\n<div class="empty-block__lower-btns">\n<i class="details__buttons-trash-del fa fa-minus-circle"></i>\n</div>\n</div>\n'},useData:!0})},3445:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r=null!=t?t:e.nullContext||{},o=e.escapeExpression,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__history">\n<div class="details__subview-close">\n<i class="fa fa-chevron-left details__subview-close-pre"></i>'+o(a(n,"res").call(r,"detHistoryReturn",{name:"res",hash:{},data:i,loc:{start:{line:3,column:61},end:{line:3,column:87}}}))+' <i class="fa fa-arrow-circle-left details__subview-close-post"></i>\n</div>\n<div class="details__history-desc muted-color">'+o(a(n,"res").call(r,"detHistoryClickPoint",{name:"res",hash:{},data:i,loc:{start:{line:5,column:47},end:{line:5,column:77}}}))+'</div>\n<div class="details__history-top">\n<div class="details__history-timeline">\n<div class="details__history-timeline-axis"></div>\n<div class="details__history-arrow-prev"><i class="fa fa-long-arrow-alt-left"></i></div>\n<div class="details__history-arrow-next"><i class="fa fa-long-arrow-alt-right"></i></div>\n</div>\n</div>\n<div class="details__history-body">\n<div class="details__field">\n<div class="details__field-label">'+o((a(n,"Res")||t&&a(t,"Res")||e.hooks.helperMissing).call(r,"title",{name:"Res",hash:{},data:i,loc:{start:{line:15,column:34},end:{line:15,column:49}}}))+'</div>\n<div class="details__field-value"><i class="fa fa-key"></i> </div>\n</div>\n</div>\n<div class="details__history-buttons">\n<button class="details__history-button details__history-button-revert btn-silent">'+o(a(n,"res").call(r,"detHistoryRevert",{name:"res",hash:{},data:i,loc:{start:{line:20,column:82},end:{line:20,column:108}}}))+'</button>\n<button class="details__history-button details__history-button-delete btn-error">'+o(a(n,"res").call(r,"detHistoryDel",{name:"res",hash:{},data:i,loc:{start:{line:21,column:81},end:{line:21,column:104}}}))+'</button>\n<button class="details__history-button details__history-button-discard btn-error">'+o(a(n,"res").call(r,"discardChanges",{name:"res",hash:{},data:i,loc:{start:{line:22,column:82},end:{line:22,column:106}}}))+"</button>\n</div>\n</div>\n"},useData:!0})},5285:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__issues '+(null!=(r=a(n,"if").call(o,null!=t?a(t,"fadeIn"):t,{name:"if",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i,loc:{start:{line:2,column:28},end:{line:2,column:56}}}))?r:"")+'">\n<div class="details__issues-icon">\n<i class="fa fa-exclamation-triangle details__issues-icon-warning"></i>\n<i class="fa fa-spinner spin details__issues-icon-spin"></i>\n</div>\n<div class="details__issues-body">\n'+(null!=(r=a(n,"ifeq").call(o,null!=t?a(t,"passwordIssue"):t,"weak",{name:"ifeq",hash:{},fn:e.program(4,i,0),inverse:e.program(6,i,0),data:i,loc:{start:{line:8,column:0},end:{line:20,column:9}}}))?r:"")+'</div>\n<div class="details__issues-close-btn" title="'+e.escapeExpression(a(n,"res").call(o,"detIssuesHideTooltip",{name:"res",hash:{},data:i,loc:{start:{line:22,column:46},end:{line:22,column:76}}}))+'">\n<i class="fa fa-times-circle"></i>\n</div>\n</div>\n'},2:function(e,t,n,s,i){return"fade-in"},4:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detIssueWeakPassword",{name:"res",hash:{},data:i,loc:{start:{line:9,column:0},end:{line:9,column:32}}}))},6:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"passwordIssue"):t,"poor",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.program(9,i,0),data:i,loc:{start:{line:10,column:0},end:{line:20,column:0}}}))?r:""},7:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detIssuePoorPassword",{name:"res",hash:{},data:i,loc:{start:{line:11,column:0},end:{line:11,column:32}}}))},9:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"passwordIssue"):t,"pwned",{name:"ifeq",hash:{},fn:e.program(10,i,0),inverse:e.program(13,i,0),data:i,loc:{start:{line:12,column:0},end:{line:20,column:0}}}))?r:""},10:function(e,t,n,s,i){var r;return null!=(r=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"res").call(null!=t?t:e.nullContext||{},"detIssuePwnedPassword",{name:"res",hash:{},fn:e.program(11,i,0),inverse:e.noop,data:i,loc:{start:{line:13,column:0},end:{line:15,column:10}}}))?r:""},11:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"hibpLink")||(null!=t?o(t,"hibpLink"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"hibpLink",hash:{},data:i,loc:{start:{line:14,column:9},end:{line:14,column:21}}}):r)+'" rel="noreferrer noopener" target="_blank">Have I Been Pwned</a>'},13:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"passwordIssue"):t,"old",{name:"ifeq",hash:{},fn:e.program(14,i,0),inverse:e.program(16,i,0),data:i,loc:{start:{line:16,column:0},end:{line:20,column:0}}}))?r:""},14:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detIssueOldPassword",{name:"res",hash:{},data:i,loc:{start:{line:17,column:0},end:{line:17,column:31}}}))},16:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"passwordIssue"):t,"error",{name:"ifeq",hash:{},fn:e.program(17,i,0),inverse:e.noop,data:i,loc:{start:{line:18,column:0},end:{line:20,column:0}}}))?r:""},17:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detIssuePasswordCheckError",{name:"res",hash:{},data:i,loc:{start:{line:19,column:0},end:{line:19,column:38}}}))},19:function(e,t,n,s,i){return"<div></div>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"if").call(null!=t?t:e.nullContext||{},null!=t?o(t,"passwordIssue"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(19,i,0),data:i,loc:{start:{line:1,column:0},end:{line:28,column:7}}}))?r:""},useData:!0})},2914:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detSetIconColor",{name:"res",hash:{},data:i,loc:{start:{line:8,column:7},end:{line:8,column:32}}}))+'" tip-placement="left"\n'},3:function(e,t,n,s,i){return'<span class="details__colors-popup">\n<span class="details__colors-popup-item yellow-color fa fa-bookmark-o" data-color="yellow"></span>\n<span class="details__colors-popup-item green-color fa fa-bookmark-o" data-color="green"></span>\n<span class="details__colors-popup-item red-color fa fa-bookmark-o" data-color="red"></span>\n<span class="details__colors-popup-item orange-color fa fa-bookmark-o" data-color="orange"></span>\n<span class="details__colors-popup-item blue-color fa fa-bookmark-o" data-color="blue"></span>\n<span class="details__colors-popup-item violet-color fa fa-bookmark-o" data-color="violet"></span>\n</span>\n'},5:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"title")||(null!=t?o(t,"title"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:22,column:47},end:{line:22,column:56}}}):r)},7:function(e,t,n,s,i){return"(no title)"},9:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__header-icon details__header-icon--icon"\n'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"canEditIcon"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:25,column:0},end:{line:25,column:54}}}))?r:"")+'\n>\n<img class="details__header-icon-img" src="'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"customIcon")||(null!=t?l(t,"customIcon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"customIcon",hash:{},data:i,loc:{start:{line:27,column:43},end:{line:27,column:57}}}):o)+'" />\n</div>\n'},10:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detSetIcon",{name:"res",hash:{},data:i,loc:{start:{line:25,column:26},end:{line:25,column:46}}}))+'"'},12:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="details__header-icon fa fa-'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"icon")||(null!=t?l(t,"icon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"icon",hash:{},data:i,loc:{start:{line:30,column:37},end:{line:30,column:45}}}):o)+'"\n'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"canEditIcon"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:31,column:0},end:{line:31,column:54}}}))?r:"")+"\n></i>\n"},14:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__buttons">\n'+(null!=(o=l(n,"if").call(a,null!=t?l(t,"deleted"):t,{name:"if",hash:{},fn:e.program(15,i,0,r),inverse:e.program(17,i,0,r),data:i,blockParams:r,loc:{start:{line:49,column:0},end:{line:53,column:9}}}))?o:"")+'<div class="details__attachments">\n<input type="file" class="details__attachment-input-file hide-by-pos" multiple />\n'+(null!=(o=l(n,"ifneq").call(a,null!=(o=null!=t?l(t,"attachments"):t)?l(o,"length"):o,0,{name:"ifneq",hash:{},fn:e.program(19,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:56,column:0},end:{line:60,column:10}}}))?o:"")+(null!=(o=l(n,"each").call(a,null!=t?l(t,"attachments"):t,{name:"each",hash:{},fn:e.program(21,i,2,r),inverse:e.program(23,i,0,r),data:i,blockParams:r,loc:{start:{line:61,column:0},end:{line:67,column:9}}}))?o:"")+"</div>\n</div>\n"},15:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="details__buttons-trash-del fa fa-minus-circle" title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detDelEntryPerm",{name:"res",hash:{},data:i,loc:{start:{line:50,column:64},end:{line:50,column:89}}}))+'" tip-placement="top"></i>'},17:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="details__buttons-trash fa fa-trash-alt" title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detDelEntry",{name:"res",hash:{},data:i,loc:{start:{line:52,column:57},end:{line:52,column:78}}}))+'" tip-placement="top"></i>'},19:function(e,t,n,s,i){return'<div class="details__attachment-add">\n<i class="fa fa-paperclip"></i>\n</div>\n'},21:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__attachment" data-id="'+l(a(r[0][1],t))+'"><i class="fa fa-'+l(a(null!=(o=r[0][0])?c(o,"icon"):o,t))+'"></i> '+l(a(null!=(o=r[0][0])?c(o,"title"):o,t))+"</div>\n"},23:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__attachment-add">\n<span class="details__attachment-add-title">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"detDropAttachments",{name:"res",hash:{},data:i,loc:{start:{line:65,column:44},end:{line:65,column:72}}}))+'</span> <i class="fa fa-paperclip"></i>\n</div>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details">\n<div class="details__back-button">\n<i class="fa fa-chevron-left"></i>'+l(c(n,"res").call(a,"detBackToList",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:3,column:34},end:{line:3,column:57}}}))+'\n</div>\n<div class="details__header">\n<i class="details__header-color fa fa-bookmark-o"\n'+(null!=(o=c(n,"if").call(a,null!=t?c(t,"canEditColor"):t,{name:"if",hash:{},fn:e.program(1,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:7,column:0},end:{line:9,column:7}}}))?o:"")+">\n"+(null!=(o=c(n,"if").call(a,null!=t?c(t,"canEditColor"):t,{name:"if",hash:{},fn:e.program(3,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:11,column:0},end:{line:20,column:7}}}))?o:"")+'</i>\n<h1 class="details__header-title">'+(null!=(o=c(n,"if").call(a,null!=t?c(t,"title"):t,{name:"if",hash:{},fn:e.program(5,i,0,r),inverse:e.program(7,i,0,r),data:i,blockParams:r,loc:{start:{line:22,column:34},end:{line:22,column:81}}}))?o:"")+"</h1>\n"+(null!=(o=c(n,"if").call(a,null!=t?c(t,"customIcon"):t,{name:"if",hash:{},fn:e.program(9,i,0,r),inverse:e.program(12,i,0,r),data:i,blockParams:r,loc:{start:{line:23,column:0},end:{line:33,column:7}}}))?o:"")+'</div>\n<div class="details__body">\n<div class="scroller">\n<div class="details__body-fields">\n</div>\n<div class="details__body-aside">\n</div>\n<div class="details__body-after"></div>\n</div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n</div>\n<div class="details__issues-container">\n</div>\n'+(null!=(o=c(n,"if").call(a,null!=t?c(t,"showButtons"):t,{name:"if",hash:{},fn:e.program(14,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:47,column:0},end:{line:70,column:7}}}))?o:"")+'<div class="details__dropzone">\n<i class="fa fa-paperclip muted-color details__dropzone-icon"></i>\n<h1 class="muted-color details__dropzone-header">'+l(c(n,"res").call(a,"detDropAttachments",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:73,column:49},end:{line:73,column:77}}}))+"</h1>\n</div>\n</div>\n"},useData:!0,useBlockParams:!0})},2617:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r,o){var a,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__field-autocomplete-item '+(null!=(a=l(n,"ifeq").call(null!=t?t:e.nullContext||{},i&&l(i,"index"),null!=o[1]?l(o[1],"selectedIx"):o[1],{name:"ifeq",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,loc:{start:{line:2,column:45},end:{line:2,column:126}}}))?a:"")+'">\n'+e.escapeExpression(e.lambda(r[0][0],t))+"\n</div>\n"},2:function(e,t,n,s,i){return"details__field-autocomplete-item--selected"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(a=l(n,"each").call(null!=t?t:e.nullContext||{},null!=t?l(t,"completions"):t,{name:"each",hash:{},fn:e.program(1,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?a:""},useData:!0,useDepths:!0,useBlockParams:!0})},5037:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" details__field--"+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"cls")||(null!=t?o(t,"cls"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"cls",hash:{},data:i,loc:{start:{line:2,column:29},end:{line:2,column:36}}}):r)},3:function(e,t,n,s,i){return" details__field--editable"},5:function(e,t,n,s,i){return" details__field--multiline"},7:function(e,t,n,s,i){return" details__field--can-edit-title"},9:function(e,t,n,s,i){return" details__field--can-gen"},11:function(e,t,n,s,i){return" details__field--protect"},13:function(e,t,n,s,i){return" details__field--options"},15:function(e,t,n,s,i){return'<i class="details__field-options fa fa-chevron-down"></i>'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="details__field'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"cls"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:2,column:0},end:{line:2,column:44}}}))?r:"")+(null!=(r=l(n,"if").call(a,null!=t?l(t,"editable"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:0},end:{line:3,column:50}}}))?r:"")+(null!=(r=l(n,"if").call(a,null!=t?l(t,"multiline"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:4,column:0},end:{line:4,column:52}}}))?r:"")+(null!=(r=l(n,"if").call(a,null!=t?l(t,"canEditTitle"):t,{name:"if",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:0},end:{line:5,column:60}}}))?r:"")+(null!=(r=l(n,"if").call(a,null!=t?l(t,"canGen"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.noop,data:i,loc:{start:{line:6,column:0},end:{line:6,column:47}}}))?r:"")+(null!=(r=l(n,"if").call(a,null!=t?l(t,"protect"):t,{name:"if",hash:{},fn:e.program(11,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:0},end:{line:7,column:48}}}))?r:"")+(null!=(r=l(n,"if").call(a,null!=t?l(t,"hasOptions"):t,{name:"if",hash:{},fn:e.program(13,i,0),inverse:e.noop,data:i,loc:{start:{line:8,column:0},end:{line:8,column:51}}}))?r:"")+'">\n<div class="details__field-label" draggable="true">'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"title")||(null!=t?l(t,"title"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"title",hash:{},data:i,loc:{start:{line:10,column:51},end:{line:10,column:60}}}):o)+'</div>\n<div class="details__field-value">\n</div>\n'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"hasOptions"):t,{name:"if",hash:{},fn:e.program(15,i,0),inverse:e.noop,data:i,loc:{start:{line:13,column:0},end:{line:13,column:82}}}))?r:"")+"\n</div>\n"},useData:!0})},4405:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r){return'<div class="details__field-autocomplete-item">'+e.escapeExpression(e.lambda(r[0][0],t))+"</div>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"each").call(null!=t?t:e.nullContext||{},null!=t?a(t,"tags"):t,{name:"each",hash:{},fn:e.program(1,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:1,column:0},end:{line:5,column:11}}}))?o:""},useData:!0,useBlockParams:!0})},5220:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="drag-handle__inner drag-handle__inner--'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"coord")||(null!=t?o(t,"coord"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"coord",hash:{},data:i,loc:{start:{line:1,column:51},end:{line:1,column:60}}}):r)+'"></div>\n'},useData:!0})},1460:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="dropdown__item '+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"active"):o,{name:"if",hash:{},fn:e.program(2,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:3,column:27},end:{line:3,column:77}}}))?o:"")+'" data-value="'+c(l(null!=(o=r[0][0])?u(o,"value"):o,t))+'">\n<i class="fa fa-'+c(l(null!=(o=r[0][0])?u(o,"icon"):o,t))+' dropdown__item-icon"></i>\n<span class="dropdown__item-text">\n'+c(l(null!=(o=r[0][0])?u(o,"text"):o,t))+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"hint"):o,{name:"if",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:7,column:0},end:{line:9,column:9}}}))?o:"")+"</span>\n</div>\n"},2:function(e,t,n,s,i){return"dropdown__item--active"},4:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'&nbsp;<span class="muted-color">'+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"hint"):o,t))+"</span>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="dropdown">\n'+(null!=(o=a(n,"each").call(null!=t?t:e.nullContext||{},null!=t?a(t,"options"):t,{name:"each",hash:{},fn:e.program(1,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:2,column:0},end:{line:12,column:9}}}))?o:"")+"</div>\n"},useData:!0,useBlockParams:!0})},2109:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"appLink")||(null!=t?o(t,"appLink"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"appLink",hash:{},data:i,loc:{start:{line:59,column:37},end:{line:59,column:48}}}):r)+'" rel="noreferrer noopener" target="_blank">KeeWeb</a>'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<!DOCTYPE html>\n<html>\n<head>\n<meta charset="UTF-8" />\n<title>'+u(typeof(o=null!=(o=d(n,"name")||(null!=t?d(t,"name"):t))?o:l)===c?o.call(a,{name:"name",hash:{},data:i,loc:{start:{line:5,column:7},end:{line:5,column:15}}}):o)+'</title>\n<meta http-equiv="Content-Security-Policy" content="script-src \'none\'; img-src data:; style-src \'unsafe-inline\';" />\n<link href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" rel="icon" type="image/x-icon" />\n<style>\nbody {\nfont-family: -apple-system, "BlinkMacSystemFont", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;\nfont-size: 14px;\npadding: 10px 20px;\n}\ntable {\nborder-collapse: collapse;\nborder: 1px solid #ccc;\nwidth: 100%;\n}\ntd {\nborder: 1px solid #ccc;\npadding: 8px 16px;\n}\ntr:nth-of-type(even) {\nbackground: #fafafa;\n}\ntd:first-of-type {\nwidth: 30%;\n}\ntd.field {\nwhite-space: pre-wrap;\n}\nfooter {\nmargin-top: 10px;\n}\n</style>\n</head>\n<body>\n<h1>'+u(typeof(o=null!=(o=d(n,"name")||(null!=t?d(t,"name"):t))?o:l)===c?o.call(a,{name:"name",hash:{},data:i,loc:{start:{line:38,column:4},end:{line:38,column:12}}}):o)+"</h1>\n<h2>"+u(d(n,"res").call(a,"exportFileInfo",{name:"res",hash:{},data:i,loc:{start:{line:39,column:4},end:{line:39,column:28}}}))+"</h2>\n<table>\n<tr>\n<td>"+u(d(n,"res").call(a,"exportHtmlName",{name:"res",hash:{},data:i,loc:{start:{line:42,column:4},end:{line:42,column:28}}}))+"</td>\n<td>"+u(typeof(o=null!=(o=d(n,"name")||(null!=t?d(t,"name"):t))?o:l)===c?o.call(a,{name:"name",hash:{},data:i,loc:{start:{line:43,column:4},end:{line:43,column:12}}}):o)+"</td>\n</tr>\n<tr>\n<td>"+u(d(n,"res").call(a,"exportHtmlDate",{name:"res",hash:{},data:i,loc:{start:{line:46,column:4},end:{line:46,column:28}}}))+"</td>\n<td>"+u(typeof(o=null!=(o=d(n,"date")||(null!=t?d(t,"date"):t))?o:l)===c?o.call(a,{name:"date",hash:{},data:i,loc:{start:{line:47,column:4},end:{line:47,column:12}}}):o)+"</td>\n</tr>\n<tr>\n<td>"+u(d(n,"res").call(a,"exportGenerator",{name:"res",hash:{},data:i,loc:{start:{line:50,column:4},end:{line:50,column:29}}}))+"</td>\n<td>KeeWeb v"+u(typeof(o=null!=(o=d(n,"appVersion")||(null!=t?d(t,"appVersion"):t))?o:l)===c?o.call(a,{name:"appVersion",hash:{},data:i,loc:{start:{line:51,column:12},end:{line:51,column:26}}}):o)+"</td>\n</tr>\n</table>\n<h2>"+u(d(n,"res").call(a,"exportEntries",{name:"res",hash:{},data:i,loc:{start:{line:54,column:4},end:{line:54,column:27}}}))+"</h2>\n<div>\n"+(null!=(r=typeof(o=null!=(o=d(n,"contentHtml")||(null!=t?d(t,"contentHtml"):t))?o:l)===c?o.call(a,{name:"contentHtml",hash:{},data:i,loc:{start:{line:56,column:0},end:{line:56,column:17}}}):o)?r:"")+"\n</div>\n<footer>\n"+(null!=(r=d(n,"res").call(a,"exportDescription",{name:"res",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:59,column:0},end:{line:59,column:110}}}))?r:"")+"\n</footer>\n</body>\n</html>\n"},useData:!0})},6423:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"title")||(null!=t?o(t,"title"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:2,column:13},end:{line:2,column:22}}}):r)},3:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"("+e.escapeExpression((r(n,"Res")||t&&r(t,"Res")||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"noTitle",{name:"Res",hash:{},data:i,loc:{start:{line:2,column:31},end:{line:2,column:48}}}))+")"},5:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<tr>\n<td>"+e.escapeExpression(e.lambda(null!=(o=r[0][0])?a(o,"title"):o,t))+'</td>\n<td class="field">'+(null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?a(o,"protect"):o,{name:"if",hash:{},fn:e.program(6,i,0,r),inverse:e.program(8,i,0,r),data:i,blockParams:r,loc:{start:{line:9,column:0},end:{line:13,column:9}}}))?o:"")+"</td>\n</tr>\n"},6:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<code>"+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"value"):o,t))+"</code>"},8:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"value"):o,t))},10:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.hooks.helperMissing,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<tr>\n<td>"+l((c(n,"Res")||t&&c(t,"Res")||a).call(o,"tags",{name:"Res",hash:{},data:i,loc:{start:{line:19,column:4},end:{line:19,column:18}}}))+"</td>\n<td>"+l("function"==typeof(r=null!=(r=c(n,"tags")||(null!=t?c(t,"tags"):t))?r:a)?r.call(o,{name:"tags",hash:{},data:i,loc:{start:{line:20,column:4},end:{line:20,column:12}}}):r)+"</td>\n</tr>\n"},12:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.hooks.helperMissing,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<tr>\n<td>"+l((c(n,"Res")||t&&c(t,"Res")||a).call(o,"group",{name:"Res",hash:{},data:i,loc:{start:{line:25,column:4},end:{line:25,column:19}}}))+"</td>\n<td>"+l("function"==typeof(r=null!=(r=c(n,"path")||(null!=t?c(t,"path"):t))?r:a)?r.call(o,{name:"path",hash:{},data:i,loc:{start:{line:26,column:4},end:{line:26,column:12}}}):r)+"</td>\n</tr>\n"},14:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=null!=t?a(t,"attachments"):t)?a(o,"length"):o,{name:"if",hash:{},fn:e.program(15,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:30,column:0},end:{line:40,column:7}}}))?o:""},15:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<tr>\n<td>"+e.escapeExpression(l(n,"res").call(a,"detAttachments",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:32,column:4},end:{line:32,column:28}}}))+"</td>\n<td>\n"+(null!=(o=l(n,"each").call(a,null!=t?l(t,"attachments"):t,{name:"each",hash:{},fn:e.program(16,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:34,column:0},end:{line:37,column:9}}}))?o:"")+"</td>\n</tr>\n"},16:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+l(a(null!=(o=r[0][0])?c(o,"data"):o,t))+'" download="'+l(a(null!=(o=r[0][0])?c(o,"name"):o,t))+'">'+l(a(null!=(o=r[0][0])?c(o,"name"):o,t))+"</a>"+(null!=(o=c(n,"unless").call(null!=t?t:e.nullContext||{},i&&c(i,"last"),{name:"unless",hash:{},fn:e.program(17,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:36,column:0},end:{line:36,column:36}}}))?o:"")+"\n"},17:function(e,t,n,s,i){return",&nbsp;"},19:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<tr>\n<td>"+a(l(n,"res").call(o,"detExpires",{name:"res",hash:{},data:i,loc:{start:{line:52,column:4},end:{line:52,column:24}}}))+"</td>\n<td>"+a("function"==typeof(r=null!=(r=l(n,"expires")||(null!=t?l(t,"expires"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"expires",hash:{},data:i,loc:{start:{line:53,column:4},end:{line:53,column:15}}}):r)+"</td>\n</tr>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.hooks.helperMissing,d="function",h=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<h2>\n"+(null!=(o=h(n,"if").call(l,null!=t?h(t,"title"):t,{name:"if",hash:{},fn:e.program(1,i,0,r),inverse:e.program(3,i,0,r),data:i,blockParams:r,loc:{start:{line:2,column:0},end:{line:2,column:56}}}))?o:"")+"\n</h2>\n<table>\n"+(null!=(o=h(n,"each").call(l,null!=t?h(t,"fields"):t,{name:"each",hash:{},fn:e.program(5,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:5,column:0},end:{line:16,column:9}}}))?o:"")+(null!=(o=h(n,"if").call(l,null!=t?h(t,"tags"):t,{name:"if",hash:{},fn:e.program(10,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=h(n,"if").call(l,null!=t?h(t,"path"):t,{name:"if",hash:{},fn:e.program(12,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:23,column:0},end:{line:28,column:7}}}))?o:"")+(null!=(o=h(n,"if").call(l,null!=t?h(t,"attachments"):t,{name:"if",hash:{},fn:e.program(14,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:29,column:0},end:{line:41,column:7}}}))?o:"")+"<tr>\n<td>"+c(h(n,"res").call(l,"detCreated",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:43,column:4},end:{line:43,column:24}}}))+"</td>\n<td>"+c(typeof(a=null!=(a=h(n,"created")||(null!=t?h(t,"created"):t))?a:u)===d?a.call(l,{name:"created",hash:{},data:i,blockParams:r,loc:{start:{line:44,column:4},end:{line:44,column:15}}}):a)+"</td>\n</tr>\n<tr>\n<td>"+c(h(n,"res").call(l,"detUpdated",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:47,column:4},end:{line:47,column:24}}}))+"</td>\n<td>"+c(typeof(a=null!=(a=h(n,"modified")||(null!=t?h(t,"modified"):t))?a:u)===d?a.call(l,{name:"modified",hash:{},data:i,blockParams:r,loc:{start:{line:48,column:4},end:{line:48,column:16}}}):a)+"</td>\n</tr>\n"+(null!=(o=h(n,"if").call(l,null!=t?h(t,"expires"):t,{name:"if",hash:{},fn:e.program(19,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:50,column:0},end:{line:55,column:7}}}))?o:"")+"</table>\n"},useData:!0,useBlockParams:!0})},1388:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"extensionName")||(null!=t?o(t,"extensionName"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"extensionName",hash:{},data:i,loc:{start:{line:2,column:35},end:{line:2,column:52}}}):r)},3:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<p class="muted-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"extensionConnectUnknownActivity",{name:"res",hash:{},data:i,loc:{start:{line:4,column:23},end:{line:4,column:64}}}))+"</p>\n"},5:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="extension-connect__file">\n<input type="checkbox" class="input-base extension-connect__file-check"\ndata-file="'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'"\nid="extension-connect__file-check--name-'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'"\n'+(null!=(o=c(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?c(o,"checked"):o,{name:"if",hash:{},fn:e.program(6,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:13,column:0},end:{line:13,column:34}}}))?o:"")+'\n/>\n<label for="extension-connect__file-check--name-'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'">'+l(a(null!=(o=r[0][0])?c(o,"name"):o,t))+"</label>\n</div>\n"},6:function(e,t,n,s,i){return"checked"},8:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"extensionConnectAllOtherFiles",{name:"res",hash:{},data:i,loc:{start:{line:26,column:0},end:{line:26,column:39}}}))+"\n"},10:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"extensionConnectAllFiles",{name:"res",hash:{},data:i,loc:{start:{line:28,column:0},end:{line:28,column:34}}}))+"\n"},12:function(e,t,n,s,i){return"selected"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="extension-connect">\n<p>'+(null!=(o=c(n,"res").call(a,"extensionConnectIntro",{name:"res",hash:{},fn:e.program(1,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:2,column:3},end:{line:2,column:60}}}))?o:"")+"</p>\n"+(null!=(o=c(n,"unless").call(a,null!=t?c(t,"identityVerified"):t,{name:"unless",hash:{},fn:e.program(3,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:5,column:11}}}))?o:"")+"<div><label>"+l(c(n,"res").call(a,"extensionConnectFiles",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:6,column:12},end:{line:6,column:43}}}))+'</label></div>\n<div class="extension-connect__files">\n'+(null!=(o=c(n,"each").call(a,null!=t?c(t,"files"):t,{name:"each",hash:{},fn:e.program(5,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:8,column:0},end:{line:17,column:9}}}))?o:"")+'<div class="extension-connect__file">\n<input type="checkbox" class="input-base extension-connect__file-check"\ndata-file="all"\nid="extension-connect__file-check--all"\n'+(null!=(o=c(n,"if").call(a,null!=t?c(t,"allFiles"):t,{name:"if",hash:{},fn:e.program(6,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:22,column:0},end:{line:22,column:30}}}))?o:"")+'\n/>\n<label for="extension-connect__file-check--all">\n'+(null!=(o=c(n,"if").call(a,null!=(o=null!=t?c(t,"files"):t)?c(o,"length"):o,{name:"if",hash:{},fn:e.program(8,i,0,r),inverse:e.program(10,i,0,r),data:i,blockParams:r,loc:{start:{line:25,column:0},end:{line:29,column:7}}}))?o:"")+'</label>\n</div>\n</div>\n<div>\n<div><label for="extension-connect__ask-get">'+l(c(n,"res").call(a,"extensionConnectAskGet",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:34,column:45},end:{line:34,column:77}}}))+'</label></div>\n<select id="extension-connect__ask-get" class="input-base">\n<option value="multiple" '+(null!=(o=c(n,"ifeq").call(a,null!=t?c(t,"askGet"):t,"multiple",{name:"ifeq",hash:{},fn:e.program(12,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:36,column:25},end:{line:36,column:69}}}))?o:"")+">\n"+l(c(n,"res").call(a,"extensionConnectAskGetMultiple",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:37,column:0},end:{line:37,column:40}}}))+'\n</option>\n<option value="always" '+(null!=(o=c(n,"ifeq").call(a,null!=t?c(t,"askGet"):t,"always",{name:"ifeq",hash:{},fn:e.program(12,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:39,column:23},end:{line:39,column:65}}}))?o:"")+">\n"+l(c(n,"res").call(a,"extensionConnectAskGetAlways",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:40,column:0},end:{line:40,column:38}}}))+"\n</option>\n</select>\n</div>\n<p>"+l(c(n,"res").call(a,"extensionConnectSettingsAreForSession",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:44,column:3},end:{line:44,column:50}}}))+"</p>\n</div>\n"},useData:!0,useBlockParams:!0})},1582:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"extensionName")||(null!=t?o(t,"extensionName"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"extensionName",hash:{},data:i,loc:{start:{line:2,column:35},end:{line:2,column:52}}}):r)},3:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'" '+(null!=(o=c(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?c(o,"selected"):o,{name:"if",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:8,column:28},end:{line:8,column:64}}}))?o:"")+">\n"+l(a(null!=(o=r[0][0])?c(o,"name"):o,t))+"\n</option>\n"},4:function(e,t,n,s,i){return"selected"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="extension-create-group">\n<p>'+(null!=(o=u(n,"res").call(l,"extensionNewGroupBody",{name:"res",hash:{},fn:e.program(1,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:2,column:3},end:{line:2,column:60}}}))?o:"")+"</p>\n<p>"+c(u(n,"res").call(l,"extensionNewGroupPath",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:3,column:3},end:{line:3,column:34}}}))+": "+c("function"==typeof(a=null!=(a=u(n,"groupPath")||(null!=t?u(t,"groupPath"):t))?a:e.hooks.helperMissing)?a.call(l,{name:"groupPath",hash:{},data:i,blockParams:r,loc:{start:{line:3,column:36},end:{line:3,column:49}}}):a)+'</p>\n<div>\n<label for="extension-create-group__file">'+c(u(n,"res").call(l,"extensionNewGroupFile",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:5,column:42},end:{line:5,column:73}}}))+'</label>\n<select id="extension-create-group__file" class="input-base">\n'+(null!=(o=u(n,"each").call(l,null!=t?u(t,"files"):t,{name:"each",hash:{},fn:e.program(3,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:7,column:0},end:{line:11,column:9}}}))?o:"")+"</select>\n</div>\n</div>\n"},useData:!0,useBlockParams:!0})},7396:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"extensionName")||(null!=t?o(t,"extensionName"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"extensionName",hash:{},data:i,loc:{start:{line:2,column:36},end:{line:2,column:53}}}):r)},3:function(e,t,n,s,i){return"disabled"},5:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=null!=t?t:e.nullContext||{},u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+l(a(null!=(o=r[0][0])?u(o,"id"):o,t))+'" data-file="'+l(a(null!=(o=r[0][0])?u(o,"fileId"):o,t))+'"\n'+(null!=(o=u(n,"if").call(c,null!=(o=r[0][0])?u(o,"selected"):o,{name:"if",hash:{},fn:e.program(6,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:16,column:37}}}))?o:"")+"\n>\n"+(null!=(o=u(n,"if").call(c,null!=t?u(t,"spaces"):t,{name:"if",hash:{},fn:e.program(8,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:18,column:0},end:{line:18,column:52}}}))?o:"")+"\n"+l(a(null!=(o=r[0][0])?u(o,"title"):o,t))+"\n</option>\n"},6:function(e,t,n,s,i){return"selected"},8:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"each").call(null!=t?t:e.nullContext||{},null!=t?o(t,"spaces"):t,{name:"each",hash:{},fn:e.program(9,i,0),inverse:e.noop,data:i,loc:{start:{line:18,column:14},end:{line:18,column:45}}}))?r:""},9:function(e,t,n,s,i){return"&nbsp;"},11:function(e,t,n,s,i){return"checked"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.hooks.helperMissing,u=e.escapeExpression,d="function",h=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="extension-save-entry">\n<p>'+(null!=(o=h(n,"res").call(l,"extensionSaveEntryBody",{name:"res",hash:{},fn:e.program(1,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:2,column:3},end:{line:2,column:61}}}))?o:"")+'</p>\n<p>\n<label for="extension-save-entry__url">'+u((h(n,"Res")||t&&h(t,"Res")||c).call(l,"website",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:4,column:39},end:{line:4,column:56}}}))+':</label>\n<span id="extension-save-entry__url">'+u(typeof(a=null!=(a=h(n,"url")||(null!=t?h(t,"url"):t))?a:c)===d?a.call(l,{name:"url",hash:{},data:i,blockParams:r,loc:{start:{line:5,column:37},end:{line:5,column:44}}}):a)+'</span>\n</p>\n<p>\n<label for="extension-save-entry__user">'+u((h(n,"Res")||t&&h(t,"Res")||c).call(l,"user",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:8,column:40},end:{line:8,column:54}}}))+':</label>\n<span id="extension-save-entry__user">'+u(typeof(a=null!=(a=h(n,"user")||(null!=t?h(t,"user"):t))?a:c)===d?a.call(l,{name:"user",hash:{},data:i,blockParams:r,loc:{start:{line:9,column:38},end:{line:9,column:46}}}):a)+'</span>\n</p>\n<p>\n<label for="extension-save-entry__group">'+u((h(n,"Res")||t&&h(t,"Res")||c).call(l,"group",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:12,column:41},end:{line:12,column:56}}}))+':</label>\n<select id="extension-save-entry__group" class="input-base" '+(null!=(o=h(n,"if").call(l,null!=t?h(t,"update"):t,{name:"if",hash:{},fn:e.program(3,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:13,column:60},end:{line:13,column:89}}}))?o:"")+">\n"+(null!=(o=h(n,"each").call(l,null!=t?h(t,"allGroups"):t,{name:"each",hash:{},fn:e.program(5,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:14,column:0},end:{line:21,column:9}}}))?o:"")+'</select>\n</p>\n<p>\n<input type="checkbox" id="extension-save-entry__auto" '+(null!=(o=h(n,"ifeq").call(l,null!=t?h(t,"askSave"):t,"auto",{name:"ifeq",hash:{},fn:e.program(11,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:25,column:55},end:{line:25,column:95}}}))?o:"")+' />\n<label for="extension-save-entry__auto">'+u(h(n,"res").call(l,"extensionSaveEntryAuto",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:26,column:40},end:{line:26,column:72}}}))+"</label>\n</p>\n</div>\n"},useData:!0,useBlockParams:!0})},5386:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="footer__db footer__db-item '+(null!=(o=u(n,"unless").call(a,null!=(o=r[0][0])?u(o,"active"):o,{name:"unless",hash:{},fn:e.program(2,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:3,column:39},end:{line:3,column:91}}}))?o:"")+'"\ndata-file-id="'+c(l(null!=(o=r[0][0])?u(o,"id"):o,t))+'" id="footer__db--'+c(l(null!=(o=r[0][0])?u(o,"id"):o,t))+'">\n<i class="fa fa-'+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"active"):o,{name:"if",hash:{},fn:e.program(4,i,0,r),inverse:e.program(6,i,0,r),data:i,blockParams:r,loc:{start:{line:5,column:16},end:{line:5,column:60}}}))?o:"")+'"></i> '+c(l(null!=(o=r[0][0])?u(o,"name"):o,t))+"\n"+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"syncing"):o,{name:"if",hash:{},fn:e.program(8,i,0,r),inverse:e.program(10,i,0,r),data:i,blockParams:r,loc:{start:{line:6,column:0},end:{line:13,column:8}}}))?o:"")+"</div>\n"},2:function(e,t,n,s,i){return"footer__db--dimmed"},4:function(e,t,n,s,i){return"unlock"},6:function(e,t,n,s,i){return"lock"},8:function(e,t,n,s,i){return'<i class="fa fa-sync-alt spin footer__db-sign"></i>'},10:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[1][0])?a(o,"syncError"):o,{name:"if",hash:{},fn:e.program(11,i,0,r),inverse:e.program(16,i,0,r),data:i,blockParams:r,loc:{start:{line:8,column:0},end:{line:13,column:0}}}))?o:""},11:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa '+(null!=(o=c(n,"if").call(a,null!=(o=r[2][0])?c(o,"modified"):o,{name:"if",hash:{},fn:e.program(12,i,0,r),inverse:e.program(14,i,0,r),data:i,blockParams:r,loc:{start:{line:9,column:13},end:{line:9,column:69}}}))?o:"")+' footer__db-sign footer__db-sign--error"\ntitle="'+l(c(n,"res").call(a,"footerSyncError",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:10,column:7},end:{line:10,column:32}}}))+": "+l(e.lambda(null!=(o=r[2][0])?c(o,"syncError"):o,t))+'"></i>'},12:function(e,t,n,s,i){return"fa-circle"},14:function(e,t,n,s,i){return"fa-circle-o"},16:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[2][0])?a(o,"modified"):o,{name:"if",hash:{},fn:e.program(17,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:11,column:0},end:{line:13,column:0}}}))?o:""},17:function(e,t,n,s,i){return'<i class="fa fa-circle footer__db-sign"></i>'},19:function(e,t,n,s,i){return'<i class="fa fa-bell footer__update-icon"></i>\n'},21:function(e,t,n,s,i){return'<i class="fa fa-cog"></i>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="footer">\n'+(null!=(o=c(n,"each").call(a,null!=t?c(t,"files"):t,{name:"each",hash:{},fn:e.program(1,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:2,column:0},end:{line:15,column:9}}}))?o:"")+'<div class="footer__db footer__db--dimmed footer__db--expanded footer__db-open" id="footer__db-open">\n<i class="fa fa-plus"></i><span class="footer__db-text">&nbsp;'+l(c(n,"res").call(a,"footerOpen",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:17,column:62},end:{line:17,column:82}}}))+'</span>\n</div>\n<div class="footer__btn footer__btn-help" title="'+l(c(n,"res").call(a,"help",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:19,column:49},end:{line:19,column:63}}}))+'" tip-placement="top" id="footer__btn-help"><i class="fa fa-question"></i></div>\n<div class="footer__btn footer__btn-settings" title="'+l(c(n,"res").call(a,"settings",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:20,column:53},end:{line:20,column:71}}}))+'" tip-placement="top" id="footer__btn-settings">\n'+(null!=(o=c(n,"if").call(a,null!=t?c(t,"updateAvailable"):t,{name:"if",hash:{},fn:e.program(19,i,0,r),inverse:e.program(21,i,0,r),data:i,blockParams:r,loc:{start:{line:21,column:0},end:{line:25,column:7}}}))?o:"")+'</div>\n<div class="footer__btn footer__btn-generate" title="'+l(c(n,"res").call(a,"footerTitleGen",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:27,column:53},end:{line:27,column:77}}}))+'" tip-placement="top" id="footer__btn-generate"><i class="fa fa-bolt"></i></div>\n<div class="footer__btn footer__btn-lock" title="'+l(c(n,"res").call(a,"footerTitleLock",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:28,column:49},end:{line:28,column:74}}}))+'" tip-placement="top-left" id="footer__btn-lock"><i class="fa fa-sign-out-alt"></i></div>\n</div>\n'},useData:!0,useBlockParams:!0})},923:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'" '+(null!=(a=d(n,"ifeq").call(u,r[0][0],null!=o[1]?d(o[1],"selected"):o[1],{name:"ifeq",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:10,column:28},end:{line:10,column:69}}}))?a:"")+">"+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"builtIn"):a,{name:"if",hash:{},fn:e.program(4,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:10,column:70},end:{line:10,column:97}}}))?a:"")+c(l(null!=(a=r[0][0])?d(a,"title"):a,t))+"</option>\n"},2:function(e,t,n,s,i){return"selected"},4:function(e,t,n,s,i){return"* "},6:function(e,t,n,s,i){return"checked"},8:function(e,t,n,s,i){return"readonly"},10:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="gen-ps__field">\n<input type="checkbox" class="input-base gen-ps__check-range" id="gen-ps__check-'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'"\ndata-range="'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'"\n'+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"enabled"):a,{name:"if",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:35,column:0},end:{line:35,column:35}}}))?a:"")+" "+(null!=(a=d(n,"if").call(u,null!=(a=null!=o[1]?d(o[1],"selected"):o[1])?d(a,"builtIn"):a,{name:"if",hash:{},fn:e.program(11,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:35,column:36},end:{line:35,column:78}}}))?a:"")+' />\n<label for="gen-ps__check-'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'">'+c(l(null!=(a=r[0][0])?d(a,"title"):a,t))+'<span class="gen-ps__sample"> '+c(l(null!=(a=r[0][0])?d(a,"sample"):a,t))+"</span></label>\n</div>\n"},11:function(e,t,n,s,i){return"disabled"},13:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="gen-ps__btn-delete btn-error">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"genPsDelete",{name:"res",hash:{},data:i,loc:{start:{line:72,column:73},end:{line:72,column:94}}}))+"</button>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lambda,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="gen-ps">\n<div class="back-button">\n'+c(d(n,"res").call(l,"retToApp",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:3,column:18}}}))+' <i class="fa fa-arrow-circle-left back-button__post"></i>\n</div>\n<div class="scroller">\n<div class="gen-ps__content">\n<h1>'+c(d(n,"res").call(l,"genPsTitle",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:7,column:4},end:{line:7,column:24}}}))+'</h1>\n<select class="gen-ps__list input-base">\n'+(null!=(a=d(n,"each").call(l,null!=t?d(t,"presets"):t,{name:"each",hash:{},fn:e.program(1,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:9,column:0},end:{line:11,column:9}}}))?a:"")+'</select>\n<div class="gen-ps__field">\n<input type="checkbox" class="input-base" id="gen-ps__check-enabled" '+(null!=(a=d(n,"unless").call(l,null!=(a=null!=t?d(t,"selected"):t)?d(a,"disabled"):a,{name:"unless",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:14,column:69},end:{line:14,column:116}}}))?a:"")+' />\n<label for="gen-ps__check-enabled">'+c(d(n,"res").call(l,"genPsEnabled",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:15,column:35},end:{line:15,column:57}}}))+'</label>\n</div>\n<div class="gen-ps__field">\n<input type="checkbox" class="input-base" id="gen-ps__check-default" '+(null!=(a=d(n,"if").call(l,null!=(a=null!=t?d(t,"selected"):t)?d(a,"default"):a,{name:"if",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:18,column:69},end:{line:18,column:107}}}))?a:"")+' />\n<label for="gen-ps__check-default">'+c(d(n,"res").call(l,"genPsDefault",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:19,column:35},end:{line:19,column:57}}}))+'</label>\n</div>\n<div class="gen-ps__field">\n<label for="gen-ps__field-title">'+c((d(n,"Res")||t&&d(t,"Res")||e.hooks.helperMissing).call(l,"name",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:22,column:33},end:{line:22,column:47}}}))+':</label>\n<input type="text" class="input-base" id="gen-ps__field-title" value="'+c(u(null!=(a=null!=t?d(t,"selected"):t)?d(a,"title"):a,t))+'"\nsize="50" maxlength="64" required '+(null!=(a=d(n,"if").call(l,null!=(a=null!=t?d(t,"selected"):t)?d(a,"builtIn"):a,{name:"if",hash:{},fn:e.program(8,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:24,column:34},end:{line:24,column:73}}}))?a:"")+' />\n</div>\n<div class="gen-ps__field">\n<label for="gen-ps__field-length">'+c(d(n,"res").call(l,"genPsDefaultLength",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:27,column:34},end:{line:27,column:62}}}))+':</label>\n<input type="text" class="input-base" id="gen-ps__field-length" value="'+c(u(null!=(a=null!=t?d(t,"selected"):t)?d(a,"length"):a,t))+'"\nsize="50" maxlength="3" required pattern="\\d+" '+(null!=(a=d(n,"if").call(l,null!=(a=null!=t?d(t,"selected"):t)?d(a,"builtIn"):a,{name:"if",hash:{},fn:e.program(8,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:29,column:47},end:{line:29,column:86}}}))?a:"")+" />\n</div>\n"+(null!=(a=d(n,"each").call(l,null!=t?d(t,"ranges"):t,{name:"each",hash:{},fn:e.program(10,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:31,column:0},end:{line:38,column:9}}}))?a:"")+'<div class="gen-ps__field">\n<label for="gen-ps__field-include">'+c(d(n,"res").call(l,"genPsInclude",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:40,column:35},end:{line:40,column:57}}}))+':</label>\n<input type="text" class="input-base" id="gen-ps__field-include" value="'+c(u(null!=(a=null!=t?d(t,"selected"):t)?d(a,"include"):a,t))+'"\n'+(null!=(a=d(n,"if").call(l,null!=(a=null!=t?d(t,"selected"):t)?d(a,"builtIn"):a,{name:"if",hash:{},fn:e.program(8,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:42,column:0},end:{line:42,column:39}}}))?a:"")+' />\n</div>\n<div class="gen-ps__field">\n<label for="gen-ps__field-pattern">'+c(d(n,"res").call(l,"genPsPattern",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:45,column:35},end:{line:45,column:57}}}))+': <i class="fa fa-info-circle info-btn info-btn--pattern"></i></label>\n<div class="gen-ps__pattern-help hide">\n<p>'+c(d(n,"res").call(l,"genPsPatternHelp",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:47,column:3},end:{line:47,column:29}}}))+"</p>\n<p>\n<code>X</code> "+c(d(n,"res").call(l,"genPsAllRanges",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:49,column:17},end:{line:49,column:41}}}))+"<br/>\n<code>A</code> "+c(d(n,"res").call(l,"genPsUpper",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:50,column:17},end:{line:50,column:37}}}))+"<br/>\n<code>a</code> "+c(d(n,"res").call(l,"genPsLower",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:51,column:17},end:{line:51,column:37}}}))+"<br/>\n<code>1</code> "+c(d(n,"res").call(l,"genPsDigits",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:52,column:17},end:{line:52,column:38}}}))+"<br/>\n<code>*</code> "+c(d(n,"res").call(l,"genPsSpecial",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:53,column:17},end:{line:53,column:39}}}))+"<br/>\n<code>[</code> "+c(d(n,"res").call(l,"genPsBrackets",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:54,column:17},end:{line:54,column:40}}}))+"<br/>\n<code>Ä</code> "+c(d(n,"res").call(l,"genPsHigh",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:55,column:17},end:{line:55,column:36}}}))+"<br/>\n<code>0</code> "+c(d(n,"res").call(l,"genPsAmbiguous",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:56,column:17},end:{line:56,column:41}}}))+"<br/>\n<code>I</code> "+c(d(n,"res").call(l,"genPsIncluded",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:57,column:17},end:{line:57,column:40}}}))+'\n</p>\n</div>\n<input type="text" class="input-base" id="gen-ps__field-pattern" value="'+c(u(null!=(a=null!=t?d(t,"selected"):t)?d(a,"pattern"):a,t))+'"\n'+(null!=(a=d(n,"if").call(l,null!=(a=null!=t?d(t,"selected"):t)?d(a,"builtIn"):a,{name:"if",hash:{},fn:e.program(8,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:61,column:0},end:{line:61,column:39}}}))?a:"")+' />\n</div>\n<div class="gen-ps__field">\n<label>'+c(d(n,"res").call(l,"genPsExample",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:64,column:7},end:{line:64,column:29}}}))+':</label>\n<div class="gen-ps__example"></div>\n</div>\n</div>\n</div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n<div class="gen-ps__buttons">\n<button class="gen-ps__btn-create">'+c(d(n,"res").call(l,"genPsCreate",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:71,column:35},end:{line:71,column:56}}}))+"</button>\n"+(null!=(a=d(n,"unless").call(l,null!=(a=null!=t?d(t,"selected"):t)?d(a,"builtIn"):a,{name:"unless",hash:{},fn:e.program(13,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:72,column:0},end:{line:72,column:114}}}))?a:"")+"\n</div>\n</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},2955:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<input type="checkbox" id="gen__check-hide" class="gen__check-hide" '+(null!=(r=a(n,"if").call(o,null!=t?a(t,"hide"):t,{name:"if",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:68},end:{line:5,column:94}}}))?r:"")+'>\n<label for="gen__check-hide" class="fa gen__top-btn gen__check-hide-label"\n'+(null!=(r=a(n,"if").call(o,null!=t?a(t,"hide"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.program(6,i,0),data:i,loc:{start:{line:7,column:0},end:{line:11,column:7}}}))?r:"")+"> </label>\n"},2:function(e,t,n,s,i){return"checked"},4:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"genShowPass",{name:"res",hash:{},data:i,loc:{start:{line:8,column:7},end:{line:8,column:28}}}))+'"\n'},6:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"genHidePass",{name:"res",hash:{},data:i,loc:{start:{line:10,column:7},end:{line:10,column:28}}}))+'"\n'},8:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+c(l(null!=(a=r[0][0])?u(a,"name"):a,t))+'" '+(null!=(a=u(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=(a=r[0][0])?u(a,"name"):a,null!=o[1]?u(o[1],"preset"):o[1],{name:"ifeq",hash:{},fn:e.program(9,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:28},end:{line:17,column:72}}}))?a:"")+">"+c(l(null!=(a=r[0][0])?u(a,"title"):a,t))+"</option>\n"},9:function(e,t,n,s,i){return"selected"},11:function(e,t,n,s,i){return'<option value="...">...</option>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.escapeExpression,d=e.lambda,h=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="gen">\n<div>'+u(h(n,"res").call(c,"genLen",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:2,column:5},end:{line:2,column:21}}}))+': <span class="gen__length-range-val">'+u(d(null!=(a=null!=t?h(t,"opt"):t)?h(a,"length"):a,t))+'</span>\n<i class="fa fa-sync-alt gen__btn-refresh gen__top-btn" title="'+u(h(n,"res").call(c,"genNewPass",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:3,column:63},end:{line:3,column:83}}}))+'"></i>\n'+(null!=(a=h(n,"unless").call(c,null!=t?h(t,"showToggleButton"):t,{name:"unless",hash:{},fn:e.program(1,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:4,column:0},end:{line:13,column:11}}}))?a:"")+'</div>\n<select class="gen__sel-tpl input-base">\n'+(null!=(a=h(n,"each").call(c,null!=t?h(t,"presets"):t,{name:"each",hash:{},fn:e.program(8,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:18,column:9}}}))?a:"")+(null!=(a=h(n,"if").call(c,null!=t?h(t,"showTemplateEditor"):t,{name:"if",hash:{},fn:e.program(11,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:19,column:0},end:{line:21,column:7}}}))?a:"")+'</select>\n<input type="range" class="gen__length-range" value="'+u(d(null!=(a=null!=t?h(t,"opt"):t)?h(a,"pseudoLength"):a,t))+'" min="0" max="25" />\n<div>\n<div class="gen__check"><input type="checkbox" id="gen__check-upper"\ndata-id="upper" '+(null!=(a=h(n,"if").call(c,null!=(a=null!=t?h(t,"opt"):t)?h(a,"upper"):a,{name:"if",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:26,column:16},end:{line:26,column:47}}}))?a:"")+'><label for="gen__check-upper">ABC</label></div>\n<div class="gen__check"><input type="checkbox" id="gen__check-lower"\ndata-id="lower" '+(null!=(a=h(n,"if").call(c,null!=(a=null!=t?h(t,"opt"):t)?h(a,"lower"):a,{name:"if",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:28,column:16},end:{line:28,column:47}}}))?a:"")+'><label for="gen__check-lower">abc</label></div>\n<div class="gen__check"><input type="checkbox" id="gen__check-digits"\ndata-id="digits" '+(null!=(a=h(n,"if").call(c,null!=(a=null!=t?h(t,"opt"):t)?h(a,"digits"):a,{name:"if",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:30,column:17},end:{line:30,column:49}}}))?a:"")+'><label for="gen__check-digits">123</label></div>\n<div class="gen__check"><input type="checkbox" id="gen__check-special"\ndata-id="special" '+(null!=(a=h(n,"if").call(c,null!=(a=null!=t?h(t,"opt"):t)?h(a,"special"):a,{name:"if",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:32,column:18},end:{line:32,column:51}}}))?a:"")+'><label for="gen__check-special">!@#</label></div>\n<div class="gen__check"><input type="checkbox" id="gen__check-brackets"\ndata-id="brackets" '+(null!=(a=h(n,"if").call(c,null!=(a=null!=t?h(t,"opt"):t)?h(a,"brackets"):a,{name:"if",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:34,column:19},end:{line:34,column:53}}}))?a:"")+'><label for="gen__check-brackets">({&lt;</label></div>\n<div class="gen__check"><input type="checkbox" id="gen__check-high"\ndata-id="high" '+(null!=(a=h(n,"if").call(c,null!=(a=null!=t?h(t,"opt"):t)?h(a,"high"):a,{name:"if",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:36,column:15},end:{line:36,column:45}}}))?a:"")+'><label for="gen__check-high">äæ±</label></div>\n<div class="gen__check"><input type="checkbox" id="gen__check-ambiguous"\ndata-id="ambiguous" '+(null!=(a=h(n,"if").call(c,null!=(a=null!=t?h(t,"opt"):t)?h(a,"ambiguous"):a,{name:"if",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:38,column:20},end:{line:38,column:55}}}))?a:"")+'><label for="gen__check-ambiguous">0Oo</label></div>\n</div>\n<div class="gen__result"></div>\n<div class="gen__btn-wrap"><button class="gen__btn-ok">'+u("function"==typeof(l=null!=(l=h(n,"btnTitle")||(null!=t?h(t,"btnTitle"):t))?l:e.hooks.helperMissing)?l.call(c,{name:"btnTitle",hash:{},data:i,blockParams:r,loc:{start:{line:41,column:55},end:{line:41,column:67}}}):l)+"</button></div>\n</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},5380:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"readonly"},3:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="input-base" id="grp__check-search" '+(null!=(r=a(n,"if").call(o,null!=t?a(t,"enableSearching"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:15,column:65},end:{line:15,column:102}}}))?r:"")+' />\n<label for="grp__check-search">'+e.escapeExpression(a(n,"res").call(o,"grpSearch",{name:"res",hash:{},data:i,loc:{start:{line:16,column:31},end:{line:16,column:50}}}))+"</label>\n</div>\n"},4:function(e,t,n,s,i){return"checked"},6:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<img src="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"customIcon")||(null!=t?o(t,"customIcon"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"customIcon",hash:{},data:i,loc:{start:{line:22,column:10},end:{line:22,column:24}}}):r)+'" class="grp__icon grp__icon--image" />\n'},8:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"icon")||(null!=t?o(t,"icon"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"icon",hash:{},data:i,loc:{start:{line:24,column:16},end:{line:24,column:24}}}):r)+' grp__icon"></i>\n'},10:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.hooks.helperMissing,u="function",d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(r=d(n,"unless").call(a,null!=t?d(t,"readonly"):t,{name:"unless",hash:{},fn:e.program(11,i,0),inverse:e.noop,data:i,loc:{start:{line:29,column:0},end:{line:34,column:11}}}))?r:"")+'<div class="grp__field">\n<label for="grp__field-auto-type-seq">'+l(d(n,"res").call(a,"grpAutoTypeSeq",{name:"res",hash:{},data:i,loc:{start:{line:36,column:38},end:{line:36,column:62}}}))+':</label>\n<input type="text" class="input-base" id="grp__field-auto-type-seq" value="'+l(typeof(o=null!=(o=d(n,"autoTypeSeq")||(null!=t?d(t,"autoTypeSeq"):t))?o:c)===u?o.call(a,{name:"autoTypeSeq",hash:{},data:i,loc:{start:{line:37,column:75},end:{line:37,column:90}}}):o)+'"\nsize="50" maxlength="1024" placeholder="'+l(d(n,"res").call(a,"grpAutoTypeSeqDefault",{name:"res",hash:{},data:i,loc:{start:{line:38,column:40},end:{line:38,column:71}}}))+": "+l(typeof(o=null!=(o=d(n,"defaultAutoTypeSeq")||(null!=t?d(t,"defaultAutoTypeSeq"):t))?o:c)===u?o.call(a,{name:"defaultAutoTypeSeq",hash:{},data:i,loc:{start:{line:38,column:73},end:{line:38,column:95}}}):o)+'" />\n</div>\n'},11:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="input-base" id="grp__check-auto-type" '+(null!=(r=a(n,"if").call(o,null!=t?a(t,"autoTypeEnabled"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:31,column:68},end:{line:31,column:105}}}))?r:"")+' />\n<label for="grp__check-auto-type">'+e.escapeExpression(a(n,"res").call(o,"grpAutoType",{name:"res",hash:{},data:i,loc:{start:{line:32,column:34},end:{line:32,column:55}}}))+"</label>\n</div>\n"},13:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="grp__buttons">\n<i class="grp__buttons-trash fa fa-trash-alt" title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"grpTrash",{name:"res",hash:{},data:i,loc:{start:{line:46,column:53},end:{line:46,column:71}}}))+'" tip-placement="right"></i>\n</div>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.hooks.helperMissing,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="grp">\n<div class="back-button">\n'+l(u(n,"res").call(a,"retToApp",{name:"res",hash:{},data:i,loc:{start:{line:3,column:0},end:{line:3,column:18}}}))+' <i class="fa fa-arrow-circle-left back-button__post"></i>\n</div>\n<div class="scroller">\n<div class="grp__content">\n<h1>'+l(u(n,"res").call(a,"grpTitle",{name:"res",hash:{},data:i,loc:{start:{line:7,column:4},end:{line:7,column:22}}}))+'</h1>\n<div class="grp__field">\n<label for="grp__field-title">'+l((u(n,"Res")||t&&u(t,"Res")||c).call(a,"name",{name:"Res",hash:{},data:i,loc:{start:{line:9,column:30},end:{line:9,column:44}}}))+':</label>\n<input type="text" class="input-base" id="grp__field-title" value="'+l("function"==typeof(o=null!=(o=u(n,"title")||(null!=t?u(t,"title"):t))?o:c)?o.call(a,{name:"title",hash:{},data:i,loc:{start:{line:10,column:67},end:{line:10,column:76}}}):o)+'" size="50" maxlength="1024"\nrequired '+(null!=(r=u(n,"if").call(a,null!=t?u(t,"readonly"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:11,column:9},end:{line:11,column:40}}}))?r:"")+" />\n</div>\n"+(null!=(r=u(n,"unless").call(a,null!=t?u(t,"readonly"):t,{name:"unless",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:13,column:0},end:{line:18,column:11}}}))?r:"")+"<label>"+l((u(n,"Res")||t&&u(t,"Res")||c).call(a,"icon",{name:"Res",hash:{},data:i,loc:{start:{line:19,column:7},end:{line:19,column:21}}}))+':</label>\n<div class="grp__icon-wrap">\n'+(null!=(r=u(n,"if").call(a,null!=t?u(t,"customIcon"):t,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.program(8,i,0),data:i,loc:{start:{line:21,column:0},end:{line:25,column:7}}}))?r:"")+'</div>\n<div class="grp__icons"></div>\n'+(null!=(r=u(n,"if").call(a,null!=t?u(t,"canAutoType"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:28,column:0},end:{line:40,column:7}}}))?r:"")+'</div>\n</div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n'+(null!=(r=u(n,"unless").call(a,null!=t?u(t,"readonly"):t,{name:"unless",hash:{},fn:e.program(13,i,0),inverse:e.noop,data:i,loc:{start:{line:44,column:0},end:{line:48,column:11}}}))?r:"")+"</div>\n"},useData:!0})},9851:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+c(l(r[0][0],t))+" icon-select__icon "+(null!=(a=u(n,"ifeq").call(null!=t?t:e.nullContext||{},r[0][1],null!=o[1]?u(o[1],"sel"):o[1],{name:"ifeq",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:4,column:43},end:{line:4,column:96}}}))?a:"")+'" data-val="'+c(l(r[0][1],t))+'"></i>\n'},2:function(e,t,n,s,i){return"icon-select__icon--active"},4:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<span class="icon-select__icon icon-select__icon-btn icon-select__icon-download"\ndata-val="special" data-special="download" title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"iconFavTitle",{name:"res",hash:{},data:i,loc:{start:{line:11,column:50},end:{line:11,column:72}}}))+'">\n<i class="fa fa-cloud-download-alt"></i>\n</span>\n'},6:function(e,t,n,s,i,r,o){var a,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="icon-select__items icon-select__items--custom">\n'+(null!=(a=l(n,"each").call(null!=t?t:e.nullContext||{},null!=t?l(t,"customIcons"):t,{name:"each",hash:{},fn:e.program(7,i,2,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:22,column:0},end:{line:27,column:9}}}))?a:"")+"</div>\n"},7:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<span class="icon-select__icon icon-select__icon-btn icon-select__icon-custom '+(null!=(a=u(n,"ifeq").call(null!=t?t:e.nullContext||{},r[0][1],null!=o[1]?u(o[1],"sel"):o[1],{name:"ifeq",hash:{},fn:e.program(2,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:23,column:78},end:{line:23,column:131}}}))?a:"")+'"\ndata-val="'+c(l(r[0][1],t))+'">\n<img src="'+c(l(r[0][0],t))+'" />\n</span>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="icon-select">\n<div class="icon-select__items">\n'+(null!=(a=c(n,"each").call(l,null!=t?c(t,"icons"):t,{name:"each",hash:{},fn:e.program(1,i,2,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:5,column:9}}}))?a:"")+'</div>\n<div class="icon-select__items icon-select__items--actions">\n<input type="file" class="icon-select__file-input hide-by-pos" accept="image/*" />\n'+(null!=(a=c(n,"if").call(l,null!=t?c(t,"canDownloadFavicon"):t,{name:"if",hash:{},fn:e.program(4,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:9,column:0},end:{line:14,column:7}}}))?a:"")+'<span class="icon-select__icon icon-select__icon-btn icon-select__icon-select"\ndata-val="special" data-special="select" title="'+e.escapeExpression(c(n,"res").call(l,"iconSelCustom",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:16,column:48},end:{line:16,column:71}}}))+'">\n<i class="fa fa-ellipsis-h"></i>\n</span>\n</div>\n'+(null!=(a=c(n,"if").call(l,null!=t?c(t,"hasCustomIcons"):t,{name:"if",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:20,column:0},end:{line:29,column:7}}}))?a:"")+"</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},7655:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r){return"<th>"+e.escapeExpression(e.lambda(r[0][0],t))+"</th>\n"},3:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.hooks.helperMissing,u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<th>\n<select data-col="'+u("function"==typeof(a=null!=(a=d(n,"index")||i&&d(i,"index"))?a:c)?a.call(l,{name:"index",hash:{},data:i,blockParams:r,loc:{start:{line:22,column:18},end:{line:22,column:28}}}):a)+'" class="import-csv__field-select">\n<option value="" '+(null!=(o=d(n,"ifeq").call(l,null!=(o=r[0][0])?d(o,"type"):o,"ignore",{name:"ifeq",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:23,column:17},end:{line:23,column:64}}}))?o:"")+">("+u(d(n,"res").call(l,"importIgnoreField",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:23,column:66},end:{line:23,column:93}}}))+')</option>\n<option value="Title" '+(null!=(o=d(n,"ifeq").call(l,null!=(o=r[0][0])?d(o,"field"):o,"Title",{name:"ifeq",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:24,column:22},end:{line:24,column:69}}}))?o:"")+">"+u((d(n,"Res")||t&&d(t,"Res")||c).call(l,"title",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:24,column:70},end:{line:24,column:85}}}))+'</option>\n<option value="UserName" '+(null!=(o=d(n,"ifeq").call(l,null!=(o=r[0][0])?d(o,"field"):o,"UserName",{name:"ifeq",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:25,column:25},end:{line:25,column:75}}}))?o:"")+">"+u((d(n,"Res")||t&&d(t,"Res")||c).call(l,"user",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:25,column:76},end:{line:25,column:90}}}))+'</option>\n<option value="Password" '+(null!=(o=d(n,"ifeq").call(l,null!=(o=r[0][0])?d(o,"field"):o,"Password",{name:"ifeq",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:26,column:25},end:{line:26,column:75}}}))?o:"")+">"+u((d(n,"Res")||t&&d(t,"Res")||c).call(l,"password",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:26,column:76},end:{line:26,column:94}}}))+'</option>\n<option value="URL" '+(null!=(o=d(n,"ifeq").call(l,null!=(o=r[0][0])?d(o,"field"):o,"URL",{name:"ifeq",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:27,column:20},end:{line:27,column:65}}}))?o:"")+">"+u((d(n,"Res")||t&&d(t,"Res")||c).call(l,"website",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:27,column:66},end:{line:27,column:83}}}))+'</option>\n<option value="Notes" '+(null!=(o=d(n,"ifeq").call(l,null!=(o=r[0][0])?d(o,"field"):o,"Notes",{name:"ifeq",hash:{},fn:e.program(4,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:28,column:22},end:{line:28,column:69}}}))?o:"")+">"+u((d(n,"Res")||t&&d(t,"Res")||c).call(l,"notes",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:28,column:70},end:{line:28,column:85}}}))+"</option>\n"+(null!=(o=d(n,"ifeq").call(l,null!=(o=r[0][0])?d(o,"type"):o,"custom",{name:"ifeq",hash:{},fn:e.program(6,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:29,column:0},end:{line:31,column:9}}}))?o:"")+"</select>\n</th>\n"},4:function(e,t,n,s,i){return"selected"},6:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+l(a(null!=(o=r[1][0])?c(o,"field"):o,t))+'" selected>'+l(a(null!=(o=r[1][0])?c(o,"field"):o,t))+"</option>\n"},8:function(e,t,n,s,i,r){var o;return"<tr>\n"+(null!=(o=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"each").call(null!=t?t:e.nullContext||{},r[0][0],{name:"each",hash:{},fn:e.program(9,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:40,column:0},end:{line:42,column:9}}}))?o:"")+"</tr>\n"},9:function(e,t,n,s,i,r){return"<td>"+e.escapeExpression(e.lambda(r[0][0],t))+"</td>\n"},11:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'" data-file="'+l(a(null!=(o=r[0][0])?c(o,"fileId"):o,t))+'">\n'+(null!=(o=c(n,"if").call(null!=t?t:e.nullContext||{},null!=t?c(t,"spaces"):t,{name:"if",hash:{},fn:e.program(12,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:61,column:0},end:{line:61,column:52}}}))?o:"")+"\n"+l(a(null!=(o=r[0][0])?c(o,"title"):o,t))+"\n</option>\n"},12:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"each").call(null!=t?t:e.nullContext||{},null!=t?o(t,"spaces"):t,{name:"each",hash:{},fn:e.program(13,i,0),inverse:e.noop,data:i,loc:{start:{line:61,column:14},end:{line:61,column:45}}}))?r:""},13:function(e,t,n,s,i){return"&nbsp;"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="import-csv">\n<div class="import-csv__top">\n<div class="back-button">\n'+l(c(n,"res").call(a,"retToApp",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:4,column:0},end:{line:4,column:18}}}))+' <i class="fa fa-arrow-circle-left back-button__post"></i>\n</div>\n<h1>'+l(c(n,"res").call(a,"importCsvTitle",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:6,column:4},end:{line:6,column:28}}}))+'</h1>\n</div>\n<div class="import-csv__body">\n<div class="scroller">\n<div class="import-csv__table-wrap">\n<div class="scroller">\n<table class="import-csv__table">\n<thead>\n<tr>\n'+(null!=(o=c(n,"each").call(a,null!=t?c(t,"headers"):t,{name:"each",hash:{},fn:e.program(1,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:15,column:0},end:{line:17,column:9}}}))?o:"")+"</tr>\n<tr>\n"+(null!=(o=c(n,"each").call(a,null!=t?c(t,"fieldMapping"):t,{name:"each",hash:{},fn:e.program(3,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:20,column:0},end:{line:34,column:9}}}))?o:"")+"</tr>\n</thead>\n<tbody>\n"+(null!=(o=c(n,"each").call(a,null!=t?c(t,"rows"):t,{name:"each",hash:{},fn:e.program(8,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:38,column:0},end:{line:44,column:9}}}))?o:"")+'</tbody>\n</table>\n</div>\n</div>\n</div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n</div>\n<div class="import-csv__bottom">\n<div class="import-csv__target">\n<label for="import-csv__target-select">\n'+l(c(n,"res").call(a,"importTo",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:55,column:0},end:{line:55,column:18}}}))+'\n</label>\n<select class="import-csv__target-select" id="import-csv__target-select">\n<option value="" selected>'+l(c(n,"res").call(a,"importNewFile",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:58,column:26},end:{line:58,column:49}}}))+"</option>\n"+(null!=(o=c(n,"each").call(a,null!=t?c(t,"groups"):t,{name:"each",hash:{},fn:e.program(11,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:59,column:0},end:{line:64,column:9}}}))?o:"")+'</select>\n</div>\n<div class="import-csv__bottom-buttons">\n<button class="import-csv__button-cancel btn-silent">'+l(c(n,"res").call(a,"alertCancel",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:68,column:53},end:{line:68,column:74}}}))+'</button>\n<button class="import-csv__button-run">'+l(c(n,"res").call(a,"importCsvRun",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:69,column:39},end:{line:69,column:61}}}))+"</button>\n</div>\n</div>\n</div>\n"},useData:!0,useBlockParams:!0})},6704:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return'<input class="key-change__pass-repeat" type="password" size="30" autocomplete="new-password" maxlength="1024"\nplaceholder="Repeat password" />\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="key-change">\n<i class="key-change__icon fa fa-lock"></i>\n<div class="key-change__header">'+u(typeof(o=null!=(o=d(n,"fileName")||(null!=t?d(t,"fileName"):t))?o:l)===c?o.call(a,{name:"fileName",hash:{},data:i,loc:{start:{line:3,column:32},end:{line:3,column:44}}}):o)+": "+u(typeof(o=null!=(o=d(n,"title")||(null!=t?d(t,"title"):t))?o:l)===c?o.call(a,{name:"title",hash:{},data:i,loc:{start:{line:3,column:46},end:{line:3,column:55}}}):o)+'</div>\n<div class="key-change__body">\n<div class="key-change__message">'+u(typeof(o=null!=(o=d(n,"message")||(null!=t?d(t,"message"):t))?o:l)===c?o.call(a,{name:"message",hash:{},data:i,loc:{start:{line:5,column:33},end:{line:5,column:44}}}):o)+':</div>\n<div class="key-change__input">\n<input class="key-change__file hide-by-pos" type="file" />\n<input class="key-change__pass" type="password" size="30" autocomplete="new-password" maxlength="1024" autofocus\nplaceholder="'+u((d(n,"Res")||t&&d(t,"Res")||l).call(a,"password",{name:"Res",hash:{},data:i,loc:{start:{line:9,column:13},end:{line:9,column:31}}}))+'" />\n<div class="key-change__keyfile">\n<i class="fa fa-key"></i> '+u(d(n,"res").call(a,"openKeyFile",{name:"res",hash:{},data:i,loc:{start:{line:11,column:26},end:{line:11,column:47}}}))+'<span class="key-change__keyfile-name"></span>\n</div>\n'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"repeat"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:13,column:0},end:{line:16,column:7}}}))?r:"")+'</div>\n</div>\n<div class="key-change__buttons">\n<button class="key-change__btn-ok" data-result="ok">'+u(d(n,"res").call(a,"alertOk",{name:"res",hash:{},data:i,loc:{start:{line:20,column:52},end:{line:20,column:69}}}))+'</button>\n<button class="btn-error key-change__btn-cancel" data-result="">'+u(d(n,"res").call(a,"alertCancel",{name:"res",hash:{},data:i,loc:{start:{line:21,column:64},end:{line:21,column:85}}}))+"</button>\n</div>\n</div>\n"},useData:!0})},4497:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return' <i class="fa fa-plus"></i>'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="empty-block muted-color">\n<div class="empty-block__icon"><i class="fa fa-keeweb"></i></div>\n<h1 class="empty-block__title">'+e.escapeExpression(a(n,"res").call(o,"listEmptyTitle",{name:"res",hash:{},data:i,loc:{start:{line:3,column:31},end:{line:3,column:55}}}))+'</h1>\n<p class="empty-block__text">\n'+(null!=(r=a(n,"res").call(o,"listEmptyAdd",{name:"res",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:0},end:{line:5,column:58}}}))?r:"")+"\n</p>\n</div>\n"},useData:!0})},2739:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"list__item--active"},3:function(e,t,n,s,i){return"list__item--expired"},5:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<img src="'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"customIcon")||(null!=t?l(t,"customIcon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"customIcon",hash:{},data:i,loc:{start:{line:3,column:10},end:{line:3,column:24}}}):o)+'" class="list__item-icon list__item-icon--custom '+(null!=(r=l(n,"if").call(a,null!=t?l(t,"color"):t,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:73},end:{line:3,column:102}}}))?r:"")+'" />'},6:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"color")||(null!=t?o(t,"color"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"color",hash:{},data:i,loc:{start:{line:3,column:86},end:{line:3,column:95}}}):r)},8:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"icon")||(null!=t?l(t,"icon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"icon",hash:{},data:i,loc:{start:{line:5,column:16},end:{line:5,column:24}}}):o)+" "+(null!=(r=l(n,"if").call(a,null!=t?l(t,"color"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:25},end:{line:5,column:60}}}))?r:"")+' list__item-icon"></i>'},9:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"color")||(null!=t?o(t,"color"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"color",hash:{},data:i,loc:{start:{line:5,column:38},end:{line:5,column:47}}}):r)+"-color"},11:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"title")||(null!=t?o(t,"title"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:7,column:44},end:{line:7,column:53}}}):r)},13:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"("+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"noTitle",{name:"res",hash:{},data:i,loc:{start:{line:7,column:62},end:{line:7,column:79}}}))+")"},15:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"description")||(null!=t?o(t,"description"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"description",hash:{},data:i,loc:{start:{line:8,column:55},end:{line:8,column:70}}}):r)},17:function(e,t,n,s,i){return"&nbsp;"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__item '+(null!=(r=l(n,"if").call(a,null!=t?l(t,"active"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:23},end:{line:1,column:62}}}))?r:"")+" "+(null!=(r=l(n,"if").call(a,null!=t?l(t,"expired"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:63},end:{line:1,column:104}}}))?r:"")+'" id="'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"id")||(null!=t?l(t,"id"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:1,column:110},end:{line:1,column:116}}}):o)+'" draggable="true">\n'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"customIcon"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.program(8,i,0),data:i,loc:{start:{line:2,column:0},end:{line:6,column:8}}}))?r:"")+'<span class="list__item-title">'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"title"):t,{name:"if",hash:{},fn:e.program(11,i,0),inverse:e.program(13,i,0),data:i,loc:{start:{line:7,column:31},end:{line:7,column:87}}}))?r:"")+'</span>\n<span class="list__item-descr thin">'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"description"):t,{name:"if",hash:{},fn:e.program(15,i,0),inverse:e.program(17,i,0),data:i,loc:{start:{line:8,column:36},end:{line:8,column:91}}}))?r:"")+"</span>\n</div>\n"},useData:!0})},5826:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"list__item--active"},3:function(e,t,n,s,i){return"list__item--expired"},5:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<img src="'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"customIcon")||(null!=t?l(t,"customIcon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"customIcon",hash:{},data:i,loc:{start:{line:4,column:10},end:{line:4,column:24}}}):o)+'" class="list__item-icon list__item-icon--custom '+(null!=(r=l(n,"if").call(a,null!=t?l(t,"color"):t,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:4,column:73},end:{line:4,column:102}}}))?r:"")+'" />'},6:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"color")||(null!=t?o(t,"color"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"color",hash:{},data:i,loc:{start:{line:4,column:86},end:{line:4,column:95}}}):r)},8:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"icon")||(null!=t?l(t,"icon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"icon",hash:{},data:i,loc:{start:{line:6,column:16},end:{line:6,column:24}}}):o)+" "+(null!=(r=l(n,"if").call(a,null!=t?l(t,"color"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.noop,data:i,loc:{start:{line:6,column:25},end:{line:6,column:60}}}))?r:"")+' list__item-icon"></i>'},9:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"color")||(null!=t?o(t,"color"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"color",hash:{},data:i,loc:{start:{line:6,column:38},end:{line:6,column:47}}}):r)+"-color"},11:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+(null!=(r=o(n,"if").call(null!=t?t:e.nullContext||{},null!=t?o(t,"title"):t,{name:"if",hash:{},fn:e.program(12,i,0),inverse:e.program(14,i,0),data:i,loc:{start:{line:9,column:51},end:{line:9,column:107}}}))?r:"")+"</div>"},12:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"title")||(null!=t?o(t,"title"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:9,column:64},end:{line:9,column:73}}}):r)},14:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"("+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"noTitle",{name:"res",hash:{},data:i,loc:{start:{line:9,column:82},end:{line:9,column:99}}}))+")"},16:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"user")||(null!=t?o(t,"user"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"user",hash:{},data:i,loc:{start:{line:10,column:50},end:{line:10,column:58}}}):r)+"</div>"},18:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"url")||(null!=t?o(t,"url"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"url",hash:{},data:i,loc:{start:{line:11,column:49},end:{line:11,column:56}}}):r)+"</div>"},20:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"tags")||(null!=t?o(t,"tags"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"tags",hash:{},data:i,loc:{start:{line:12,column:50},end:{line:12,column:58}}}):r)+"</div>"},22:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"notes")||(null!=t?o(t,"notes"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"notes",hash:{},data:i,loc:{start:{line:13,column:51},end:{line:13,column:60}}}):r)+"</div>"},24:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"groupName")||(null!=t?o(t,"groupName"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"groupName",hash:{},data:i,loc:{start:{line:14,column:55},end:{line:14,column:68}}}):r)+"</div>"},26:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"fileName")||(null!=t?o(t,"fileName"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"fileName",hash:{},data:i,loc:{start:{line:15,column:54},end:{line:15,column:66}}}):r)+"</div>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__item list__item--table list__table-row '+(null!=(r=l(n,"if").call(a,null!=t?l(t,"active"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:57},end:{line:1,column:96}}}))?r:"")+" "+(null!=(r=l(n,"if").call(a,null!=t?l(t,"expired"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:97},end:{line:1,column:138}}}))?r:"")+'" id="'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"id")||(null!=t?l(t,"id"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:1,column:144},end:{line:1,column:150}}}):o)+'" draggable="true">\n<div class="list__table-cell">'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"customIcon"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.program(8,i,0),data:i,loc:{start:{line:3,column:0},end:{line:7,column:9}}}))?r:"")+"</div>\n"+(null!=(r=l(n,"if").call(a,null!=(r=null!=t?l(t,"columns"):t)?l(r,"title"):r,{name:"if",hash:{},fn:e.program(11,i,0),inverse:e.noop,data:i,loc:{start:{line:9,column:0},end:{line:9,column:120}}}))?r:"")+"\n"+(null!=(r=l(n,"if").call(a,null!=(r=null!=t?l(t,"columns"):t)?l(r,"user"):r,{name:"if",hash:{},fn:e.program(16,i,0),inverse:e.noop,data:i,loc:{start:{line:10,column:0},end:{line:10,column:71}}}))?r:"")+"\n"+(null!=(r=l(n,"if").call(a,null!=(r=null!=t?l(t,"columns"):t)?l(r,"url"):r,{name:"if",hash:{},fn:e.program(18,i,0),inverse:e.noop,data:i,loc:{start:{line:11,column:0},end:{line:11,column:69}}}))?r:"")+"\n"+(null!=(r=l(n,"if").call(a,null!=(r=null!=t?l(t,"columns"):t)?l(r,"tags"):r,{name:"if",hash:{},fn:e.program(20,i,0),inverse:e.noop,data:i,loc:{start:{line:12,column:0},end:{line:12,column:71}}}))?r:"")+"\n"+(null!=(r=l(n,"if").call(a,null!=(r=null!=t?l(t,"columns"):t)?l(r,"notes"):r,{name:"if",hash:{},fn:e.program(22,i,0),inverse:e.noop,data:i,loc:{start:{line:13,column:0},end:{line:13,column:73}}}))?r:"")+"\n"+(null!=(r=l(n,"if").call(a,null!=(r=null!=t?l(t,"columns"):t)?l(r,"groupName"):r,{name:"if",hash:{},fn:e.program(24,i,0),inverse:e.noop,data:i,loc:{start:{line:14,column:0},end:{line:14,column:81}}}))?r:"")+"\n"+(null!=(r=l(n,"if").call(a,null!=(r=null!=t?l(t,"columns"):t)?l(r,"fileName"):r,{name:"if",hash:{},fn:e.program(26,i,0),inverse:e.noop,data:i,loc:{start:{line:15,column:0},end:{line:15,column:79}}}))?r:"")+"\n</div>\n"},useData:!0})},9363:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__list list__items-container">\n'+(null!=(r="function"==typeof(o=null!=(o=a(n,"itemsHtml")||(null!=t?a(t,"itemsHtml"):t))?o:e.hooks.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"itemsHtml",hash:{},data:i,loc:{start:{line:2,column:0},end:{line:2,column:15}}}):o)?r:"")+"\n</div>\n"},useData:!0})},6973:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?a(o,"enabled"):o,{name:"if",hash:{},fn:e.program(2,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:5,column:0},end:{line:5,column:78}}}))?o:"")+"\n"},2:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table-cell">'+e.escapeExpression((a(n,"Res")||t&&a(t,"Res")||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},null!=(o=r[1][0])?a(o,"name"):o,{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:5,column:49},end:{line:5,column:65}}}))+"</div>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__table">\n<div class="list__table-head list__table-row">\n<div class="list__table-cell"><i class="fa fa-bars muted-color list__table-options"></i></div>\n'+(null!=(o=c(n,"each").call(l,null!=t?c(t,"columns"):t,{name:"each",hash:{},fn:e.program(1,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:"")+'</div>\n<div class="list__table-body list__items-container">\n'+(null!=(o="function"==typeof(a=null!=(a=c(n,"itemsHtml")||(null!=t?c(t,"itemsHtml"):t))?a:e.hooks.helperMissing)?a.call(l,{name:"itemsHtml",hash:{},data:i,blockParams:r,loc:{start:{line:9,column:0},end:{line:9,column:15}}}):a)?o:"")+"\n</div>\n</div>\n"},useData:!0,useBlockParams:!0})},46:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"hide"},3:function(e,t,n,s,i){return"checked"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.hooks.helperMissing,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="list__search">\n<div class="list__search-header">\n<div class="list__search-btn-menu">\n<i class="fa fa-bars"></i>\n</div>\n<div class="list__search-field-wrap">\n<input type="text" class="list__search-field input-search" autocomplete="off" spellcheck="false">\n<div class="list__search-icon-search" title="'+a(c(n,"res").call(o,"searchAdvTitle",{name:"res",hash:{},data:i,loc:{start:{line:8,column:45},end:{line:8,column:69}}}))+'">\n<i class="fa fa-search"></i>\n<i class="fa fa-caret-down"></i>\n</div>\n<div class="list__search-icon-clear">\n<i class="fa fa-times-circle"></i>\n</div>\n</div>\n<div class="list__search-btn-new '+(null!=(r=c(n,"unless").call(o,null!=t?c(t,"canCreate"):t,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:16,column:33},end:{line:16,column:69}}}))?r:"")+'" title="'+a(c(n,"res").call(o,"searchAddNew",{name:"res",hash:{},data:i,loc:{start:{line:16,column:78},end:{line:16,column:100}}}))+'">\n<i class="fa fa-plus"></i>\n</div>\n<div class="list__search-btn-sort" title="'+a(c(n,"res").call(o,"searchSort",{name:"res",hash:{},data:i,loc:{start:{line:19,column:42},end:{line:19,column:62}}}))+'">\n<i class="fa fa-sort-alpha-down"></i>\n</div>\n<div class="list__search-adv '+(null!=(r=c(n,"unless").call(o,null!=t?c(t,"advEnabled"):t,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:22,column:29},end:{line:22,column:66}}}))?r:"")+'">\n<div class="list__search-adv-text">'+a(c(n,"res").call(o,"searchSearchIn",{name:"res",hash:{},data:i,loc:{start:{line:23,column:35},end:{line:23,column:59}}}))+':</div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-user" data-id="user"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"user"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:25,column:0},end:{line:25,column:30}}}))?r:"")+'><label for="list__search-adv-check-user">'+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"user",{name:"Res",hash:{},data:i,loc:{start:{line:25,column:72},end:{line:25,column:86}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-other" data-id="other"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"other"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:27,column:0},end:{line:27,column:31}}}))?r:"")+'><label for="list__search-adv-check-other">'+a(c(n,"res").call(o,"searchOther",{name:"res",hash:{},data:i,loc:{start:{line:27,column:74},end:{line:27,column:95}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-website" data-id="url"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"url"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:29,column:0},end:{line:29,column:29}}}))?r:"")+'><label for="list__search-adv-check-website">'+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"website",{name:"Res",hash:{},data:i,loc:{start:{line:29,column:74},end:{line:29,column:91}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-protect" data-id="protect"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"protect"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:31,column:0},end:{line:31,column:33}}}))?r:"")+'><label for="list__search-adv-check-protect">'+a(c(n,"res").call(o,"searchProtect",{name:"res",hash:{},data:i,loc:{start:{line:31,column:78},end:{line:31,column:101}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-notes" data-id="notes"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"notes"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:33,column:0},end:{line:33,column:31}}}))?r:"")+'><label for="list__search-adv-check-notes">'+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"notes",{name:"Res",hash:{},data:i,loc:{start:{line:33,column:74},end:{line:33,column:89}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-pass" data-id="pass"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"pass"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:35,column:0},end:{line:35,column:30}}}))?r:"")+'><label for="list__search-adv-check-pass">'+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"password",{name:"Res",hash:{},data:i,loc:{start:{line:35,column:72},end:{line:35,column:90}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-title" data-id="title"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"title"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:37,column:0},end:{line:37,column:31}}}))?r:"")+'><label for="list__search-adv-check-title">'+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"title",{name:"Res",hash:{},data:i,loc:{start:{line:37,column:74},end:{line:37,column:89}}}))+'</label></div>\n<div class="list__search-adv-text">'+a(c(n,"res").call(o,"searchOptions",{name:"res",hash:{},data:i,loc:{start:{line:38,column:35},end:{line:38,column:58}}}))+':</div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-cs" data-id="cs"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"cs"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:40,column:0},end:{line:40,column:28}}}))?r:"")+'><label for="list__search-adv-check-cs">'+a(c(n,"res").call(o,"searchCase",{name:"res",hash:{},data:i,loc:{start:{line:40,column:68},end:{line:40,column:88}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-regex" data-id="regex"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"regex"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:42,column:0},end:{line:42,column:31}}}))?r:"")+'><label for="list__search-adv-check-regex">'+a(c(n,"res").call(o,"searchRegex",{name:"res",hash:{},data:i,loc:{start:{line:42,column:74},end:{line:42,column:95}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-history" data-id="history"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"history"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:44,column:0},end:{line:44,column:33}}}))?r:"")+'><label for="list__search-adv-check-history">'+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"history",{name:"Res",hash:{},data:i,loc:{start:{line:44,column:78},end:{line:44,column:95}}}))+'</label></div>\n<div class="list__search-check"><input type="checkbox" id="list__search-adv-check-exact" data-id="exact"\n'+(null!=(r=c(n,"if").call(o,null!=(r=null!=t?c(t,"adv"):t)?c(r,"exact"):r,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:46,column:0},end:{line:46,column:31}}}))?r:"")+'><label for="list__search-adv-check-exact">'+a(c(n,"res").call(o,"searchExact",{name:"res",hash:{},data:i,loc:{start:{line:46,column:74},end:{line:46,column:95}}}))+"</label></div>\n</div>\n</div>\n</div>\n"},useData:!0})},5959:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){return'<div class="list">\n<div class="list__header"></div>\n<div class="list__items">\n<div class="scroller"></div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n</div>\n</div>'},useData:!0})},6669:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return" menu__item--active"},3:function(e,t,n,s,i){return" menu__item--disabled"},5:function(e,t,n,s,i){return" menu__item--with-options "},7:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" "+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"cls")||(null!=t?o(t,"cls"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"cls",hash:{},data:i,loc:{start:{line:5,column:13},end:{line:5,column:20}}}):r)},9:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="menu__item-collapse fa fa-ellipsis-v muted-color" title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"menuItemCollapsed",{name:"res",hash:{},data:i,loc:{start:{line:7,column:86},end:{line:7,column:113}}}))+'"></i>'},11:function(e,t,n,s,i){return'draggable="true"'},13:function(e,t,n,s,i){return'<div class="menu__item-drag-top"></div>'},15:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<img src="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"customIcon")||(null!=t?o(t,"customIcon"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"customIcon",hash:{},data:i,loc:{start:{line:11,column:10},end:{line:11,column:24}}}):r)+'" class="menu__item-icon menu__item-icon--image" />'},17:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="menu__item-icon fa '+(null!=(r=a(n,"if").call(o,null!=t?a(t,"icon"):t,{name:"if",hash:{},fn:e.program(18,i,0),inverse:e.program(20,i,0),data:i,loc:{start:{line:13,column:29},end:{line:13,column:91}}}))?r:"")+(null!=(r=a(n,"if").call(o,null!=t?a(t,"iconCls"):t,{name:"if",hash:{},fn:e.program(22,i,0),inverse:e.noop,data:i,loc:{start:{line:14,column:0},end:{line:14,column:36}}}))?r:"")+'"></i>'},18:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"fa-"+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"icon")||(null!=t?o(t,"icon"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"icon",hash:{},data:i,loc:{start:{line:13,column:44},end:{line:13,column:52}}}):r)},20:function(e,t,n,s,i){return"menu__item-icon--no-icon"},22:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" "+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"iconCls")||(null!=t?o(t,"iconCls"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"iconCls",hash:{},data:i,loc:{start:{line:14,column:17},end:{line:14,column:28}}}):r)},24:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"title")||(null!=t?o(t,"title"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:16,column:44},end:{line:16,column:53}}}):r)},26:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"("+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"noTitle",{name:"res",hash:{},data:i,loc:{start:{line:16,column:62},end:{line:16,column:79}}}))+")"},28:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="menu__item-options">\n'+(null!=(o=a(n,"each").call(null!=t?t:e.nullContext||{},null!=t?a(t,"options"):t,{name:"each",hash:{},fn:e.program(29,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:19,column:0},end:{line:22,column:9}}}))?o:"")+"</div>\n"},29:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="menu__item-option '+(null!=(o=c(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?c(o,"cls"):o,{name:"if",hash:{},fn:e.program(30,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:20,column:30},end:{line:20,column:63}}}))?o:"")+'"\ndata-value="'+l(a(null!=(o=r[0][0])?c(o,"value"):o,t))+'">'+l(a(null!=(o=r[0][0])?c(o,"title"):o,t))+"</div>\n"},30:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"cls"):o,t))},32:function(e,t,n,s,i){return'<i class="menu__item-edit fa fa-cog"></i>'},34:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="menu__item-empty-trash fa fa-minus-circle" title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"menuEmptyTrash",{name:"res",hash:{},data:i,loc:{start:{line:26,column:87},end:{line:26,column:111}}}))+'"\ntip-placement="right"></i>'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="menu__item'+(null!=(o=l(n,"if").call(a,null!=t?l(t,"active"):t,{name:"if",hash:{},fn:e.program(1,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:2,column:0},end:{line:2,column:42}}}))?o:"")+(null!=(o=l(n,"if").call(a,null!=t?l(t,"disabled"):t,{name:"if",hash:{},fn:e.program(3,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:3,column:46}}}))?o:"")+(null!=(o=l(n,"if").call(a,null!=(o=null!=t?l(t,"options"):t)?l(o,"length"):o,{name:"if",hash:{},fn:e.program(5,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:4,column:0},end:{line:4,column:57}}}))?o:"")+(null!=(o=l(n,"if").call(a,null!=t?l(t,"cls"):t,{name:"if",hash:{},fn:e.program(7,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:5,column:0},end:{line:5,column:28}}}))?o:"")+'">\n'+(null!=(o=l(n,"if").call(a,null!=t?l(t,"collapsible"):t,{name:"if",hash:{},fn:e.program(9,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:7,column:0},end:{line:7,column:126}}}))?o:"")+'\n<div class="menu__item-body" '+(null!=(o=l(n,"if").call(a,null!=t?l(t,"drag"):t,{name:"if",hash:{},fn:e.program(11,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:8,column:29},end:{line:8,column:64}}}))?o:"")+">\n"+(null!=(o=l(n,"if").call(a,null!=t?l(t,"drag"):t,{name:"if",hash:{},fn:e.program(13,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:9,column:0},end:{line:9,column:58}}}))?o:"")+"\n"+(null!=(o=l(n,"if").call(a,null!=t?l(t,"customIcon"):t,{name:"if",hash:{},fn:e.program(15,i,0,r),inverse:e.program(17,i,0,r),data:i,blockParams:r,loc:{start:{line:10,column:0},end:{line:15,column:8}}}))?o:"")+'<span class="menu__item-title">'+(null!=(o=l(n,"if").call(a,null!=t?l(t,"title"):t,{name:"if",hash:{},fn:e.program(24,i,0,r),inverse:e.program(26,i,0,r),data:i,blockParams:r,loc:{start:{line:16,column:31},end:{line:16,column:87}}}))?o:"")+"</span>\n"+(null!=(o=l(n,"if").call(a,null!=t?l(t,"options"):t,{name:"if",hash:{},fn:e.program(28,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:0},end:{line:24,column:7}}}))?o:"")+(null!=(o=l(n,"if").call(a,null!=t?l(t,"editable"):t,{name:"if",hash:{},fn:e.program(32,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:25,column:0},end:{line:25,column:64}}}))?o:"")+"\n"+(null!=(o=l(n,"ifeq").call(a,null!=t?l(t,"filterKey"):t,"trash",{name:"ifeq",hash:{},fn:e.program(34,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:26,column:0},end:{line:27,column:35}}}))?o:"")+"\n</div>\n</div>\n"},useData:!0,useBlockParams:!0})},6051:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return" menu__section--scrollable"},3:function(e,t,n,s,i){return" menu__section--grow"},5:function(e,t,n,s,i){return" menu__section--drag"},7:function(e,t,n,s,i){return'<div class="scroller"></div><div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="menu__section'+(null!=(r=a(n,"if").call(o,null!=t?a(t,"scrollable"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:2,column:0},end:{line:2,column:53}}}))?r:"")+(null!=(r=a(n,"if").call(o,null!=t?a(t,"grow"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:0},end:{line:3,column:41}}}))?r:"")+(null!=(r=a(n,"if").call(o,null!=t?a(t,"drag"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:4,column:0},end:{line:4,column:41}}}))?r:"")+'">'+(null!=(r=a(n,"if").call(o,null!=t?a(t,"scrollable"):t,{name:"if",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))?r:"")+"</div>\n"},useData:!0})},8445:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){return'<div class="menu">\n</div>'},useData:!0})},4727:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"modal--opaque"},3:function(e,t,n,s,i){return"modal--wide"},5:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="modal__icon fa fa-'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"icon")||(null!=t?o(t,"icon"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"icon",hash:{},data:i,loc:{start:{line:4,column:28},end:{line:4,column:36}}}):r)+'"></i>\n'},7:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(e.lambda(r[0][0],t))+"\n"+(null!=(o=a(n,"unless").call(null!=t?t:e.nullContext||{},i&&a(i,"last"),{name:"unless",hash:{},fn:e.program(8,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:10,column:0},end:{line:10,column:33}}}))?o:"")+"\n"},8:function(e,t,n,s,i){return"<br/>"},10:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<pre class="modal__pre">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"pre")||(null!=t?o(t,"pre"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"pre",hash:{},data:i,loc:{start:{line:12,column:35},end:{line:12,column:42}}}):r)+"</pre>"},12:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.hooks.helperMissing,l="function",c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+c(typeof(r=null!=(r=u(n,"link")||(null!=t?u(t,"link"):t))?r:a)===l?r.call(o,{name:"link",hash:{},data:i,loc:{start:{line:13,column:21},end:{line:13,column:29}}}):r)+'" class="modal__link" target="_blank">'+c(typeof(r=null!=(r=u(n,"link")||(null!=t?u(t,"link"):t))?r:a)===l?r.call(o,{name:"link",hash:{},data:i,loc:{start:{line:13,column:67},end:{line:13,column:75}}}):r)+"</a>"},14:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<p class="muted-color">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"hint")||(null!=t?o(t,"hint"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"hint",hash:{},data:i,loc:{start:{line:14,column:35},end:{line:14,column:43}}}):r)+"</p>"},16:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="modal__check-wrap"><input type="checkbox" id="modal__check" /><label for="modal__check">'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"checkbox")||(null!=t?o(t,"checkbox"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"checkbox",hash:{},data:i,loc:{start:{line:16,column:100},end:{line:16,column:112}}}):r)+"</label></div>\n"},18:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="'+(null!=(o=u(n,"unless").call(a,null!=(o=r[0][0])?u(o,"result"):o,{name:"unless",hash:{},fn:e.program(19,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:21,column:15},end:{line:21,column:57}}}))?o:"")+" "+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"error"):o,{name:"if",hash:{},fn:e.program(19,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:21,column:58},end:{line:21,column:91}}}))?o:"")+" "+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"silent"):o,{name:"if",hash:{},fn:e.program(21,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:21,column:92},end:{line:21,column:127}}}))?o:"")+'"\ndata-result="'+c(l(null!=(o=r[0][0])?u(o,"result"):o,t))+'">'+c(l(null!=(o=r[0][0])?u(o,"title"):o,t))+"</button>\n"},19:function(e,t,n,s,i){return"btn-error"},21:function(e,t,n,s,i){return"btn-silent"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="modal modal--hidden '+(null!=(o=c(n,"if").call(l,null!=t?c(t,"opaque"):t,{name:"if",hash:{},fn:e.program(1,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:1,column:32},end:{line:1,column:66}}}))?o:"")+" "+(null!=(o=c(n,"if").call(l,null!=t?c(t,"wide"):t,{name:"if",hash:{},fn:e.program(3,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:1,column:67},end:{line:1,column:97}}}))?o:"")+'">\n<div class="modal__content">\n'+(null!=(o=c(n,"if").call(l,null!=t?c(t,"icon"):t,{name:"if",hash:{},fn:e.program(5,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))?o:"")+'<div class="modal__header">'+e.escapeExpression("function"==typeof(a=null!=(a=c(n,"header")||(null!=t?c(t,"header"):t))?a:e.hooks.helperMissing)?a.call(l,{name:"header",hash:{},data:i,blockParams:r,loc:{start:{line:6,column:27},end:{line:6,column:37}}}):a)+'</div>\n<div class="modal__body">\n'+(null!=(o=c(n,"each").call(l,null!=t?c(t,"body"):t,{name:"each",hash:{},fn:e.program(7,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:8,column:0},end:{line:11,column:9}}}))?o:"")+(null!=(o=c(n,"if").call(l,null!=t?c(t,"pre"):t,{name:"if",hash:{},fn:e.program(10,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:12,column:0},end:{line:12,column:55}}}))?o:"")+"\n"+(null!=(o=c(n,"if").call(l,null!=t?c(t,"link"):t,{name:"if",hash:{},fn:e.program(12,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:13,column:0},end:{line:13,column:86}}}))?o:"")+"\n"+(null!=(o=c(n,"if").call(l,null!=t?c(t,"hint"):t,{name:"if",hash:{},fn:e.program(14,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:14,column:0},end:{line:14,column:54}}}))?o:"")+"\n"+(null!=(o=c(n,"if").call(l,null!=t?c(t,"checkbox"):t,{name:"if",hash:{},fn:e.program(16,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:15,column:0},end:{line:17,column:7}}}))?o:"")+'</div>\n<div class="modal__buttons">\n'+(null!=(o=c(n,"each").call(l,null!=t?c(t,"buttons"):t,{name:"each",hash:{},fn:e.program(18,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:20,column:0},end:{line:23,column:9}}}))?o:"")+"</div>\n</div>\n</div>\n"},useData:!0,useBlockParams:!0})},2460:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<!DOCTYPE html>\n<html lang="en">\n<head>\n<meta charset="UTF-8" />\n<title>KeeWeb</title>\n<meta charset="utf8" />\n<meta name="viewport" content="width=device-width" />\n<style>\nbody {\nheight: 100vh;\nmin-height: 100vh;\nbackground: #ffffff;\ncolor: #242424;\nfont-family: -apple-system, \'BlinkMacSystemFont\', \'Helvetica Neue\', \'Helvetica\',\n\'Roboto\', \'Arial\', sans-serif;\nfont-size: 16px;\nline-height: 1.6;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nflex-direction: column;\n}\n@media (prefers-color-scheme: dark) {\nbody {\nbackground-color: #1e1e1e;\ncolor: #fcfcfc;\n}\n}\nimg {\nwidth: 96px;\nheight: 96px;\n}\nh1 {\npadding: 20px;\nfont-size: 32px;\n}\n</style>\n</head>\n<body>\n<img\nsrc="'+a("function"==typeof(r=null!=(r=l(n,"logoSrc")||(null!=t?l(t,"logoSrc"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"logoSrc",hash:{},data:i,loc:{start:{line:41,column:5},end:{line:41,column:16}}}):r)+'"\nalt="KeeWeb"\n/>\n<h1>'+a(l(n,"res").call(o,"appBrowserAuthComplete",{name:"res",hash:{},data:i,loc:{start:{line:44,column:4},end:{line:44,column:36}}}))+"</h1>\n</body>\n</html>\n"},useData:!0})},1198:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-chal-resp__head">\n<p>\n<i class="open-chal-resp__icon fa fa-spinner spin"></i> '+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openChalRespLoading",{name:"res",hash:{},data:i,loc:{start:{line:5,column:56},end:{line:5,column:85}}}))+"\n</p>\n</div>\n"},3:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=t?a(t,"error"):t,{name:"if",hash:{},fn:e.program(4,i,0,r),inverse:e.program(7,i,0,r),data:i,blockParams:r,loc:{start:{line:8,column:0},end:{line:35,column:0}}}))?o:""},4:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-chal-resp__head">\n<p>\n<i class="open-chal-resp__icon fa fa-ban"></i> '+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"error")||(null!=t?l(t,"error"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"error",hash:{},data:i,loc:{start:{line:11,column:47},end:{line:11,column:56}}}):o)+"\n</p>\n"+(null!=(r=l(n,"if").call(a,null!=t?l(t,"showEmptyMacWarning"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?r:"")+"</div>\n"},5:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openChalRespErrorEmptyMac",{name:"res",hash:{},data:i,loc:{start:{line:14,column:3},end:{line:14,column:38}}}))+"</p>\n"},7:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-chal-resp__head">\n<p>\n'+e.escapeExpression(l(n,"res").call(a,"openChalRespSelectYubiKey",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:20,column:0},end:{line:20,column:35}}}))+":\n</p>\n</div>\n<div>\n"+(null!=(o=l(n,"each").call(a,null!=t?l(t,"yubiKeys"):t,{name:"each",hash:{},fn:e.program(8,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:24,column:0},end:{line:33,column:9}}}))?o:"")+"</div>\n"},8:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-chal-resp__item"\ndata-vid="'+l(a(null!=(o=r[0][0])?c(o,"vid"):o,t))+'"\ndata-pid="'+l(a(null!=(o=r[0][0])?c(o,"pid"):o,t))+'"\ndata-serial="'+l(a(null!=(o=r[0][0])?c(o,"serial"):o,t))+'"\ndata-slot="'+l(a(null!=(o=r[0][0])?c(o,"slot"):o,t))+'"\n>\n'+l(a(null!=(o=r[0][0])?c(o,"fullName"):o,t))+", "+l(c(n,"res").call(null!=t?t:e.nullContext||{},"yubiKeySlot",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:31,column:17},end:{line:31,column:38}}}))+" "+l(a(null!=(o=r[0][0])?c(o,"slot"):o,t))+"\n</div>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-chal-resp">\n'+(null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=t?a(t,"loading"):t,{name:"if",hash:{},fn:e.program(1,i,0,r),inverse:e.program(3,i,0,r),data:i,blockParams:r,loc:{start:{line:2,column:0},end:{line:35,column:7}}}))?o:"")+"</div>\n"},useData:!0,useBlockParams:!0})},6796:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"name")||(null!=t?o(t,"name"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"name",hash:{},data:i,loc:{start:{line:2,column:90},end:{line:2,column:98}}}):r)},3:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__config-desc">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"desc"):t,{name:"res",hash:{},data:i,loc:{start:{line:3,column:43},end:{line:3,column:55}}}))+"</div>"},5:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<label for="open__config-field-'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:6,column:31},end:{line:6,column:37}}}):o)+'">'+u(d(n,"res").call(a,null!=t?d(t,"title"):t,{name:"res",hash:{},data:i,loc:{start:{line:6,column:39},end:{line:6,column:52}}}))+":</label>\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"desc"):t,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:0},end:{line:7,column:86}}}))?r:"")+'\n<input type="'+u(typeof(o=null!=(o=d(n,"type")||(null!=t?d(t,"type"):t))?o:l)===c?o.call(a,{name:"type",hash:{},data:i,loc:{start:{line:8,column:13},end:{line:8,column:21}}}):o)+'" class="open__config-field input-base" id="open__config-field-'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:8,column:84},end:{line:8,column:90}}}):o)+'"\nautocomplete="off" autocapitalize="off"\n'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"placeholder"):t,{name:"if",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:10,column:0},end:{line:10,column:59}}}))?r:"")+"\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"required"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:11,column:0},end:{line:11,column:31}}}))?r:"")+"\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"pattern"):t,{name:"if",hash:{},fn:e.program(12,i,0),inverse:e.noop,data:i,loc:{start:{line:12,column:0},end:{line:12,column:43}}}))?r:"")+"\n/>\n"},6:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__config-field-desc muted-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"desc"):t,{name:"res",hash:{},data:i,loc:{start:{line:7,column:61},end:{line:7,column:73}}}))+"</div>"},8:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'placeholder="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"placeholder"):t,{name:"res",hash:{},data:i,loc:{start:{line:10,column:32},end:{line:10,column:51}}}))+'"'},10:function(e,t,n,s,i){return"required"},12:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'pattern="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"pattern")||(null!=t?o(t,"pattern"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"pattern",hash:{},data:i,loc:{start:{line:12,column:24},end:{line:12,column:35}}}):r)+'"'},14:function(e,t,n,s,i){var r=null!=t?t:e.nullContext||{},o=e.escapeExpression,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__config-buttons">\n<button class="btn-silent open__config-btn-cancel">'+o(a(n,"res").call(r,"alertCancel",{name:"res",hash:{},data:i,loc:{start:{line:19,column:51},end:{line:19,column:72}}}))+'</button>\n<button class="open__config-btn-ok">\n<span class="open__config-btn-ok-text">'+o(a(n,"res").call(r,"alertOk",{name:"res",hash:{},data:i,loc:{start:{line:21,column:39},end:{line:21,column:56}}}))+'</span>\n<i class="open__config-btn-ok-spinner fa fa-spinner spin"></i>\n</button>\n</div>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__config">\n<h2 class="open__config-header"><i class="fa fa-'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"icon")||(null!=t?l(t,"icon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"icon",hash:{},data:i,loc:{start:{line:2,column:48},end:{line:2,column:56}}}):o)+'"></i> '+(null!=(r=l(n,"res").call(a,"openConfigHeader",{name:"res",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:2,column:63},end:{line:2,column:106}}}))?r:"")+"</h2>\n"+(null!=(r=l(n,"if").call(a,null!=t?l(t,"desc"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:0},end:{line:3,column:68}}}))?r:"")+'\n<div class="open__config-fields">\n'+(null!=(r=l(n,"each").call(a,null!=t?l(t,"fields"):t,{name:"each",hash:{},fn:e.program(5,i,2),inverse:e.noop,data:i,loc:{start:{line:5,column:0},end:{line:14,column:9}}}))?r:"")+'</div>\n<div class="open__config-error error-color"></div>\n'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"buttons"):t,{name:"if",hash:{},fn:e.program(14,i,0),inverse:e.noop,data:i,loc:{start:{line:17,column:0},end:{line:25,column:7}}}))?r:"")+"</div>\n"},useData:!0})},160:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"hide"},3:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"unlockMessageRes"):t,{name:"res",hash:{},data:i,loc:{start:{line:4,column:59},end:{line:4,column:83}}}))},5:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-open" tabindex="1" id="open__icon-open">\n<i class="fa fa-lock open__icon-i"></i>\n<div class="open__icon-text">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openOpen",{name:"res",hash:{},data:i,loc:{start:{line:13,column:29},end:{line:13,column:47}}}))+"</div>\n</div>\n"},7:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-new" tabindex="2" id="open__icon-new">\n<i class="fa fa-plus open__icon-i"></i>\n<div class="open__icon-text">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openNew",{name:"res",hash:{},data:i,loc:{start:{line:19,column:29},end:{line:19,column:46}}}))+"</div>\n</div>\n"},9:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"demoOpened"):t,!1,{name:"ifeq",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:28,column:0},end:{line:33,column:9}}}))?r:""},10:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-demo" tabindex="4" id="open__icon-demo">\n<i class="fa fa-magic open__icon-i"></i>\n<div class="open__icon-text">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openDemo",{name:"res",hash:{},data:i,loc:{start:{line:31,column:29},end:{line:31,column:47}}}))+"</div>\n</div>\n"},12:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-more" tabindex="5" id="open__icon-more">\n<i class="fa fa-ellipsis-h open__icon-i"></i>\n<div class="open__icon-text">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openMore",{name:"res",hash:{},data:i,loc:{start:{line:38,column:29},end:{line:38,column:47}}}))+"</div>\n</div>\n"},14:function(e,t,n,s,i){return'<div class="open__icon open__icon-more id=open__icon-more">\n<i class="fa fa-keeweb open__icon-i"></i>\n<div class="open__icon-text">KeeWeb</div>\n</div>\n'},16:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=null!=t?t:e.nullContext||{},u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-storage" data-storage="'+l(a(null!=(o=r[0][0])?u(o,"name"):o,t))+'" tabindex="'+l(u(n,"add").call(c,i&&u(i,"index"),6,{name:"add",hash:{},data:i,blockParams:r,loc:{start:{line:50,column:81},end:{line:50,column:97}}}))+'"\nid="open__icon-storage--'+l(a(null!=(o=r[0][0])?u(o,"name"):o,t))+'">\n'+(null!=(o=u(n,"if").call(c,null!=(o=r[0][0])?u(o,"icon"):o,{name:"if",hash:{},fn:e.program(17,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:52,column:0},end:{line:52,column:70}}}))?o:"")+'\n<div class="open__icon-text">'+l(u(n,"res").call(c,null!=(o=r[0][0])?u(o,"name"):o,{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:53,column:29},end:{line:53,column:45}}}))+"</div>\n</div>\n"},17:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"icon"):o,t))+' open__icon-i"></i>'},19:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"if").call(null!=t?t:e.nullContext||{},null!=t?o(t,"demoOpened"):t,{name:"if",hash:{},fn:e.program(20,i,0),inverse:e.noop,data:i,loc:{start:{line:57,column:0},end:{line:62,column:7}}}))?r:""},20:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-demo" tabindex="20" id="open__icon-demo">\n<i class="fa fa-magic open__icon-i"></i>\n<div class="open__icon-text">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openDemo",{name:"res",hash:{},data:i,loc:{start:{line:60,column:29},end:{line:60,column:47}}}))+"</div>\n</div>\n"},22:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-generate" tabindex="21" id="open__icon-generate">\n<i class="fa fa-bolt open__icon-i"></i>\n<div class="open__icon-text">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openGenerate",{name:"res",hash:{},data:i,loc:{start:{line:67,column:29},end:{line:67,column:51}}}))+"</div>\n</div>\n"},24:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__icon open__icon-settings" tabindex="22" id="open__icon-settings">\n<i class="fa fa-cog open__icon-i"></i>\n<div class="open__icon-text">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"settings",{name:"res",hash:{},data:i,loc:{start:{line:73,column:29},end:{line:73,column:47}}}))+"</div>\n</div>\n"},26:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openClickToOpen",{name:"res",hash:{},data:i,loc:{start:{line:88,column:28},end:{line:88,column:53}}}))},28:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<span class="open__settings-key-file-dropbox"> '+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"openKeyFileDropbox",{name:"res",hash:{},data:i,loc:{start:{line:99,column:76},end:{line:99,column:104}}}))+"</span>"},30:function(e,t,n,s,i){return"open__settings-yubikey--present"},32:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open__last-item" data-id="'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'" title="'+c(l(null!=(a=r[0][0])?d(a,"path"):a,t))+'" tabindex="'+c(d(n,"add").call(u,i&&d(i,"index"),30,{name:"add",hash:{},data:i,blockParams:r,loc:{start:{line:108,column:83},end:{line:108,column:100}}}))+'"\nid="open__last-item--'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'">\n'+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"icon"):a,{name:"if",hash:{},fn:e.program(33,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:110,column:0},end:{line:110,column:80}}}))?a:"")+'\n<span class="open__last-item-text">'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+"</span>\n"+(null!=(a=d(n,"if").call(u,null!=o[1]?d(o[1],"canRemoveLatest"):o[1],{name:"if",hash:{},fn:e.program(35,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:112,column:0},end:{line:112,column:85}}}))?a:"")+"\n</div>\n"},33:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"icon"):o,t))+' open__last-item-icon"></i>'},35:function(e,t,n,s,i){return'<i class="fa fa-times open__last-item-icon-del"></i>'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open">\n<input type="file" class="open__file-ctrl hide-by-pos" />\n<div class="open__message '+(null!=(a=u(n,"unless").call(l,null!=t?u(t,"unlockMessageRes"):t,{name:"unless",hash:{},fn:e.program(1,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:3,column:26},end:{line:3,column:69}}}))?a:"")+'">\n<div class="open__message-content">'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"unlockMessageRes"):t,{name:"if",hash:{},fn:e.program(3,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:4,column:35},end:{line:4,column:90}}}))?a:"")+'</div>\n<div class="open__message-cancel-btn" title="'+c(u(n,"res").call(l,"alertCancel",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:5,column:45},end:{line:5,column:66}}}))+'" tip-placement="left">\n<i class="fa fa-times-circle open__message-cancel-btn-icon"></i>\n</div>\n</div>\n<div class="open__icons">\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canOpen"):t,{name:"if",hash:{},fn:e.program(5,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:10,column:0},end:{line:15,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canCreate"):t,{name:"if",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:21,column:7}}}))?a:"")+'<div class="open__icon open__icon-yubikey '+(null!=(a=u(n,"unless").call(l,null!=t?u(t,"canOpenYubiKey"):t,{name:"unless",hash:{},fn:e.program(1,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:22,column:42},end:{line:22,column:83}}}))?a:"")+'"\ntabindex="3" id="open__icon-yubikey">\n<i class="fa fa-usb-token open__icon-i"></i>\n<div class="open__icon-text">YubiKey</div>\n</div>\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canOpenDemo"):t,{name:"if",hash:{},fn:e.program(9,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:27,column:0},end:{line:34,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"showMore"):t,{name:"if",hash:{},fn:e.program(12,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:35,column:0},end:{line:40,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"showLogo"):t,{name:"if",hash:{},fn:e.program(14,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:41,column:0},end:{line:46,column:7}}}))?a:"")+'</div>\n<div class="open__icons open__icons--lower hide">\n'+(null!=(a=u(n,"each").call(l,null!=t?u(t,"storageProviders"):t,{name:"each",hash:{},fn:e.program(16,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:49,column:0},end:{line:55,column:9}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canOpenDemo"):t,{name:"if",hash:{},fn:e.program(19,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:56,column:0},end:{line:63,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canOpenGenerator"):t,{name:"if",hash:{},fn:e.program(22,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:64,column:0},end:{line:69,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canOpenSettings"):t,{name:"if",hash:{},fn:e.program(24,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:70,column:0},end:{line:75,column:7}}}))?a:"")+'</div>\n<div class="open__pass-area">\n<div class="hide">\n<input type="text" name="username">\n<input type="password" name="password">\n</div>\n<div class="open__pass-warn-wrap">\n<div class="open__pass-warning muted-color invisible"><i class="fa fa-exclamation-triangle"></i> '+c(u(n,"res").call(l,"openCaps",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:84,column:97},end:{line:84,column:115}}}))+'</div>\n</div>\n<div class="open__pass-field-wrap">\n<input class="open__pass-input" name="password" type="password" size="30" autocomplete="new-password" maxlength="1024"\nplaceholder="'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canOpen"):t,{name:"if",hash:{},fn:e.program(26,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:88,column:13},end:{line:88,column:60}}}))?a:"")+'" readonly tabindex="23" />\n<div class="open__pass-enter-btn" tabindex="24">\n<i class="fa fa-level-down-alt rotate-90 open__pass-enter-btn-icon-enter"></i>\n<i class="fa fa-fingerprint open__pass-enter-btn-icon-touch-id"></i>\n</div>\n<div class="open__pass-opening-icon"><i class="fa fa-spinner spin"></i></div>\n</div>\n<div class="open__settings">\n<div class="open__settings-key-file hide" tabindex="25">\n<i class="fa fa-key open__settings-key-file-icon">\n</i><span class="open__settings-key-file-name">'+c(u(n,"res").call(l,"openKeyFile",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:98,column:47},end:{line:98,column:68}}}))+"</span>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canOpenKeyFromDropbox"):t,{name:"if",hash:{},fn:e.program(28,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:99,column:0},end:{line:99,column:118}}}))?a:"")+'\n</div>\n<div class="open__settings-yubikey '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canUseChalRespYubiKey"):t,{name:"if",hash:{},fn:e.program(30,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:101,column:35},end:{line:101,column:102}}}))?a:"")+' hide"\ntabindex="26" title="YubiKey">\n<div class="open__settings-yubikey__text">YK</div> <i class="fa fa-usb-token open__settings-yubikey-img"></i>\n</div>\n</div>\n<div class="open__last">\n'+(null!=(a=u(n,"each").call(l,null!=t?u(t,"lastOpenFiles"):t,{name:"each",hash:{},fn:e.program(32,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:107,column:0},end:{line:114,column:9}}}))?a:"")+'</div>\n</div>\n<div class="open__config-wrap">\n</div>\n<div class="open__dropzone">\n<i class="fa fa-lock muted-color open__dropzone-icon"></i>\n<h1 class="muted-color open__dropzone-header">'+c(u(n,"res").call(l,"openDropHere",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:121,column:46},end:{line:121,column:68}}}))+"</h1>\n</div>\n</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},8335:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="select-entry__header">\n<h1 class="select-entry__header-text">'+(null!=(r=a(n,"res").call(o,"detOtpTouch",{name:"res",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i,loc:{start:{line:4,column:38},end:{line:4,column:87}}}))?r:"")+'</h1>\n</div>\n<div class="select-entry-field__large-text">\n<i class="fa fa-usb-token select-entry-field__large-icon"></i>\n<p>'+e.escapeExpression(a(n,"res").call(o,"selectEntryFieldTouch",{name:"res",hash:{},data:i,loc:{start:{line:8,column:3},end:{line:8,column:34}}}))+"</p>\n</div>\n"},2:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"deviceShortName")||(null!=t?o(t,"deviceShortName"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"deviceShortName",hash:{},data:i,loc:{start:{line:4,column:60},end:{line:4,column:79}}}):r)},4:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="select-entry__header">\n<h1 class="select-entry__header-text">'+e.escapeExpression(c(n,"res").call(l,"selectEntryFieldHeader",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:12,column:38},end:{line:12,column:70}}}))+'</h1>\n</div>\n<div class="select-entry-field__items">\n<div class="scroller">\n'+(null!=(a=c(n,"if").call(l,null!=(a=null!=t?c(t,"fields"):t)?c(a,"length"):a,{name:"if",hash:{},fn:e.program(5,i,0,r,o),inverse:e.program(9,i,0,r,o),data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:28,column:7}}}))?a:"")+'</div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n</div>\n'},5:function(e,t,n,s,i,r,o){var a,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<table class="select-entry-field__table">\n'+(null!=(a=l(n,"each").call(null!=t?t:e.nullContext||{},null!=t?l(t,"fields"):t,{name:"each",hash:{},fn:e.program(6,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:18,column:0},end:{line:24,column:9}}}))?a:"")+"</table>\n"},6:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<tr class="select-entry-field__item '+(null!=(a=u(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=(a=r[0][0])?u(a,"field"):a,null!=o[1]?u(o[1],"activeField"):o[1],{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:19,column:36},end:{line:19,column:109}}}))?a:"")+'"\ndata-field="'+c(l(null!=(a=r[0][0])?u(a,"field"):a,t))+'">\n<td>'+c(l(null!=(a=r[0][0])?u(a,"field"):a,t))+"</td>\n<td>"+c(l(null!=(a=r[0][0])?u(a,"value"):a,t))+"</td>\n</tr>\n"},7:function(e,t,n,s,i){return"select-entry-field__item--active"},9:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<h1 class="select-entry__empty-title muted-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"autoTypeNoMatches",{name:"res",hash:{},data:i,loc:{start:{line:27,column:50},end:{line:27,column:77}}}))+"</h1>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="select-entry-field">\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"needsTouch"):t,{name:"if",hash:{},fn:e.program(1,i,0,r,o),inverse:e.program(4,i,0,r,o),data:i,blockParams:r,loc:{start:{line:2,column:0},end:{line:32,column:7}}}))?a:"")+'<div class="select-entry-field__buttons">\n<button class="btn btn-error select-entry-field__cancel-btn">'+c(u(n,"res").call(l,"alertCancel",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:34,column:61},end:{line:34,column:82}}}))+" ("+c(u(n,"res").call(l,"keyEsc",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:34,column:84},end:{line:34,column:100}}}))+")</button>\n</div>\n</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},4406:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"select-entry__item--active"},3:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<img src="'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"customIcon")||(null!=t?l(t,"customIcon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"customIcon",hash:{},data:i,loc:{start:{line:5,column:10},end:{line:5,column:24}}}):o)+'" class="select-entry__item-icon select-entry__item-icon--custom '+(null!=(r=l(n,"if").call(a,null!=t?l(t,"color"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:89},end:{line:5,column:118}}}))?r:"")+'" />'},4:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"color")||(null!=t?o(t,"color"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"color",hash:{},data:i,loc:{start:{line:5,column:102},end:{line:5,column:111}}}):r)},6:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"icon")||(null!=t?l(t,"icon"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"icon",hash:{},data:i,loc:{start:{line:7,column:16},end:{line:7,column:24}}}):o)+" "+(null!=(r=l(n,"if").call(a,null!=t?l(t,"color"):t,{name:"if",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:25},end:{line:7,column:60}}}))?r:"")+' select-entry__item-icon"></i>'},7:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"color")||(null!=t?o(t,"color"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"color",hash:{},data:i,loc:{start:{line:7,column:38},end:{line:7,column:47}}}):r)+"-color"},9:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"title")||(null!=t?o(t,"title"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"title",hash:{},data:i,loc:{start:{line:10,column:55},end:{line:10,column:64}}}):r)},11:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"("+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"noTitle",{name:"res",hash:{},data:i,loc:{start:{line:10,column:73},end:{line:10,column:90}}}))+")"},13:function(e,t,n,s,i){return'<td class="select-entry__item-options">\n<i class="fa fa-ellipsis-h"></i>\n</td>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<tr class="select-entry__item '+(null!=(r=d(n,"if").call(a,null!=t?d(t,"active"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:1,column:30},end:{line:1,column:77}}}))?r:"")+'" data-id="'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:1,column:88},end:{line:1,column:94}}}):o)+'"\nid="select-entry__item--'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:2,column:24},end:{line:2,column:30}}}):o)+'">\n<td class="select-entry__item-icon-cell">'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"customIcon"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.program(6,i,0),data:i,loc:{start:{line:4,column:0},end:{line:8,column:9}}}))?r:"")+'</td>\n<td class="select-entry__item-title-cell">'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"title"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.program(11,i,0),data:i,loc:{start:{line:10,column:42},end:{line:10,column:98}}}))?r:"")+'</td>\n<td class="select-entry__item-user-cell">'+u(typeof(o=null!=(o=d(n,"user")||(null!=t?d(t,"user"):t))?o:l)===c?o.call(a,{name:"user",hash:{},data:i,loc:{start:{line:11,column:41},end:{line:11,column:49}}}):o)+'</td>\n<td class="select-entry__item-url-cell">'+u(typeof(o=null!=(o=d(n,"url")||(null!=t?d(t,"url"):t))?o:l)===c?o.call(a,{name:"url",hash:{},data:i,loc:{start:{line:12,column:40},end:{line:12,column:47}}}):o)+"</td>\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"itemOptions"):t,{name:"if",hash:{},fn:e.program(13,i,0),inverse:e.noop,data:i,loc:{start:{line:13,column:0},end:{line:17,column:7}}}))?r:"")+"</tr>\n"},useData:!0})},4807:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"autoTypeHeader",{name:"res",hash:{},data:i,loc:{start:{line:5,column:0},end:{line:5,column:24}}}))+"\n"},3:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"selectEntryHeader",{name:"res",hash:{},data:i,loc:{start:{line:7,column:0},end:{line:7,column:27}}}))+"\n"},5:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.hooks.helperMissing,l="function",c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="select-entry__hint-text"><span class="shortcut">'+c(typeof(r=null!=(r=u(n,"keyEnter")||(null!=t?u(t,"keyEnter"):t))?r:a)===l?r.call(o,{name:"keyEnter",hash:{},data:i,loc:{start:{line:12,column:60},end:{line:12,column:72}}}):r)+"</span>: "+c(u(n,"res").call(o,"autoTypeSelectionHint",{name:"res",hash:{},data:i,loc:{start:{line:12,column:81},end:{line:12,column:112}}}))+'</div>\n<div class="select-entry__hint-text"><span class="shortcut">'+c(typeof(r=null!=(r=u(n,"actionSymbol")||(null!=t?u(t,"actionSymbol"):t))?r:a)===l?r.call(o,{name:"actionSymbol",hash:{},data:i,loc:{start:{line:13,column:60},end:{line:13,column:76}}}):r)+" "+c(typeof(r=null!=(r=u(n,"keyEnter")||(null!=t?u(t,"keyEnter"):t))?r:a)===l?r.call(o,{name:"keyEnter",hash:{},data:i,loc:{start:{line:13,column:77},end:{line:13,column:89}}}):r)+"</span>: "+c(u(n,"res").call(o,"autoTypeSelectionHintAction",{name:"res",hash:{},data:i,loc:{start:{line:13,column:98},end:{line:13,column:135}}}))+'</div>\n<div class="select-entry__hint-text"><span class="shortcut">'+c(typeof(r=null!=(r=u(n,"altSymbol")||(null!=t?u(t,"altSymbol"):t))?r:a)===l?r.call(o,{name:"altSymbol",hash:{},data:i,loc:{start:{line:14,column:60},end:{line:14,column:73}}}):r)+" "+c(typeof(r=null!=(r=u(n,"keyEnter")||(null!=t?u(t,"keyEnter"):t))?r:a)===l?r.call(o,{name:"keyEnter",hash:{},data:i,loc:{start:{line:14,column:74},end:{line:14,column:86}}}):r)+"</span>: "+c(u(n,"res").call(o,"autoTypeSelectionHintOpt",{name:"res",hash:{},data:i,loc:{start:{line:14,column:95},end:{line:14,column:129}}}))+'</div>\n<div class="select-entry__hint-text"><span class="shortcut">'+c(typeof(r=null!=(r=u(n,"shiftSymbol")||(null!=t?u(t,"shiftSymbol"):t))?r:a)===l?r.call(o,{name:"shiftSymbol",hash:{},data:i,loc:{start:{line:15,column:60},end:{line:15,column:75}}}):r)+" "+c(typeof(r=null!=(r=u(n,"keyEnter")||(null!=t?u(t,"keyEnter"):t))?r:a)===l?r.call(o,{name:"keyEnter",hash:{},data:i,loc:{start:{line:15,column:76},end:{line:15,column:88}}}):r)+"</span>: "+c(u(n,"res").call(o,"autoTypeSelectionHintShift",{name:"res",hash:{},data:i,loc:{start:{line:15,column:97},end:{line:15,column:133}}}))+"</div>\n"},7:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="select-entry__hint-text"><span class="shortcut">'+a("function"==typeof(r=null!=(r=l(n,"keyEnter")||(null!=t?l(t,"keyEnter"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"keyEnter",hash:{},data:i,loc:{start:{line:17,column:60},end:{line:17,column:72}}}):r)+"</span>: "+a(l(n,"res").call(o,"selectEntryEnterHint",{name:"res",hash:{},data:i,loc:{start:{line:17,column:81},end:{line:17,column:111}}}))+'</div>\n<div class="select-entry__hint-text">'+a(l(n,"res").call(o,"selectEntryTypingHint",{name:"res",hash:{},data:i,loc:{start:{line:18,column:37},end:{line:18,column:68}}}))+"</div>\n"},9:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="select-entry__filter '+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"active"):o,{name:"if",hash:{},fn:e.program(10,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:27,column:33},end:{line:27,column:89}}}))?o:"")+'"\ndata-filter="'+c(l(null!=(o=r[0][0])?u(o,"id"):o,t))+'"\ndata-active="'+c(l(null!=(o=r[0][0])?u(o,"active"):o,t))+'"\n>\n<i class="fa '+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"active"):o,{name:"if",hash:{},fn:e.program(12,i,0,r),inverse:e.program(14,i,0,r),data:i,blockParams:r,loc:{start:{line:31,column:13},end:{line:31,column:77}}}))?o:"")+' select-entry__filter-check"></i>\n<i class="fa fa-filter select-entry__filter-icon"></i>\n<div class="select-entry__filter-text">'+c(l(null!=(o=r[0][0])?u(o,"type"):o,t))+(null!=(o=u(n,"if").call(a,null!=(o=r[0][0])?u(o,"text"):o,{name:"if",hash:{},fn:e.program(16,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:33,column:54},end:{line:33,column:82}}}))?o:"")+c(l(null!=(o=r[0][0])?u(o,"text"):o,t))+"</div>\n</div>\n"},10:function(e,t,n,s,i){return"select-entry__filter--active"},12:function(e,t,n,s,i){return"fa-check-square-o"},14:function(e,t,n,s,i){return"fa-square-o"},16:function(e,t,n,s,i){return": "},18:function(e,t,n,s,i){var r,o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<table class="select-entry__table">'+(null!=(r="function"==typeof(o=null!=(o=a(n,"itemsHtml")||(null!=t?a(t,"itemsHtml"):t))?o:e.hooks.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"itemsHtml",hash:{},data:i,loc:{start:{line:40,column:35},end:{line:40,column:50}}}):o)?r:"")+"</table>\n"},20:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<h1 class="select-entry__empty-title muted-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"autoTypeNoMatches",{name:"res",hash:{},data:i,loc:{start:{line:42,column:50},end:{line:42,column:77}}}))+"</h1>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="select-entry">\n<div class="select-entry__header">\n<h1 class="select-entry__header-text">\n'+(null!=(o=u(n,"if").call(l,null!=t?u(t,"isAutoType"):t,{name:"if",hash:{},fn:e.program(1,i,0,r),inverse:e.program(3,i,0,r),data:i,blockParams:r,loc:{start:{line:4,column:0},end:{line:8,column:7}}}))?o:"")+'</h1>\n<div class="select-entry__hint" id="select-entry__hint">\n'+(null!=(o=u(n,"if").call(l,null!=t?u(t,"isAutoType"):t,{name:"if",hash:{},fn:e.program(5,i,0,r),inverse:e.program(7,i,0,r),data:i,blockParams:r,loc:{start:{line:11,column:0},end:{line:19,column:7}}}))?o:"")+'</div>\n</div>\n<div class="select-entry__message">\n<div class="select-entry__message-text">'+c("function"==typeof(a=null!=(a=u(n,"topMessage")||(null!=t?u(t,"topMessage"):t))?a:e.hooks.helperMissing)?a.call(l,{name:"topMessage",hash:{},data:i,blockParams:r,loc:{start:{line:23,column:40},end:{line:23,column:54}}}):a)+'</div>\n</div>\n<div class="select-entry__filters">\n'+(null!=(o=u(n,"each").call(l,null!=t?u(t,"filters"):t,{name:"each",hash:{},fn:e.program(9,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:26,column:0},end:{line:35,column:9}}}))?o:"")+'</div>\n<div class="select-entry__items">\n<div class="scroller">\n'+(null!=(o=u(n,"if").call(l,null!=t?u(t,"itemsHtml"):t,{name:"if",hash:{},fn:e.program(18,i,0,r),inverse:e.program(20,i,0,r),data:i,blockParams:r,loc:{start:{line:39,column:0},end:{line:43,column:7}}}))?o:"")+'</div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n</div>\n<div class="select-entry__buttons">\n<button class="btn btn-error select-entry__cancel-btn">'+c(u(n,"res").call(l,"alertCancel",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:48,column:55},end:{line:48,column:76}}}))+" ("+c(u(n,"res").call(l,"keyEsc",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:48,column:78},end:{line:48,column:94}}}))+")</button>\n</div>\n</div>\n"},useData:!0,useBlockParams:!0})},6804:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return'<a href="https://antelle.net" target="_blank">Antelle</a>'},3:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"licenseLink")||(null!=t?o(t,"licenseLink"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"licenseLink",hash:{},data:i,loc:{start:{line:4,column:35},end:{line:4,column:50}}}):r)+'" target="_blank">MIT</a>'},5:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"repoLink")||(null!=t?o(t,"repoLink"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"repoLink",hash:{},data:i,loc:{start:{line:5,column:34},end:{line:5,column:46}}}):r)+'" target="_blank">GitHub <i class="fa fa-github-alt bottom"></i></a>'},7:function(e,t,n,s,i){return'<li><a href="https://electron.atom.io/" target="_blank">electron</a><span class="muted-color">, cross-platform desktop apps framework, &copy; 2013-2020 GitHub Inc.</span></li>'},9:function(e,t,n,s,i){return'<h3>Desktop modules</h3>\n<ul>\n<li><a href="https://github.com/ranisalt/node-argon2" target="_blank">node-argon2</a><span class="muted-color">, node.js bindings for Argon2 hashing algorithm, &copy; 2015 Ranieri Althoff</span></li>\n<li><a href="https://github.com/MadLittleMods/node-usb-detection" target="_blank">node-usb-detection</a><span class="muted-color">, list USB devices in system and detect changes on them, &copy; 2013 Kaba AG</span></li>\n<li><a href="https://github.com/atom/node-keytar" target="_blank">node-keytar</a><span class="muted-color">, native password node module, &copy; 2013 GitHub Inc.</span></li>\n<li><a href="https://github.com/antelle/node-yubikey-chalresp" target="_blank">node-yubikey-chalresp</a><span class="muted-color">, YubiKey challenge-response API for node.js, &copy; 2020 Antelle</span></li>\n<li><a href="https://github.com/antelle/node-secure-enclave" target="_blank">node-secure-enclave</a><span class="muted-color">, Secure Enclave module for node.js and Electron, &copy; 2020 Antelle</span></li>\n<li><a href="https://github.com/antelle/node-keyboard-auto-type" target="_blank">node-keyboard-auto-type</a><span class="muted-color">, node.js bindings for keyboard-auto-type, &copy; 2021 Antelle</span></li>\n</ul>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.hooks.helperMissing,u="function",d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-info settings__head-icon"></i> '+l(d(n,"res").call(a,"setAboutTitle",{name:"res",hash:{},data:i,loc:{start:{line:2,column:51},end:{line:2,column:74}}}))+" KeeWeb v"+l(typeof(o=null!=(o=d(n,"version")||(null!=t?d(t,"version"):t))?o:c)===u?o.call(a,{name:"version",hash:{},data:i,loc:{start:{line:2,column:83},end:{line:2,column:94}}}):o)+"</h1>\n<p>"+(null!=(r=d(n,"res").call(a,"setAboutFirst",{name:"res",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:3},end:{line:3,column:93}}}))?r:"")+"&nbsp;"+(null!=(r=d(n,"res").call(a,"setAboutSecond",{name:"res",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:4,column:0},end:{line:4,column:83}}}))?r:"")+"\n"+(null!=(r=d(n,"res").call(a,"setAboutSource",{name:"res",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:0},end:{line:5,column:122}}}))?r:"")+'</p>\n<a href="'+l(typeof(o=null!=(o=d(n,"donationLink")||(null!=t?d(t,"donationLink"):t))?o:c)===u?o.call(a,{name:"donationLink",hash:{},data:i,loc:{start:{line:6,column:9},end:{line:6,column:25}}}):o)+'" target="_blank" class="settings__donate-btn">\n<span class="settings__donate-btn-top">Become a</span><span class="settings__donate-btn-bottom">Backer</span>\n</a>\n<p>'+l(d(n,"res").call(a,"setAboutBuilt",{name:"res",hash:{},data:i,loc:{start:{line:9,column:3},end:{line:9,column:26}}}))+":</p>\n<h3>Libraries</h3>\n<ul>\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"isDesktop"):t,{name:"if",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:12,column:0},end:{line:12,column:199}}}))?r:"")+'\n<li><a href="https://handlebarsjs.com/" target="_blank">handlebars</a><span class="muted-color">, minimal templating on steroids, &copy; 2011-2019 by Yehuda Katz</span></li>\n<li><a href="https://github.com/patrick-steele-idem/morphdom" target="_blank">morphdom</a><span class="muted-color">, fast and lightweight DOM diffing/patching, &copy; Patrick Steele-Idem &lt;pnidem@gmail.com&gt; (psteeleidem.com)</span></li>\n<li><a href="https://lodash.com/" target="_blank">lodash</a><span class="muted-color">, a modern JavaScript utility library delivering modularity, performance & extras, &copy; OpenJS Foundation and other contributors &lt;https://openjsf.org/&gt;</span></li>\n<li><a href="https://jquery.com/" target="_blank">jQuery</a><span class="muted-color">, fast, small, and feature-rich JavaScript library, &copy; OpenJS Foundation and other contributors, https://openjsf.org/</span></li>\n</ul>\n<h3>Core components</h3>\n<ul>\n<li><a href="https://github.com/keeweb/kdbxweb" target="_blank">kdbxweb</a><span class="muted-color">, web kdbx library, &copy; 2016 Antelle</span></li>\n<li><a href="https://nodeca.github.io/pako/" target="_blank">pako</a><span class="muted-color">, high speed zlib port to javascript, &copy; 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn</span></li>\n<li><a href="https://github.com/inexorabletash/text-encoding" target="_blank">text-encoding</a><span class="muted-color">, polyfill for the Encoding Living Standard\'s API, public domain</span></li>\n<li><a href="https://github.com/jindw/xmldom" target="_blank">xmldom</a><span class="muted-color">, a pure JS W3C Standard based DOMParser and XMLSerializer</span></li>\n</ul>\n<h3>UI components</h3>\n<ul>\n<li><a href="https://github.com/Diokuz/baron" target="_blank">baron</a><span class="muted-color">, native scroll with custom scrollbar, &copy; 2018 Kuznetsov Dmitriy</span></li>\n<li><a href="https://github.com/Pikaday/Pikaday" target="_blank">pikaday</a><span class="muted-color">, a refreshing JavaScript datepicker, &copy; 2014 David Bushell</span></li>\n</ul>\n'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"isDesktop"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.noop,data:i,loc:{start:{line:30,column:0},end:{line:40,column:7}}}))?r:"")+'<h3>Utils</h3>\n<ul>\n<li><a href="https://marked.js.org/" target="_blank">marked</a><span class="muted-color">, a markdown parser and compiler, &copy; 2018+, MarkedJS (https://github.com/markedjs/) &copy; 2011-2018, Christopher Jeffrey (https://github.com/chjj/)</span></li>\n<li><a href="https://github.com/cure53/DOMPurify" target="_blank">dompurify</a><span class="muted-color">, a DOM-only, super-fast, uber-tolerant XSS sanitizer, &copy; 2015 Mario Heiderich, </span>\n<a href="'+l(typeof(o=null!=(o=d(n,"licenseLinkApache")||(null!=t?d(t,"licenseLinkApache"):t))?o:c)===u?o.call(a,{name:"licenseLinkApache",hash:{},data:i,loc:{start:{line:45,column:9},end:{line:45,column:30}}}):o)+'" class="muted-color" target="_blank">Apache-2.0 license</a></li>\n<li><a href="https://github.com/TomFrost/node-phonetic" target="_blank">node-phonetic</a><span class="muted-color">, generates unique, pronounceable names, &copy; 2013 Tom Frost</span></li>\n<li><a href="https://github.com/LazarSoft/jsqrcode" target="_blank">jsqrcode</a><span class="muted-color">, javascript QR code scanner,\n<a href="'+l(typeof(o=null!=(o=d(n,"licenseLinkApache")||(null!=t?d(t,"licenseLinkApache"):t))?o:c)===u?o.call(a,{name:"licenseLinkApache",hash:{},data:i,loc:{start:{line:48,column:9},end:{line:48,column:30}}}):o)+'" class="muted-color" target="_blank">Apache-2.0 license</a></span></li>\n<li><a href="https://tweetnacl.js.org/" target="_blank">tweetnacl.js</a><span class="muted-color">, port of TweetNaCl cryptographic library to JavaScript, public domain</span></li>\n</ul>\n<h3>Styles</h3>\n<ul>\n<li><a href="https://sass-lang.com/" target="_blank">sass</a><span class="muted-color">, syntactically awesome stylesheets, &copy; 2012-2016 by the Sass Open Source Foundation</span></li>\n<li><a href="https://bourbon.io/" target="_blank">bourbon</a><span class="muted-color">, a lightweight Sass tool set, &copy; 2011-2020 thoughtbot, inc. &lt;http://thoughtbot.com/&gt;</span></li>\n<li><a href="https://github.com/thoughtbot/bitters" target="_blank">bitters</a><span class="muted-color">, a dash of pre-defined style to your Bourbon, &copy; 20132019 thoughtbot, inc. &lt;http://thoughtbot.com/&gt;</span></li>\n<li><a href="https://necolas.github.io/normalize.css/" target="_blank">normalize.css</a><span class="muted-color">, a modern, HTML5-ready alternative to CSS resets, &copy; Nicolas Gallagher and Jonathan Neal</span></li>\n</ul>\n<h3>Graphics</h3>\n<ul>\n<li><a href="https://fontawesome.com/" target="_blank">fontawesome</a><span class="muted-color">, the iconic SVG, font, and CSS toolkit, </span>\n<a href="'+l(typeof(o=null!=(o=d(n,"licenseLinkCCBY40")||(null!=t?d(t,"licenseLinkCCBY40"):t))?o:c)===u?o.call(a,{name:"licenseLinkCCBY40",hash:{},data:i,loc:{start:{line:61,column:9},end:{line:61,column:30}}}):o)+'" class="muted-color" target="_blank">CC BY 4.0 License</a> <span class="muted-color">(icons only)</span></li>\n</ul>\n<h2>'+l(d(n,"res").call(a,"setAboutLic",{name:"res",hash:{},data:i,loc:{start:{line:63,column:4},end:{line:63,column:25}}}))+"</h2>\n<p>"+l(d(n,"res").call(a,"setAboutLicComment",{name:"res",hash:{},data:i,loc:{start:{line:64,column:3},end:{line:64,column:31}}}))+":</p>\n<p>Copyright &copy; "+l(typeof(o=null!=(o=d(n,"year")||(null!=t?d(t,"year"):t))?o:c)===u?o.call(a,{name:"year",hash:{},data:i,loc:{start:{line:65,column:20},end:{line:65,column:28}}}):o)+' Antelle https://antelle.net</p>\n<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the "Software"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\nand to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>\n<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>\n<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\nTHE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS\nOR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\nARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>\n</div>\n'},useData:!0})},1424:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+l(c(n,"res").call(a,"setBrowserIntroDesktop",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:4,column:3},end:{line:4,column:35}}}))+"</p>\n<p>KeeWeb Connect: "+l(c(n,"res").call(a,"setBrowserIntroKeeWebConnect",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:5,column:19},end:{line:5,column:57}}}))+"</p>\n<p>KeePassXC-Browser: "+l(c(n,"res").call(a,"setBrowserIntroKeePassXcBrowser",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:6,column:22},end:{line:6,column:63}}}))+"</p>\n"+(null!=(o=c(n,"if").call(a,null!=t?c(t,"anyBrowserIsEnabled"):t,{name:"if",hash:{},fn:e.program(2,i,0,r),inverse:e.program(4,i,0,r),data:i,blockParams:r,loc:{start:{line:7,column:0},end:{line:11,column:7}}}))?o:"")+'<table class="settings__browser-table">\n<thead>\n<tr>\n<th></th>\n'+(null!=(o=c(n,"each").call(a,null!=t?c(t,"extensionNames"):t,{name:"each",hash:{},fn:e.program(6,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:18,column:9}}}))?o:"")+"</tr>\n</thead>\n<tbody>\n"+(null!=(o=c(n,"each").call(a,null!=t?c(t,"settingsPerBrowser"):t,{name:"each",hash:{},fn:e.program(8,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:22,column:0},end:{line:68,column:9}}}))?o:"")+"</tbody>\n</table>\n"},2:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserEnablePerBrowser",{name:"res",hash:{},data:i,loc:{start:{line:8,column:3},end:{line:8,column:39}}}))+"</p>\n"},4:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<p class="error-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserNotEnabled",{name:"res",hash:{},data:i,loc:{start:{line:10,column:23},end:{line:10,column:53}}}))+"</p>\n"},6:function(e,t,n,s,i,r){return"<th>"+e.escapeExpression(e.lambda(r[0][0],t))+"</th>\n"},8:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<tr>\n<td>"+e.escapeExpression(e.lambda(null!=(o=r[0][0])?a(o,"browserName"):o,t))+"</td>\n"+(null!=(o=a(n,"each").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?a(o,"extensions"):o,{name:"each",hash:{},fn:e.program(9,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:25,column:0},end:{line:66,column:9}}}))?o:"")+"</tr>\n"},9:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<td>\n"+(null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?a(o,"manualUrl"):o,{name:"if",hash:{},fn:e.program(10,i,0,r),inverse:e.program(12,i,0,r),data:i,blockParams:r,loc:{start:{line:27,column:0},end:{line:64,column:7}}}))?o:"")+"</td>\n"},10:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+a(e.lambda(null!=(o=r[1][0])?l(o,"manualUrl"):o,t))+'" target="_blank" rel="noreferrer"\nclass="settings__browser-extension-link icon-link"\ntitle="'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserExtensionHelp",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:30,column:7},end:{line:30,column:40}}}))+'"\n>\n<i class="fa fa-info-circle"></i>\n</a>\n'},12:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(o=l(n,"if").call(a,null!=(o=r[1][0])?l(o,"supported"):o,{name:"if",hash:{},fn:e.program(13,i,0,r),inverse:e.program(16,i,0,r),data:i,blockParams:r,loc:{start:{line:35,column:0},end:{line:45,column:7}}}))?o:"")+(null!=(o=l(n,"if").call(a,null!=(o=r[1][0])?l(o,"enabled"):o,{name:"if",hash:{},fn:e.program(18,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:46,column:0},end:{line:63,column:7}}}))?o:"")},13:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<input type="checkbox"\nclass="check-enable-for-browser"\n'+(null!=(o=c(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[2][0])?c(o,"enabled"):o,{name:"if",hash:{},fn:e.program(14,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:38,column:0},end:{line:38,column:37}}}))?o:"")+'\nid="check-enable-'+l(a(null!=(o=r[2][0])?c(o,"alias"):o,t))+"-for-"+l(a(null!=(o=r[3][0])?c(o,"browser"):o,t))+'"\ndata-browser="'+l(a(null!=(o=r[3][0])?c(o,"browser"):o,t))+'"\ndata-extension="'+l(a(null!=(o=r[2][0])?c(o,"alias"):o,t))+'" />\n<label for="check-enable-'+l(a(null!=(o=r[2][0])?c(o,"alias"):o,t))+"-for-"+l(a(null!=(o=r[3][0])?c(o,"browser"):o,t))+'"></label>\n'},14:function(e,t,n,s,i){return"checked"},16:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-times muted-color" title="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserExtensionNotSupported",{name:"res",hash:{},data:i,loc:{start:{line:44,column:42},end:{line:44,column:83}}}))+'"></i>\n'},18:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(o=l(n,"if").call(a,null!=(o=r[2][0])?l(o,"helpUrl"):o,{name:"if",hash:{},fn:e.program(19,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:47,column:0},end:{line:54,column:7}}}))?o:"")+(null!=(o=l(n,"if").call(a,null!=(o=r[2][0])?l(o,"installUrl"):o,{name:"if",hash:{},fn:e.program(21,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:55,column:0},end:{line:62,column:7}}}))?o:"")},19:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+a(e.lambda(null!=(o=r[3][0])?l(o,"helpUrl"):o,t))+'" target="_blank" rel="noreferrer"\nclass="settings__browser-extension-link icon-link"\ntitle="'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserExtensionHelp",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:50,column:7},end:{line:50,column:40}}}))+'"\n>\n<i class="fa fa-info-circle"></i>\n</a>\n'},21:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+a(e.lambda(null!=(o=r[3][0])?l(o,"installUrl"):o,t))+'" target="_blank" rel="noreferrer"\nclass="settings__browser-extension-link icon-link"\ntitle="'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserExtensionInstall",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:58,column:7},end:{line:58,column:43}}}))+'"\n>\n<i class="fa fa-download"></i>\n</a>\n'},23:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+l(c(n,"res").call(a,"setBrowserIntroWeb",{name:"res",hash:{},data:i,loc:{start:{line:72,column:3},end:{line:72,column:31}}}))+'</p>\n<a href="'+l("function"==typeof(o=null!=(o=c(n,"extensionDownloadLink")||(null!=t?c(t,"extensionDownloadLink"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"extensionDownloadLink",hash:{},data:i,loc:{start:{line:73,column:9},end:{line:73,column:34}}}):o)+'" target="_blank" rel="noreferrer">\nKeeWeb Connect '+(null!=(r=c(n,"res").call(a,"setBrowserExtensionFor",{name:"res",hash:{},fn:e.program(24,i,0),inverse:e.noop,data:i,loc:{start:{line:74,column:15},end:{line:74,column:82}}}))?r:"")+"\n</a>\n"},24:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"extensionBrowserFamily")||(null!=t?o(t,"extensionBrowserFamily"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"extensionBrowserFamily",hash:{},data:i,loc:{start:{line:74,column:48},end:{line:74,column:74}}}):r)},26:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+e.escapeExpression(c(n,"res").call(l,"setBrowserSessionsIntro",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:92,column:3},end:{line:92,column:36}}}))+"</p>\n"+(null!=(a=c(n,"each").call(l,null!=t?c(t,"sessions"):t,{name:"each",hash:{},fn:e.program(27,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:93,column:0},end:{line:182,column:9}}}))?a:"")},27:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lambda,u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<h3>\n<span class="settings__browser-extension-status\n'+(null!=(a=d(n,"if").call(l,null!=(a=r[0][0])?d(a,"permissions"):a,{name:"if",hash:{},fn:e.program(28,i,0,r,o),inverse:e.program(30,i,0,r,o),data:i,blockParams:r,loc:{start:{line:96,column:0},end:{line:102,column:7}}}))?a:"")+'"\ntitle="'+(null!=(a=d(n,"if").call(l,null!=(a=r[0][0])?d(a,"permissions"):a,{name:"if",hash:{},fn:e.program(35,i,0,r,o),inverse:e.program(37,i,0,r,o),data:i,blockParams:r,loc:{start:{line:104,column:0},end:{line:110,column:7}}}))?a:"")+'"\n></span>\n'+u(c(null!=(a=r[0][0])?d(a,"extensionName"):a,t))+(null!=(a=d(n,"if").call(l,null!=(a=r[0][0])?d(a,"appName"):a,{name:"if",hash:{},fn:e.program(42,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:112,column:25},end:{line:112,column:77}}}))?a:"")+"\n</h3>\n<p>"+u(d(n,"res").call(l,"setBrowserSessionsConnectedDate",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:114,column:3},end:{line:114,column:44}}}))+": "+u(c(null!=(a=r[0][0])?d(a,"connectedDate"):a,t))+"</p>\n<p>\n"+(null!=(a=d(n,"if").call(l,null!=(a=r[0][0])?d(a,"permissions"):a,{name:"if",hash:{},fn:e.program(44,i,0,r,o),inverse:e.program(46,i,0,r,o),data:i,blockParams:r,loc:{start:{line:116,column:0},end:{line:122,column:7}}}))?a:"")+"</p>\n"+(null!=(a=d(n,"if").call(l,null!=(a=r[0][0])?d(a,"permissions"):a,{name:"if",hash:{},fn:e.program(51,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:124,column:0},end:{line:174,column:7}}}))?a:"")+'<div class="settings__browser-session-buttons">\n'+(null!=(a=d(n,"if").call(l,null!=o[1]?d(o[1],"desktop"):o[1],{name:"if",hash:{},fn:e.program(62,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:176,column:0},end:{line:180,column:7}}}))?a:"")+"</div>\n"},28:function(e,t,n,s,i){return"green-color\n"},30:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[1][0])?a(o,"permissionsDenied"):o,{name:"if",hash:{},fn:e.program(31,i,0,r),inverse:e.program(33,i,0,r),data:i,blockParams:r,loc:{start:{line:98,column:0},end:{line:102,column:0}}}))?o:""},31:function(e,t,n,s,i){return"red-color\n"},33:function(e,t,n,s,i){return"muted-color\n"},35:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsActiveTooltip",{name:"res",hash:{},data:i,loc:{start:{line:105,column:0},end:{line:105,column:41}}}))},37:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[1][0])?a(o,"permissionsDenied"):o,{name:"if",hash:{},fn:e.program(38,i,0,r),inverse:e.program(40,i,0,r),data:i,blockParams:r,loc:{start:{line:106,column:0},end:{line:110,column:0}}}))?o:""},38:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsDeniedTooltip",{name:"res",hash:{},data:i,loc:{start:{line:107,column:0},end:{line:107,column:41}}}))},40:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsInactiveTooltip",{name:"res",hash:{},data:i,loc:{start:{line:109,column:0},end:{line:109,column:43}}}))+"\n"},42:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" ("+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"appName"):o,t))+")"},44:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsActiveText",{name:"res",hash:{},data:i,loc:{start:{line:117,column:0},end:{line:117,column:38}}}))+"\n"},46:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[1][0])?a(o,"permissionsDenied"):o,{name:"if",hash:{},fn:e.program(47,i,0,r),inverse:e.program(49,i,0,r),data:i,blockParams:r,loc:{start:{line:118,column:0},end:{line:122,column:0}}}))?o:""},47:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsDeniedText",{name:"res",hash:{},data:i,loc:{start:{line:119,column:0},end:{line:119,column:38}}}))+"\n"},49:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsInactiveText",{name:"res",hash:{},data:i,loc:{start:{line:121,column:0},end:{line:121,column:40}}}))+"\n"},51:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lambda,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<div>\n<label>"+l(u(n,"res").call(a,"setBrowserSessionsAccessToFiles",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:126,column:7},end:{line:126,column:48}}}))+':</label>\n<div class="settings__browser-session-files">\n'+(null!=(o=u(n,"each").call(a,null!=(o=r[1][0])?u(o,"fileAccess"):o,{name:"each",hash:{},fn:e.program(52,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:128,column:0},end:{line:138,column:9}}}))?o:"")+"</div>\n</div>\n"+(null!=(o=u(n,"if").call(a,null!=(o=r[1][0])?u(o,"noFileAccess"):o,{name:"if",hash:{},fn:e.program(54,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:141,column:0},end:{line:143,column:7}}}))?o:"")+'<div>\n<label for="settings__browser-session-ask-get--'+l(c(null!=(o=r[1][0])?u(o,"connectionId"):o,t))+'">'+l(u(n,"res").call(a,"extensionConnectAskGet",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:145,column:73},end:{line:145,column:105}}}))+'</label>\n<select id="settings__browser-session-ask-get--'+l(c(null!=(o=r[1][0])?u(o,"connectionId"):o,t))+'"\ndata-client-id="'+l(c(null!=(o=r[1][0])?u(o,"clientId"):o,t))+'"\nclass="settings__browser-session-ask-get settings__select input-base">\n<option value="multiple" '+(null!=(o=u(n,"ifeq").call(a,null!=(o=null!=(o=r[1][0])?u(o,"permissions"):o)?u(o,"askGet"):o,"multiple",{name:"ifeq",hash:{},fn:e.program(56,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:149,column:25},end:{line:149,column:89}}}))?o:"")+">\n"+l(u(n,"res").call(a,"extensionConnectAskGetMultiple",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:150,column:0},end:{line:150,column:40}}}))+'\n</option>\n<option value="always" '+(null!=(o=u(n,"ifeq").call(a,null!=(o=null!=(o=r[1][0])?u(o,"permissions"):o)?u(o,"askGet"):o,"always",{name:"ifeq",hash:{},fn:e.program(56,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:152,column:23},end:{line:152,column:85}}}))?o:"")+">\n"+l(u(n,"res").call(a,"extensionConnectAskGetAlways",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:153,column:0},end:{line:153,column:38}}}))+"\n</option>\n</select>\n</div>\n"+(null!=(o=u(n,"if").call(a,null!=(o=r[1][0])?u(o,"showAskSave"):o,{name:"if",hash:{},fn:e.program(58,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:157,column:0},end:{line:171,column:7}}}))?o:"")+"<p>"+l(u(n,"res").call(a,"setBrowserSessionsPasswordsRead",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:172,column:3},end:{line:172,column:44}}}))+": "+l(c(null!=(o=r[1][0])?u(o,"passwordsRead"):o,t))+"</p>\n"+(null!=(o=u(n,"if").call(a,null!=(o=r[1][0])?u(o,"passwordsWritten"):o,{name:"if",hash:{},fn:e.program(60,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:173,column:0},end:{line:173,column:120}}}))?o:"")+"\n"},52:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__browser-session-file">\n<input type="checkbox" class="input-base settings__browser-session-file-check"\ndata-client-id="'+l(a(null!=(o=r[2][0])?c(o,"clientId"):o,t))+'"\ndata-file-id="'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'"\nid="settings__browser-session-file-check--'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'"\n'+(null!=(o=c(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?c(o,"checked"):o,{name:"if",hash:{},fn:e.program(14,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:134,column:0},end:{line:134,column:34}}}))?o:"")+'\n/>\n<label for="settings__browser-session-file-check--'+l(a(null!=(o=r[0][0])?c(o,"id"):o,t))+'">'+l(a(null!=(o=r[0][0])?c(o,"name"):o,t))+"</label>\n</div>\n"},54:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<p class="error-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsNoFileAccess",{name:"res",hash:{},data:i,loc:{start:{line:142,column:23},end:{line:142,column:63}}}))+"</p>\n"},56:function(e,t,n,s,i){return"selected"},58:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=null!=t?t:e.nullContext||{},u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<label for="settings__browser-session-ask-save--'+l(a(null!=(o=r[2][0])?u(o,"connectionId"):o,t))+'">'+l(u(n,"res").call(c,"extensionConnectAskSave",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:159,column:74},end:{line:159,column:107}}}))+'</label>\n<select id="settings__browser-session-ask-save--'+l(a(null!=(o=r[2][0])?u(o,"connectionId"):o,t))+'"\ndata-client-id="'+l(a(null!=(o=r[2][0])?u(o,"clientId"):o,t))+'"\nclass="settings__browser-session-ask-save settings__select input-base">\n<option value="always" '+(null!=(o=u(n,"ifeq").call(c,null!=(o=null!=(o=r[2][0])?u(o,"permissions"):o)?u(o,"askSave"):o,"always",{name:"ifeq",hash:{},fn:e.program(56,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:163,column:23},end:{line:163,column:86}}}))?o:"")+">\n"+l(u(n,"res").call(c,"extensionConnectAskSaveAlways",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:164,column:0},end:{line:164,column:39}}}))+'\n</option>\n<option value="auto" '+(null!=(o=u(n,"ifeq").call(c,null!=(o=null!=(o=r[2][0])?u(o,"permissions"):o)?u(o,"askSave"):o,"auto",{name:"ifeq",hash:{},fn:e.program(56,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:166,column:21},end:{line:166,column:82}}}))?o:"")+">\n"+l(u(n,"res").call(c,"extensionConnectAskSaveAuto",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:167,column:0},end:{line:167,column:37}}}))+"\n</option>\n</select>\n</div>\n"},60:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsPasswordsWritten",{name:"res",hash:{},data:i,loc:{start:{line:173,column:35},end:{line:173,column:79}}}))+": "+a(e.lambda(null!=(o=r[2][0])?l(o,"passwordsWritten"):o,t))+"</p>"},62:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="btn btn-error settings__browser-btn-terminate-session"\ndata-connection-id="'+a(e.lambda(null!=(o=r[1][0])?l(o,"connectionId"):o,t))+'"\n>'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsTerminate",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:179,column:1},end:{line:179,column:38}}}))+"</button>\n"},64:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setBrowserSessionsEmpty",{name:"res",hash:{},data:i,loc:{start:{line:184,column:3},end:{line:184,column:36}}}))+"</p>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-'+u("function"==typeof(l=null!=(l=d(n,"icon")||(null!=t?d(t,"icon"):t))?l:e.hooks.helperMissing)?l.call(c,{name:"icon",hash:{},data:i,blockParams:r,loc:{start:{line:2,column:20},end:{line:2,column:28}}}):l)+' settings__head-icon"></i> '+u(d(n,"res").call(c,"setBrowserTitle",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:2,column:55},end:{line:2,column:80}}}))+"</h1>\n"+(null!=(a=d(n,"if").call(c,null!=t?d(t,"desktop"):t,{name:"if",hash:{},fn:e.program(1,i,0,r,o),inverse:e.program(23,i,0,r,o),data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:76,column:7}}}))?a:"")+'<p></p>\n<div>\n<input type="checkbox" class="settings__input input-base settings__browser-focus-if-locked"\nid="settings__browser-focus-if-locked"\n'+(null!=(a=d(n,"if").call(c,null!=t?d(t,"focusIfLocked"):t,{name:"if",hash:{},fn:e.program(14,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:81,column:0},end:{line:81,column:35}}}))?a:"")+' />\n<label for="settings__browser-focus-if-locked">'+u(d(n,"res").call(c,"setBrowserFocusIfLocked",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:82,column:47},end:{line:82,column:80}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__browser-focus-if-empty"\nid="settings__browser-focus-if-empty"\n'+(null!=(a=d(n,"if").call(c,null!=t?d(t,"focusIfEmpty"):t,{name:"if",hash:{},fn:e.program(14,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:87,column:0},end:{line:87,column:34}}}))?a:"")+' />\n<label for="settings__browser-focus-if-empty">'+u(d(n,"res").call(c,"setBrowserFocusIfEmpty",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:88,column:46},end:{line:88,column:78}}}))+"</label>\n</div>\n<h2>"+u(d(n,"res").call(c,"setBrowserSessions",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:90,column:4},end:{line:90,column:32}}}))+"</h2>\n"+(null!=(a=d(n,"if").call(c,null!=(a=null!=t?d(t,"sessions"):t)?d(a,"length"):a,{name:"if",hash:{},fn:e.program(26,i,0,r,o),inverse:e.program(64,i,0,r,o),data:i,blockParams:r,loc:{start:{line:91,column:0},end:{line:185,column:7}}}))?a:"")+"</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},2465:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return"checked"},3:function(e,t,n,s,i){return"disabled"},5:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<h2>YubiKey</h2>\n<p>"+(null!=(r=l(n,"res").call(o,"setDevicesYubiKeyIntro",{name:"res",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:10,column:3},end:{line:10,column:132}}}))?r:"")+"</p>\n<h3>"+a(l(n,"res").call(o,"setDevicesYubiKeyOtpTitle",{name:"res",hash:{},data:i,loc:{start:{line:11,column:4},end:{line:11,column:39}}}))+"</h3>\n<p>"+a(l(n,"res").call(o,"setDevicesYubiKeyOtpDesc",{name:"res",hash:{},data:i,loc:{start:{line:12,column:3},end:{line:12,column:37}}}))+"</p>\n<p>\n"+(null!=(r=l(n,"res").call(o,"setDevicesYubiKeyToolsDesc",{name:"res",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:14,column:0},end:{line:14,column:63}}}))?r:"")+"\n"+(null!=(r=l(n,"res").call(o,"setDevicesYubiKeyToolsDesc2",{name:"res",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:15,column:0},end:{line:15,column:137}}}))?r:"")+"\n</p>\n<p>\n"+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"ykmanStatus"):t,"checking",{name:"ifeq",hash:{},fn:e.program(12,i,0),inverse:e.noop,data:i,loc:{start:{line:18,column:0},end:{line:18,column:117}}}))?r:"")+"\n"+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"ykmanStatus"):t,"ok",{name:"ifeq",hash:{},fn:e.program(14,i,0),inverse:e.noop,data:i,loc:{start:{line:19,column:0},end:{line:19,column:102}}}))?r:"")+"\n"+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"ykmanStatus"):t,"error",{name:"ifeq",hash:{},fn:e.program(16,i,0),inverse:e.noop,data:i,loc:{start:{line:20,column:0},end:{line:20,column:108}}}))?r:"")+'\n</p>\n<div>\n<input type="checkbox" class="settings__input input-base settings__yubikey-show-icon" id="settings__yubikey-show-icon"\n'+(null!=(r=l(n,"if").call(o,null!=t?l(t,"yubiKeyShowIcon"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:24,column:0},end:{line:24,column:37}}}))?r:"")+' />\n<label for="settings__yubikey-show-icon">'+a(l(n,"res").call(o,"setDevicesYubiKeyOtpShowIcon",{name:"res",hash:{},data:i,loc:{start:{line:25,column:41},end:{line:25,column:79}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__yubikey-match-entries" id="settings__yubikey-match-entries"\n'+(null!=(r=l(n,"if").call(o,null!=t?l(t,"yubiKeyMatchEntries"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:29,column:0},end:{line:29,column:41}}}))?r:"")+' />\n<label for="settings__yubikey-match-entries">'+a(l(n,"res").call(o,"setDevicesYubiKeyOtpMatchEntries",{name:"res",hash:{},data:i,loc:{start:{line:30,column:45},end:{line:30,column:87}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__yubikey-auto-open" id="settings__yubikey-auto-open"\n'+(null!=(r=l(n,"if").call(o,null!=t?l(t,"yubiKeyAutoOpen"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:34,column:0},end:{line:34,column:37}}}))?r:"")+' />\n<label for="settings__yubikey-auto-open">'+a(l(n,"res").call(o,"setDevicesYubiKeyOtpAutoOpen",{name:"res",hash:{},data:i,loc:{start:{line:35,column:41},end:{line:35,column:79}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__yubikey-stuck-workaround" id="settings__yubikey-stuck-workaround"\n'+(null!=(r=l(n,"if").call(o,null!=t?l(t,"yubiKeyStuckWorkaround"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:39,column:0},end:{line:39,column:44}}}))?r:"")+' />\n<label for="settings__yubikey-stuck-workaround">'+a(l(n,"res").call(o,"setDevicesYubiKeyStuckWorkaround",{name:"res",hash:{},data:i,loc:{start:{line:40,column:48},end:{line:40,column:90}}}))+"</label>\n</div>\n<h3>"+a(l(n,"res").call(o,"setDevicesYubiKeyChalRespTitle",{name:"res",hash:{},data:i,loc:{start:{line:42,column:4},end:{line:42,column:44}}}))+"</h3>\n<p>"+a(l(n,"res").call(o,"setDevicesYubiKeyChalRespDesc",{name:"res",hash:{},data:i,loc:{start:{line:43,column:3},end:{line:43,column:42}}}))+'</p>\n<div>\n<input type="checkbox" class="settings__input input-base settings__yubikey-chalresp-show" id="settings__yubikey-chalresp-show"\n'+(null!=(r=l(n,"if").call(o,null!=t?l(t,"yubiKeyShowChalResp"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:46,column:0},end:{line:46,column:41}}}))?r:"")+' />\n<label for="settings__yubikey-chalresp-show">'+a(l(n,"res").call(o,"setDevicesYubiKeyChalRespShow",{name:"res",hash:{},data:i,loc:{start:{line:47,column:45},end:{line:47,column:84}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__yubikey-remember-chalresp" id="settings__yubikey-remember-chalresp"\n'+(null!=(r=l(n,"if").call(o,null!=t?l(t,"yubiKeyRememberChalResp"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:51,column:0},end:{line:51,column:45}}}))?r:"")+' />\n<label for="settings__yubikey-remember-chalresp">'+a(l(n,"res").call(o,"setDevicesYubiKeyRememberChalResp",{name:"res",hash:{},data:i,loc:{start:{line:52,column:49},end:{line:52,column:92}}}))+"</label>\n</div>\n"},6:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+a("function"==typeof(r=null!=(r=l(n,"yubiKeyManualLink")||(null!=t?l(t,"yubiKeyManualLink"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"yubiKeyManualLink",hash:{},data:i,loc:{start:{line:10,column:45},end:{line:10,column:66}}}):r)+'" target="_blank">'+a(l(n,"res").call(o,"setDevicesYubiKeyIntroLink",{name:"res",hash:{},data:i,loc:{start:{line:10,column:84},end:{line:10,column:120}}}))+"</a>"},8:function(e,t,n,s,i){return"<code>ykman</code>"},10:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+a("function"==typeof(r=null!=(r=l(n,"ykmanInstallLink")||(null!=t?l(t,"ykmanInstallLink"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"ykmanInstallLink",hash:{},data:i,loc:{start:{line:15,column:47},end:{line:15,column:67}}}):r)+'" target="_blank">'+a(l(n,"res").call(o,"setDevicesYubiKeyToolsDescLink",{name:"res",hash:{},data:i,loc:{start:{line:15,column:85},end:{line:15,column:125}}}))+"</a>"},12:function(e,t,n,s,i){var r;return(null!=(r=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"res").call(null!=t?t:e.nullContext||{},"setDevicesYubiKeyToolsStatusChecking",{name:"res",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:18,column:32},end:{line:18,column:105}}}))?r:"")+"..."},14:function(e,t,n,s,i){var r;return null!=(r=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"res").call(null!=t?t:e.nullContext||{},"setDevicesYubiKeyToolsStatusOk",{name:"res",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:19,column:26},end:{line:19,column:93}}}))?r:""},16:function(e,t,n,s,i){var r;return null!=(r=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"res").call(null!=t?t:e.nullContext||{},"setDevicesYubiKeyToolsStatusError",{name:"res",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:20,column:29},end:{line:20,column:99}}}))?r:""},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-usb settings__head-icon"></i> '+a(l(n,"res").call(o,"setDevicesTitle",{name:"res",hash:{},data:i,loc:{start:{line:2,column:50},end:{line:2,column:75}}}))+'</h1>\n<div>\n<input type="checkbox" class="settings__input input-base settings__devices-enable-usb" id="settings__devices-enable-usb"\n'+(null!=(r=l(n,"if").call(o,null!=t?l(t,"enableUsb"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:0},end:{line:5,column:31}}}))?r:"")+" "+(null!=(r=l(n,"unless").call(o,null!=t?l(t,"supported"):t,{name:"unless",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:32},end:{line:5,column:72}}}))?r:"")+' />\n<label for="settings__devices-enable-usb">'+a(l(n,"res").call(o,"setDevicesEnableUsb",{name:"res",hash:{},data:i,loc:{start:{line:6,column:42},end:{line:6,column:71}}}))+"</label>\n</div>\n"+(null!=(r=l(n,"if").call(o,null!=t?l(t,"enableUsb"):t,{name:"if",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:8,column:0},end:{line:54,column:7}}}))?r:"")+"</div>\n"},useData:!0})},3953:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"deviceClassName")||(null!=t?o(t,"deviceClassName"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"deviceClassName",hash:{},data:i,loc:{start:{line:3,column:32},end:{line:3,column:51}}}):r)},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-lock settings__head-icon"></i> '+l("function"==typeof(o=null!=(o=c(n,"name")||(null!=t?c(t,"name"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"name",hash:{},data:i,loc:{start:{line:2,column:51},end:{line:2,column:59}}}):o)+"</h1>\n<p>"+(null!=(r=c(n,"res").call(a,"setFileDeviceIntro",{name:"res",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:3},end:{line:3,column:59}}}))?r:"")+'</p>\n<div class="settings__file-buttons">\n<button class="settings__file-button-settings btn-silent">'+l(c(n,"res").call(a,"setFileDeviceSettings",{name:"res",hash:{},data:i,loc:{start:{line:5,column:58},end:{line:5,column:89}}}))+'</button>\n<button class="settings__file-button-close btn-silent">'+l(c(n,"res").call(a,"setFileClose",{name:"res",hash:{},data:i,loc:{start:{line:6,column:55},end:{line:6,column:77}}}))+"</button>\n</div>\n</div>\n"},useData:!0})},5194:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(r=a(n,"ifeq").call(o,null!=t?a(t,"storage"):t,"file",{name:"ifeq",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i,loc:{start:{line:4,column:0},end:{line:4,column:71}}}))?r:"")+"\n"+(null!=(r=a(n,"ifneq").call(o,null!=t?a(t,"storage"):t,"file",{name:"ifneq",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:0},end:{line:5,column:90}}}))?r:"")+"\n"},2:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+a(l(n,"res").call(o,"setFilePath",{name:"res",hash:{},data:i,loc:{start:{line:4,column:27},end:{line:4,column:48}}}))+": "+a("function"==typeof(r=null!=(r=l(n,"path")||(null!=t?l(t,"path"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"path",hash:{},data:i,loc:{start:{line:4,column:50},end:{line:4,column:58}}}):r)+"</p>"},4:function(e,t,n,s,i){var r;return"<p>"+(null!=(r=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"res").call(null!=t?t:e.nullContext||{},"setFileStorage",{name:"res",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:5,column:28},end:{line:5,column:76}}}))?r:"")+"</p>"},5:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"storage"):t,{name:"res",hash:{},data:i,loc:{start:{line:5,column:53},end:{line:5,column:68}}}))},7:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+e.escapeExpression(a(n,"res").call(o,"setFileIntl",{name:"res",hash:{},data:i,loc:{start:{line:7,column:3},end:{line:7,column:24}}}))+".</p>\n"+(null!=(r=a(n,"unless").call(o,null!=t?a(t,"supportFiles"):t,{name:"unless",hash:{},fn:e.program(8,i,0),inverse:e.noop,data:i,loc:{start:{line:8,column:0},end:{line:10,column:11}}}))?r:"")},8:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+a(l(n,"res").call(o,"setFileLocalHint",{name:"res",hash:{},data:i,loc:{start:{line:9,column:3},end:{line:9,column:29}}}))+' <a href="'+a("function"==typeof(r=null!=(r=l(n,"desktopLink")||(null!=t?l(t,"desktopLink"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"desktopLink",hash:{},data:i,loc:{start:{line:9,column:39},end:{line:9,column:54}}}):r)+'" target="_blank">'+a(l(n,"res").call(o,"setFileDownloadApp",{name:"res",hash:{},data:i,loc:{start:{line:9,column:72},end:{line:9,column:100}}}))+"</a></p>\n"},10:function(e,t,n,s,i){return"disabled"},12:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setFileSave",{name:"res",hash:{},data:i,loc:{start:{line:14,column:24},end:{line:14,column:45}}}))},14:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setFileSyncVerb",{name:"res",hash:{},data:i,loc:{start:{line:15,column:25},end:{line:15,column:50}}}))},16:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings__file-button-save-choose btn-silent"\n'+(null!=(r=a(n,"if").call(o,null!=t?a(t,"syncing"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:19,column:0},end:{line:19,column:30}}}))?r:"")+">"+e.escapeExpression(a(n,"res").call(o,"setFileSaveTo",{name:"res",hash:{},data:i,loc:{start:{line:19,column:31},end:{line:19,column:54}}}))+"</button>\n"},18:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__file-save-to settings__file-save-to-file">\n<i class="fa fa-file-alt"></i>'+e.escapeExpression((r(n,"Res")||t&&r(t,"Res")||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"file",{name:"Res",hash:{},data:i,loc:{start:{line:27,column:30},end:{line:27,column:44}}}))+"\n</div>\n"},20:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"unless").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?a(o,"own"):o,{name:"unless",hash:{},fn:e.program(21,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:31,column:0},end:{line:36,column:11}}}))?o:""},21:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__file-save-to settings__file-save-to-storage" data-storage="'+a(e.lambda(null!=(o=r[1][0])?c(o,"name"):o,t))+'">\n'+(null!=(o=c(n,"if").call(l,null!=(o=r[1][0])?c(o,"icon"):o,{name:"if",hash:{},fn:e.program(22,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:33,column:0},end:{line:33,column:57}}}))?o:"")+"\n<span>"+a(c(n,"res").call(l,null!=(o=r[1][0])?c(o,"name"):o,{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:34,column:6},end:{line:34,column:22}}}))+"</span>\n</div>\n"},22:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-'+e.escapeExpression(e.lambda(null!=(o=r[2][0])?a(o,"icon"):o,t))+'"></i>'},24:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__file-save-to settings__file-save-to-xml">\n<i class="fa fa-code"></i>'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setFileSaveToXml",{name:"res",hash:{},data:i,loc:{start:{line:40,column:26},end:{line:40,column:52}}}))+"\n</div>\n"},26:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__file-save-to settings__file-save-to-html">\n<i class="fa fa-html5"></i>'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setFileSaveToHtml",{name:"res",hash:{},data:i,loc:{start:{line:45,column:27},end:{line:45,column:54}}}))+"\n</div>\n"},28:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<h2>"+a(l(n,"res").call(o,"setFileSync",{name:"res",hash:{},data:i,loc:{start:{line:50,column:4},end:{line:50,column:25}}}))+"</h2>\n<div>"+a(l(n,"res").call(o,"setFileLastSync",{name:"res",hash:{},data:i,loc:{start:{line:51,column:5},end:{line:51,column:30}}}))+": "+(null!=(r=l(n,"if").call(o,null!=t?l(t,"syncDate"):t,{name:"if",hash:{},fn:e.program(29,i,0),inverse:e.program(31,i,0),data:i,loc:{start:{line:51,column:32},end:{line:51,column:107}}}))?r:"")+" "+(null!=(r=l(n,"if").call(o,null!=t?l(t,"syncing"):t,{name:"if",hash:{},fn:e.program(33,i,0),inverse:e.noop,data:i,loc:{start:{line:51,column:108},end:{line:51,column:166}}}))?r:"")+"</div>\n"+(null!=(r=l(n,"if").call(o,null!=t?l(t,"syncError"):t,{name:"if",hash:{},fn:e.program(35,i,0),inverse:e.noop,data:i,loc:{start:{line:52,column:0},end:{line:52,column:76}}}))?r:"")+"\n"},29:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"syncDate")||(null!=t?o(t,"syncDate"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"syncDate",hash:{},data:i,loc:{start:{line:51,column:48},end:{line:51,column:60}}}):r)},31:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setFileLastSyncUnknown",{name:"res",hash:{},data:i,loc:{start:{line:51,column:68},end:{line:51,column:100}}}))},33:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"("+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setFileSyncInProgress",{name:"res",hash:{},data:i,loc:{start:{line:51,column:124},end:{line:51,column:155}}}))+"...)"},35:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<div>"+a(l(n,"res").call(o,"setFileSyncError",{name:"res",hash:{},data:i,loc:{start:{line:52,column:22},end:{line:52,column:48}}}))+": "+a("function"==typeof(r=null!=(r=l(n,"syncError")||(null!=t?l(t,"syncError"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"syncError",hash:{},data:i,loc:{start:{line:52,column:50},end:{line:52,column:63}}}):r)+"</div>"},37:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<p>\n<label for="settings__file-yubikey">'+c(u(n,"res").call(l,"setFileYubiKey",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:82,column:36},end:{line:82,column:60}}}))+':</label>\n<select class="settings__select settings__select-no-margin input-base" id="settings__file-yubikey">\n<option value="" '+(null!=(a=u(n,"unless").call(l,null!=t?u(t,"selectedYubiKey"):t,{name:"unless",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:84,column:17},end:{line:84,column:63}}}))?a:"")+">"+c(u(n,"res").call(l,"setFileDontUseYubiKey",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:84,column:64},end:{line:84,column:95}}}))+"</option>\n"+(null!=(a=u(n,"each").call(l,null!=t?u(t,"yubiKeys"):t,{name:"each",hash:{},fn:e.program(40,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:85,column:0},end:{line:95,column:9}}}))?a:"")+'<option value="refresh">'+c(u(n,"res").call(l,"setFileRefreshYubiKeyList",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:96,column:24},end:{line:96,column:59}}}))+"</option>\n</select>\n</p>\n"},38:function(e,t,n,s,i){return"selected"},40:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+c(l(null!=(a=r[0][0])?d(a,"value"):a,t))+'"\n'+(null!=(a=d(n,"ifeq").call(u,null!=o[1]?d(o[1],"selectedYubiKey"):o[1],null!=(a=r[0][0])?d(a,"value"):a,{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:87,column:0},end:{line:87,column:54}}}))?a:"")+'\ndata-vid="'+c(l(null!=(a=r[0][0])?d(a,"vid"):a,t))+'"\ndata-pid="'+c(l(null!=(a=r[0][0])?d(a,"pid"):a,t))+'"\ndata-serial="'+c(l(null!=(a=r[0][0])?d(a,"serial"):a,t))+'"\ndata-slot="'+c(l(null!=(a=r[0][0])?d(a,"slot"):a,t))+'"\n>\n'+c(l(null!=(a=r[0][0])?d(a,"fullName"):a,t))+", "+c(d(n,"res").call(u,"yubiKeySlot",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:93,column:17},end:{line:93,column:38}}}))+" "+c(l(null!=(a=r[0][0])?d(a,"slot"):a,t))+"\n</option>\n"},42:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.escapeExpression,d=e.hooks.helperMissing,h="function",p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<h2>"+u(p(n,"res").call(c,"setFileBackups",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:106,column:4},end:{line:106,column:28}}}))+'</h2>\n<div>\n<input type="checkbox" class="settings__input input-base" id="settings__file-backup-enabled" '+(null!=(a=p(n,"if").call(c,null!=t?p(t,"backupEnabled"):t,{name:"if",hash:{},fn:e.program(43,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:108,column:93},end:{line:108,column:128}}}))?a:"")+' />\n<label for="settings__file-backup-enabled">'+u(p(n,"res").call(c,"setFileBackupEnable",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:109,column:43},end:{line:109,column:72}}}))+'</label>\n</div>\n<div class="settings__file-backups '+(null!=(a=p(n,"unless").call(c,null!=t?p(t,"backupEnabled"):t,{name:"unless",hash:{},fn:e.program(45,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:111,column:35},end:{line:111,column:75}}}))?a:"")+'">\n<select class="settings__select input-base" id="settings__file-backup-storage">\n'+(null!=(a=p(n,"if").call(c,null!=t?p(t,"supportFiles"):t,{name:"if",hash:{},fn:e.program(47,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:113,column:0},end:{line:113,column:119}}}))?a:"")+"\n"+(null!=(a=p(n,"each").call(c,null!=t?p(t,"storageProviders"):t,{name:"each",hash:{},fn:e.program(49,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:114,column:0},end:{line:118,column:9}}}))?a:"")+'</select>\n<label for="settings__file-backup-path">'+u(p(n,"res").call(c,"setFileBackupPath",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:120,column:40},end:{line:120,column:67}}}))+':</label>\n<input type="text" class="settings__input input-base" id="settings__file-backup-path" value="'+u(typeof(l=null!=(l=p(n,"backupPath")||(null!=t?p(t,"backupPath"):t))?l:d)===h?l.call(c,{name:"backupPath",hash:{},data:i,blockParams:r,loc:{start:{line:121,column:93},end:{line:121,column:107}}}):l)+'"\nplaceholder="'+u(typeof(l=null!=(l=p(n,"backupPath")||(null!=t?p(t,"backupPath"):t))?l:d)===h?l.call(c,{name:"backupPath",hash:{},data:i,blockParams:r,loc:{start:{line:122,column:13},end:{line:122,column:27}}}):l)+'" />\n<label for="settings__file-backup-schedule">'+u(p(n,"res").call(c,"setFileBackupTime",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:123,column:44},end:{line:123,column:71}}}))+':</label>\n<select class="settings__select input-base" id="settings__file-backup-schedule">\n<option value="0" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"backupSchedule"):t,"0",{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:125,column:18},end:{line:125,column:63}}}))?a:"")+">"+u(p(n,"res").call(c,"setFileBackupOnSave",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:125,column:64},end:{line:125,column:93}}}))+'</option>\n<option value="1d" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"backupSchedule"):t,"1d",{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:126,column:19},end:{line:126,column:65}}}))?a:"")+">"+u(p(n,"res").call(c,"setFileBackupDaily",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:126,column:66},end:{line:126,column:94}}}))+'</option>\n<option value="1w" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"backupSchedule"):t,"1w",{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:127,column:19},end:{line:127,column:65}}}))?a:"")+">"+u(p(n,"res").call(c,"setFileBackupWeekly",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:127,column:66},end:{line:127,column:95}}}))+'</option>\n<option value="1m" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"backupSchedule"):t,"1m",{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:128,column:19},end:{line:128,column:65}}}))?a:"")+">"+u(p(n,"res").call(c,"setFileBackupMonthly",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:128,column:66},end:{line:128,column:96}}}))+'</option>\n<option value="" '+(null!=(a=p(n,"unless").call(c,null!=t?p(t,"backupSchedule"):t,{name:"unless",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:129,column:17},end:{line:129,column:62}}}))?a:"")+">"+u(p(n,"res").call(c,"setFileBackupManually",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:129,column:63},end:{line:129,column:94}}}))+'</option>\n</select>\n<button class="btn-silent settings__file-button-backup">'+u(p(n,"res").call(c,"setFileBackupNow",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:131,column:56},end:{line:131,column:82}}}))+"</button>\n</div>\n"},43:function(e,t,n,s,i){return"checked"},45:function(e,t,n,s,i){return"hide"},47:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="file" '+(null!=(r=a(n,"ifeq").call(o,null!=t?a(t,"backupStorage"):t,"file",{name:"ifeq",hash:{},fn:e.program(38,i,0),inverse:e.noop,data:i,loc:{start:{line:113,column:41},end:{line:113,column:88}}}))?r:"")+">"+e.escapeExpression((a(n,"Res")||t&&a(t,"Res")||e.hooks.helperMissing).call(o,"file",{name:"Res",hash:{},data:i,loc:{start:{line:113,column:89},end:{line:113,column:103}}}))+"</option>"},49:function(e,t,n,s,i,r,o){var a,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(a=l(n,"if").call(null!=t?t:e.nullContext||{},null!=(a=r[0][0])?l(a,"backup"):a,{name:"if",hash:{},fn:e.program(50,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:115,column:0},end:{line:117,column:7}}}))?a:""},50:function(e,t,n,s,i,r,o){var a,l=e.escapeExpression,c=null!=t?t:e.nullContext||{},u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+l(e.lambda(null!=(a=r[1][0])?u(a,"name"):a,t))+'" '+(null!=(a=u(n,"ifeq").call(c,null!=o[1]?u(o[1],"backupStorage"):o[1],null!=(a=r[1][0])?u(a,"name"):a,{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:116,column:29},end:{line:116,column:81}}}))?a:"")+">"+l(u(n,"res").call(c,null!=(a=r[1][0])?u(a,"name"):a,{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:116,column:82},end:{line:116,column:98}}}))+"</option>\n"},52:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<label for="settings__file-hist-len">'+a(l(n,"res").call(o,"setFileHistLen",{name:"res",hash:{},data:i,loc:{start:{line:146,column:37},end:{line:146,column:61}}}))+':</label>\n<input type="text" pattern="\\d+" required class="settings__input input-base" id="settings__file-hist-len" value="'+a("function"==typeof(r=null!=(r=l(n,"historyMaxItems")||(null!=t?l(t,"historyMaxItems"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"historyMaxItems",hash:{},data:i,loc:{start:{line:147,column:113},end:{line:147,column:132}}}):r)+'" maxlength="6" />\n'},54:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="Argon2d" '+(null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"kdfName"):t,"Argon2d",{name:"ifeq",hash:{},fn:e.program(38,i,0),inverse:e.noop,data:i,loc:{start:{line:160,column:49},end:{line:160,column:93}}}))?r:"")+">Argon2d</option>"},56:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="Argon2id" '+(null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"kdfName"):t,"Argon2id",{name:"ifeq",hash:{},fn:e.program(38,i,0),inverse:e.noop,data:i,loc:{start:{line:161,column:50},end:{line:161,column:95}}}))?r:"")+">Argon2id</option>"},58:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<label for="settings__file-key-rounds">'+a(l(n,"res").call(o,"setFileRounds",{name:"res",hash:{},data:i,loc:{start:{line:164,column:39},end:{line:164,column:62}}}))+':</label>\n<input type="text" pattern="\\d+" required class="settings__input input-base" id="settings__file-key-rounds" value="'+a("function"==typeof(r=null!=(r=l(n,"keyEncryptionRounds")||(null!=t?l(t,"keyEncryptionRounds"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"keyEncryptionRounds",hash:{},data:i,loc:{start:{line:165,column:115},end:{line:165,column:138}}}):r)+'" maxlength="10" />\n'},60:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"if").call(null!=t?t:e.nullContext||{},null!=t?o(t,"kdfParameters"):t,{name:"if",hash:{},fn:e.program(61,i,0),inverse:e.noop,data:i,loc:{start:{line:166,column:0},end:{line:193,column:0}}}))?r:""},61:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(r=a(n,"ifeq").call(o,null!=t?a(t,"kdfName"):t,"Aes",{name:"ifeq",hash:{},fn:e.program(62,i,0),inverse:e.noop,data:i,loc:{start:{line:167,column:0},end:{line:173,column:9}}}))?r:"")+(null!=(r=a(n,"if").call(o,null!=t?a(t,"isArgon2Kdf"):t,{name:"if",hash:{},fn:e.program(64,i,0),inverse:e.noop,data:i,loc:{start:{line:174,column:0},end:{line:192,column:7}}}))?r:"")},62:function(e,t,n,s,i){var r,o=e.escapeExpression,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<label for="settings__file-kdf-rounds">'+o(a(n,"res").call(null!=t?t:e.nullContext||{},"setFileRounds",{name:"res",hash:{},data:i,loc:{start:{line:169,column:39},end:{line:169,column:62}}}))+':</label>\n<input type="text" pattern="\\d+" required class="settings__input input-base settings__input-kdf"\nid="settings__file-kdf-rounds" data-field="rounds" value="'+o(e.lambda(null!=(r=null!=t?a(t,"kdfParameters"):t)?a(r,"rounds"):r,t))+'" maxlength="10" />\n</div>\n'},64:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lambda,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__row">\n<div class="settings__col-small">\n<label class="settings__col-small-label" for="settings__file-kdf-iter">'+a(c(n,"res").call(o,"setFileKdfParamsIter",{name:"res",hash:{},data:i,loc:{start:{line:177,column:71},end:{line:177,column:101}}}))+':</label>\n<input type="text" pattern="\\d+" required class="settings__input input-base settings__input-kdf"\ndata-field="iterations" id="settings__file-kdf-iter" value="'+a(l(null!=(r=null!=t?c(t,"kdfParameters"):t)?c(r,"iterations"):r,t))+'" maxlength="10" />\n</div>\n<div class="settings__col-small">\n<label class="settings__col-small-label" for="settings__file-kdf-mem">'+a(c(n,"res").call(o,"setFileKdfParamsMem",{name:"res",hash:{},data:i,loc:{start:{line:182,column:70},end:{line:182,column:99}}}))+':</label>\n<input type="text" pattern="\\d+" required class="settings__input input-base settings__input-kdf"\ndata-field="memory" data-mul="1024" id="settings__file-kdf-mem" value="'+a(l(null!=(r=null!=t?c(t,"kdfParameters"):t)?c(r,"memory"):r,t))+'" maxlength="10" />\n</div>\n<div class="settings__col-small">\n<label class="settings__col-small-label" for="settings__file-kdf-par">'+a(c(n,"res").call(o,"setFileKdfParamsPar",{name:"res",hash:{},data:i,loc:{start:{line:187,column:70},end:{line:187,column:99}}}))+':</label>\n<input type="text" pattern="\\d+" required class="settings__input input-base settings__input-kdf"\ndata-field="parallelism" id="settings__file-kdf-par" value="'+a(l(null!=(r=null!=t?c(t,"kdfParameters"):t)?c(r,"parallelism"):r,t))+'" maxlength="2" />\n</div>\n</div>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.hooks.helperMissing,d="function",h=e.escapeExpression,p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-lock settings__head-icon"></i> '+h(typeof(l=null!=(l=p(n,"name")||(null!=t?p(t,"name"):t))?l:u)===d?l.call(c,{name:"name",hash:{},data:i,blockParams:r,loc:{start:{line:2,column:51},end:{line:2,column:59}}}):l)+"</h1>\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"storage"):t,{name:"if",hash:{},fn:e.program(1,i,0,r,o),inverse:e.program(7,i,0,r,o),data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:11,column:7}}}))?a:"")+'<div class="settings__file-buttons">\n<button class="settings__file-button-save-default" '+(null!=(a=p(n,"if").call(c,null!=t?p(t,"syncing"):t,{name:"if",hash:{},fn:e.program(10,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:13,column:51},end:{line:13,column:81}}}))?a:"")+">\n"+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"storage"):t,"file",{name:"ifeq",hash:{},fn:e.program(12,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:14,column:0},end:{line:14,column:54}}}))?a:"")+"\n"+(null!=(a=p(n,"ifneq").call(c,null!=t?p(t,"storage"):t,"file",{name:"ifneq",hash:{},fn:e.program(14,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:15,column:0},end:{line:15,column:60}}}))?a:"")+"\n</button>\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"canSaveTo"):t,{name:"if",hash:{},fn:e.program(16,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:0},end:{line:20,column:7}}}))?a:"")+'<button class="settings__file-button-close btn-silent">'+h(p(n,"res").call(c,"setFileClose",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:21,column:55},end:{line:21,column:77}}}))+'</button>\n</div>\n<div class="settings__file-save-choose hide">\n<h2>'+h(p(n,"res").call(c,"setFileSaveTo",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:24,column:4},end:{line:24,column:27}}}))+"</h2>\n"+(null!=(a=p(n,"ifneq").call(c,null!=t?p(t,"storage"):t,"file",{name:"ifneq",hash:{},fn:e.program(18,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:25,column:0},end:{line:29,column:10}}}))?a:"")+(null!=(a=p(n,"each").call(c,null!=t?p(t,"storageProviders"):t,{name:"each",hash:{},fn:e.program(20,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:30,column:0},end:{line:37,column:9}}}))?a:"")+(null!=(a=p(n,"if").call(c,null!=t?p(t,"canExportXml"):t,{name:"if",hash:{},fn:e.program(24,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:38,column:0},end:{line:42,column:7}}}))?a:"")+(null!=(a=p(n,"if").call(c,null!=t?p(t,"canExportHtml"):t,{name:"if",hash:{},fn:e.program(26,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:43,column:0},end:{line:47,column:7}}}))?a:"")+"</div>\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"storage"):t,{name:"if",hash:{},fn:e.program(28,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:49,column:0},end:{line:53,column:7}}}))?a:"")+"<h2>"+h(p(n,"res").call(c,"settings",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:54,column:4},end:{line:54,column:22}}}))+'</h2>\n<label for="settings__file-master-pass" class="settings__file-master-pass-label input-base">'+h(p(n,"res").call(c,"setFilePass",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:55,column:92},end:{line:55,column:113}}}))+':\n<span class="settings__file-master-pass-warning">\n<i class="fa fa-exclamation-triangle"></i> <span id="settings__file-master-pass-warning-text">'+h(p(n,"res").call(c,"setFilePassChange",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:57,column:94},end:{line:57,column:121}}}))+'</span>\n</span>\n</label>\n<div class="hide">\n<input type="text" name="username">\n<input type="password" name="password">\n</div>\n<input type="password" class="settings__input input-base" id="settings__file-master-pass" value="'+h(typeof(l=null!=(l=p(n,"password")||(null!=t?p(t,"password"):t))?l:u)===d?l.call(c,{name:"password",hash:{},data:i,blockParams:r,loc:{start:{line:65,column:97},end:{line:65,column:109}}}):l)+'" autocomplete="new-password" />\n<div id="settings__file-confirm-master-pass-group">\n<label for="settings__file-confirm-master-pass" class="settings__file-master-pass-label input-base">'+h(p(n,"res").call(c,"setFileConfirmPass",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:67,column:100},end:{line:67,column:128}}}))+':\n<span class="settings__file-confirm-master-pass-warning">\n<i class="fa fa-exclamation-triangle"></i> '+h(p(n,"res").call(c,"setFilePassNotMatch",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:69,column:43},end:{line:69,column:72}}}))+'\n</span>\n</label>\n<input type="password" class="settings__input input-base" id="settings__file-confirm-master-pass" autocomplete="confirm-password" />\n</div>\n<p>\n<label for="settings__file-key-file">'+h(p(n,"res").call(c,"setFileKeyFile",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:75,column:37},end:{line:75,column:61}}}))+':</label>\n<select class="settings__select settings__select-no-margin input-base" id="settings__file-key-file"></select>\n<a id="settings__file-file-select-link">'+h(p(n,"res").call(c,"setFileSelKeyFile",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:77,column:40},end:{line:77,column:67}}}))+'</a>\n<input type="file" id="settings__file-file-select" class="hide-by-pos" />\n</p>\n'+(null!=(a=p(n,"if").call(c,null!=t?p(t,"showYubiKeyBlock"):t,{name:"if",hash:{},fn:e.program(37,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:80,column:0},end:{line:99,column:7}}}))?a:"")+"<h2>"+h(p(n,"res").call(c,"setFileNames",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:100,column:4},end:{line:100,column:26}}}))+'</h2>\n<label for="settings__file-name">'+h((p(n,"Res")||t&&p(t,"Res")||u).call(c,"name",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:101,column:33},end:{line:101,column:47}}}))+':</label>\n<input type="text" class="settings__input input-base" id="settings__file-name" value="'+h(typeof(l=null!=(l=p(n,"name")||(null!=t?p(t,"name"):t))?l:u)===d?l.call(c,{name:"name",hash:{},data:i,blockParams:r,loc:{start:{line:102,column:86},end:{line:102,column:94}}}):l)+'" required />\n<label for="settings__file-def-user">'+h(p(n,"res").call(c,"setFileDefUser",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:103,column:37},end:{line:103,column:61}}}))+':</label>\n<input type="text" class="settings__input input-base" id="settings__file-def-user" value="'+h(typeof(l=null!=(l=p(n,"defaultUser")||(null!=t?p(t,"defaultUser"):t))?l:u)===d?l.call(c,{name:"defaultUser",hash:{},data:i,blockParams:r,loc:{start:{line:104,column:90},end:{line:104,column:105}}}):l)+'" />\n'+(null!=(a=p(n,"if").call(c,null!=t?p(t,"canBackup"):t,{name:"if",hash:{},fn:e.program(42,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:105,column:0},end:{line:133,column:7}}}))?a:"")+"<h2>"+h((p(n,"Res")||t&&p(t,"Res")||u).call(c,"history",{name:"Res",hash:{},data:i,blockParams:r,loc:{start:{line:134,column:4},end:{line:134,column:21}}}))+'</h2>\n<div>\n<input type="checkbox" class="settings__input input-base" id="settings__file-trash" '+(null!=(a=p(n,"if").call(c,null!=t?p(t,"recycleBinEnabled"):t,{name:"if",hash:{},fn:e.program(43,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:136,column:84},end:{line:136,column:123}}}))?a:"")+' />\n<label for="settings__file-trash">'+h(p(n,"res").call(c,"setFileEnableTrash",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:137,column:34},end:{line:137,column:62}}}))+'</label>\n</div>\n<label for="settings__file-hist-type">'+h(p(n,"res").call(c,"setFileHistMode",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:139,column:38},end:{line:139,column:63}}}))+'</label>\n<select class="settings__select input-base" id="settings__file-hist-type">\n<option value="1" '+(null!=(a=p(n,"cmp").call(c,null!=t?p(t,"historyMaxItems"):t,0,">",{name:"cmp",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:141,column:18},end:{line:141,column:64}}}))?a:"")+">"+h(p(n,"res").call(c,"setFileHistLimited",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:141,column:65},end:{line:141,column:93}}}))+'</option>\n<option value="0" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"historyMaxItems"):t,0,{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:142,column:18},end:{line:142,column:62}}}))?a:"")+">"+h(p(n,"res").call(c,"setFileHistDisabled",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:142,column:63},end:{line:142,column:92}}}))+'</option>\n<option value="-1" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"historyMaxItems"):t,-1,{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:143,column:19},end:{line:143,column:64}}}))?a:"")+">"+h(p(n,"res").call(c,"setFileHistUnlimited",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:143,column:65},end:{line:143,column:95}}}))+"</option>\n</select>\n"+(null!=(a=p(n,"cmp").call(c,null!=t?p(t,"historyMaxItems"):t,0,">",{name:"cmp",hash:{},fn:e.program(52,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:145,column:0},end:{line:148,column:8}}}))?a:"")+'<label for="settings__file-hist-size">'+h(p(n,"res").call(c,"setFileHistSize",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:149,column:38},end:{line:149,column:63}}}))+':</label>\n<input type="text" pattern="\\d+" required class="settings__input input-base" id="settings__file-hist-size" value="'+h(typeof(l=null!=(l=p(n,"historyMaxSize")||(null!=t?p(t,"historyMaxSize"):t))?l:u)===d?l.call(c,{name:"historyMaxSize",hash:{},data:i,blockParams:r,loc:{start:{line:150,column:114},end:{line:150,column:132}}}):l)+'" maxlength="3" />\n<h2>'+h(p(n,"res").call(c,"advanced",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:151,column:4},end:{line:151,column:22}}}))+'</h2>\n<label for="settings__file-format-version">'+h(p(n,"res").call(c,"setFileFormatVersion",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:152,column:43},end:{line:152,column:73}}}))+'</label>\n<select class="settings__select input-base" id="settings__file-format-version">\n<option value="3" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"formatVersion"):t,3,{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:154,column:18},end:{line:154,column:60}}}))?a:"")+'>KDBX 3</option>\n<option value="4" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"formatVersion"):t,4,{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:155,column:18},end:{line:155,column:60}}}))?a:"")+'>KDBX 4</option>\n</select>\n<label for="settings__file-kdf">'+h(p(n,"res").call(c,"setFileKdfParams",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:157,column:32},end:{line:157,column:58}}}))+'</label>\n<select class="settings__select input-base" id="settings__file-kdf" '+(null!=(a=p(n,"ifneq").call(c,null!=t?p(t,"formatVersion"):t,4,{name:"ifneq",hash:{},fn:e.program(10,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:158,column:68},end:{line:158,column:112}}}))?a:"")+'>\n<option value="Aes" '+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"kdfName"):t,"AES",{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:159,column:20},end:{line:159,column:60}}}))?a:"")+">AES</option>\n"+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"formatVersion"):t,4,{name:"ifeq",hash:{},fn:e.program(54,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:160,column:0},end:{line:160,column:119}}}))?a:"")+"\n"+(null!=(a=p(n,"ifeq").call(c,null!=t?p(t,"formatVersion"):t,4,{name:"ifeq",hash:{},fn:e.program(56,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:161,column:0},end:{line:161,column:122}}}))?a:"")+"\n</select>\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"keyEncryptionRounds"):t,{name:"if",hash:{},fn:e.program(58,i,0,r,o),inverse:e.program(60,i,0,r,o),data:i,blockParams:r,loc:{start:{line:163,column:0},end:{line:193,column:7}}}))?a:"")+'<label for="settings__file-key-change-force">'+h(p(n,"res").call(c,"setFileKeyChangeForce",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:194,column:45},end:{line:194,column:76}}}))+':</label>\n<input type="text" pattern="\\d*" class="settings__input input-base" id="settings__file-key-change-force" value="'+h(typeof(l=null!=(l=p(n,"keyChangeForce")||(null!=t?p(t,"keyChangeForce"):t))?l:u)===d?l.call(c,{name:"keyChangeForce",hash:{},data:i,blockParams:r,loc:{start:{line:195,column:112},end:{line:195,column:130}}}):l)+'" maxlength="6" />\n</div>\n'},useData:!0,useDepths:!0,useBlockParams:!0})},4026:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<h2 class="action-color">'+a(l(n,"res").call(o,"setGenUpdate",{name:"res",hash:{},data:i,loc:{start:{line:4,column:25},end:{line:4,column:47}}}))+"</h2>\n<div>"+a(l(n,"res").call(o,"setGenNewVersion",{name:"res",hash:{},data:i,loc:{start:{line:5,column:5},end:{line:5,column:31}}}))+'. <a href="'+a("function"==typeof(r=null!=(r=l(n,"releaseNotesLink")||(null!=t?l(t,"releaseNotesLink"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"releaseNotesLink",hash:{},data:i,loc:{start:{line:5,column:42},end:{line:5,column:62}}}):r)+'" target="_blank">'+a(l(n,"res").call(o,"setGenReleaseNotes",{name:"res",hash:{},data:i,loc:{start:{line:5,column:80},end:{line:5,column:108}}}))+'</a></div>\n<div class="settings__general-update-buttons">\n<button class="settings__general-restart-btn">'+a(l(n,"res").call(o,"setGenReloadToUpdate",{name:"res",hash:{},data:i,loc:{start:{line:7,column:46},end:{line:7,column:76}}}))+"</button>\n</div>\n"},3:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"if").call(null!=t?t:e.nullContext||{},null!=t?o(t,"updateManual"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:9,column:0},end:{line:15,column:0}}}))?r:""},4:function(e,t,n,s,i){var r=null!=t?t:e.nullContext||{},o=e.escapeExpression,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<h2 class="action-color">'+o(a(n,"res").call(r,"setGenUpdate",{name:"res",hash:{},data:i,loc:{start:{line:10,column:25},end:{line:10,column:47}}}))+"</h2>\n<div>"+o(a(n,"res").call(r,"setGenUpdateManual",{name:"res",hash:{},data:i,loc:{start:{line:11,column:5},end:{line:11,column:33}}}))+'</div>\n<div class="settings__general-update-buttons">\n<button class="settings__general-download-update-btn">'+o(a(n,"res").call(r,"setGenDownloadUpdate",{name:"res",hash:{},data:i,loc:{start:{line:13,column:54},end:{line:13,column:84}}}))+"</button>\n</div>\n"},6:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.hooks.helperMissing,u="function",d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<h2>"+l(d(n,"res").call(a,"setGenUpdate",{name:"res",hash:{},data:i,loc:{start:{line:17,column:4},end:{line:17,column:26}}}))+'</h2>\n<div>\n<select class="settings__general-auto-update settings__select input-base">\n<option value="install" '+(null!=(r=d(n,"ifeq").call(a,null!=t?d(t,"autoUpdate"):t,"install",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:20,column:24},end:{line:20,column:71}}}))?r:"")+">"+l(d(n,"res").call(a,"setGenUpdateAuto",{name:"res",hash:{},data:i,loc:{start:{line:20,column:72},end:{line:20,column:98}}}))+'</option>\n<option value="check" '+(null!=(r=d(n,"ifeq").call(a,null!=t?d(t,"autoUpdate"):t,"check",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:21,column:22},end:{line:21,column:67}}}))?r:"")+">"+l(d(n,"res").call(a,"setGenUpdateCheck",{name:"res",hash:{},data:i,loc:{start:{line:21,column:68},end:{line:21,column:95}}}))+'</option>\n<option value="" '+(null!=(r=d(n,"unless").call(a,null!=t?d(t,"autoUpdate"):t,{name:"unless",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:22,column:17},end:{line:22,column:58}}}))?r:"")+">"+l(d(n,"res").call(a,"setGenNoUpdate",{name:"res",hash:{},data:i,loc:{start:{line:22,column:59},end:{line:22,column:83}}}))+"</option>\n</select>\n<div>"+l(typeof(o=null!=(o=d(n,"updateInfo")||(null!=t?d(t,"updateInfo"):t))?o:c)===u?o.call(a,{name:"updateInfo",hash:{},data:i,loc:{start:{line:24,column:5},end:{line:24,column:19}}}):o)+'</div>\n<a href="'+l(typeof(o=null!=(o=d(n,"releaseNotesLink")||(null!=t?d(t,"releaseNotesLink"):t))?o:c)===u?o.call(a,{name:"releaseNotesLink",hash:{},data:i,loc:{start:{line:25,column:9},end:{line:25,column:29}}}):o)+'" target="_blank">'+l(d(n,"res").call(a,"setGenReleaseNotes",{name:"res",hash:{},data:i,loc:{start:{line:25,column:47},end:{line:25,column:75}}}))+'</a>\n</div>\n<div class="settings__general-update-buttons">\n'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"updateInProgress"):t,{name:"if",hash:{},fn:e.program(9,i,0),inverse:e.program(11,i,0),data:i,loc:{start:{line:28,column:0},end:{line:32,column:7}}}))?r:"")+(null!=(r=d(n,"if").call(a,null!=t?d(t,"updateReady"):t,{name:"if",hash:{},fn:e.program(13,i,0),inverse:e.noop,data:i,loc:{start:{line:33,column:0},end:{line:33,column:112}}}))?r:"")+"\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"updateFound"):t,{name:"if",hash:{},fn:e.program(15,i,0),inverse:e.noop,data:i,loc:{start:{line:34,column:0},end:{line:34,column:120}}}))?r:"")+"\n</div>\n"},7:function(e,t,n,s,i){return"selected"},9:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings__general-update-btn btn-silent" disabled>'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setGenUpdateChecking",{name:"res",hash:{},data:i,loc:{start:{line:29,column:65},end:{line:29,column:95}}}))+"</button>\n"},11:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings__general-update-btn btn-silent">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setGenCheckUpdate",{name:"res",hash:{},data:i,loc:{start:{line:31,column:56},end:{line:31,column:83}}}))+"</button>\n"},13:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings__general-restart-btn">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setGenRestartToUpdate",{name:"res",hash:{},data:i,loc:{start:{line:33,column:65},end:{line:33,column:96}}}))+"</button>"},15:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings__general-update-found-btn">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setGenDownloadAndRestart",{name:"res",hash:{},data:i,loc:{start:{line:34,column:70},end:{line:34,column:104}}}))+"</button>"},17:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<label for="settings__general-locale">'+c(u(n,"res").call(l,"setGenLocale",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:40,column:38},end:{line:40,column:60}}}))+':</label>\n<select class="settings__general-locale settings__select input-base" id="settings__general-locale">\n'+(null!=(a=u(n,"each").call(l,null!=t?u(t,"locales"):t,{name:"each",hash:{},fn:e.program(18,i,2,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:42,column:0},end:{line:44,column:9}}}))?a:"")+'<option value="...">('+c(u(n,"res").call(l,"setGenLocOther",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:45,column:21},end:{line:45,column:45}}}))+")</option>\n</select>\n</div>\n"},18:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+c(l(r[0][1],t))+'" '+(null!=(a=u(n,"ifeq").call(null!=t?t:e.nullContext||{},r[0][1],null!=o[1]?u(o[1],"activeLocale"):o[1],{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:43,column:24},end:{line:43,column:70}}}))?a:"")+">"+c(l(r[0][0],t))+"</option>\n"},20:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="th-'+c(l(r[0][1],t))+" settings__general-theme"+(null!=(a=u(n,"ifeq").call(null!=t?t:e.nullContext||{},r[0][1],null!=o[1]?u(o[1],"activeTheme"):o[1],{name:"ifeq",hash:{},fn:e.program(21,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:54,column:0},end:{line:54,column:73}}}))?a:"")+'"\ndata-theme="'+c(l(r[0][1],t))+'"\n>\n<div class="settings__general-theme-name">'+c(l(r[0][0],t))+'</div>\n<button class="settings__general-theme-button"><i class="fa fa-ellipsis-h"></i></button>\n</div>\n'},21:function(e,t,n,s,i){return" settings__general-theme--selected"},23:function(e,t,n,s,i){return"checked"},25:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<label for="settings__general-titlebar-style">'+a(l(n,"res").call(o,"setGenTitlebarStyle",{name:"res",hash:{},data:i,loc:{start:{line:81,column:46},end:{line:81,column:75}}}))+':</label>\n<select class="settings__general-titlebar-style settings__select input-base" id="settings__general-titlebar-style">\n<option value="default" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"titlebarStyle"):t,"default",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:83,column:24},end:{line:83,column:74}}}))?r:"")+">"+a(l(n,"res").call(o,"setGenTitlebarStyleDefault",{name:"res",hash:{},data:i,loc:{start:{line:83,column:75},end:{line:83,column:111}}}))+'</option>\n<option value="hidden" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"titlebarStyle"):t,"hidden",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:84,column:23},end:{line:84,column:72}}}))?r:"")+">"+a(l(n,"res").call(o,"setGenTitlebarStyleHidden",{name:"res",hash:{},data:i,loc:{start:{line:84,column:73},end:{line:84,column:108}}}))+"</option>\n"+(null!=(r=l(n,"if").call(o,null!=t?l(t,"supportsCustomTitleBarAndDraggableWindow"):t,{name:"if",hash:{},fn:e.program(26,i,0),inverse:e.noop,data:i,loc:{start:{line:85,column:0},end:{line:87,column:7}}}))?r:"")+"</select>\n</div>\n"},26:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="hidden-inset" '+(null!=(r=a(n,"ifeq").call(o,null!=t?a(t,"titlebarStyle"):t,"hidden-inset",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:86,column:29},end:{line:86,column:84}}}))?r:"")+">"+e.escapeExpression(a(n,"res").call(o,"setGenTitlebarStyleHiddenInset",{name:"res",hash:{},data:i,loc:{start:{line:86,column:85},end:{line:86,column:125}}}))+"</option>\n"},28:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="settings__input input-base settings__general-table-view" id="settings__general-table-view" '+(null!=(a=c(n,"if").call(l,null!=t?c(t,"tableView"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:97,column:121},end:{line:97,column:152}}}))?a:"")+' />\n<label for="settings__general-table-view">'+e.escapeExpression(c(n,"res").call(l,"setGenTableView",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:98,column:42},end:{line:98,column:67}}}))+"</label>\n</div>\n"},30:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="settings__input input-base settings__general-auto-save" id="settings__general-auto-save"\n'+(null!=(a=c(n,"if").call(l,null!=t?c(t,"autoSave"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:109,column:0},end:{line:109,column:30}}}))?a:"")+' />\n<label for="settings__general-auto-save">'+e.escapeExpression(c(n,"res").call(l,"setGenAutoSyncOnClose",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:110,column:41},end:{line:110,column:72}}}))+"</label>\n</div>\n"},32:function(e,t,n,s,i){return"\n1"},34:function(e,t,n,s,i){return"\n5"},36:function(e,t,n,s,i){return"\n15"},38:function(e,t,n,s,i){return"\n30"},40:function(e,t,n,s,i){return"\n60"},42:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="path" '+(null!=(r=a(n,"ifeq").call(o,null!=t?a(t,"rememberKeyFiles"):t,"path",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:136,column:41},end:{line:136,column:91}}}))?r:"")+">"+e.escapeExpression(a(n,"res").call(o,"setGenRememberKeyFilesPath",{name:"res",hash:{},data:i,loc:{start:{line:136,column:92},end:{line:136,column:128}}}))+"</option>"},44:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<label for="settings__general-clipboard">'+a(l(n,"res").call(o,"setGenClearClip",{name:"res",hash:{},data:i,loc:{start:{line:141,column:41},end:{line:141,column:66}}}))+':</label>\n<select class="settings__general-clipboard settings__select input-base" id="settings__general-clipboard">\n<option value="0" '+(null!=(r=l(n,"unless").call(o,null!=t?l(t,"clipboardSeconds"):t,{name:"unless",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:143,column:18},end:{line:143,column:65}}}))?r:"")+">"+a(l(n,"res").call(o,"setGenNoClear",{name:"res",hash:{},data:i,loc:{start:{line:143,column:66},end:{line:143,column:89}}}))+'</option>\n<option value="5" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"clipboardSeconds"):t,5,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:144,column:18},end:{line:144,column:63}}}))?r:"")+">"+(null!=(r=l(n,"res").call(o,"setGenClearSeconds",{name:"res",hash:{},fn:e.program(45,i,0),inverse:e.noop,data:i,loc:{start:{line:144,column:64},end:{line:144,column:102}}}))?r:"")+'</option>\n<option value="10" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"clipboardSeconds"):t,10,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:145,column:19},end:{line:145,column:65}}}))?r:"")+">"+(null!=(r=l(n,"res").call(o,"setGenClearSeconds",{name:"res",hash:{},fn:e.program(47,i,0),inverse:e.noop,data:i,loc:{start:{line:145,column:66},end:{line:145,column:105}}}))?r:"")+'</option>\n<option value="15" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"clipboardSeconds"):t,15,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:146,column:19},end:{line:146,column:65}}}))?r:"")+">"+(null!=(r=l(n,"res").call(o,"setGenClearSeconds",{name:"res",hash:{},fn:e.program(49,i,0),inverse:e.noop,data:i,loc:{start:{line:146,column:66},end:{line:146,column:105}}}))?r:"")+'</option>\n<option value="60" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"clipboardSeconds"):t,60,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:147,column:19},end:{line:147,column:65}}}))?r:"")+">"+a(l(n,"res").call(o,"setGenClearMinute",{name:"res",hash:{},data:i,loc:{start:{line:147,column:66},end:{line:147,column:93}}}))+"</option>\n</select>\n</div>\n"},45:function(e,t,n,s,i){return"5"},47:function(e,t,n,s,i){return"10"},49:function(e,t,n,s,i){return"15"},51:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="settings__input input-base settings__general-minimize" id="settings__general-minimize"\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"minimizeOnClose"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:154,column:0},end:{line:154,column:37}}}))?a:"")+' />\n<label for="settings__general-minimize">'+c(u(n,"res").call(l,"setGenMinInstead",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:155,column:40},end:{line:155,column:66}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-minimize-on-field-copy" id="settings__general-minimize-on-field-copy"\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"minimizeOnFieldCopy"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:159,column:0},end:{line:159,column:41}}}))?a:"")+' />\n<label for="settings__general-minimize-on-field-copy">'+c(u(n,"res").call(l,"setGenMinOnFieldCopy",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:160,column:54},end:{line:160,column:84}}}))+"</label>\n</div>\n"},53:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="settings__input input-base settings__general-direct-autotype"\nid="settings__general-direct-autotype" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"directAutotype"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:166,column:39},end:{line:166,column:75}}}))?a:"")+' />\n<label for="settings__general-direct-autotype">'+c(u(n,"res").call(l,"setGenDirectAutotype",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:167,column:47},end:{line:167,column:77}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-autotype-title-filter"\nid="settings__general-autotype-title-filter" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"autoTypeTitleFilterEnabled"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:171,column:45},end:{line:171,column:93}}}))?a:"")+' />\n<label for="settings__general-autotype-title-filter">'+c(u(n,"res").call(l,"setGenAutoTypeTitleFilterEnabled",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:172,column:53},end:{line:172,column:95}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-field-label-dblclick-autotype"\nid="settings__general-field-label-dblclick-autotype" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"fieldLabelDblClickAutoType"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:176,column:53},end:{line:176,column:101}}}))?a:"")+' />\n<label for="settings__general-field-label-dblclick-autotype">'+c(u(n,"res").call(l,"setGenFieldLabelDblClickAutoType",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:177,column:61},end:{line:177,column:103}}}))+"</label>\n</div>\n"},55:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<label for="settings__general-device-owner-auth">'+a(l(n,"res").call(o,"setGenTouchId",{name:"res",hash:{},data:i,loc:{start:{line:191,column:49},end:{line:191,column:72}}}))+':</label>\n<select class="settings__general-device-owner-auth settings__select input-base" id="settings__general-device-owner-auth">\n<option value="" '+(null!=(r=l(n,"unless").call(o,null!=t?l(t,"deviceOwnerAuth"):t,{name:"unless",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:193,column:17},end:{line:193,column:63}}}))?r:"")+">"+a(l(n,"res").call(o,"setGenTouchIdDisabled",{name:"res",hash:{},data:i,loc:{start:{line:193,column:64},end:{line:193,column:95}}}))+'</option>\n<option value="memory" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"deviceOwnerAuth"):t,"memory",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:194,column:23},end:{line:194,column:74}}}))?r:"")+">"+a(l(n,"res").call(o,"setGenTouchIdMemory",{name:"res",hash:{},data:i,loc:{start:{line:194,column:75},end:{line:194,column:104}}}))+'</option>\n<option value="file" '+(null!=(r=l(n,"ifeq").call(o,null!=t?l(t,"deviceOwnerAuth"):t,"file",{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:195,column:21},end:{line:195,column:70}}}))?r:"")+">"+a(l(n,"res").call(o,"setGenTouchIdFile",{name:"res",hash:{},data:i,loc:{start:{line:195,column:71},end:{line:195,column:98}}}))+"</option>\n</select>\n</div>\n"+(null!=(r=l(n,"if").call(o,null!=t?l(t,"deviceOwnerAuth"):t,{name:"if",hash:{},fn:e.program(56,i,0),inverse:e.noop,data:i,loc:{start:{line:198,column:0},end:{line:214,column:7}}}))?r:"")},56:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.hooks.helperMissing,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<label for="settings__general-device-owner-auth-timeout">'+a(c(n,"res").call(o,"setGenTouchIdPass",{name:"res",hash:{},data:i,loc:{start:{line:199,column:57},end:{line:199,column:84}}}))+':</label>\n<select class="settings__general-device-owner-auth-timeout settings__select input-base" id="settings__general-device-owner-auth-timeout">\n<option value="1" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,1,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:201,column:18},end:{line:201,column:69}}}))?r:"")+">"+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"oneMinute",{name:"Res",hash:{},data:i,loc:{start:{line:201,column:70},end:{line:201,column:89}}}))+'</option>\n<option value="5" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,5,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:202,column:18},end:{line:202,column:69}}}))?r:"")+">"+(null!=(r=(c(n,"Res")||t&&c(t,"Res")||l).call(o,"minutes",{name:"Res",hash:{},fn:e.program(45,i,0),inverse:e.noop,data:i,loc:{start:{line:202,column:70},end:{line:202,column:97}}}))?r:"")+'</option>\n<option value="30" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,30,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:203,column:19},end:{line:203,column:71}}}))?r:"")+">"+(null!=(r=(c(n,"Res")||t&&c(t,"Res")||l).call(o,"minutes",{name:"Res",hash:{},fn:e.program(57,i,0),inverse:e.noop,data:i,loc:{start:{line:203,column:72},end:{line:203,column:100}}}))?r:"")+'</option>\n<option value="60" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,60,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:204,column:19},end:{line:204,column:71}}}))?r:"")+">"+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"oneHour",{name:"Res",hash:{},data:i,loc:{start:{line:204,column:72},end:{line:204,column:89}}}))+'</option>\n<option value="120" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,120,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:205,column:20},end:{line:205,column:73}}}))?r:"")+">"+(null!=(r=(c(n,"Res")||t&&c(t,"Res")||l).call(o,"hours",{name:"Res",hash:{},fn:e.program(59,i,0),inverse:e.noop,data:i,loc:{start:{line:205,column:74},end:{line:205,column:99}}}))?r:"")+'</option>\n<option value="480" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,480,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:206,column:20},end:{line:206,column:73}}}))?r:"")+">"+(null!=(r=(c(n,"Res")||t&&c(t,"Res")||l).call(o,"hours",{name:"Res",hash:{},fn:e.program(61,i,0),inverse:e.noop,data:i,loc:{start:{line:206,column:74},end:{line:206,column:99}}}))?r:"")+'</option>\n<option value="1440" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,1440,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:207,column:21},end:{line:207,column:75}}}))?r:"")+">"+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"oneDay",{name:"Res",hash:{},data:i,loc:{start:{line:207,column:76},end:{line:207,column:92}}}))+'</option>\n<option value="10080" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,10080,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:208,column:22},end:{line:208,column:77}}}))?r:"")+">"+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"oneWeek",{name:"Res",hash:{},data:i,loc:{start:{line:208,column:78},end:{line:208,column:95}}}))+"</option>\n"+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuth"):t,"file",{name:"ifeq",hash:{},fn:e.program(63,i,0),inverse:e.noop,data:i,loc:{start:{line:209,column:0},end:{line:212,column:9}}}))?r:"")+"</select>\n"},57:function(e,t,n,s,i){return"30"},59:function(e,t,n,s,i){return"2"},61:function(e,t,n,s,i){return"8"},63:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.hooks.helperMissing,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="43200" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,43200,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:210,column:22},end:{line:210,column:77}}}))?r:"")+">"+l((c(n,"Res")||t&&c(t,"Res")||a).call(o,"oneMonth",{name:"Res",hash:{},data:i,loc:{start:{line:210,column:78},end:{line:210,column:96}}}))+'</option>\n<option value="525600" '+(null!=(r=c(n,"ifeq").call(o,null!=t?c(t,"deviceOwnerAuthTimeout"):t,525600,{name:"ifeq",hash:{},fn:e.program(7,i,0),inverse:e.noop,data:i,loc:{start:{line:211,column:23},end:{line:211,column:79}}}))?r:"")+">"+l((c(n,"Res")||t&&c(t,"Res")||a).call(o,"oneYear",{name:"Res",hash:{},data:i,loc:{start:{line:211,column:80},end:{line:211,column:97}}}))+"</option>\n"},65:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"hibpLink")||(null!=t?o(t,"hibpLink"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"hibpLink",hash:{},data:i,loc:{start:{line:237,column:9},end:{line:237,column:21}}}):r)+'" rel="noreferrer noopener" target="_blank">Have I Been Pwned</a>'},67:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+a("function"==typeof(r=null!=(r=l(n,"hibpPrivacyLink")||(null!=t?l(t,"hibpPrivacyLink"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"hibpPrivacyLink",hash:{},data:i,loc:{start:{line:243,column:9},end:{line:243,column:28}}}):r)+'" rel="noreferrer noopener" target="_blank">'+a(l(n,"res").call(o,"setGenHelpHIBPLink",{name:"res",hash:{},data:i,loc:{start:{line:243,column:72},end:{line:243,column:100}}}))+"</a>"},69:function(e,t,n,s,i){return"\n2"},71:function(e,t,n,s,i){return"\n3"},73:function(e,t,n,s,i){return"\n10"},75:function(e,t,n,s,i){return"3"},77:function(e,t,n,s,i){return"6"},79:function(e,t,n,s,i){return"12"},81:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="settings__input input-base settings__general-lock-on-minimize" id="settings__general-lock-on-minimize"\n'+(null!=(a=c(n,"if").call(l,null!=t?c(t,"lockOnMinimize"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:282,column:0},end:{line:282,column:36}}}))?a:"")+' />\n<label for="settings__general-lock-on-minimize">'+e.escapeExpression(c(n,"res").call(l,"setGenLockMinimize",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:283,column:48},end:{line:283,column:76}}}))+"</label>\n</div>\n"},83:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="settings__input input-base settings__general-lock-on-auto-type" id="settings__general-lock-on-auto-type"\n'+(null!=(a=c(n,"if").call(l,null!=t?c(t,"lockOnAutoType"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:294,column:0},end:{line:294,column:36}}}))?a:"")+' />\n<label for="settings__general-lock-on-auto-type">'+e.escapeExpression(c(n,"res").call(l,"setGenLockAutoType",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:295,column:49},end:{line:295,column:77}}}))+"</label>\n</div>\n"},85:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<input type="checkbox" class="settings__input input-base settings__general-lock-on-os-lock" id="settings__general-lock-on-os-lock"\n'+(null!=(a=c(n,"if").call(l,null!=t?c(t,"lockOnOsLock"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:301,column:0},end:{line:301,column:34}}}))?a:"")+' />\n<label for="settings__general-lock-on-os-lock">'+e.escapeExpression(c(n,"res").call(l,"setGenLockOrSleep",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:302,column:47},end:{line:302,column:74}}}))+"</label>\n</div>\n"},87:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<h4 class="settings__general-storage-header"><input\ntype="checkbox" id="settings__general-prv-check-'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'" class="settings__general-prv-check"\ndata-storage="'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'" '+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"enabled"):a,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:319,column:28},end:{line:319,column:61}}}))?a:"")+'\n/><label for="settings__general-prv-check-'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'">'+c(d(n,"res").call(u,null!=(a=r[0][0])?d(a,"name"):a,{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:320,column:56},end:{line:320,column:72}}}))+'</label></h4>\n<div class="settings__general-prv-wrap settings__general-'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+" "+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"enabled"):a,!1,{name:"ifeq",hash:{},fn:e.program(88,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:321,column:70},end:{line:321,column:110}}}))?a:"")+'"></div>\n'+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"loggedIn"):a,{name:"if",hash:{},fn:e.program(90,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:322,column:0},end:{line:323,column:73}}}))?a:"")+"\n"},88:function(e,t,n,s,i){return"hide"},90:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="btn-silent settings__general-prv-logout"\ndata-storage="'+a(e.lambda(null!=(o=r[1][0])?l(o,"name"):o,t))+'">'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setGenStorageLogout",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:323,column:28},end:{line:323,column:57}}}))+"</button>"},92:function(e,t,n,s,i){var r=null!=t?t:e.nullContext||{},o=e.escapeExpression,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="btn-silent settings__general-dev-tools-link">'+o(a(n,"res").call(r,"setGenDevTools",{name:"res",hash:{},data:i,loc:{start:{line:329,column:60},end:{line:329,column:84}}}))+'</button>\n<button class="btn-silent settings__general-try-beta-link">'+o(a(n,"res").call(r,"setGenTryBeta",{name:"res",hash:{},data:i,loc:{start:{line:330,column:59},end:{line:330,column:82}}}))+"</button>\n"},94:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="btn-silent settings__general-reload-app-link">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setGenReloadApp",{name:"res",hash:{},data:i,loc:{start:{line:333,column:61},end:{line:333,column:86}}}))+"</button>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1 id="top"><i class="fa fa-cog settings__head-icon"></i> '+c(u(n,"res").call(l,"setGenTitle",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:2,column:59},end:{line:2,column:80}}}))+"</h1>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"updateWaitingReload"):t,{name:"if",hash:{},fn:e.program(1,i,0,r,o),inverse:e.program(3,i,0,r,o),data:i,blockParams:r,loc:{start:{line:3,column:0},end:{line:15,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"showUpdateBlock"):t,{name:"if",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:36,column:7}}}))?a:"")+'<h2 id="appearance">'+c(u(n,"res").call(l,"setGenAppearance",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:37,column:20},end:{line:37,column:46}}}))+"</h2>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"locales"):t,{name:"if",hash:{},fn:e.program(17,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:38,column:0},end:{line:48,column:7}}}))?a:"")+"<div>\n<label>"+c(u(n,"res").call(l,"setGenTheme",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:50,column:7},end:{line:50,column:28}}}))+':</label>\n<div class="settings__general-themes">\n'+(null!=(a=u(n,"each").call(l,null!=t?u(t,"themes"):t,{name:"each",hash:{},fn:e.program(20,i,2,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:52,column:0},end:{line:60,column:9}}}))?a:"")+'<div class="settings__general-theme settings__general-theme-plugins" data-theme="...">\n<div class="settings__general-theme-plugins-name">'+c(u(n,"res").call(l,"setGenMoreThemes",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:62,column:50},end:{line:62,column:76}}}))+'</div>\n<i class="settings__general-theme-plugins-icon fa fa-puzzle-piece"></i>\n</div>\n</div>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-auto-switch-theme" id="settings__general-auto-switch-theme" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"autoSwitchTheme"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:68,column:135},end:{line:68,column:172}}}))?a:"")+' />\n<label for="settings__general-auto-switch-theme">'+c(u(n,"res").call(l,"setGenAutoSwitchTheme",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:69,column:49},end:{line:69,column:80}}}))+'</label>\n</div>\n<div>\n<label for="settings__general-font-size">'+c(u(n,"res").call(l,"setGenFontSize",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:72,column:41},end:{line:72,column:65}}}))+':</label>\n<select class="settings__general-font-size settings__select input-base" id="settings__general-font-size">\n<option value="0" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"fontSize"):t,0,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:74,column:18},end:{line:74,column:55}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenFontSizeNormal",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:74,column:56},end:{line:74,column:86}}}))+'</option>\n<option value="1" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"fontSize"):t,1,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:75,column:18},end:{line:75,column:55}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenFontSizeLarge",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:75,column:56},end:{line:75,column:85}}}))+'</option>\n<option value="2" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"fontSize"):t,2,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:76,column:18},end:{line:76,column:55}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenFontSizeLargest",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:76,column:56},end:{line:76,column:87}}}))+"</option>\n</select>\n</div>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"supportsTitleBarStyles"):t,{name:"if",hash:{},fn:e.program(25,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:79,column:0},end:{line:90,column:7}}}))?a:"")+'<div>\n<input type="checkbox" class="settings__input input-base settings__general-expand" id="settings__general-expand" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"expandGroups"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:92,column:113},end:{line:92,column:147}}}))?a:"")+' />\n<label for="settings__general-expand">'+c(u(n,"res").call(l,"setGenShowSubgroups",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:93,column:38},end:{line:93,column:67}}}))+"</label>\n</div>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canSetTableView"):t,{name:"if",hash:{},fn:e.program(28,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:95,column:0},end:{line:100,column:7}}}))?a:"")+'<div>\n<input type="checkbox" class="settings__input input-base settings__general-colorful-icons" id="settings__general-colorful-icons" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"colorfulIcons"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:102,column:129},end:{line:102,column:164}}}))?a:"")+' />\n<label for="settings__general-colorful-icons">'+c(u(n,"res").call(l,"setGenColorfulIcons",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:103,column:46},end:{line:103,column:75}}}))+'</label>\n</div>\n<h2 id="function">'+c(u(n,"res").call(l,"setGenFunction",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:105,column:18},end:{line:105,column:42}}}))+"</h2>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canAutoSaveOnClose"):t,{name:"if",hash:{},fn:e.program(30,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:106,column:0},end:{line:112,column:7}}}))?a:"")+'<div>\n<label for="settings__general-auto-save-interval">'+c(u(n,"res").call(l,"setGenAutoSyncTimer",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:114,column:50},end:{line:114,column:79}}}))+':</label>\n<select class="settings__select input-base settings__general-auto-save-interval"\nid="settings__general-auto-save-interval">\n<option value="0" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"autoSaveInterval"):t,0,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:117,column:18},end:{line:117,column:63}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenAutoSyncTimerOff",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:117,column:64},end:{line:117,column:96}}}))+'</option>\n<option value="-1" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"autoSaveInterval"):t,-1,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:118,column:19},end:{line:118,column:65}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenAutoSyncTimerOnChange",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:118,column:66},end:{line:118,column:103}}}))+'</option>\n<option value="1" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"autoSaveInterval"):t,1,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:119,column:18},end:{line:119,column:63}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAutoSyncTimerInterval",{name:"res",hash:{},fn:e.program(32,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:119,column:64},end:{line:120,column:9}}}))?a:"")+'</option>\n<option value="5" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"autoSaveInterval"):t,5,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:121,column:18},end:{line:121,column:63}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAutoSyncTimerInterval",{name:"res",hash:{},fn:e.program(34,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:121,column:64},end:{line:122,column:9}}}))?a:"")+'</option>\n<option value="15" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"autoSaveInterval"):t,15,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:123,column:19},end:{line:123,column:65}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAutoSyncTimerInterval",{name:"res",hash:{},fn:e.program(36,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:123,column:66},end:{line:124,column:10}}}))?a:"")+'</option>\n<option value="30" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"autoSaveInterval"):t,30,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:125,column:19},end:{line:125,column:65}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAutoSyncTimerInterval",{name:"res",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:125,column:66},end:{line:126,column:10}}}))?a:"")+'</option>\n<option value="60" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"autoSaveInterval"):t,60,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:127,column:19},end:{line:127,column:65}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAutoSyncTimerInterval",{name:"res",hash:{},fn:e.program(40,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:127,column:66},end:{line:128,column:10}}}))?a:"")+'</option>\n</select>\n</div>\n<div>\n<label for="settings__general-remember-key-files">'+c(u(n,"res").call(l,"setGenRememberKeyFiles",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:132,column:50},end:{line:132,column:82}}}))+':</label>\n<select class="settings__general-remember-key-files settings__select input-base" id="settings__general-remember-key-files">\n<option value="" '+(null!=(a=u(n,"unless").call(l,null!=t?u(t,"rememberKeyFiles"):t,{name:"unless",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:134,column:17},end:{line:134,column:64}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenNoRememberKeyFiles",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:134,column:65},end:{line:134,column:99}}}))+'</option>\n<option value="data" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"rememberKeyFiles"):t,"data",{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:135,column:21},end:{line:135,column:71}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenRememberKeyFilesData",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:135,column:72},end:{line:135,column:108}}}))+"</option>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"supportFiles"):t,{name:"if",hash:{},fn:e.program(42,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:136,column:0},end:{line:136,column:144}}}))?a:"")+"\n</select>\n</div>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canClearClipboard"):t,{name:"if",hash:{},fn:e.program(44,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:139,column:0},end:{line:150,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canMinimize"):t,{name:"if",hash:{},fn:e.program(51,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:151,column:0},end:{line:162,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canAutoType"):t,{name:"if",hash:{},fn:e.program(53,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:163,column:0},end:{line:179,column:7}}}))?a:"")+'<div>\n<input type="checkbox" class="settings__input input-base settings__general-use-markdown" id="settings__general-use-markdown" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"useMarkdown"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:181,column:125},end:{line:181,column:158}}}))?a:"")+' />\n<label for="settings__general-use-markdown">'+c(u(n,"res").call(l,"setGenUseMarkdown",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:182,column:44},end:{line:182,column:71}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-use-group-icon-for-entries"\nid="settings__general-use-group-icon-for-entries" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"useGroupIconForEntries"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:186,column:50},end:{line:186,column:94}}}))?a:"")+' />\n<label for="settings__general-use-group-icon-for-entries">'+c(u(n,"res").call(l,"setGenUseGroupIconForEntries",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:187,column:58},end:{line:187,column:96}}}))+"</label>\n</div>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"hasDeviceOwnerAuth"):t,{name:"if",hash:{},fn:e.program(55,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:189,column:0},end:{line:215,column:7}}}))?a:"")+'<h2 id="audit">'+c(u(n,"res").call(l,"setGenAudit",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:216,column:15},end:{line:216,column:36}}}))+'</h2>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-audit-passwords"\nid="settings__general-audit-passwords" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"auditPasswords"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:219,column:39},end:{line:219,column:75}}}))?a:"")+' />\n<label for="settings__general-audit-passwords">'+c(u(n,"res").call(l,"setGenAuditPasswords",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:220,column:47},end:{line:220,column:77}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-audit-password-entropy"\nid="settings__general-audit-password-entropy" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"auditPasswordEntropy"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:224,column:46},end:{line:224,column:88}}}))?a:"")+' />\n<label for="settings__general-audit-password-entropy">'+c(u(n,"res").call(l,"setGenAuditPasswordEntropy",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:225,column:54},end:{line:225,column:90}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-exclude-pins-from-audit"\nid="settings__general-exclude-pins-from-audit" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"excludePinsFromAudit"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:229,column:47},end:{line:229,column:89}}}))?a:"")+' />\n<label for="settings__general-exclude-pins-from-audit">'+c(u(n,"res").call(l,"setGenExcludePinsFromAudit",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:230,column:55},end:{line:230,column:91}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-check-passwords-on-hibp"\nid="settings__general-check-passwords-on-hibp" '+(null!=(a=u(n,"if").call(l,null!=t?u(t,"checkPasswordsOnHIBP"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:234,column:47},end:{line:234,column:89}}}))?a:"")+' />\n<label for="settings__general-check-passwords-on-hibp">'+(null!=(a=u(n,"res").call(l,"setGenCheckPasswordsOnHIBP",{name:"res",hash:{},fn:e.program(65,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:236,column:0},end:{line:238,column:10}}}))?a:"")+'</label>\n<i class="fa fa-info-circle info-btn settings__general-toggle-help-hibp"></i>\n<div class="settings__general-help-hibp hide">'+(null!=(a=u(n,"res").call(l,"setGenHelpHIBP",{name:"res",hash:{},fn:e.program(67,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:242,column:0},end:{line:244,column:10}}}))?a:"")+'</div>\n</div>\n<div>\n<label for="settings__general-audit-password-age">'+c(u(n,"res").call(l,"setGenAuditPasswordAge",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:248,column:50},end:{line:248,column:82}}}))+':</label>\n<select class="settings__select input-base settings__general-audit-password-age"\nid="settings__general-audit-password-age">\n<option value="0" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"auditPasswordAge"):t,0,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:251,column:18},end:{line:251,column:63}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenAuditPasswordAgeOff",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:251,column:64},end:{line:251,column:99}}}))+'</option>\n<option value="1" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"auditPasswordAge"):t,1,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:252,column:18},end:{line:252,column:63}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenAuditPasswordAgeOneYear",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:252,column:64},end:{line:252,column:103}}}))+'</option>\n<option value="2" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"auditPasswordAge"):t,2,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:253,column:18},end:{line:253,column:63}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAuditPasswordAgeYears",{name:"res",hash:{},fn:e.program(69,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:253,column:64},end:{line:254,column:9}}}))?a:"")+'</option>\n<option value="3" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"auditPasswordAge"):t,3,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:255,column:18},end:{line:255,column:63}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAuditPasswordAgeYears",{name:"res",hash:{},fn:e.program(71,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:255,column:64},end:{line:256,column:9}}}))?a:"")+'</option>\n<option value="5" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"auditPasswordAge"):t,5,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:257,column:18},end:{line:257,column:63}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAuditPasswordAgeYears",{name:"res",hash:{},fn:e.program(34,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:257,column:64},end:{line:258,column:9}}}))?a:"")+'</option>\n<option value="10" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"auditPasswordAge"):t,10,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:259,column:19},end:{line:259,column:65}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenAuditPasswordAgeYears",{name:"res",hash:{},fn:e.program(73,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:259,column:66},end:{line:260,column:10}}}))?a:"")+'</option>\n</select>\n</div>\n<h2 id="lock">'+c(u(n,"res").call(l,"setGenLock",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:263,column:14},end:{line:263,column:34}}}))+'</h2>\n<div>\n<label for="settings__general-idle-minutes">'+c(u(n,"res").call(l,"setGenLockInactive",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:265,column:44},end:{line:265,column:72}}}))+':</label>\n<select class="settings__general-idle-minutes settings__select input-base" id="settings__general-idle-minutes">\n<option value="0" '+(null!=(a=u(n,"cmp").call(l,null!=t?u(t,"idleMinutes"):t,0,"<=",{name:"cmp",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:267,column:18},end:{line:267,column:61}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenNoAutoLock",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:267,column:62},end:{line:267,column:88}}}))+'</option>\n<option value="5" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,5,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:268,column:18},end:{line:268,column:58}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenLockMinutes",{name:"res",hash:{},fn:e.program(45,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:268,column:59},end:{line:268,column:96}}}))?a:"")+'</option>\n<option value="10" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,10,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:269,column:19},end:{line:269,column:60}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenLockMinutes",{name:"res",hash:{},fn:e.program(47,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:269,column:61},end:{line:269,column:99}}}))?a:"")+'</option>\n<option value="15" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,15,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:270,column:19},end:{line:270,column:60}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenLockMinutes",{name:"res",hash:{},fn:e.program(49,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:270,column:61},end:{line:270,column:99}}}))?a:"")+'</option>\n<option value="30" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,30,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:271,column:19},end:{line:271,column:60}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenLockMinutes",{name:"res",hash:{},fn:e.program(57,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:271,column:61},end:{line:271,column:99}}}))?a:"")+'</option>\n<option value="60" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,60,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:272,column:19},end:{line:272,column:60}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenLockHour",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:272,column:61},end:{line:272,column:85}}}))+'</option>\n<option value="180" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,180,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:273,column:20},end:{line:273,column:62}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenLockHours",{name:"res",hash:{},fn:e.program(75,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:273,column:63},end:{line:273,column:98}}}))?a:"")+'</option>\n<option value="360" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,360,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:274,column:20},end:{line:274,column:62}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenLockHours",{name:"res",hash:{},fn:e.program(77,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:274,column:63},end:{line:274,column:98}}}))?a:"")+'</option>\n<option value="720" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,720,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:275,column:20},end:{line:275,column:62}}}))?a:"")+">"+(null!=(a=u(n,"res").call(l,"setGenLockHours",{name:"res",hash:{},fn:e.program(79,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:275,column:63},end:{line:275,column:99}}}))?a:"")+'</option>\n<option value="1440" '+(null!=(a=u(n,"ifeq").call(l,null!=t?u(t,"idleMinutes"):t,1440,{name:"ifeq",hash:{},fn:e.program(7,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:276,column:21},end:{line:276,column:64}}}))?a:"")+">"+c(u(n,"res").call(l,"setGenLockDay",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:276,column:65},end:{line:276,column:88}}}))+"</option>\n</select>\n</div>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canDetectMinimize"):t,{name:"if",hash:{},fn:e.program(81,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:279,column:0},end:{line:285,column:7}}}))?a:"")+'<div>\n<input type="checkbox" class="settings__input input-base settings__general-lock-on-copy" id="settings__general-lock-on-copy"\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"lockOnCopy"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:288,column:0},end:{line:288,column:32}}}))?a:"")+' />\n<label for="settings__general-lock-on-copy">'+c(u(n,"res").call(l,"setGenLockCopy",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:289,column:44},end:{line:289,column:68}}}))+"</label>\n</div>\n"+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canAutoType"):t,{name:"if",hash:{},fn:e.program(83,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:291,column:0},end:{line:297,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"canDetectOsSleep"):t,{name:"if",hash:{},fn:e.program(85,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:298,column:0},end:{line:304,column:7}}}))?a:"")+'<h2 id="storage">'+c(u(n,"res").call(l,"setGenStorage",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:305,column:17},end:{line:305,column:40}}}))+'</h2>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-disable-offline-storage" id="settings__general-disable-offline-storage"\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"disableOfflineStorage"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:308,column:0},end:{line:308,column:43}}}))?a:"")+' />\n<label for="settings__general-disable-offline-storage">'+c(u(n,"res").call(l,"setGenDisableOfflineStorage",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:309,column:55},end:{line:309,column:92}}}))+'</label>\n</div>\n<div>\n<input type="checkbox" class="settings__input input-base settings__general-short-lived-storage-token" id="settings__general-short-lived-storage-token"\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"shortLivedStorageToken"):t,{name:"if",hash:{},fn:e.program(23,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:313,column:0},end:{line:313,column:44}}}))?a:"")+' />\n<label for="settings__general-short-lived-storage-token">'+c(u(n,"res").call(l,"setGenShortLivedStorageToken",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:314,column:57},end:{line:314,column:95}}}))+"</label>\n</div>\n"+(null!=(a=u(n,"each").call(l,null!=t?u(t,"storageProviders"):t,{name:"each",hash:{},fn:e.program(87,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:316,column:0},end:{line:324,column:9}}}))?a:"")+'<h2 id="advanced">'+c(u(n,"res").call(l,"advanced",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:325,column:18},end:{line:325,column:36}}}))+'</h2>\n<a class="settings__general-show-advanced">'+c(u(n,"res").call(l,"setGenShowAdvanced",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:326,column:43},end:{line:326,column:71}}}))+'</a>\n<div class="settings__general-advanced hide">\n'+(null!=(a=u(n,"if").call(l,null!=t?u(t,"devTools"):t,{name:"if",hash:{},fn:e.program(92,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:328,column:0},end:{line:331,column:7}}}))?a:"")+(null!=(a=u(n,"if").call(l,null!=t?u(t,"showReloadApp"):t,{name:"if",hash:{},fn:e.program(94,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:332,column:0},end:{line:334,column:7}}}))?a:"")+'<button class="btn-silent settings__general-show-logs-link">'+c(u(n,"res").call(l,"setGenShowAppLogs",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:335,column:60},end:{line:335,column:87}}}))+"</button>\n</div>\n</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},4113:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return'<a href="https://keepass.info/" target="_blank">KeePass</a>'},3:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return' <a href="'+a("function"==typeof(r=null!=(r=l(n,"issueLink")||(null!=t?l(t,"issueLink"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"issueLink",hash:{},data:i,loc:{start:{line:6,column:40},end:{line:6,column:53}}}):r)+'" target="_blank">'+a(l(n,"res").call(o,"setHelpOpenIssue",{name:"res",hash:{},data:i,loc:{start:{line:6,column:71},end:{line:6,column:97}}}))+"</a>"},5:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="https://antelle.net/" target="_blank">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setHelpContactLink",{name:"res",hash:{},data:i,loc:{start:{line:7,column:74},end:{line:7,column:102}}}))+"</a>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.hooks.helperMissing,u="function",d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-question settings__head-icon"></i> '+l(d(n,"res").call(a,"help",{name:"res",hash:{},data:i,loc:{start:{line:2,column:55},end:{line:2,column:69}}}))+"</h1>\n<h2>"+l(d(n,"res").call(a,"setHelpFormat",{name:"res",hash:{},data:i,loc:{start:{line:3,column:4},end:{line:3,column:27}}}))+"</h2>\n<p>"+(null!=(r=d(n,"res").call(a,"setHelpFormatBody",{name:"res",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:4,column:3},end:{line:4,column:98}}}))?r:"")+"</p>\n<h2>"+l(d(n,"res").call(a,"setHelpProblems",{name:"res",hash:{},data:i,loc:{start:{line:5,column:4},end:{line:5,column:29}}}))+"</h2>\n<p>"+(null!=(r=d(n,"res").call(a,"setHelpProblems1",{name:"res",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:6,column:3},end:{line:6,column:109}}}))?r:"")+"\n"+(null!=(r=d(n,"res").call(a,"setHelpProblems2",{name:"res",hash:{},fn:e.program(5,i,0),inverse:e.noop,data:i,loc:{start:{line:7,column:0},end:{line:7,column:114}}}))?r:"")+".\n</p>\n<p>"+l(d(n,"res").call(a,"setHelpAppInfo",{name:"res",hash:{},data:i,loc:{start:{line:9,column:3},end:{line:9,column:27}}}))+':</p>\n<pre class="settings__pre input-base">'+l(typeof(o=null!=(o=d(n,"appInfo")||(null!=t?d(t,"appInfo"):t))?o:c)===u?o.call(a,{name:"appInfo",hash:{},data:i,loc:{start:{line:10,column:38},end:{line:10,column:49}}}):o)+"</pre>\n<h2>"+l(d(n,"res").call(a,"setHelpOtherPlatforms",{name:"res",hash:{},data:i,loc:{start:{line:11,column:4},end:{line:11,column:35}}}))+'</h2>\n<ul>\n<li>\n<i class="fa fa-windows"></i>\n<i class="fa fa-apple"></i>\n<i class="fa fa-linux"></i>\n<a href="'+l(typeof(o=null!=(o=d(n,"desktopLink")||(null!=t?d(t,"desktopLink"):t))?o:c)===u?o.call(a,{name:"desktopLink",hash:{},data:i,loc:{start:{line:17,column:9},end:{line:17,column:24}}}):o)+'" target="_blank">'+l(d(n,"res").call(a,"setHelpDesktopApps",{name:"res",hash:{},data:i,loc:{start:{line:17,column:42},end:{line:17,column:70}}}))+'</a>\n</li>\n<li>\n<i class="fa fa-chrome"></i>\n<i class="fa fa-firefox-browser"></i>\n<i class="fa fa-opera"></i>\n<i class="fa fa-safari"></i>\n<i class="fa fa-edge"></i>\n<a href="'+l(typeof(o=null!=(o=d(n,"webAppLink")||(null!=t?d(t,"webAppLink"):t))?o:c)===u?o.call(a,{name:"webAppLink",hash:{},data:i,loc:{start:{line:25,column:9},end:{line:25,column:23}}}):o)+'" target="_blank">'+l(d(n,"res").call(a,"setHelpWebApp",{name:"res",hash:{},data:i,loc:{start:{line:25,column:41},end:{line:25,column:64}}}))+"</a>\n</li>\n</ul>\n<h2>"+l(d(n,"res").call(a,"setHelpUpdates",{name:"res",hash:{},data:i,loc:{start:{line:28,column:4},end:{line:28,column:28}}}))+' <i class="fa fa-twitter"></i></h2>\n<p>'+l(d(n,"res").call(a,"setHelpTwitter",{name:"res",hash:{},data:i,loc:{start:{line:29,column:3},end:{line:29,column:27}}}))+': <a href="https://twitter.com/kee_web" target="_blank">kee_web</a></p>\n</div>\n'},useData:!0})},7648:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<pre class="settings__logs-log settings__logs-log--'+u(typeof(o=null!=(o=d(n,"level")||(null!=t?d(t,"level"):t))?o:l)===c?o.call(a,{name:"level",hash:{},data:i,loc:{start:{line:3,column:51},end:{line:3,column:60}}}):o)+" "+(null!=(r=d(n,"if").call(a,null!=t?d(t,"color"):t,{name:"if",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i,loc:{start:{line:3,column:61},end:{line:3,column:96}}}))?r:"")+'">'+u(typeof(o=null!=(o=d(n,"msg")||(null!=t?d(t,"msg"):t))?o:l)===c?o.call(a,{name:"msg",hash:{},data:i,loc:{start:{line:3,column:98},end:{line:3,column:105}}}):o)+"</pre>\n"},2:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression("function"==typeof(r=null!=(r=o(n,"color")||(null!=t?o(t,"color"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"color",hash:{},data:i,loc:{start:{line:3,column:74},end:{line:3,column:83}}}):r)+"-color"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__logs">\n'+(null!=(r=o(n,"each").call(null!=t?t:e.nullContext||{},null!=t?o(t,"logs"):t,{name:"each",hash:{},fn:e.program(1,i,1),inverse:e.noop,data:i,loc:{start:{line:2,column:0},end:{line:4,column:9}}}))?r:"")+"</div>\n"},useData:!0})},4103:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+a("function"==typeof(r=null!=(r=l(n,"translateLink")||(null!=t?l(t,"translateLink"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"translateLink",hash:{},data:i,loc:{start:{line:5,column:34},end:{line:5,column:51}}}):r)+'" target="_blank">'+a(l(n,"res").call(o,"setPlTranslateLink",{name:"res",hash:{},data:i,loc:{start:{line:5,column:69},end:{line:5,column:97}}}))+"</a>"},3:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__plugins-plugin" id="settings__plugins-plugin--'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'">\n<h2>'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+"</h2>\n<div>"+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"description"):a,t))+'</div>\n<div>\n<ul class="settings__plugins-plugin-files">\n'+(null!=(a=d(n,"if").call(u,null!=(a=null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"resources"):a)?d(a,"js"):a,{name:"if",hash:{},fn:e.program(4,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:14,column:0},end:{line:14,column:134}}}))?a:"")+"\n"+(null!=(a=d(n,"if").call(u,null!=(a=null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"resources"):a)?d(a,"css"):a,{name:"if",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:15,column:0},end:{line:15,column:143}}}))?a:"")+"\n"+(null!=(a=d(n,"if").call(u,null!=(a=null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"resources"):a)?d(a,"loc"):a,{name:"if",hash:{},fn:e.program(8,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?a:"")+'</ul>\n</div>\n<div class="settings__plugins-plugin-desc">\n<a href="'+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"url"):a,t))+'" target="_blank">'+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"url"):a,t))+"</a>, v"+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"version"):a,t))+".\n"+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"official"):a,{name:"if",hash:{},fn:e.program(13,i,0,r,o),inverse:e.program(15,i,0,r,o),data:i,blockParams:r,loc:{start:{line:23,column:0},end:{line:27,column:7}}}))?a:"")+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"status"):a,"active",{name:"ifeq",hash:{},fn:e.program(18,i,0,r,o),inverse:e.program(21,i,0,r,o),data:i,blockParams:r,loc:{start:{line:28,column:0},end:{line:36,column:9}}}))?a:"")+(null!=(a=d(n,"if").call(u,null!=t?d(t,"updateCheckDate"):t,{name:"if",hash:{},fn:e.program(26,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:37,column:0},end:{line:39,column:7}}}))?a:"")+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"installError"):a,{name:"if",hash:{},fn:e.program(28,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:40,column:0},end:{line:40,column:131}}}))?a:"")+"\n"+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"updateError"):a,{name:"if",hash:{},fn:e.program(30,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:41,column:0},end:{line:41,column:129}}}))?a:"")+'\n</div>\n<div class="settings__plugins-plugin-updates">\n<input type="checkbox" class="settings__plugins-plugin-update-check settings__input input-base"\nid="plugin-'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'-auto-update" data-plugin="'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'"\n'+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"autoUpdate"):a,{name:"if",hash:{},fn:e.program(32,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:46,column:0},end:{line:46,column:39}}}))?a:"")+' />\n<label for="plugin-'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'-auto-update">'+c(d(n,"res").call(u,"setPlAutoUpdate",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:47,column:46},end:{line:47,column:71}}}))+"</label>\n</div>\n"+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"settings"):a,{name:"if",hash:{},fn:e.program(34,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:49,column:0},end:{line:88,column:7}}}))?a:"")+'<div class="settings__plugins-plugin-buttons">\n<button class="settings_plugins-uninstall-btn btn-error" data-plugin="'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'">'+c(d(n,"res").call(u,"setPlUninstallBtn",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:90,column:85},end:{line:90,column:112}}}))+"</button>\n"+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"status"):a,"active",{name:"ifeq",hash:{},fn:e.program(47,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:91,column:0},end:{line:91,column:159}}}))?a:"")+"\n"+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"status"):a,"inactive",{name:"ifeq",hash:{},fn:e.program(49,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:92,column:0},end:{line:92,column:159}}}))?a:"")+'\n<button class="settings_plugins-update-btn btn-silent" data-plugin="'+c(l(null!=(a=r[0][0])?d(a,"id"):a,t))+'">'+c(d(n,"res").call(u,"setPlUpdateBtn",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:93,column:83},end:{line:93,column:107}}}))+"</button>\n"+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"status"):a,"active",{name:"ifeq",hash:{},fn:e.program(51,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:94,column:0},end:{line:97,column:9}}}))?a:"")+"</div>\n</div>\n"},4:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<li class="settings__plugins-plugin-file"><i class="fa fa-code"></i> '+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlJs",{name:"res",hash:{},data:i,loc:{start:{line:14,column:105},end:{line:14,column:122}}}))+"</li>"},6:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<li class="settings__plugins-plugin-file"><i class="fa fa-paint-brush"></i> '+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlCss",{name:"res",hash:{},data:i,loc:{start:{line:15,column:113},end:{line:15,column:131}}}))+"</li>"},8:function(e,t,n,s,i,r,o){var a,l=null!=t?t:e.nullContext||{},c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<li class="settings__plugins-plugin-file"><i class="fa fa-language"></i>&nbsp;\n'+c(u(n,"res").call(l,"setPlLoc",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:17,column:0},end:{line:17,column:18}}}))+": "+c(e.lambda(null!=(a=null!=(a=null!=(a=r[1][0])?u(a,"manifest"):a)?u(a,"locale"):a)?u(a,"title"):a,t))+" "+(null!=(a=u(n,"if").call(l,null!=o[1]?u(o[1],"hasUnicodeFlags"):o[1],{name:"if",hash:{},fn:e.program(9,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:53},end:{line:17,column:202}}}))?a:"")+"</li>\n"},9:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=null!=(o=r[2][0])?a(o,"manifest"):o)?a(o,"locale"):o,{name:"if",hash:{},fn:e.program(10,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:79},end:{line:17,column:195}}}))?o:""},10:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=null!=(o=null!=(o=r[3][0])?a(o,"manifest"):o)?a(o,"locale"):o)?a(o,"flag"):o,{name:"if",hash:{},fn:e.program(11,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:109},end:{line:17,column:188}}}))?o:""},11:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"&nbsp;"+e.escapeExpression(e.lambda(null!=(o=null!=(o=null!=(o=r[4][0])?a(o,"manifest"):o)?a(o,"locale"):o)?a(o,"flag"):o,t))},13:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlOfficial",{name:"res",hash:{},data:i,loc:{start:{line:24,column:0},end:{line:24,column:23}}}))+",\n"},15:function(e,t,n,s,i,r){var o;return(null!=(o=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"res").call(null!=t?t:e.nullContext||{},"setPlCreatedBy",{name:"res",hash:{},fn:e.program(16,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:26,column:0},end:{line:26,column:160}}}))?o:"")+",\n"},16:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<a href="'+l(a(null!=(o=null!=(o=null!=(o=r[2][0])?c(o,"manifest"):o)?c(o,"author"):o)?c(o,"url"):o,t))+'" target="_blank">'+l(a(null!=(o=null!=(o=null!=(o=r[2][0])?c(o,"manifest"):o)?c(o,"author"):o)?c(o,"name"):o,t))+"</a> ("+l(a(null!=(o=null!=(o=null!=(o=r[2][0])?c(o,"manifest"):o)?c(o,"author"):o)?c(o,"email"):o,t))+")"},18:function(e,t,n,s,i,r){var o;return(null!=(o=(e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]})(n,"res").call(null!=t?t:e.nullContext||{},"setPlLoadTime",{name:"res",hash:{},fn:e.program(19,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:29,column:0},end:{line:29,column:56}}}))?o:"")+"\n"},19:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(e.lambda(null!=(o=r[2][0])?a(o,"installTime"):o,t))+"ms"},21:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=(o=r[1][0])?a(o,"status"):o,"error",{name:"ifeq",hash:{},fn:e.program(22,i,0,r),inverse:e.program(24,i,0,r),data:i,blockParams:r,loc:{start:{line:31,column:0},end:{line:35,column:9}}}))?o:""},22:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<span class="error-color">&nbsp;'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlLoadError",{name:"res",hash:{},data:i,loc:{start:{line:32,column:32},end:{line:32,column:56}}}))+"</span>\n"},24:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(e.lambda(null!=(o=r[2][0])?a(o,"status"):o,t))+"\n"},26:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<div>"+a(l(n,"res").call(o,"setPlLastUpdate",{name:"res",hash:{},data:i,loc:{start:{line:38,column:5},end:{line:38,column:30}}}))+": "+a("function"==typeof(r=null!=(r=l(n,"updateCheckDate")||(null!=t?l(t,"updateCheckDate"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"updateCheckDate",hash:{},data:i,loc:{start:{line:38,column:32},end:{line:38,column:51}}}):r)+"</div>\n"},28:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="error-color settings__plugins-install-error"><pre>'+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"installError"):o,t))+"</pre></div>"},30:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="error-color settings__plugins-install-error"><pre>'+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"updateError"):o,t))+"</pre></div>"},32:function(e,t,n,s,i){return"checked"},34:function(e,t,n,s,i,r,o){var a,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__plugins-plugin-settings">\n'+(null!=(a=l(n,"each").call(null!=t?t:e.nullContext||{},null!=(a=r[1][0])?l(a,"settings"):a,{name:"each",hash:{},fn:e.program(35,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:51,column:0},end:{line:86,column:9}}}))?a:"")+"</div>\n"},35:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__plugins-plugin-setting"\ndata-setting="'+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'"\ndata-plugin="'+c(l(null!=o[1]?d(o[1],"id"):o[1],t))+'"\n>\n'+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"type"):a,"checkbox",{name:"ifeq",hash:{},fn:e.program(36,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:56,column:0},end:{line:62,column:9}}}))?a:"")+'<label\nclass="settings__plugins-plugin-label"\nfor="plugin-'+c(l(null!=o[1]?d(o[1],"id"):o[1],t))+"-setting-"+c(l(null!=(a=r[0][0])?d(a,"name"):a,t))+'"\n>'+c(l(null!=(a=r[0][0])?d(a,"label"):a,t))+"</label>\n"+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"type"):a,"text",{name:"ifeq",hash:{},fn:e.program(38,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:67,column:0},end:{line:75,column:9}}}))?a:"")+(null!=(a=d(n,"ifeq").call(u,null!=(a=r[0][0])?d(a,"type"):a,"select",{name:"ifeq",hash:{},fn:e.program(43,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:76,column:0},end:{line:84,column:9}}}))?a:"")+"</div>\n"},36:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<input type="checkbox"\nclass="settings__plugins-plugin-input settings__input input-base"\nid="plugin-'+c(l(null!=o[1]?u(o[1],"id"):o[1],t))+"-setting-"+c(l(null!=(a=r[1][0])?u(a,"name"):a,t))+'"\n'+(null!=(a=u(n,"if").call(null!=t?t:e.nullContext||{},null!=(a=r[1][0])?u(a,"value"):a,{name:"if",hash:{},fn:e.program(32,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:60,column:0},end:{line:60,column:35}}}))?a:"")+"\n/>\n"},38:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<input type="text"\nclass="settings__plugins-plugin-input settings__input input-base"\nid="plugin-'+c(l(null!=o[1]?d(o[1],"id"):o[1],t))+"-setting-"+c(l(null!=(a=r[1][0])?d(a,"name"):a,t))+'"\n'+(null!=(a=d(n,"if").call(u,null!=(a=r[1][0])?d(a,"placeholder"):a,{name:"if",hash:{},fn:e.program(39,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:71,column:0},end:{line:71,column:71}}}))?a:"")+"\n"+(null!=(a=d(n,"if").call(u,null!=(a=r[1][0])?d(a,"maxlength"):a,{name:"if",hash:{},fn:e.program(41,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:72,column:0},end:{line:72,column:65}}}))?a:"")+'\nvalue="'+c(l(null!=(a=r[1][0])?d(a,"value"):a,t))+'"\n/>\n'},39:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'placeholder="'+e.escapeExpression(e.lambda(null!=(o=r[2][0])?a(o,"placeholder"):o,t))+'"'},41:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'maxlength="'+e.escapeExpression(e.lambda(null!=(o=r[2][0])?a(o,"maxlength"):o,t))+'"'},43:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<select class="settings__plugins-plugin-input settings__select input-base"\nid="plugin-'+c(l(null!=o[1]?u(o[1],"name"):o[1],t))+"-setting-"+c(l(null!=(a=r[1][0])?u(a,"name"):a,t))+'"\n>\n'+(null!=(a=u(n,"each").call(null!=t?t:e.nullContext||{},null!=(a=r[1][0])?u(a,"options"):a,{name:"each",hash:{},fn:e.program(44,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:80,column:0},end:{line:82,column:9}}}))?a:"")+"</select>\n"},44:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+c(l(null!=(a=r[0][0])?u(a,"value"):a,t))+'" '+(null!=(a=u(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=(a=r[0][0])?u(a,"value"):a,null!=o[1]?u(o[1],"value"):o[1],{name:"ifeq",hash:{},fn:e.program(45,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:81,column:30},end:{line:81,column:75}}}))?a:"")+">"+c(l(null!=(a=r[0][0])?u(a,"label"):a,t))+"</option>\n"},45:function(e,t,n,s,i){return"selected"},47:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings_plugins-disable-btn btn-silent" data-plugin="'+a(e.lambda(null!=(o=r[1][0])?l(o,"id"):o,t))+'">'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setPlDisableBtn",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:91,column:116},end:{line:91,column:141}}}))+"</button>"},49:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings_plugins-enable-btn btn-silent" data-plugin="'+a(e.lambda(null!=(o=r[1][0])?l(o,"id"):o,t))+'">'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setPlEnableBtn",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:92,column:117},end:{line:92,column:141}}}))+"</button>"},51:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(o=l(n,"if").call(a,null!=(o=null!=(o=r[1][0])?l(o,"manifest"):o)?l(o,"locale"):o,{name:"if",hash:{},fn:e.program(52,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:95,column:0},end:{line:95,column:175}}}))?o:"")+"\n"+(null!=(o=l(n,"if").call(a,null!=(o=null!=(o=r[1][0])?l(o,"manifest"):o)?l(o,"theme"):o,{name:"if",hash:{},fn:e.program(54,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:96,column:0},end:{line:96,column:170}}}))?o:"")+"\n"},52:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings_plugins-use-locale-btn btn-silent" data-locale="'+a(e.lambda(null!=(o=null!=(o=null!=(o=r[2][0])?l(o,"manifest"):o)?l(o,"locale"):o)?l(o,"name"):o,t))+'">'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setPlLocaleBtn",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:95,column:135},end:{line:95,column:159}}}))+"</button>"},54:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings_plugins-use-theme-btn btn-silent" data-theme="'+a(e.lambda(null!=(o=null!=(o=null!=(o=r[2][0])?l(o,"manifest"):o)?l(o,"theme"):o)?l(o,"name"):o,t))+'">'+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setPlThemeBtn",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:96,column:131},end:{line:96,column:154}}}))+"</button>"},56:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlGalleryLoading",{name:"res",hash:{},data:i,loc:{start:{line:103,column:22},end:{line:103,column:51}}}))+"..."},58:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlInstallTitle",{name:"res",hash:{},data:i,loc:{start:{line:103,column:62},end:{line:103,column:89}}}))},60:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="error-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlGalleryLoadError",{name:"res",hash:{},data:i,loc:{start:{line:107,column:49},end:{line:107,column:80}}}))+"</div>"},62:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<input type="text" class="input-base settings__plugins-gallery-search" placeholder="'+u(d(n,"res").call(c,"setPlSearch",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:109,column:84},end:{line:109,column:105}}}))+'" value="'+u("function"==typeof(l=null!=(l=d(n,"searchStr")||(null!=t?d(t,"searchStr"):t))?l:e.hooks.helperMissing)?l.call(c,{name:"searchStr",hash:{},data:i,blockParams:r,loc:{start:{line:109,column:114},end:{line:109,column:127}}}):l)+'" />\n<div class="settings__plugins-gallery">\n'+(null!=(a=d(n,"each").call(c,null!=t?d(t,"galleryPlugins"):t,{name:"each",hash:{},fn:e.program(63,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:111,column:0},end:{line:150,column:9}}}))?a:"")+"</div>\n"},63:function(e,t,n,s,i,r,o){var a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__plugins-gallery-plugin" data-plugin="'+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"name"):a,t))+'">\n<h4 class="settings__plugins-gallery-plugin-title">\n<a href="'+c(l(null!=(a=r[0][0])?d(a,"url"):a,t))+'" target="_blank" class="settings__plugins-gallery-plugin-title-link">'+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"name"):a,t))+"</a>\n</h4>\n"+(null!=(a=d(n,"if").call(u,null!=o[1]?d(o[1],"hasUnicodeFlags"):o[1],{name:"if",hash:{},fn:e.program(64,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:116,column:0},end:{line:122,column:7}}}))?a:"")+'<div class="settings__plugins-gallery-plugin-desc">'+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"description"):a,t))+'</div>\n<ul class="settings__plugins-plugin-files">\n'+(null!=(a=d(n,"if").call(u,null!=(a=null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"resources"):a)?d(a,"js"):a,{name:"if",hash:{},fn:e.program(4,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:125,column:0},end:{line:125,column:134}}}))?a:"")+"\n"+(null!=(a=d(n,"if").call(u,null!=(a=null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"resources"):a)?d(a,"css"):a,{name:"if",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:126,column:0},end:{line:126,column:143}}}))?a:"")+"\n"+(null!=(a=d(n,"if").call(u,null!=(a=null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"resources"):a)?d(a,"loc"):a,{name:"if",hash:{},fn:e.program(68,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:127,column:0},end:{line:127,column:174}}}))?a:"")+'\n</ul>\n<div class="settings__plugins-gallery-plugin-author muted-color">\n'+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"official"):a,{name:"if",hash:{},fn:e.program(70,i,0,r,o),inverse:e.program(72,i,0,r,o),data:i,blockParams:r,loc:{start:{line:130,column:0},end:{line:134,column:7}}}))?a:"")+"</div>\n"+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"installError"):a,{name:"if",hash:{},fn:e.program(74,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:136,column:0},end:{line:138,column:7}}}))?a:"")+'<button class="settings__plugins-gallery-plugin-install-btn"\ndata-plugin="'+c(l(null!=(a=null!=(a=r[0][0])?d(a,"manifest"):a)?d(a,"name"):a,t))+'"\n'+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"installing"):a,{name:"if",hash:{},fn:e.program(76,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:141,column:0},end:{line:141,column:40}}}))?a:"")+"\n>\n"+(null!=(a=d(n,"if").call(u,null!=(a=r[0][0])?d(a,"installing"):a,{name:"if",hash:{},fn:e.program(78,i,0,r,o),inverse:e.program(80,i,0,r,o),data:i,blockParams:r,loc:{start:{line:143,column:0},end:{line:147,column:7}}}))?a:"")+"</button>\n</div>\n"},64:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=null!=(o=r[1][0])?a(o,"manifest"):o)?a(o,"locale"):o,{name:"if",hash:{},fn:e.program(65,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:117,column:0},end:{line:121,column:7}}}))?o:""},65:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=null!=(o=null!=(o=r[2][0])?a(o,"manifest"):o)?a(o,"locale"):o)?a(o,"flag"):o,{name:"if",hash:{},fn:e.program(66,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:118,column:0},end:{line:120,column:7}}}))?o:""},66:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__plugins-gallery-plugin-country-flag">'+e.escapeExpression(e.lambda(null!=(o=null!=(o=null!=(o=r[3][0])?a(o,"manifest"):o)?a(o,"locale"):o)?a(o,"flag"):o,t))+"</div>\n"},68:function(e,t,n,s,i,r){var o,a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<li class="settings__plugins-plugin-file"><i class="fa fa-language"></i> '+a(l(n,"res").call(null!=t?t:e.nullContext||{},"setPlLoc",{name:"res",hash:{},data:i,loc:{start:{line:127,column:110},end:{line:127,column:128}}}))+": "+a(e.lambda(null!=(o=null!=(o=null!=(o=r[1][0])?l(o,"manifest"):o)?l(o,"locale"):o)?l(o,"title"):o,t))+"</li>"},70:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-check"></i> '+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlOfficial",{name:"res",hash:{},data:i,loc:{start:{line:131,column:28},end:{line:131,column:51}}}))+"\n"},72:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<i class="fa fa-at"></i> <a href="'+l(a(null!=(o=null!=(o=null!=(o=r[1][0])?c(o,"manifest"):o)?c(o,"author"):o)?c(o,"url"):o,t))+'" target="_blank">'+l(a(null!=(o=null!=(o=null!=(o=r[1][0])?c(o,"manifest"):o)?c(o,"author"):o)?c(o,"name"):o,t))+"</a> ("+l(a(null!=(o=null!=(o=null!=(o=r[1][0])?c(o,"manifest"):o)?c(o,"author"):o)?c(o,"email"):o,t))+")\n"},74:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="error-color">'+e.escapeExpression(e.lambda(null!=(o=r[1][0])?a(o,"installError"):o,t))+"</div>\n"},76:function(e,t,n,s,i){return"disabled"},78:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlInstallBtnProgress",{name:"res",hash:{},data:i,loc:{start:{line:144,column:0},end:{line:144,column:33}}}))+"...\n"},80:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlInstallBtn",{name:"res",hash:{},data:i,loc:{start:{line:146,column:0},end:{line:146,column:25}}}))+"\n"},82:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<button class="settings__plugins-gallery-load-btn" '+(null!=(r=a(n,"if").call(o,null!=t?a(t,"galleryLoading"):t,{name:"if",hash:{},fn:e.program(83,i,0),inverse:e.noop,data:i,loc:{start:{line:153,column:51},end:{line:153,column:99}}}))?r:"")+">"+e.escapeExpression(a(n,"res").call(o,"setPlLoadGallery",{name:"res",hash:{},data:i,loc:{start:{line:153,column:100},end:{line:153,column:126}}}))+"</button>\n"},83:function(e,t,n,s,i){return'disabled="disabled"'},85:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlInstallBtnProgress",{name:"res",hash:{},data:i,loc:{start:{line:162,column:25},end:{line:162,column:58}}}))},87:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"setPlInstallBtn",{name:"res",hash:{},data:i,loc:{start:{line:162,column:66},end:{line:162,column:91}}}))},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.escapeExpression,d=e.hooks.helperMissing,h="function",p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-puzzle-piece settings__head-icon"></i> '+u(p(n,"res").call(c,"plugins",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:2,column:59},end:{line:2,column:76}}}))+"</h1>\n<div>\n"+u(p(n,"res").call(c,"setPlDevelop",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:4,column:0},end:{line:4,column:22}}}))+' <a href="'+u(typeof(l=null!=(l=p(n,"pluginDevLink")||(null!=t?p(t,"pluginDevLink"):t))?l:d)===h?l.call(c,{name:"pluginDevLink",hash:{},data:i,blockParams:r,loc:{start:{line:4,column:32},end:{line:4,column:49}}}):l)+'" target="_blank">'+u(p(n,"res").call(c,"setPlDevelopStart",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:4,column:67},end:{line:4,column:94}}}))+"</a>.\n"+(null!=(a=p(n,"res").call(c,"setPlTranslate",{name:"res",hash:{},fn:e.program(1,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:5,column:0},end:{line:5,column:109}}}))?a:"")+'.\n</div>\n<div class="settings__plugins-list">\n'+(null!=(a=p(n,"each").call(c,null!=t?p(t,"plugins"):t,{name:"each",hash:{},fn:e.program(3,i,1,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:8,column:0},end:{line:100,column:9}}}))?a:"")+"</div>\n<h2>\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"galleryLoading"):t,{name:"if",hash:{},fn:e.program(56,i,0,r,o),inverse:e.program(58,i,0,r,o),data:i,blockParams:r,loc:{start:{line:103,column:0},end:{line:103,column:96}}}))?a:"")+'\n</h2>\n<div class="settings__plugins-install">\n<div>'+u(p(n,"res").call(c,"setPlInstallDesc",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:106,column:5},end:{line:106,column:31}}}))+"</div>\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"galleryLoadError"):t,{name:"if",hash:{},fn:e.program(60,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:107,column:0},end:{line:107,column:93}}}))?a:"")+"\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"galleryPlugins"):t,{name:"if",hash:{},fn:e.program(62,i,0,r,o),inverse:e.program(82,i,0,r,o),data:i,blockParams:r,loc:{start:{line:108,column:0},end:{line:154,column:7}}}))?a:"")+"</div>\n<h2>"+u(p(n,"res").call(c,"setPlInstallUrlTitle",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:156,column:4},end:{line:156,column:34}}}))+'</h2>\n<div class="settings__plugins-install-url">\n<div>'+u(p(n,"res").call(c,"setPlInstallUrlDesc",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:158,column:5},end:{line:158,column:34}}}))+'</div>\n<label for="settings__plugins-install-url">'+u(p(n,"res").call(c,"setPlInstallLabel",{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:159,column:43},end:{line:159,column:70}}}))+'</label>\n<input type="text" class="settings__input input-base" id="settings__plugins-install-url" value="'+u(typeof(l=null!=(l=p(n,"installUrl")||(null!=t?p(t,"installUrl"):t))?l:d)===h?l.call(c,{name:"installUrl",hash:{},data:i,blockParams:r,loc:{start:{line:160,column:96},end:{line:160,column:110}}}):l)+'" />\n<button class="settings_plugins-install-btn" '+(null!=(a=p(n,"if").call(c,null!=t?p(t,"installingFromUrl"):t,{name:"if",hash:{},fn:e.program(76,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:161,column:45},end:{line:161,column:85}}}))?a:"")+">\n"+(null!=(a=p(n,"if").call(c,null!=t?p(t,"installingFromUrl"):t,{name:"if",hash:{},fn:e.program(85,i,0,r,o),inverse:e.program(87,i,0,r,o),data:i,blockParams:r,loc:{start:{line:162,column:0},end:{line:162,column:98}}}))?a:"")+'\n</button>\n<div class="error-color settings__plugins-install-error">'+u(typeof(l=null!=(l=p(n,"installUrlError")||(null!=t?p(t,"installUrlError"):t))?l:d)===h?l.call(c,{name:"installUrlError",hash:{},data:i,blockParams:r,loc:{start:{line:164,column:57},end:{line:164,column:76}}}):l)+"</div>\n</div>\n</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},7306:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__general-prv-desc">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"desc"):t,{name:"res",hash:{},data:i,loc:{start:{line:2,column:52},end:{line:2,column:64}}}))+"</div>"},3:function(e,t,n,s,i,r,o){var a,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(a=l(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?l(t,"type"):t,"select",{name:"ifeq",hash:{},fn:e.program(4,i,0,r,o),inverse:e.program(8,i,0,r,o),data:i,blockParams:r,loc:{start:{line:5,column:0},end:{line:40,column:9}}}))?a:""},4:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.hooks.helperMissing,d="function",h=e.escapeExpression,p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div>\n<label for="settings__general-prv-field-sel-'+h(typeof(l=null!=(l=p(n,"id")||(null!=t?p(t,"id"):t))?l:u)===d?l.call(c,{name:"id",hash:{},data:i,blockParams:r,loc:{start:{line:7,column:44},end:{line:7,column:50}}}):l)+'">'+h(p(n,"res").call(c,null!=t?p(t,"title"):t,{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:7,column:52},end:{line:7,column:65}}}))+':</label>\n<select\nclass="settings__select input-base settings__general-prv-field settings__general-prv-field-sel"\nid="settings__general-prv-field-sel-'+h(typeof(l=null!=(l=p(n,"id")||(null!=t?p(t,"id"):t))?l:u)===d?l.call(c,{name:"id",hash:{},data:i,blockParams:r,loc:{start:{line:10,column:36},end:{line:10,column:42}}}):l)+'"\ndata-id="'+h(typeof(l=null!=(l=p(n,"id")||(null!=t?p(t,"id"):t))?l:u)===d?l.call(c,{name:"id",hash:{},data:i,blockParams:r,loc:{start:{line:11,column:9},end:{line:11,column:15}}}):l)+'">\n'+(null!=(a=p(n,"each").call(c,null!=t?p(t,"options"):t,{name:"each",hash:{},fn:e.program(5,i,2,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:12,column:0},end:{line:14,column:9}}}))?a:"")+"</select>\n</div>\n"},5:function(e,t,n,s,i,r,o){var a,l=e.escapeExpression,c=null!=t?t:e.nullContext||{},u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<option value="'+l(e.lambda(r[0][1],t))+'" '+(null!=(a=u(n,"ifeq").call(c,null!=o[1]?u(o[1],"value"):o[1],r[0][1],{name:"ifeq",hash:{},fn:e.program(6,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:13,column:24},end:{line:13,column:63}}}))?a:"")+">"+l(u(n,"res").call(c,r[0][0],{name:"res",hash:{},data:i,blockParams:r,loc:{start:{line:13,column:64},end:{line:13,column:77}}}))+"</option>\n"},6:function(e,t,n,s,i){return"selected"},8:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(r=o(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=t?o(t,"type"):t,"checkbox",{name:"ifeq",hash:{},fn:e.program(9,i,0),inverse:e.program(14,i,0),data:i,loc:{start:{line:17,column:0},end:{line:40,column:0}}}))?r:""},9:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<input type="checkbox"\nclass="input-base settings__general-prv-field settings__input settings__general-prv-field-check"\nid="settings__general-prv-field-check-'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:20,column:38},end:{line:20,column:44}}}):o)+'"\n'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"value"):t,{name:"if",hash:{},fn:e.program(10,i,0),inverse:e.noop,data:i,loc:{start:{line:21,column:0},end:{line:21,column:27}}}))?r:"")+'\nvalue="'+u(typeof(o=null!=(o=d(n,"value")||(null!=t?d(t,"value"):t))?o:l)===c?o.call(a,{name:"value",hash:{},data:i,loc:{start:{line:22,column:7},end:{line:22,column:16}}}):o)+'"\ndata-id="'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:23,column:9},end:{line:23,column:15}}}):o)+'"\n/>\n<label for="settings__general-prv-field-check-'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:25,column:46},end:{line:25,column:52}}}):o)+'">'+u(d(n,"res").call(a,null!=t?d(t,"title"):t,{name:"res",hash:{},data:i,loc:{start:{line:25,column:54},end:{line:25,column:67}}}))+"</label>\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"desc"):t,{name:"if",hash:{},fn:e.program(12,i,0),inverse:e.noop,data:i,loc:{start:{line:26,column:0},end:{line:26,column:95}}}))?r:"")+"\n"},10:function(e,t,n,s,i){return"checked"},12:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__general-prv-field-desc muted-color">'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"desc"):t,{name:"res",hash:{},data:i,loc:{start:{line:26,column:70},end:{line:26,column:82}}}))+"</div>"},14:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,c="function",u=e.escapeExpression,d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<label for="settings__general-prv-field-txt-'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:28,column:44},end:{line:28,column:50}}}):o)+'">'+u(d(n,"res").call(a,null!=t?d(t,"title"):t,{name:"res",hash:{},data:i,loc:{start:{line:28,column:52},end:{line:28,column:65}}}))+":</label>\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"desc"):t,{name:"if",hash:{},fn:e.program(12,i,0),inverse:e.noop,data:i,loc:{start:{line:29,column:0},end:{line:29,column:95}}}))?r:"")+'\n<input type="'+u(typeof(o=null!=(o=d(n,"type")||(null!=t?d(t,"type"):t))?o:l)===c?o.call(a,{name:"type",hash:{},data:i,loc:{start:{line:30,column:13},end:{line:30,column:21}}}):o)+'"\nclass="input-base settings__general-prv-field settings__input settings__general-prv-field-txt"\nid="settings__general-prv-field-txt-'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:32,column:36},end:{line:32,column:42}}}):o)+'"\nautocomplete="off"\nvalue="'+u(typeof(o=null!=(o=d(n,"value")||(null!=t?d(t,"value"):t))?o:l)===c?o.call(a,{name:"value",hash:{},data:i,loc:{start:{line:34,column:7},end:{line:34,column:16}}}):o)+'"\ndata-id="'+u(typeof(o=null!=(o=d(n,"id")||(null!=t?d(t,"id"):t))?o:l)===c?o.call(a,{name:"id",hash:{},data:i,loc:{start:{line:35,column:9},end:{line:35,column:15}}}):o)+'"\n'+(null!=(r=d(n,"if").call(a,null!=t?d(t,"placeholder"):t,{name:"if",hash:{},fn:e.program(15,i,0),inverse:e.noop,data:i,loc:{start:{line:36,column:0},end:{line:36,column:59}}}))?r:"")+"\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"required"):t,{name:"if",hash:{},fn:e.program(17,i,0),inverse:e.noop,data:i,loc:{start:{line:37,column:0},end:{line:37,column:31}}}))?r:"")+"\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"pattern"):t,{name:"if",hash:{},fn:e.program(19,i,0),inverse:e.noop,data:i,loc:{start:{line:38,column:0},end:{line:38,column:43}}}))?r:"")+"\n/>\n"},15:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'placeholder="'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},null!=t?r(t,"placeholder"):t,{name:"res",hash:{},data:i,loc:{start:{line:36,column:32},end:{line:36,column:51}}}))+'"'},17:function(e,t,n,s,i){return"required"},19:function(e,t,n,s,i){var r,o=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'pattern="'+e.escapeExpression("function"==typeof(r=null!=(r=o(n,"pattern")||(null!=t?o(t,"pattern"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"pattern",hash:{},data:i,loc:{start:{line:38,column:24},end:{line:38,column:35}}}):r)+'"'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r,o){var a,l,c=null!=t?t:e.nullContext||{},u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__general-prv settings__general-prv-'+e.escapeExpression("function"==typeof(l=null!=(l=u(n,"name")||(null!=t?u(t,"name"):t))?l:e.hooks.helperMissing)?l.call(c,{name:"name",hash:{},data:i,blockParams:r,loc:{start:{line:1,column:56},end:{line:1,column:64}}}):l)+'">\n'+(null!=(a=u(n,"if").call(c,null!=t?u(t,"desc"):t,{name:"if",hash:{},fn:e.program(1,i,0,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:2,column:0},end:{line:2,column:77}}}))?a:"")+'\n<div class="settings__general-prv-fields">\n'+(null!=(a=u(n,"each").call(c,null!=t?u(t,"fields"):t,{name:"each",hash:{},fn:e.program(3,i,2,r,o),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:4,column:0},end:{line:41,column:9}}}))?a:"")+"</div>\n</div>\n"},useData:!0,useDepths:!0,useBlockParams:!0})},5473:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div><span class="shortcut">'+a("function"==typeof(r=null!=(r=l(n,"cmd")||(null!=t?l(t,"cmd"):t))?r:e.hooks.helperMissing)?r.call(o,{name:"cmd",hash:{},data:i,loc:{start:{line:13,column:28},end:{line:13,column:35}}}):r)+"T</span> "+a(l(n,"res").call(o,"setShAutoType",{name:"res",hash:{},data:i,loc:{start:{line:13,column:44},end:{line:13,column:67}}}))+"</div>\n"},3:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.lambda,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"<p>"+a(c(n,"res").call(o,"setShGlobal",{name:"res",hash:{},data:i,loc:{start:{line:24,column:3},end:{line:24,column:24}}}))+'</p>\n<div><button class="shortcut btn-silent '+(null!=(r=c(n,"if").call(o,null!=t?c(t,"globalIsLarge"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:25,column:40},end:{line:25,column:82}}}))?r:"")+'"\ndata-shortcut="autoType">'+a(l(null!=(r=null!=t?c(t,"globalShortcuts"):t)?c(r,"autoType"):r,t))+"</button> "+a(c(n,"res").call(o,"setShAutoTypeGlobal",{name:"res",hash:{},data:i,loc:{start:{line:26,column:63},end:{line:26,column:92}}}))+'</div>\n<div><button class="shortcut btn-silent '+(null!=(r=c(n,"if").call(o,null!=t?c(t,"globalIsLarge"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:27,column:40},end:{line:27,column:82}}}))?r:"")+'"\ndata-shortcut="copyPassword">'+a(l(null!=(r=null!=t?c(t,"globalShortcuts"):t)?c(r,"copyPassword"):r,t))+"</button> "+a(c(n,"res").call(o,"setShCopyPassOnly",{name:"res",hash:{},data:i,loc:{start:{line:28,column:71},end:{line:28,column:98}}}))+'</div>\n<div><button class="shortcut btn-silent '+(null!=(r=c(n,"if").call(o,null!=t?c(t,"globalIsLarge"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:29,column:40},end:{line:29,column:82}}}))?r:"")+'"\ndata-shortcut="copyUser">'+a(l(null!=(r=null!=t?c(t,"globalShortcuts"):t)?c(r,"copyUser"):r,t))+"</button> "+a(c(n,"res").call(o,"setShCopyUser",{name:"res",hash:{},data:i,loc:{start:{line:30,column:63},end:{line:30,column:86}}}))+'</div>\n<div><button class="shortcut btn-silent '+(null!=(r=c(n,"if").call(o,null!=t?c(t,"globalIsLarge"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:31,column:40},end:{line:31,column:82}}}))?r:"")+'"\ndata-shortcut="copyUrl">'+a(l(null!=(r=null!=t?c(t,"globalShortcuts"):t)?c(r,"copyUrl"):r,t))+"</button> "+a(c(n,"res").call(o,"setShCopyUrl",{name:"res",hash:{},data:i,loc:{start:{line:32,column:61},end:{line:32,column:83}}}))+'</div>\n<div><button class="shortcut btn-silent '+(null!=(r=c(n,"if").call(o,null!=t?c(t,"globalIsLarge"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:33,column:40},end:{line:33,column:82}}}))?r:"")+'"\ndata-shortcut="copyOtp">'+a(l(null!=(r=null!=t?c(t,"globalShortcuts"):t)?c(r,"copyOtp"):r,t))+"</button> "+a(c(n,"res").call(o,"setShCopyOtp",{name:"res",hash:{},data:i,loc:{start:{line:34,column:61},end:{line:34,column:83}}}))+'</div>\n<div><button class="shortcut btn-silent '+(null!=(r=c(n,"if").call(o,null!=t?c(t,"globalIsLarge"):t,{name:"if",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i,loc:{start:{line:35,column:40},end:{line:35,column:82}}}))?r:"")+'"\ndata-shortcut="restoreApp">'+a(l(null!=(r=null!=t?c(t,"globalShortcuts"):t)?c(r,"restoreApp"):r,t))+"</button> "+(null!=(r=c(n,"res").call(o,"setShRestoreApp",{name:"res",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i,loc:{start:{line:36,column:67},end:{line:36,column:107}}}))?r:"")+"</div>\n"},4:function(e,t,n,s,i){return"shortcut-large"},6:function(e,t,n,s,i){return"KeeWeb"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.escapeExpression,c=e.hooks.helperMissing,u="function",d=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings__content">\n<h1><i class="fa fa-keyboard settings__head-icon"></i> '+l(d(n,"res").call(a,"setShTitle",{name:"res",hash:{},data:i,loc:{start:{line:2,column:55},end:{line:2,column:75}}}))+'</h1>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:3,column:28},end:{line:3,column:35}}}):o)+"A</span> "+l(d(n,"res").call(a,"or",{name:"res",hash:{},data:i,loc:{start:{line:3,column:44},end:{line:3,column:56}}}))+' <span class="shortcut">'+l(typeof(o=null!=(o=d(n,"alt")||(null!=t?d(t,"alt"):t))?o:c)===u?o.call(a,{name:"alt",hash:{},data:i,loc:{start:{line:3,column:80},end:{line:3,column:87}}}):o)+"A</span> "+l(d(n,"res").call(a,"setShShowAll",{name:"res",hash:{},data:i,loc:{start:{line:3,column:96},end:{line:3,column:118}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"alt")||(null!=t?d(t,"alt"):t))?o:c)===u?o.call(a,{name:"alt",hash:{},data:i,loc:{start:{line:4,column:28},end:{line:4,column:35}}}):o)+"C</span> "+l(d(n,"res").call(a,"setShColors",{name:"res",hash:{},data:i,loc:{start:{line:4,column:44},end:{line:4,column:65}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"alt")||(null!=t?d(t,"alt"):t))?o:c)===u?o.call(a,{name:"alt",hash:{},data:i,loc:{start:{line:5,column:28},end:{line:5,column:35}}}):o)+"D</span> "+l(d(n,"res").call(a,"setShTrash",{name:"res",hash:{},data:i,loc:{start:{line:5,column:44},end:{line:5,column:64}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:6,column:28},end:{line:6,column:35}}}):o)+"F</span> "+l(d(n,"res").call(a,"setShFind",{name:"res",hash:{},data:i,loc:{start:{line:6,column:44},end:{line:6,column:63}}}))+'</div>\n<div><span class="shortcut">esc</span> '+l(d(n,"res").call(a,"setShClearSearch",{name:"res",hash:{},data:i,loc:{start:{line:7,column:39},end:{line:7,column:65}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:8,column:28},end:{line:8,column:35}}}):o)+"C</span> "+l(d(n,"res").call(a,"setShCopyPass",{name:"res",hash:{},data:i,loc:{start:{line:8,column:44},end:{line:8,column:67}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:9,column:28},end:{line:9,column:35}}}):o)+"B</span> "+l(d(n,"res").call(a,"setShCopyUser",{name:"res",hash:{},data:i,loc:{start:{line:9,column:44},end:{line:9,column:67}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:10,column:28},end:{line:10,column:35}}}):o)+"U</span> "+l(d(n,"res").call(a,"setShCopyUrl",{name:"res",hash:{},data:i,loc:{start:{line:10,column:44},end:{line:10,column:66}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"alt")||(null!=t?d(t,"alt"):t))?o:c)===u?o.call(a,{name:"alt",hash:{},data:i,loc:{start:{line:11,column:28},end:{line:11,column:35}}}):o)+"2</span> "+l(d(n,"res").call(a,"setShCopyOtp",{name:"res",hash:{},data:i,loc:{start:{line:11,column:44},end:{line:11,column:66}}}))+"</div>\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"autoTypeSupported"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i,loc:{start:{line:12,column:0},end:{line:14,column:7}}}))?r:"")+'<div><span class="shortcut">&uarr;</span> '+l(d(n,"res").call(a,"setShPrev",{name:"res",hash:{},data:i,loc:{start:{line:15,column:42},end:{line:15,column:61}}}))+'</div>\n<div><span class="shortcut">&darr;</span> '+l(d(n,"res").call(a,"setShNext",{name:"res",hash:{},data:i,loc:{start:{line:16,column:42},end:{line:16,column:61}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"alt")||(null!=t?d(t,"alt"):t))?o:c)===u?o.call(a,{name:"alt",hash:{},data:i,loc:{start:{line:17,column:28},end:{line:17,column:35}}}):o)+"N</span> "+l(d(n,"res").call(a,"setShCreateEntry",{name:"res",hash:{},data:i,loc:{start:{line:17,column:44},end:{line:17,column:70}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:18,column:28},end:{line:18,column:35}}}):o)+"O</span> "+l(d(n,"res").call(a,"setShOpen",{name:"res",hash:{},data:i,loc:{start:{line:18,column:44},end:{line:18,column:63}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:19,column:28},end:{line:19,column:35}}}):o)+"S</span> "+l(d(n,"res").call(a,"setShSave",{name:"res",hash:{},data:i,loc:{start:{line:19,column:44},end:{line:19,column:63}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:20,column:28},end:{line:20,column:35}}}):o)+"G</span> "+l(d(n,"res").call(a,"setShGen",{name:"res",hash:{},data:i,loc:{start:{line:20,column:44},end:{line:20,column:62}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:21,column:28},end:{line:21,column:35}}}):o)+",</span> "+l(d(n,"res").call(a,"setShSet",{name:"res",hash:{},data:i,loc:{start:{line:21,column:44},end:{line:21,column:62}}}))+'</div>\n<div><span class="shortcut">'+l(typeof(o=null!=(o=d(n,"cmd")||(null!=t?d(t,"cmd"):t))?o:c)===u?o.call(a,{name:"cmd",hash:{},data:i,loc:{start:{line:22,column:28},end:{line:22,column:35}}}):o)+"L</span> "+l(d(n,"res").call(a,"setShLock",{name:"res",hash:{},data:i,loc:{start:{line:22,column:44},end:{line:22,column:63}}}))+"</div>\n"+(null!=(r=d(n,"if").call(a,null!=t?d(t,"globalShortcuts"):t,{name:"if",hash:{},fn:e.program(3,i,0),inverse:e.noop,data:i,loc:{start:{line:23,column:0},end:{line:37,column:7}}}))?r:"")+"</div>\n"},useData:!0})},1279:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="settings">\n<div class="settings__back-button">\n<i class="fa fa-chevron-left settings__back-button-pre"></i>'+e.escapeExpression(r(n,"res").call(null!=t?t:e.nullContext||{},"retToApp",{name:"res",hash:{},data:i,loc:{start:{line:3,column:60},end:{line:3,column:78}}}))+' <i class="fa fa-arrow-circle-left settings__back-button-post"></i>\n</div>\n<div class="scroller">\n</div>\n<div class="scroller__bar-wrapper"><div class="scroller__bar"></div></div>\n</div>\n'},useData:!0})},9132:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"if").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?a(o,"dir"):o,{name:"if",hash:{},fn:e.program(2,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:6,column:0},end:{line:11,column:7}}}))?o:""},2:function(e,t,n,s,i,r){var o,a=e.lambda,l=e.escapeExpression,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-list__file" data-path="'+l(a(null!=(o=r[1][0])?c(o,"path"):o,t))+'">\n<i class="open-list__file-icon fa fa-'+(null!=(o=c(n,"ifeq").call(null!=t?t:e.nullContext||{},null!=(o=r[1][0])?c(o,"name"):o,"..",{name:"ifeq",hash:{},fn:e.program(3,i,0,r),inverse:e.program(5,i,0,r),data:i,blockParams:r,loc:{start:{line:8,column:37},end:{line:8,column:96}}}))?o:"")+'"></i>\n<span class="open-list__file-text">'+l(a(null!=(o=r[1][0])?c(o,"name"):o,t))+"</span>\n</div>\n"},3:function(e,t,n,s,i){return"arrow-left"},5:function(e,t,n,s,i){return"folder-o"},7:function(e,t,n,s,i,r){var o,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(o=a(n,"unless").call(null!=t?t:e.nullContext||{},null!=(o=r[0][0])?a(o,"dir"):o,{name:"unless",hash:{},fn:e.program(8,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:16,column:0},end:{line:21,column:11}}}))?o:""},8:function(e,t,n,s,i,r){var o,a=null!=t?t:e.nullContext||{},l=e.lambda,c=e.escapeExpression,u=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-list__file '+(null!=(o=u(n,"unless").call(a,null!=(o=r[1][0])?u(o,"kdbx"):o,{name:"unless",hash:{},fn:e.program(9,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:17,column:28},end:{line:17,column:84}}}))?o:"")+'" data-path="'+c(l(null!=(o=r[1][0])?u(o,"path"):o,t))+'">\n<i class="open-list__file-icon fa fa-'+(null!=(o=u(n,"if").call(a,null!=(o=r[1][0])?u(o,"kdbx"):o,{name:"if",hash:{},fn:e.program(11,i,0,r),inverse:e.program(13,i,0,r),data:i,blockParams:r,loc:{start:{line:18,column:37},end:{line:18,column:85}}}))?o:"")+'"></i>\n<span class="open-list__file-text">'+c(l(null!=(o=r[1][0])?u(o,"name"):o,t))+"</span>\n</div>\n"},9:function(e,t,n,s,i){return"open-list__file--another"},11:function(e,t,n,s,i){return"keeweb"},13:function(e,t,n,s,i){return"file-alt-o"},15:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-list__check-wrap">\n<input type="checkbox" id="open-list__check" '+(null!=(r=a(n,"if").call(o,null!=t?a(t,"showHiddenFiles"):t,{name:"if",hash:{},fn:e.program(16,i,0),inverse:e.noop,data:i,loc:{start:{line:28,column:45},end:{line:28,column:82}}}))?r:"")+'\n/><label class="open-list__check-label" for="open-list__check">'+e.escapeExpression(a(n,"res").call(o,"openShowAllFiles",{name:"res",hash:{},data:i,loc:{start:{line:29,column:63},end:{line:29,column:89}}}))+"</label>\n</div>\n"},16:function(e,t,n,s,i){return"checked"},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i,r){var o,a,l=null!=t?t:e.nullContext||{},c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="open-list open-list--density'+e.escapeExpression("function"==typeof(a=null!=(a=c(n,"density")||(null!=t?c(t,"density"):t))?a:e.hooks.helperMissing)?a.call(l,{name:"density",hash:{},data:i,blockParams:r,loc:{start:{line:1,column:40},end:{line:1,column:51}}}):a)+'">\n<div class="open-list__content">\n<div class="open-list__scrollable">\n<div class="open-list__files">\n'+(null!=(o=c(n,"each").call(l,null!=t?c(t,"files"):t,{name:"each",hash:{},fn:e.program(1,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:5,column:0},end:{line:12,column:9}}}))?o:"")+'</div>\n<div class="open-list__files">\n'+(null!=(o=c(n,"each").call(l,null!=t?c(t,"files"):t,{name:"each",hash:{},fn:e.program(7,i,1,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:15,column:0},end:{line:22,column:9}}}))?o:"")+"</div>\n</div>\n</div>\n"+(null!=(o=c(n,"if").call(l,null!=t?c(t,"canShowHiddenFiles"):t,{name:"if",hash:{},fn:e.program(15,i,0,r),inverse:e.noop,data:i,blockParams:r,loc:{start:{line:26,column:0},end:{line:31,column:7}}}))?o:"")+"</div>\n"},useData:!0,useBlockParams:!0})},9057:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o=null!=t?t:e.nullContext||{},a=e.escapeExpression,l=e.hooks.helperMissing,c=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="tag">\n<div class="back-button">\n'+a(c(n,"res").call(o,"retToApp",{name:"res",hash:{},data:i,loc:{start:{line:3,column:0},end:{line:3,column:18}}}))+' <i class="fa fa-arrow-circle-left back-button__post"></i>\n</div>\n<h1>'+a(c(n,"res").call(o,"tagTitle",{name:"res",hash:{},data:i,loc:{start:{line:5,column:4},end:{line:5,column:22}}}))+'</h1>\n<div class="tag__field">\n<label for="tag__field-title">'+a((c(n,"Res")||t&&c(t,"Res")||l).call(o,"name",{name:"Res",hash:{},data:i,loc:{start:{line:7,column:30},end:{line:7,column:44}}}))+':</label>\n<input type="text" class="input-base" id="tag__field-title" value="'+a("function"==typeof(r=null!=(r=c(n,"title")||(null!=t?c(t,"title"):t))?r:l)?r.call(o,{name:"title",hash:{},data:i,loc:{start:{line:8,column:67},end:{line:8,column:76}}}):r)+'" size="50" maxlength="128" required />\n<button class="tag__btn-rename">'+a(c(n,"res").call(o,"tagRename",{name:"res",hash:{},data:i,loc:{start:{line:9,column:32},end:{line:9,column:51}}}))+'</button>\n</div>\n<div class="tag__space"></div>\n<div class="tag__buttons">\n<i class="tag__buttons-trash fa fa-trash-alt" title="'+a(c(n,"res").call(o,"tagTrash",{name:"res",hash:{},data:i,loc:{start:{line:13,column:53},end:{line:13,column:71}}}))+'" tip-placement="right"></i>\n</div>\n</div>\n'},useData:!0})},1546:(e,t,n)=>{var s=n(7109);e.exports=(s.default||s).template({1:function(e,t,n,s,i){return'<i class="fa fa-titlebar-restore titlebar__restore"></i>\n'},3:function(e,t,n,s,i){return'<i class="fa fa-titlebar-maximize titlebar__maximize"></i>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,s,i){var r,o,a=null!=t?t:e.nullContext||{},l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="titlebar">\n<div class="titlebar__icon">\n<img src="'+e.escapeExpression("function"==typeof(o=null!=(o=l(n,"iconSrc")||(null!=t?l(t,"iconSrc"):t))?o:e.hooks.helperMissing)?o.call(a,{name:"iconSrc",hash:{},data:i,loc:{start:{line:3,column:10},end:{line:3,column:21}}}):o)+'" alt="logo" class="titlebar__logo" />\n</div>\n<div class="titlebar__grow"></div>\n<i class="fa fa-titlebar-minimize titlebar__minimize"></i>\n'+(null!=(r=l(n,"if").call(a,null!=t?l(t,"maximized"):t,{name:"if",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i,loc:{start:{line:7,column:0},end:{line:11,column:7}}}))?r:"")+'<i class="fa fa-titlebar-close titlebar__close"></i>\n</div>\n'},useData:!0})},6718:function(e,t){var n;!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,(function(s,i){"use strict";var r=[],o=Object.getPrototypeOf,a=r.slice,l=r.flat?function(e){return r.flat.call(e)}:function(e){return r.concat.apply([],e)},c=r.push,u=r.indexOf,d={},h=d.toString,p=d.hasOwnProperty,m=p.toString,g=m.call(Object),f={},A=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},v=s.document,b={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var s,i,r=(n=n||v).createElement("script");if(r.text=e,t)for(s in b)(i=t[s]||t.getAttribute&&t.getAttribute(s))&&r.setAttribute(s,i);n.head.appendChild(r).parentNode.removeChild(r)}function k(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?d[h.call(e)]||"object":typeof e}var C="3.6.0",_=function(e,t){return new _.fn.init(e,t)};function E(e){var t=!!e&&"length"in e&&e.length,n=k(e);return!A(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}_.fn=_.prototype={jquery:C,constructor:_,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=_.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return _.each(this,e)},map:function(e){return this.pushStack(_.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(_.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(_.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:c,sort:r.sort,splice:r.splice},_.extend=_.fn.extend=function(){var e,t,n,s,i,r,o=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof o&&(c=o,o=arguments[a]||{},a++),"object"==typeof o||A(o)||(o={}),a===l&&(o=this,a--);a<l;a++)if(null!=(e=arguments[a]))for(t in e)s=e[t],"__proto__"!==t&&o!==s&&(c&&s&&(_.isPlainObject(s)||(i=Array.isArray(s)))?(n=o[t],r=i&&!Array.isArray(n)?[]:i||_.isPlainObject(n)?n:{},i=!1,o[t]=_.extend(c,r,s)):void 0!==s&&(o[t]=s));return o},_.extend({expando:"jQuery"+(C+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==h.call(e)||(t=o(e))&&("function"!=typeof(n=p.call(t,"constructor")&&t.constructor)||m.call(n)!==g))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){w(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,s=0;if(E(e))for(n=e.length;s<n&&!1!==t.call(e[s],s,e[s]);s++);else for(s in e)if(!1===t.call(e[s],s,e[s]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(E(Object(e))?_.merge(n,"string"==typeof e?[e]:e):c.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,s=0,i=e.length;s<n;s++)e[i++]=t[s];return e.length=i,e},grep:function(e,t,n){for(var s=[],i=0,r=e.length,o=!n;i<r;i++)!t(e[i],i)!==o&&s.push(e[i]);return s},map:function(e,t,n){var s,i,r=0,o=[];if(E(e))for(s=e.length;r<s;r++)null!=(i=t(e[r],r,n))&&o.push(i);else for(r in e)null!=(i=t(e[r],r,n))&&o.push(i);return l(o)},guid:1,support:f}),"function"==typeof Symbol&&(_.fn[Symbol.iterator]=r[Symbol.iterator]),_.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){d["[object "+t+"]"]=t.toLowerCase()}));var x=function(e){var t,n,s,i,r,o,a,l,c,u,d,h,p,m,g,f,A,y,v,b="sizzle"+1*new Date,w=e.document,k=0,C=0,_=le(),E=le(),x=le(),I=le(),S=function(e,t){return e===t&&(d=!0),0},D={}.hasOwnProperty,B=[],P=B.pop,T=B.push,F=B.push,M=B.slice,O=function(e,t){for(var n=0,s=e.length;n<s;n++)if(e[n]===t)return n;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",N="[\\x20\\t\\r\\n\\f]",R="(?:\\\\[\\da-fA-F]{1,6}"+N+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",K="\\["+N+"*("+R+")(?:"+N+"*([*^$|!~]?=)"+N+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+N+"*\\]",U=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+K+")*)|.*)\\)|)",Q=new RegExp(N+"+","g"),j=new RegExp("^"+N+"+|((?:^|[^\\\\])(?:\\\\.)*)"+N+"+$","g"),G=new RegExp("^"+N+"*,"+N+"*"),H=new RegExp("^"+N+"*([>+~]|"+N+")"+N+"*"),V=new RegExp(N+"|>"),z=new RegExp(U),q=new RegExp("^"+R+"$"),W={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+K),PSEUDO:new RegExp("^"+U),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+N+"*(even|odd|(([+-]|)(\\d*)n|)"+N+"*(?:([+-]|)"+N+"*(\\d+)|))"+N+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+N+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+N+"*((?:-\\d)?\\d*)"+N+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,$=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,X=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+N+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},se=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){h()},oe=be((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{F.apply(B=M.call(w.childNodes),w.childNodes),B[w.childNodes.length].nodeType}catch(t){F={apply:B.length?function(e,t){T.apply(e,M.call(t))}:function(e,t){for(var n=e.length,s=0;e[n++]=t[s++];);e.length=n-1}}}function ae(e,t,s,i){var r,a,c,u,d,m,A,y=t&&t.ownerDocument,w=t?t.nodeType:9;if(s=s||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return s;if(!i&&(h(t),t=t||p,g)){if(11!==w&&(d=Z.exec(e)))if(r=d[1]){if(9===w){if(!(c=t.getElementById(r)))return s;if(c.id===r)return s.push(c),s}else if(y&&(c=y.getElementById(r))&&v(t,c)&&c.id===r)return s.push(c),s}else{if(d[2])return F.apply(s,t.getElementsByTagName(e)),s;if((r=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return F.apply(s,t.getElementsByClassName(r)),s}if(n.qsa&&!I[e+" "]&&(!f||!f.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(A=e,y=t,1===w&&(V.test(e)||H.test(e))){for((y=ee.test(e)&&Ae(t.parentNode)||t)===t&&n.scope||((u=t.getAttribute("id"))?u=u.replace(se,ie):t.setAttribute("id",u=b)),a=(m=o(e)).length;a--;)m[a]=(u?"#"+u:":scope")+" "+ve(m[a]);A=m.join(",")}try{return F.apply(s,y.querySelectorAll(A)),s}catch(t){I(e,!0)}finally{u===b&&t.removeAttribute("id")}}}return l(e.replace(j,"$1"),t,s,i)}function le(){var e=[];return function t(n,i){return e.push(n+" ")>s.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ce(e){return e[b]=!0,e}function ue(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),i=n.length;i--;)s.attrHandle[n[i]]=t}function he(e,t){var n=t&&e,s=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(s)return s;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function me(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function fe(e){return ce((function(t){return t=+t,ce((function(n,s){for(var i,r=e([],n.length,t),o=r.length;o--;)n[i=r[o]]&&(n[i]=!(s[i]=n[i]))}))}))}function Ae(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ae.support={},r=ae.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},h=ae.setDocument=function(e){var t,i,o=e?e.ownerDocument||e:w;return o!=p&&9===o.nodeType&&o.documentElement&&(m=(p=o).documentElement,g=!r(p),w!=p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.scope=ue((function(e){return m.appendChild(e).appendChild(p.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ue((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ue((function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=X.test(p.getElementsByClassName),n.getById=ue((function(e){return m.appendChild(e).id=b,!p.getElementsByName||!p.getElementsByName(b).length})),n.getById?(s.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},s.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(s.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},s.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,s,i,r=t.getElementById(e);if(r){if((n=r.getAttributeNode("id"))&&n.value===e)return[r];for(i=t.getElementsByName(e),s=0;r=i[s++];)if((n=r.getAttributeNode("id"))&&n.value===e)return[r]}return[]}}),s.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,s=[],i=0,r=t.getElementsByTagName(e);if("*"===e){for(;n=r[i++];)1===n.nodeType&&s.push(n);return s}return r},s.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},A=[],f=[],(n.qsa=X.test(p.querySelectorAll))&&(ue((function(e){var t;m.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&f.push("[*^$]="+N+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||f.push("\\["+N+"*(?:value|"+L+")"),e.querySelectorAll("[id~="+b+"-]").length||f.push("~="),(t=p.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||f.push("\\["+N+"*name"+N+"*="+N+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||f.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||f.push(".#.+[+~]"),e.querySelectorAll("\\\f"),f.push("[\\r\\n\\f]")})),ue((function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&f.push("name"+N+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&f.push(":enabled",":disabled"),m.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&f.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),f.push(",.*:")}))),(n.matchesSelector=X.test(y=m.matches||m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&ue((function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),A.push("!=",U)})),f=f.length&&new RegExp(f.join("|")),A=A.length&&new RegExp(A.join("|")),t=X.test(m.compareDocumentPosition),v=t||X.test(m.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,s=t&&t.parentNode;return e===s||!(!s||1!==s.nodeType||!(n.contains?n.contains(s):e.compareDocumentPosition&&16&e.compareDocumentPosition(s)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return d=!0,0;var s=!e.compareDocumentPosition-!t.compareDocumentPosition;return s||(1&(s=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===s?e==p||e.ownerDocument==w&&v(w,e)?-1:t==p||t.ownerDocument==w&&v(w,t)?1:u?O(u,e)-O(u,t):0:4&s?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,s=0,i=e.parentNode,r=t.parentNode,o=[e],a=[t];if(!i||!r)return e==p?-1:t==p?1:i?-1:r?1:u?O(u,e)-O(u,t):0;if(i===r)return he(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;o[s]===a[s];)s++;return s?he(o[s],a[s]):o[s]==w?-1:a[s]==w?1:0}),p},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if(h(e),n.matchesSelector&&g&&!I[t+" "]&&(!A||!A.test(t))&&(!f||!f.test(t)))try{var s=y.call(e,t);if(s||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return s}catch(e){I(t,!0)}return 0<ae(t,p,null,[e]).length},ae.contains=function(e,t){return(e.ownerDocument||e)!=p&&h(e),v(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!=p&&h(e);var i=s.attrHandle[t.toLowerCase()],r=i&&D.call(s.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==r?r:n.attributes||!g?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},ae.escape=function(e){return(e+"").replace(se,ie)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,s=[],i=0,r=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(S),d){for(;t=e[r++];)t===e[r]&&(i=s.push(r));for(;i--;)e.splice(s[i],1)}return u=null,e},i=ae.getText=function(e){var t,n="",s=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[s++];)n+=i(t);return n},(s=ae.selectors={cacheLength:50,createPseudo:ce,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ae.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ae.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return W.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&z.test(n)&&(t=o(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+N+")"+e+"("+N+"|$)"))&&_(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(s){var i=ae.attr(s,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&-1<i.indexOf(n):"$="===t?n&&i.slice(-n.length)===n:"~="===t?-1<(" "+i.replace(Q," ")+" ").indexOf(n):"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,s,i){var r="nth"!==e.slice(0,3),o="last"!==e.slice(-4),a="of-type"===t;return 1===s&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,h,p,m,g=r!==o?"nextSibling":"previousSibling",f=t.parentNode,A=a&&t.nodeName.toLowerCase(),y=!l&&!a,v=!1;if(f){if(r){for(;g;){for(h=t;h=h[g];)if(a?h.nodeName.toLowerCase()===A:1===h.nodeType)return!1;m=g="only"===e&&!m&&"nextSibling"}return!0}if(m=[o?f.firstChild:f.lastChild],o&&y){for(v=(p=(c=(u=(d=(h=f)[b]||(h[b]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===k&&c[1])&&c[2],h=p&&f.childNodes[p];h=++p&&h&&h[g]||(v=p=0)||m.pop();)if(1===h.nodeType&&++v&&h===t){u[e]=[k,p,v];break}}else if(y&&(v=p=(c=(u=(d=(h=t)[b]||(h[b]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===k&&c[1]),!1===v)for(;(h=++p&&h&&h[g]||(v=p=0)||m.pop())&&((a?h.nodeName.toLowerCase()!==A:1!==h.nodeType)||!++v||(y&&((u=(d=h[b]||(h[b]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[k,v]),h!==t)););return(v-=i)===s||v%s==0&&0<=v/s}}},PSEUDO:function(e,t){var n,i=s.pseudos[e]||s.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return i[b]?i(t):1<i.length?(n=[e,e,"",t],s.setFilters.hasOwnProperty(e.toLowerCase())?ce((function(e,n){for(var s,r=i(e,t),o=r.length;o--;)e[s=O(e,r[o])]=!(n[s]=r[o])})):function(e){return i(e,0,n)}):i}},pseudos:{not:ce((function(e){var t=[],n=[],s=a(e.replace(j,"$1"));return s[b]?ce((function(e,t,n,i){for(var r,o=s(e,null,i,[]),a=e.length;a--;)(r=o[a])&&(e[a]=!(t[a]=r))})):function(e,i,r){return t[0]=e,s(t,null,r,n),t[0]=null,!n.pop()}})),has:ce((function(e){return function(t){return 0<ae(e,t).length}})),contains:ce((function(e){return e=e.replace(te,ne),function(t){return-1<(t.textContent||i(t)).indexOf(e)}})),lang:ce((function(e){return q.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===m},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!s.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return $.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:fe((function(){return[0]})),last:fe((function(e,t){return[t-1]})),eq:fe((function(e,t,n){return[n<0?n+t:n]})),even:fe((function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e})),odd:fe((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:fe((function(e,t,n){for(var s=n<0?n+t:t<n?t:n;0<=--s;)e.push(s);return e})),gt:fe((function(e,t,n){for(var s=n<0?n+t:n;++s<t;)e.push(s);return e}))}}).pseudos.nth=s.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})s.pseudos[t]=pe(t);for(t in{submit:!0,reset:!0})s.pseudos[t]=me(t);function ye(){}function ve(e){for(var t=0,n=e.length,s="";t<n;t++)s+=e[t].value;return s}function be(e,t,n){var s=t.dir,i=t.next,r=i||s,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){for(;t=t[s];)if(1===t.nodeType||o)return e(t,n,i);return!1}:function(t,n,l){var c,u,d,h=[k,a];if(l){for(;t=t[s];)if((1===t.nodeType||o)&&e(t,n,l))return!0}else for(;t=t[s];)if(1===t.nodeType||o)if(u=(d=t[b]||(t[b]={}))[t.uniqueID]||(d[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[s]||t;else{if((c=u[r])&&c[0]===k&&c[1]===a)return h[2]=c[2];if((u[r]=h)[2]=e(t,n,l))return!0}return!1}}function we(e){return 1<e.length?function(t,n,s){for(var i=e.length;i--;)if(!e[i](t,n,s))return!1;return!0}:e[0]}function ke(e,t,n,s,i){for(var r,o=[],a=0,l=e.length,c=null!=t;a<l;a++)(r=e[a])&&(n&&!n(r,s,i)||(o.push(r),c&&t.push(a)));return o}function Ce(e,t,n,s,i,r){return s&&!s[b]&&(s=Ce(s)),i&&!i[b]&&(i=Ce(i,r)),ce((function(r,o,a,l){var c,u,d,h=[],p=[],m=o.length,g=r||function(e,t,n){for(var s=0,i=t.length;s<i;s++)ae(e,t[s],n);return n}(t||"*",a.nodeType?[a]:a,[]),f=!e||!r&&t?g:ke(g,h,e,a,l),A=n?i||(r?e:m||s)?[]:o:f;if(n&&n(f,A,a,l),s)for(c=ke(A,p),s(c,[],a,l),u=c.length;u--;)(d=c[u])&&(A[p[u]]=!(f[p[u]]=d));if(r){if(i||e){if(i){for(c=[],u=A.length;u--;)(d=A[u])&&c.push(f[u]=d);i(null,A=[],c,l)}for(u=A.length;u--;)(d=A[u])&&-1<(c=i?O(r,d):h[u])&&(r[c]=!(o[c]=d))}}else A=ke(A===o?A.splice(m,A.length):A),i?i(null,o,A,l):F.apply(o,A)}))}function _e(e){for(var t,n,i,r=e.length,o=s.relative[e[0].type],a=o||s.relative[" "],l=o?1:0,u=be((function(e){return e===t}),a,!0),d=be((function(e){return-1<O(t,e)}),a,!0),h=[function(e,n,s){var i=!o&&(s||n!==c)||((t=n).nodeType?u(e,n,s):d(e,n,s));return t=null,i}];l<r;l++)if(n=s.relative[e[l].type])h=[be(we(h),n)];else{if((n=s.filter[e[l].type].apply(null,e[l].matches))[b]){for(i=++l;i<r&&!s.relative[e[i].type];i++);return Ce(1<l&&we(h),1<l&&ve(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(j,"$1"),n,l<i&&_e(e.slice(l,i)),i<r&&_e(e=e.slice(i)),i<r&&ve(e))}h.push(n)}return we(h)}return ye.prototype=s.filters=s.pseudos,s.setFilters=new ye,o=ae.tokenize=function(e,t){var n,i,r,o,a,l,c,u=E[e+" "];if(u)return t?0:u.slice(0);for(a=e,l=[],c=s.preFilter;a;){for(o in n&&!(i=G.exec(a))||(i&&(a=a.slice(i[0].length)||a),l.push(r=[])),n=!1,(i=H.exec(a))&&(n=i.shift(),r.push({value:n,type:i[0].replace(j," ")}),a=a.slice(n.length)),s.filter)!(i=W[o].exec(a))||c[o]&&!(i=c[o](i))||(n=i.shift(),r.push({value:n,type:o,matches:i}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ae.error(e):E(e,l).slice(0)},a=ae.compile=function(e,t){var n,i,r,a,l,u,d=[],m=[],f=x[e+" "];if(!f){for(t||(t=o(e)),n=t.length;n--;)(f=_e(t[n]))[b]?d.push(f):m.push(f);(f=x(e,(i=m,a=0<(r=d).length,l=0<i.length,u=function(e,t,n,o,u){var d,m,f,A=0,y="0",v=e&&[],b=[],w=c,C=e||l&&s.find.TAG("*",u),_=k+=null==w?1:Math.random()||.1,E=C.length;for(u&&(c=t==p||t||u);y!==E&&null!=(d=C[y]);y++){if(l&&d){for(m=0,t||d.ownerDocument==p||(h(d),n=!g);f=i[m++];)if(f(d,t||p,n)){o.push(d);break}u&&(k=_)}a&&((d=!f&&d)&&A--,e&&v.push(d))}if(A+=y,a&&y!==A){for(m=0;f=r[m++];)f(v,b,t,n);if(e){if(0<A)for(;y--;)v[y]||b[y]||(b[y]=P.call(o));b=ke(b)}F.apply(o,b),u&&!e&&0<b.length&&1<A+r.length&&ae.uniqueSort(o)}return u&&(k=_,c=w),v},a?ce(u):u))).selector=e}return f},l=ae.select=function(e,t,n,i){var r,l,c,u,d,h="function"==typeof e&&e,p=!i&&o(e=h.selector||e);if(n=n||[],1===p.length){if(2<(l=p[0]=p[0].slice(0)).length&&"ID"===(c=l[0]).type&&9===t.nodeType&&g&&s.relative[l[1].type]){if(!(t=(s.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(r=W.needsContext.test(e)?0:l.length;r--&&(c=l[r],!s.relative[u=c.type]);)if((d=s.find[u])&&(i=d(c.matches[0].replace(te,ne),ee.test(l[0].type)&&Ae(t.parentNode)||t))){if(l.splice(r,1),!(e=i.length&&ve(l)))return F.apply(n,i),n;break}}return(h||a(e,p))(i,t,!g,n,!t||ee.test(e)&&Ae(t.parentNode)||t),n},n.sortStable=b.split("").sort(S).join("")===b,n.detectDuplicates=!!d,h(),n.sortDetached=ue((function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))})),ue((function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")}))||de("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ue((function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||de("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ue((function(e){return null==e.getAttribute("disabled")}))||de(L,(function(e,t,n){var s;if(!n)return!0===e[t]?t.toLowerCase():(s=e.getAttributeNode(t))&&s.specified?s.value:null})),ae}(s);_.find=x,_.expr=x.selectors,_.expr[":"]=_.expr.pseudos,_.uniqueSort=_.unique=x.uniqueSort,_.text=x.getText,_.isXMLDoc=x.isXML,_.contains=x.contains,_.escapeSelector=x.escape;var I=function(e,t,n){for(var s=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&_(e).is(n))break;s.push(e)}return s},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=_.expr.match.needsContext;function B(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var P=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,t,n){return A(t)?_.grep(e,(function(e,s){return!!t.call(e,s,e)!==n})):t.nodeType?_.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?_.grep(e,(function(e){return-1<u.call(t,e)!==n})):_.filter(t,e,n)}_.filter=function(e,t,n){var s=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===s.nodeType?_.find.matchesSelector(s,e)?[s]:[]:_.find.matches(e,_.grep(t,(function(e){return 1===e.nodeType})))},_.fn.extend({find:function(e){var t,n,s=this.length,i=this;if("string"!=typeof e)return this.pushStack(_(e).filter((function(){for(t=0;t<s;t++)if(_.contains(i[t],this))return!0})));for(n=this.pushStack([]),t=0;t<s;t++)_.find(e,i[t],n);return 1<s?_.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&D.test(e)?_(e):e||[],!1).length}});var F,M=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(_.fn.init=function(e,t,n){var s,i;if(!e)return this;if(n=n||F,"string"==typeof e){if(!(s="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:M.exec(e))||!s[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(s[1]){if(t=t instanceof _?t[0]:t,_.merge(this,_.parseHTML(s[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),P.test(s[1])&&_.isPlainObject(t))for(s in t)A(this[s])?this[s](t[s]):this.attr(s,t[s]);return this}return(i=v.getElementById(s[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):A(e)?void 0!==n.ready?n.ready(e):e(_):_.makeArray(e,this)}).prototype=_.fn,F=_(v);var O=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function N(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}_.fn.extend({has:function(e){var t=_(e,this),n=t.length;return this.filter((function(){for(var e=0;e<n;e++)if(_.contains(this,t[e]))return!0}))},closest:function(e,t){var n,s=0,i=this.length,r=[],o="string"!=typeof e&&_(e);if(!D.test(e))for(;s<i;s++)for(n=this[s];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(o?-1<o.index(n):1===n.nodeType&&_.find.matchesSelector(n,e))){r.push(n);break}return this.pushStack(1<r.length?_.uniqueSort(r):r)},index:function(e){return e?"string"==typeof e?u.call(_(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(_.uniqueSort(_.merge(this.get(),_(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),_.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return I(e,"parentNode")},parentsUntil:function(e,t,n){return I(e,"parentNode",n)},next:function(e){return N(e,"nextSibling")},prev:function(e){return N(e,"previousSibling")},nextAll:function(e){return I(e,"nextSibling")},prevAll:function(e){return I(e,"previousSibling")},nextUntil:function(e,t,n){return I(e,"nextSibling",n)},prevUntil:function(e,t,n){return I(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return null!=e.contentDocument&&o(e.contentDocument)?e.contentDocument:(B(e,"template")&&(e=e.content||e),_.merge([],e.childNodes))}},(function(e,t){_.fn[e]=function(n,s){var i=_.map(this,t,n);return"Until"!==e.slice(-5)&&(s=n),s&&"string"==typeof s&&(i=_.filter(s,i)),1<this.length&&(L[e]||_.uniqueSort(i),O.test(e)&&i.reverse()),this.pushStack(i)}}));var R=/[^\x20\t\r\n\f]+/g;function K(e){return e}function U(e){throw e}function Q(e,t,n,s){var i;try{e&&A(i=e.promise)?i.call(e).done(t).fail(n):e&&A(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(s))}catch(e){n.apply(void 0,[e])}}_.Callbacks=function(e){var t,n;e="string"==typeof e?(t=e,n={},_.each(t.match(R)||[],(function(e,t){n[t]=!0})),n):_.extend({},e);var s,i,r,o,a=[],l=[],c=-1,u=function(){for(o=o||e.once,r=s=!0;l.length;c=-1)for(i=l.shift();++c<a.length;)!1===a[c].apply(i[0],i[1])&&e.stopOnFalse&&(c=a.length,i=!1);e.memory||(i=!1),s=!1,o&&(a=i?[]:"")},d={add:function(){return a&&(i&&!s&&(c=a.length-1,l.push(i)),function t(n){_.each(n,(function(n,s){A(s)?e.unique&&d.has(s)||a.push(s):s&&s.length&&"string"!==k(s)&&t(s)}))}(arguments),i&&!s&&u()),this},remove:function(){return _.each(arguments,(function(e,t){for(var n;-1<(n=_.inArray(t,a,n));)a.splice(n,1),n<=c&&c--})),this},has:function(e){return e?-1<_.inArray(e,a):0<a.length},empty:function(){return a&&(a=[]),this},disable:function(){return o=l=[],a=i="",this},disabled:function(){return!a},lock:function(){return o=l=[],i||s||(a=i=""),this},locked:function(){return!!o},fireWith:function(e,t){return o||(t=[e,(t=t||[]).slice?t.slice():t],l.push(t),s||u()),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!r}};return d},_.extend({Deferred:function(e){var t=[["notify","progress",_.Callbacks("memory"),_.Callbacks("memory"),2],["resolve","done",_.Callbacks("once memory"),_.Callbacks("once memory"),0,"resolved"],["reject","fail",_.Callbacks("once memory"),_.Callbacks("once memory"),1,"rejected"]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return _.Deferred((function(n){_.each(t,(function(t,s){var i=A(e[s[4]])&&e[s[4]];r[s[1]]((function(){var e=i&&i.apply(this,arguments);e&&A(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[s[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(e,n,i){var r=0;function o(e,t,n,i){return function(){var a=this,l=arguments,c=function(){var s,c;if(!(e<r)){if((s=n.apply(a,l))===t.promise())throw new TypeError("Thenable self-resolution");c=s&&("object"==typeof s||"function"==typeof s)&&s.then,A(c)?i?c.call(s,o(r,t,K,i),o(r,t,U,i)):(r++,c.call(s,o(r,t,K,i),o(r,t,U,i),o(r,t,K,t.notifyWith))):(n!==K&&(a=void 0,l=[s]),(i||t.resolveWith)(a,l))}},u=i?c:function(){try{c()}catch(s){_.Deferred.exceptionHook&&_.Deferred.exceptionHook(s,u.stackTrace),r<=e+1&&(n!==U&&(a=void 0,l=[s]),t.rejectWith(a,l))}};e?u():(_.Deferred.getStackHook&&(u.stackTrace=_.Deferred.getStackHook()),s.setTimeout(u))}}return _.Deferred((function(s){t[0][3].add(o(0,s,A(i)?i:K,s.notifyWith)),t[1][3].add(o(0,s,A(e)?e:K)),t[2][3].add(o(0,s,A(n)?n:U))})).promise()},promise:function(e){return null!=e?_.extend(e,i):i}},r={};return _.each(t,(function(e,s){var o=s[2],a=s[5];i[s[1]]=o.add,a&&o.add((function(){n=a}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),o.add(s[3].fire),r[s[0]]=function(){return r[s[0]+"With"](this===r?void 0:this,arguments),this},r[s[0]+"With"]=o.fireWith})),i.promise(r),e&&e.call(r,r),r},when:function(e){var t=arguments.length,n=t,s=Array(n),i=a.call(arguments),r=_.Deferred(),o=function(e){return function(n){s[e]=this,i[e]=1<arguments.length?a.call(arguments):n,--t||r.resolveWith(s,i)}};if(t<=1&&(Q(e,r.done(o(n)).resolve,r.reject,!t),"pending"===r.state()||A(i[n]&&i[n].then)))return r.then();for(;n--;)Q(i[n],o(n),r.reject);return r.promise()}});var j=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;_.Deferred.exceptionHook=function(e,t){s.console&&s.console.warn&&e&&j.test(e.name)&&s.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},_.readyException=function(e){s.setTimeout((function(){throw e}))};var G=_.Deferred();function H(){v.removeEventListener("DOMContentLoaded",H),s.removeEventListener("load",H),_.ready()}_.fn.ready=function(e){return G.then(e).catch((function(e){_.readyException(e)})),this},_.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--_.readyWait:_.isReady)||(_.isReady=!0)!==e&&0<--_.readyWait||G.resolveWith(v,[_])}}),_.ready.then=G.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?s.setTimeout(_.ready):(v.addEventListener("DOMContentLoaded",H),s.addEventListener("load",H));var V=function(e,t,n,s,i,r,o){var a=0,l=e.length,c=null==n;if("object"===k(n))for(a in i=!0,n)V(e,t,a,n[a],!0,r,o);else if(void 0!==s&&(i=!0,A(s)||(o=!0),c&&(o?(t.call(e,s),t=null):(c=t,t=function(e,t,n){return c.call(_(e),n)})),t))for(;a<l;a++)t(e[a],n,o?s:s.call(e[a],a,t(e[a],n)));return i?e:c?t.call(e):l?t(e[0],n):r},z=/^-ms-/,q=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function Y(e){return e.replace(z,"ms-").replace(q,W)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function J(){this.expando=_.expando+J.uid++}J.uid=1,J.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var s,i=this.cache(e);if("string"==typeof t)i[Y(t)]=n;else for(s in t)i[Y(s)]=t[s];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Y(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,s=e[this.expando];if(void 0!==s){if(void 0!==t){n=(t=Array.isArray(t)?t.map(Y):(t=Y(t))in s?[t]:t.match(R)||[]).length;for(;n--;)delete s[t[n]]}(void 0===t||_.isEmptyObject(s))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!_.isEmptyObject(t)}};var X=new J,Z=new J,ee=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,te=/[A-Z]/g;function ne(e,t,n){var s,i;if(void 0===n&&1===e.nodeType)if(s="data-"+t.replace(te,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(s))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:ee.test(i)?JSON.parse(i):i)}catch(e){}Z.set(e,t,n)}else n=void 0;return n}_.extend({hasData:function(e){return Z.hasData(e)||X.hasData(e)},data:function(e,t,n){return Z.access(e,t,n)},removeData:function(e,t){Z.remove(e,t)},_data:function(e,t,n){return X.access(e,t,n)},_removeData:function(e,t){X.remove(e,t)}}),_.fn.extend({data:function(e,t){var n,s,i,r=this[0],o=r&&r.attributes;if(void 0===e){if(this.length&&(i=Z.get(r),1===r.nodeType&&!X.get(r,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&0===(s=o[n].name).indexOf("data-")&&(s=Y(s.slice(5)),ne(r,s,i[s]));X.set(r,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each((function(){Z.set(this,e)})):V(this,(function(t){var n;if(r&&void 0===t)return void 0!==(n=Z.get(r,e))||void 0!==(n=ne(r,e))?n:void 0;this.each((function(){Z.set(this,e,t)}))}),null,t,1<arguments.length,null,!0)},removeData:function(e){return this.each((function(){Z.remove(this,e)}))}}),_.extend({queue:function(e,t,n){var s;if(e)return t=(t||"fx")+"queue",s=X.get(e,t),n&&(!s||Array.isArray(n)?s=X.access(e,t,_.makeArray(n)):s.push(n)),s||[]},dequeue:function(e,t){t=t||"fx";var n=_.queue(e,t),s=n.length,i=n.shift(),r=_._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),s--),i&&("fx"===t&&n.unshift("inprogress"),delete r.stop,i.call(e,(function(){_.dequeue(e,t)}),r)),!s&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return X.get(e,n)||X.access(e,n,{empty:_.Callbacks("once memory").add((function(){X.remove(e,[t+"queue",n])}))})}}),_.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?_.queue(this[0],e):void 0===t?this:this.each((function(){var n=_.queue(this,e,t);_._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&_.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){_.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,s=1,i=_.Deferred(),r=this,o=this.length,a=function(){--s||i.resolveWith(r,[r])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)(n=X.get(r[o],e+"queueHooks"))&&n.empty&&(s++,n.empty.add(a));return a(),i.promise(t)}});var se=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+se+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],oe=v.documentElement,ae=function(e){return _.contains(e.ownerDocument,e)},le={composed:!0};oe.getRootNode&&(ae=function(e){return _.contains(e.ownerDocument,e)||e.getRootNode(le)===e.ownerDocument});var ce=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ae(e)&&"none"===_.css(e,"display")};function ue(e,t,n,s){var i,r,o=20,a=s?function(){return s.cur()}:function(){return _.css(e,t,"")},l=a(),c=n&&n[3]||(_.cssNumber[t]?"":"px"),u=e.nodeType&&(_.cssNumber[t]||"px"!==c&&+l)&&ie.exec(_.css(e,t));if(u&&u[3]!==c){for(l/=2,c=c||u[3],u=+l||1;o--;)_.style(e,t,u+c),(1-r)*(1-(r=a()/l||.5))<=0&&(o=0),u/=r;u*=2,_.style(e,t,u+c),n=n||[]}return n&&(u=+u||+l||0,i=n[1]?u+(n[1]+1)*n[2]:+n[2],s&&(s.unit=c,s.start=u,s.end=i)),i}var de={};function he(e,t){for(var n,s,i,r,o,a,l,c=[],u=0,d=e.length;u<d;u++)(s=e[u]).style&&(n=s.style.display,t?("none"===n&&(c[u]=X.get(s,"display")||null,c[u]||(s.style.display="")),""===s.style.display&&ce(s)&&(c[u]=(l=o=r=void 0,o=(i=s).ownerDocument,a=i.nodeName,(l=de[a])||(r=o.body.appendChild(o.createElement(a)),l=_.css(r,"display"),r.parentNode.removeChild(r),"none"===l&&(l="block"),de[a]=l)))):"none"!==n&&(c[u]="none",X.set(s,"display",n)));for(u=0;u<d;u++)null!=c[u]&&(e[u].style.display=c[u]);return e}_.fn.extend({show:function(){return he(this,!0)},hide:function(){return he(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){ce(this)?_(this).show():_(this).hide()}))}});var pe,me,ge=/^(?:checkbox|radio)$/i,fe=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Ae=/^$|^module$|\/(?:java|ecma)script/i;pe=v.createDocumentFragment().appendChild(v.createElement("div")),(me=v.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),pe.appendChild(me),f.checkClone=pe.cloneNode(!0).cloneNode(!0).lastChild.checked,pe.innerHTML="<textarea>x</textarea>",f.noCloneChecked=!!pe.cloneNode(!0).lastChild.defaultValue,pe.innerHTML="<option></option>",f.option=!!pe.lastChild;var ye={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&B(e,t)?_.merge([e],n):n}function be(e,t){for(var n=0,s=e.length;n<s;n++)X.set(e[n],"globalEval",!t||X.get(t[n],"globalEval"))}ye.tbody=ye.tfoot=ye.colgroup=ye.caption=ye.thead,ye.th=ye.td,f.option||(ye.optgroup=ye.option=[1,"<select multiple='multiple'>","</select>"]);var we=/<|&#?\w+;/;function ke(e,t,n,s,i){for(var r,o,a,l,c,u,d=t.createDocumentFragment(),h=[],p=0,m=e.length;p<m;p++)if((r=e[p])||0===r)if("object"===k(r))_.merge(h,r.nodeType?[r]:r);else if(we.test(r)){for(o=o||d.appendChild(t.createElement("div")),a=(fe.exec(r)||["",""])[1].toLowerCase(),l=ye[a]||ye._default,o.innerHTML=l[1]+_.htmlPrefilter(r)+l[2],u=l[0];u--;)o=o.lastChild;_.merge(h,o.childNodes),(o=d.firstChild).textContent=""}else h.push(t.createTextNode(r));for(d.textContent="",p=0;r=h[p++];)if(s&&-1<_.inArray(r,s))i&&i.push(r);else if(c=ae(r),o=ve(d.appendChild(r),"script"),c&&be(o),n)for(u=0;r=o[u++];)Ae.test(r.type||"")&&n.push(r);return d}var Ce=/^([^.]*)(?:\.(.+)|)/;function _e(){return!0}function Ee(){return!1}function xe(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Ie(e,t,n,s,i,r){var o,a;if("object"==typeof t){for(a in"string"!=typeof n&&(s=s||n,n=void 0),t)Ie(e,a,n,s,t[a],r);return e}if(null==s&&null==i?(i=n,s=n=void 0):null==i&&("string"==typeof n?(i=s,s=void 0):(i=s,s=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===r&&(o=i,(i=function(e){return _().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=_.guid++)),e.each((function(){_.event.add(this,t,i,s,n)}))}function Se(e,t,n){n?(X.set(e,t,!1),_.event.add(e,t,{namespace:!1,handler:function(e){var s,i,r=X.get(this,t);if(1&e.isTrigger&&this[t]){if(r.length)(_.event.special[t]||{}).delegateType&&e.stopPropagation();else if(r=a.call(arguments),X.set(this,t,r),s=n(this,t),this[t](),r!==(i=X.get(this,t))||s?X.set(this,t,!1):i={},r!==i)return e.stopImmediatePropagation(),e.preventDefault(),i&&i.value}else r.length&&(X.set(this,t,{value:_.event.trigger(_.extend(r[0],_.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===X.get(e,t)&&_.event.add(e,t,_e)}_.event={global:{},add:function(e,t,n,s,i){var r,o,a,l,c,u,d,h,p,m,g,f=X.get(e);if($(e))for(n.handler&&(n=(r=n).handler,i=r.selector),i&&_.find.matchesSelector(oe,i),n.guid||(n.guid=_.guid++),(l=f.events)||(l=f.events=Object.create(null)),(o=f.handle)||(o=f.handle=function(t){return void 0!==_&&_.event.triggered!==t.type?_.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(R)||[""]).length;c--;)p=g=(a=Ce.exec(t[c])||[])[1],m=(a[2]||"").split(".").sort(),p&&(d=_.event.special[p]||{},p=(i?d.delegateType:d.bindType)||p,d=_.event.special[p]||{},u=_.extend({type:p,origType:g,data:s,handler:n,guid:n.guid,selector:i,needsContext:i&&_.expr.match.needsContext.test(i),namespace:m.join(".")},r),(h=l[p])||((h=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,s,m,o)||e.addEventListener&&e.addEventListener(p,o)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,u):h.push(u),_.event.global[p]=!0)},remove:function(e,t,n,s,i){var r,o,a,l,c,u,d,h,p,m,g,f=X.hasData(e)&&X.get(e);if(f&&(l=f.events)){for(c=(t=(t||"").match(R)||[""]).length;c--;)if(p=g=(a=Ce.exec(t[c])||[])[1],m=(a[2]||"").split(".").sort(),p){for(d=_.event.special[p]||{},h=l[p=(s?d.delegateType:d.bindType)||p]||[],a=a[2]&&new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=r=h.length;r--;)u=h[r],!i&&g!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||s&&s!==u.selector&&("**"!==s||!u.selector)||(h.splice(r,1),u.selector&&h.delegateCount--,d.remove&&d.remove.call(e,u));o&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,m,f.handle)||_.removeEvent(e,p,f.handle),delete l[p])}else for(p in l)_.event.remove(e,p+t[c],n,s,!0);_.isEmptyObject(l)&&X.remove(e,"handle events")}},dispatch:function(e){var t,n,s,i,r,o,a=new Array(arguments.length),l=_.event.fix(e),c=(X.get(this,"events")||Object.create(null))[l.type]||[],u=_.event.special[l.type]||{};for(a[0]=l,t=1;t<arguments.length;t++)a[t]=arguments[t];if(l.delegateTarget=this,!u.preDispatch||!1!==u.preDispatch.call(this,l)){for(o=_.event.handlers.call(this,l,c),t=0;(i=o[t++])&&!l.isPropagationStopped();)for(l.currentTarget=i.elem,n=0;(r=i.handlers[n++])&&!l.isImmediatePropagationStopped();)l.rnamespace&&!1!==r.namespace&&!l.rnamespace.test(r.namespace)||(l.handleObj=r,l.data=r.data,void 0!==(s=((_.event.special[r.origType]||{}).handle||r.handler).apply(i.elem,a))&&!1===(l.result=s)&&(l.preventDefault(),l.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,l),l.result}},handlers:function(e,t){var n,s,i,r,o,a=[],l=t.delegateCount,c=e.target;if(l&&c.nodeType&&!("click"===e.type&&1<=e.button))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(r=[],o={},n=0;n<l;n++)void 0===o[i=(s=t[n]).selector+" "]&&(o[i]=s.needsContext?-1<_(i,this).index(c):_.find(i,this,null,[c]).length),o[i]&&r.push(s);r.length&&a.push({elem:c,handlers:r})}return c=this,l<t.length&&a.push({elem:c,handlers:t.slice(l)}),a},addProp:function(e,t){Object.defineProperty(_.Event.prototype,e,{enumerable:!0,configurable:!0,get:A(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[_.expando]?e:new _.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return ge.test(t.type)&&t.click&&B(t,"input")&&Se(t,"click",_e),!1},trigger:function(e){var t=this||e;return ge.test(t.type)&&t.click&&B(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return ge.test(t.type)&&t.click&&B(t,"input")&&X.get(t,"click")||B(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},_.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},_.Event=function(e,t){if(!(this instanceof _.Event))return new _.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?_e:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&_.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[_.expando]=!0},_.Event.prototype={constructor:_.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=_e,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=_e,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=_e,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},_.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},_.event.addProp),_.each({focus:"focusin",blur:"focusout"},(function(e,t){_.event.special[e]={setup:function(){return Se(this,e,xe),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}})),_.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){_.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,s=e.relatedTarget,i=e.handleObj;return s&&(s===this||_.contains(this,s))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}})),_.fn.extend({on:function(e,t,n,s){return Ie(this,e,t,n,s)},one:function(e,t,n,s){return Ie(this,e,t,n,s,1)},off:function(e,t,n){var s,i;if(e&&e.preventDefault&&e.handleObj)return s=e.handleObj,_(e.delegateTarget).off(s.namespace?s.origType+"."+s.namespace:s.origType,s.selector,s.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each((function(){_.event.remove(this,e,n,t)}))}});var De=/<script|<style|<link/i,Be=/checked\s*(?:[^=]|=\s*.checked.)/i,Pe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Te(e,t){return B(e,"table")&&B(11!==t.nodeType?t:t.firstChild,"tr")&&_(e).children("tbody")[0]||e}function Fe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Me(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,s,i,r,o,a;if(1===t.nodeType){if(X.hasData(e)&&(a=X.get(e).events))for(i in X.remove(t,"handle events"),a)for(n=0,s=a[i].length;n<s;n++)_.event.add(t,i,a[i][n]);Z.hasData(e)&&(r=Z.access(e),o=_.extend({},r),Z.set(t,o))}}function Le(e,t,n,s){t=l(t);var i,r,o,a,c,u,d=0,h=e.length,p=h-1,m=t[0],g=A(m);if(g||1<h&&"string"==typeof m&&!f.checkClone&&Be.test(m))return e.each((function(i){var r=e.eq(i);g&&(t[0]=m.call(this,i,r.html())),Le(r,t,n,s)}));if(h&&(r=(i=ke(t,e[0].ownerDocument,!1,e,s)).firstChild,1===i.childNodes.length&&(i=r),r||s)){for(a=(o=_.map(ve(i,"script"),Fe)).length;d<h;d++)c=i,d!==p&&(c=_.clone(c,!0,!0),a&&_.merge(o,ve(c,"script"))),n.call(e[d],c,d);if(a)for(u=o[o.length-1].ownerDocument,_.map(o,Me),d=0;d<a;d++)c=o[d],Ae.test(c.type||"")&&!X.access(c,"globalEval")&&_.contains(u,c)&&(c.src&&"module"!==(c.type||"").toLowerCase()?_._evalUrl&&!c.noModule&&_._evalUrl(c.src,{nonce:c.nonce||c.getAttribute("nonce")},u):w(c.textContent.replace(Pe,""),c,u))}return e}function Ne(e,t,n){for(var s,i=t?_.filter(t,e):e,r=0;null!=(s=i[r]);r++)n||1!==s.nodeType||_.cleanData(ve(s)),s.parentNode&&(n&&ae(s)&&be(ve(s,"script")),s.parentNode.removeChild(s));return e}_.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var s,i,r,o,a,l,c,u=e.cloneNode(!0),d=ae(e);if(!(f.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||_.isXMLDoc(e)))for(o=ve(u),s=0,i=(r=ve(e)).length;s<i;s++)a=r[s],"input"===(c=(l=o[s]).nodeName.toLowerCase())&&ge.test(a.type)?l.checked=a.checked:"input"!==c&&"textarea"!==c||(l.defaultValue=a.defaultValue);if(t)if(n)for(r=r||ve(e),o=o||ve(u),s=0,i=r.length;s<i;s++)Oe(r[s],o[s]);else Oe(e,u);return 0<(o=ve(u,"script")).length&&be(o,!d&&ve(e,"script")),u},cleanData:function(e){for(var t,n,s,i=_.event.special,r=0;void 0!==(n=e[r]);r++)if($(n)){if(t=n[X.expando]){if(t.events)for(s in t.events)i[s]?_.event.remove(n,s):_.removeEvent(n,s,t.handle);n[X.expando]=void 0}n[Z.expando]&&(n[Z.expando]=void 0)}}}),_.fn.extend({detach:function(e){return Ne(this,e,!0)},remove:function(e){return Ne(this,e)},text:function(e){return V(this,(function(e){return void 0===e?_.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Le(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Te(this,e).appendChild(e)}))},prepend:function(){return Le(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Te(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Le(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Le(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(_.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return _.clone(this,e,t)}))},html:function(e){return V(this,(function(e){var t=this[0]||{},n=0,s=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!De.test(e)&&!ye[(fe.exec(e)||["",""])[1].toLowerCase()]){e=_.htmlPrefilter(e);try{for(;n<s;n++)1===(t=this[n]||{}).nodeType&&(_.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return Le(this,arguments,(function(t){var n=this.parentNode;_.inArray(this,e)<0&&(_.cleanData(ve(this)),n&&n.replaceChild(t,this))}),e)}}),_.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){_.fn[e]=function(e){for(var n,s=[],i=_(e),r=i.length-1,o=0;o<=r;o++)n=o===r?this:this.clone(!0),_(i[o])[t](n),c.apply(s,n.get());return this.pushStack(s)}}));var Re=new RegExp("^("+se+")(?!px)[a-z%]+$","i"),Ke=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=s),t.getComputedStyle(e)},Ue=function(e,t,n){var s,i,r={};for(i in t)r[i]=e.style[i],e.style[i]=t[i];for(i in s=n.call(e),t)e.style[i]=r[i];return s},Qe=new RegExp(re.join("|"),"i");function je(e,t,n){var s,i,r,o,a=e.style;return(n=n||Ke(e))&&(""!==(o=n.getPropertyValue(t)||n[t])||ae(e)||(o=_.style(e,t)),!f.pixelBoxStyles()&&Re.test(o)&&Qe.test(t)&&(s=a.width,i=a.minWidth,r=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=n.width,a.width=s,a.minWidth=i,a.maxWidth=r)),void 0!==o?o+"":o}function Ge(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",oe.appendChild(c).appendChild(u);var e=s.getComputedStyle(u);n="1%"!==e.top,l=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),i=36===t(e.width),u.style.position="absolute",r=12===t(u.offsetWidth/3),oe.removeChild(c),u=null}}function t(e){return Math.round(parseFloat(e))}var n,i,r,o,a,l,c=v.createElement("div"),u=v.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle="content-box"===u.style.backgroundClip,_.extend(f,{boxSizingReliable:function(){return e(),i},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),l},scrollboxSize:function(){return e(),r},reliableTrDimensions:function(){var e,t,n,i;return null==a&&(e=v.createElement("table"),t=v.createElement("tr"),n=v.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",oe.appendChild(e).appendChild(t).appendChild(n),i=s.getComputedStyle(t),a=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===t.offsetHeight,oe.removeChild(e)),a}}))}();var He=["Webkit","Moz","ms"],Ve=v.createElement("div").style,ze={};function qe(e){return _.cssProps[e]||ze[e]||(e in Ve?e:ze[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=He.length;n--;)if((e=He[n]+t)in Ve)return e}(e)||e)}var We=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,$e={position:"absolute",visibility:"hidden",display:"block"},Je={letterSpacing:"0",fontWeight:"400"};function Xe(e,t,n){var s=ie.exec(t);return s?Math.max(0,s[2]-(n||0))+(s[3]||"px"):t}function Ze(e,t,n,s,i,r){var o="width"===t?1:0,a=0,l=0;if(n===(s?"border":"content"))return 0;for(;o<4;o+=2)"margin"===n&&(l+=_.css(e,n+re[o],!0,i)),s?("content"===n&&(l-=_.css(e,"padding"+re[o],!0,i)),"margin"!==n&&(l-=_.css(e,"border"+re[o]+"Width",!0,i))):(l+=_.css(e,"padding"+re[o],!0,i),"padding"!==n?l+=_.css(e,"border"+re[o]+"Width",!0,i):a+=_.css(e,"border"+re[o]+"Width",!0,i));return!s&&0<=r&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-r-l-a-.5))||0),l}function et(e,t,n){var s=Ke(e),i=(!f.boxSizingReliable()||n)&&"border-box"===_.css(e,"boxSizing",!1,s),r=i,o=je(e,t,s),a="offset"+t[0].toUpperCase()+t.slice(1);if(Re.test(o)){if(!n)return o;o="auto"}return(!f.boxSizingReliable()&&i||!f.reliableTrDimensions()&&B(e,"tr")||"auto"===o||!parseFloat(o)&&"inline"===_.css(e,"display",!1,s))&&e.getClientRects().length&&(i="border-box"===_.css(e,"boxSizing",!1,s),(r=a in e)&&(o=e[a])),(o=parseFloat(o)||0)+Ze(e,t,n||(i?"border":"content"),r,s,o)+"px"}function tt(e,t,n,s,i){return new tt.prototype.init(e,t,n,s,i)}_.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=je(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,s){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,r,o,a=Y(t),l=Ye.test(t),c=e.style;if(l||(t=qe(a)),o=_.cssHooks[t]||_.cssHooks[a],void 0===n)return o&&"get"in o&&void 0!==(i=o.get(e,!1,s))?i:c[t];"string"==(r=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),r="number"),null!=n&&n==n&&("number"!==r||l||(n+=i&&i[3]||(_.cssNumber[a]?"":"px")),f.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,s))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,s){var i,r,o,a=Y(t);return Ye.test(t)||(t=qe(a)),(o=_.cssHooks[t]||_.cssHooks[a])&&"get"in o&&(i=o.get(e,!0,n)),void 0===i&&(i=je(e,t,s)),"normal"===i&&t in Je&&(i=Je[t]),""===n||n?(r=parseFloat(i),!0===n||isFinite(r)?r||0:i):i}}),_.each(["height","width"],(function(e,t){_.cssHooks[t]={get:function(e,n,s){if(n)return!We.test(_.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,s):Ue(e,$e,(function(){return et(e,t,s)}))},set:function(e,n,s){var i,r=Ke(e),o=!f.scrollboxSize()&&"absolute"===r.position,a=(o||s)&&"border-box"===_.css(e,"boxSizing",!1,r),l=s?Ze(e,t,s,a,r):0;return a&&o&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(r[t])-Ze(e,t,"border",!1,r)-.5)),l&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=_.css(e,t)),Xe(0,n,l)}}})),_.cssHooks.marginLeft=Ge(f.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(je(e,"marginLeft"))||e.getBoundingClientRect().left-Ue(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),_.each({margin:"",padding:"",border:"Width"},(function(e,t){_.cssHooks[e+t]={expand:function(n){for(var s=0,i={},r="string"==typeof n?n.split(" "):[n];s<4;s++)i[e+re[s]+t]=r[s]||r[s-2]||r[0];return i}},"margin"!==e&&(_.cssHooks[e+t].set=Xe)})),_.fn.extend({css:function(e,t){return V(this,(function(e,t,n){var s,i,r={},o=0;if(Array.isArray(t)){for(s=Ke(e),i=t.length;o<i;o++)r[t[o]]=_.css(e,t[o],!1,s);return r}return void 0!==n?_.style(e,t,n):_.css(e,t)}),e,t,1<arguments.length)}}),((_.Tween=tt).prototype={constructor:tt,init:function(e,t,n,s,i,r){this.elem=e,this.prop=n,this.easing=i||_.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=s,this.unit=r||(_.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=_.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}}).init.prototype=tt.prototype,(tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=_.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){_.fx.step[e.prop]?_.fx.step[e.prop](e):1!==e.elem.nodeType||!_.cssHooks[e.prop]&&null==e.elem.style[qe(e.prop)]?e.elem[e.prop]=e.now:_.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},_.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},_.fx=tt.prototype.init,_.fx.step={};var nt,st,it,rt,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function lt(){st&&(!1===v.hidden&&s.requestAnimationFrame?s.requestAnimationFrame(lt):s.setTimeout(lt,_.fx.interval),_.fx.tick())}function ct(){return s.setTimeout((function(){nt=void 0})),nt=Date.now()}function ut(e,t){var n,s=0,i={height:e};for(t=t?1:0;s<4;s+=2-t)i["margin"+(n=re[s])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function dt(e,t,n){for(var s,i=(ht.tweeners[t]||[]).concat(ht.tweeners["*"]),r=0,o=i.length;r<o;r++)if(s=i[r].call(n,t,e))return s}function ht(e,t,n){var s,i,r=0,o=ht.prefilters.length,a=_.Deferred().always((function(){delete l.elem})),l=function(){if(i)return!1;for(var t=nt||ct(),n=Math.max(0,c.startTime+c.duration-t),s=1-(n/c.duration||0),r=0,o=c.tweens.length;r<o;r++)c.tweens[r].run(s);return a.notifyWith(e,[c,s,n]),s<1&&o?n:(o||a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:_.extend({},t),opts:_.extend(!0,{specialEasing:{},easing:_.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||ct(),duration:n.duration,tweens:[],createTween:function(t,n){var s=_.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(s),s},stop:function(t){var n=0,s=t?c.tweens.length:0;if(i)return this;for(i=!0;n<s;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),u=c.props;for(function(e,t){var n,s,i,r,o;for(n in e)if(i=t[s=Y(n)],r=e[n],Array.isArray(r)&&(i=r[1],r=e[n]=r[0]),n!==s&&(e[s]=r,delete e[n]),(o=_.cssHooks[s])&&"expand"in o)for(n in r=o.expand(r),delete e[s],r)n in e||(e[n]=r[n],t[n]=i);else t[s]=i}(u,c.opts.specialEasing);r<o;r++)if(s=ht.prefilters[r].call(c,e,u,c.opts))return A(s.stop)&&(_._queueHooks(c.elem,c.opts.queue).stop=s.stop.bind(s)),s;return _.map(u,dt,c),A(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),_.fx.timer(_.extend(l,{elem:e,anim:c,queue:c.opts.queue})),c}_.Animation=_.extend(ht,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){A(e)?(t=e,e=["*"]):e=e.match(R);for(var n,s=0,i=e.length;s<i;s++)n=e[s],ht.tweeners[n]=ht.tweeners[n]||[],ht.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var s,i,r,o,a,l,c,u,d="width"in t||"height"in t,h=this,p={},m=e.style,g=e.nodeType&&ce(e),f=X.get(e,"fxshow");for(s in n.queue||(null==(o=_._queueHooks(e,"fx")).unqueued&&(o.unqueued=0,a=o.empty.fire,o.empty.fire=function(){o.unqueued||a()}),o.unqueued++,h.always((function(){h.always((function(){o.unqueued--,_.queue(e,"fx").length||o.empty.fire()}))}))),t)if(i=t[s],ot.test(i)){if(delete t[s],r=r||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!f||void 0===f[s])continue;g=!0}p[s]=f&&f[s]||_.style(e,s)}if((l=!_.isEmptyObject(t))||!_.isEmptyObject(p))for(s in d&&1===e.nodeType&&(n.overflow=[m.overflow,m.overflowX,m.overflowY],null==(c=f&&f.display)&&(c=X.get(e,"display")),"none"===(u=_.css(e,"display"))&&(c?u=c:(he([e],!0),c=e.style.display||c,u=_.css(e,"display"),he([e]))),("inline"===u||"inline-block"===u&&null!=c)&&"none"===_.css(e,"float")&&(l||(h.done((function(){m.display=c})),null==c&&(u=m.display,c="none"===u?"":u)),m.display="inline-block")),n.overflow&&(m.overflow="hidden",h.always((function(){m.overflow=n.overflow[0],m.overflowX=n.overflow[1],m.overflowY=n.overflow[2]}))),l=!1,p)l||(f?"hidden"in f&&(g=f.hidden):f=X.access(e,"fxshow",{display:c}),r&&(f.hidden=!g),g&&he([e],!0),h.done((function(){for(s in g||he([e]),X.remove(e,"fxshow"),p)_.style(e,s,p[s])}))),l=dt(g?f[s]:0,s,h),s in f||(f[s]=l.start,g&&(l.end=l.start,l.start=0))}],prefilter:function(e,t){t?ht.prefilters.unshift(e):ht.prefilters.push(e)}}),_.speed=function(e,t,n){var s=e&&"object"==typeof e?_.extend({},e):{complete:n||!n&&t||A(e)&&e,duration:e,easing:n&&t||t&&!A(t)&&t};return _.fx.off?s.duration=0:"number"!=typeof s.duration&&(s.duration in _.fx.speeds?s.duration=_.fx.speeds[s.duration]:s.duration=_.fx.speeds._default),null!=s.queue&&!0!==s.queue||(s.queue="fx"),s.old=s.complete,s.complete=function(){A(s.old)&&s.old.call(this),s.queue&&_.dequeue(this,s.queue)},s},_.fn.extend({fadeTo:function(e,t,n,s){return this.filter(ce).css("opacity",0).show().end().animate({opacity:t},e,n,s)},animate:function(e,t,n,s){var i=_.isEmptyObject(e),r=_.speed(t,n,s),o=function(){var t=ht(this,_.extend({},e),r);(i||X.get(this,"finish"))&&t.stop(!0)};return o.finish=o,i||!1===r.queue?this.each(o):this.queue(r.queue,o)},stop:function(e,t,n){var s=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each((function(){var t=!0,i=null!=e&&e+"queueHooks",r=_.timers,o=X.get(this);if(i)o[i]&&o[i].stop&&s(o[i]);else for(i in o)o[i]&&o[i].stop&&at.test(i)&&s(o[i]);for(i=r.length;i--;)r[i].elem!==this||null!=e&&r[i].queue!==e||(r[i].anim.stop(n),t=!1,r.splice(i,1));!t&&n||_.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=X.get(this),s=n[e+"queue"],i=n[e+"queueHooks"],r=_.timers,o=s?s.length:0;for(n.finish=!0,_.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=r.length;t--;)r[t].elem===this&&r[t].queue===e&&(r[t].anim.stop(!0),r.splice(t,1));for(t=0;t<o;t++)s[t]&&s[t].finish&&s[t].finish.call(this);delete n.finish}))}}),_.each(["toggle","show","hide"],(function(e,t){var n=_.fn[t];_.fn[t]=function(e,s,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,s,i)}})),_.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){_.fn[e]=function(e,n,s){return this.animate(t,e,n,s)}})),_.timers=[],_.fx.tick=function(){var e,t=0,n=_.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||_.fx.stop(),nt=void 0},_.fx.timer=function(e){_.timers.push(e),_.fx.start()},_.fx.interval=13,_.fx.start=function(){st||(st=!0,lt())},_.fx.stop=function(){st=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(e,t){return e=_.fx&&_.fx.speeds[e]||e,t=t||"fx",this.queue(t,(function(t,n){var i=s.setTimeout(t,e);n.stop=function(){s.clearTimeout(i)}}))},it=v.createElement("input"),rt=v.createElement("select").appendChild(v.createElement("option")),it.type="checkbox",f.checkOn=""!==it.value,f.optSelected=rt.selected,(it=v.createElement("input")).value="t",it.type="radio",f.radioValue="t"===it.value;var pt,mt=_.expr.attrHandle;_.fn.extend({attr:function(e,t){return V(this,_.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each((function(){_.removeAttr(this,e)}))}}),_.extend({attr:function(e,t,n){var s,i,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return void 0===e.getAttribute?_.prop(e,t,n):(1===r&&_.isXMLDoc(e)||(i=_.attrHooks[t.toLowerCase()]||(_.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void _.removeAttr(e,t):i&&"set"in i&&void 0!==(s=i.set(e,n,t))?s:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(s=i.get(e,t))?s:null==(s=_.find.attr(e,t))?void 0:s)},attrHooks:{type:{set:function(e,t){if(!f.radioValue&&"radio"===t&&B(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,s=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[s++];)e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?_.removeAttr(e,n):e.setAttribute(n,n),n}},_.each(_.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=mt[t]||_.find.attr;mt[t]=function(e,t,s){var i,r,o=t.toLowerCase();return s||(r=mt[o],mt[o]=i,i=null!=n(e,t,s)?o:null,mt[o]=r),i}}));var gt=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function At(e){return(e.match(R)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}_.fn.extend({prop:function(e,t){return V(this,_.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each((function(){delete this[_.propFix[e]||e]}))}}),_.extend({prop:function(e,t,n){var s,i,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return 1===r&&_.isXMLDoc(e)||(t=_.propFix[t]||t,i=_.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(s=i.set(e,n,t))?s:e[t]=n:i&&"get"in i&&null!==(s=i.get(e,t))?s:e[t]},propHooks:{tabIndex:{get:function(e){var t=_.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.optSelected||(_.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),_.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){_.propFix[this.toLowerCase()]=this})),_.fn.extend({addClass:function(e){var t,n,s,i,r,o,a,l=0;if(A(e))return this.each((function(t){_(this).addClass(e.call(this,t,yt(this)))}));if((t=vt(e)).length)for(;n=this[l++];)if(i=yt(n),s=1===n.nodeType&&" "+At(i)+" "){for(o=0;r=t[o++];)s.indexOf(" "+r+" ")<0&&(s+=r+" ");i!==(a=At(s))&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,s,i,r,o,a,l=0;if(A(e))return this.each((function(t){_(this).removeClass(e.call(this,t,yt(this)))}));if(!arguments.length)return this.attr("class","");if((t=vt(e)).length)for(;n=this[l++];)if(i=yt(n),s=1===n.nodeType&&" "+At(i)+" "){for(o=0;r=t[o++];)for(;-1<s.indexOf(" "+r+" ");)s=s.replace(" "+r+" "," ");i!==(a=At(s))&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e,s="string"===n||Array.isArray(e);return"boolean"==typeof t&&s?t?this.addClass(e):this.removeClass(e):A(e)?this.each((function(n){_(this).toggleClass(e.call(this,n,yt(this),t),t)})):this.each((function(){var t,i,r,o;if(s)for(i=0,r=_(this),o=vt(e);t=o[i++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else void 0!==e&&"boolean"!==n||((t=yt(this))&&X.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":X.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,s=0;for(t=" "+e+" ";n=this[s++];)if(1===n.nodeType&&-1<(" "+At(yt(n))+" ").indexOf(t))return!0;return!1}});var bt=/\r/g;_.fn.extend({val:function(e){var t,n,s,i=this[0];return arguments.length?(s=A(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=s?e.call(this,n,_(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=_.map(i,(function(e){return null==e?"":e+""}))),(t=_.valHooks[this.type]||_.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=_.valHooks[i.type]||_.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n:void 0}}),_.extend({valHooks:{option:{get:function(e){var t=_.find.attr(e,"value");return null!=t?t:At(_.text(e))}},select:{get:function(e){var t,n,s,i=e.options,r=e.selectedIndex,o="select-one"===e.type,a=o?null:[],l=o?r+1:i.length;for(s=r<0?l:o?r:0;s<l;s++)if(((n=i[s]).selected||s===r)&&!n.disabled&&(!n.parentNode.disabled||!B(n.parentNode,"optgroup"))){if(t=_(n).val(),o)return t;a.push(t)}return a},set:function(e,t){for(var n,s,i=e.options,r=_.makeArray(t),o=i.length;o--;)((s=i[o]).selected=-1<_.inArray(_.valHooks.option.get(s),r))&&(n=!0);return n||(e.selectedIndex=-1),r}}}}),_.each(["radio","checkbox"],(function(){_.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<_.inArray(_(e).val(),t)}},f.checkOn||(_.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),f.focusin="onfocusin"in s;var wt=/^(?:focusinfocus|focusoutblur)$/,kt=function(e){e.stopPropagation()};_.extend(_.event,{trigger:function(e,t,n,i){var r,o,a,l,c,u,d,h,m=[n||v],g=p.call(e,"type")?e.type:e,f=p.call(e,"namespace")?e.namespace.split("."):[];if(o=h=a=n=n||v,3!==n.nodeType&&8!==n.nodeType&&!wt.test(g+_.event.triggered)&&(-1<g.indexOf(".")&&(g=(f=g.split(".")).shift(),f.sort()),c=g.indexOf(":")<0&&"on"+g,(e=e[_.expando]?e:new _.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=f.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:_.makeArray(t,[e]),d=_.event.special[g]||{},i||!d.trigger||!1!==d.trigger.apply(n,t))){if(!i&&!d.noBubble&&!y(n)){for(l=d.delegateType||g,wt.test(l+g)||(o=o.parentNode);o;o=o.parentNode)m.push(o),a=o;a===(n.ownerDocument||v)&&m.push(a.defaultView||a.parentWindow||s)}for(r=0;(o=m[r++])&&!e.isPropagationStopped();)h=o,e.type=1<r?l:d.bindType||g,(u=(X.get(o,"events")||Object.create(null))[e.type]&&X.get(o,"handle"))&&u.apply(o,t),(u=c&&o[c])&&u.apply&&$(o)&&(e.result=u.apply(o,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(m.pop(),t)||!$(n)||c&&A(n[g])&&!y(n)&&((a=n[c])&&(n[c]=null),_.event.triggered=g,e.isPropagationStopped()&&h.addEventListener(g,kt),n[g](),e.isPropagationStopped()&&h.removeEventListener(g,kt),_.event.triggered=void 0,a&&(n[c]=a)),e.result}},simulate:function(e,t,n){var s=_.extend(new _.Event,n,{type:e,isSimulated:!0});_.event.trigger(s,null,t)}}),_.fn.extend({trigger:function(e,t){return this.each((function(){_.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return _.event.trigger(e,t,n,!0)}}),f.focusin||_.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){_.event.simulate(t,e.target,_.event.fix(e))};_.event.special[t]={setup:function(){var s=this.ownerDocument||this.document||this,i=X.access(s,t);i||s.addEventListener(e,n,!0),X.access(s,t,(i||0)+1)},teardown:function(){var s=this.ownerDocument||this.document||this,i=X.access(s,t)-1;i?X.access(s,t,i):(s.removeEventListener(e,n,!0),X.remove(s,t))}}}));var Ct=s.location,_t={guid:Date.now()},Et=/\?/;_.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new s.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||_.error("Invalid XML: "+(n?_.map(n.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var xt=/\[\]$/,It=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,Dt=/^(?:input|select|textarea|keygen)/i;function Bt(e,t,n,s){var i;if(Array.isArray(t))_.each(t,(function(t,i){n||xt.test(e)?s(e,i):Bt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,s)}));else if(n||"object"!==k(t))s(e,t);else for(i in t)Bt(e+"["+i+"]",t[i],n,s)}_.param=function(e,t){var n,s=[],i=function(e,t){var n=A(t)?t():t;s[s.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!_.isPlainObject(e))_.each(e,(function(){i(this.name,this.value)}));else for(n in e)Bt(n,e[n],t,i);return s.join("&")},_.fn.extend({serialize:function(){return _.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=_.prop(this,"elements");return e?_.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!_(this).is(":disabled")&&Dt.test(this.nodeName)&&!St.test(e)&&(this.checked||!ge.test(e))})).map((function(e,t){var n=_(this).val();return null==n?null:Array.isArray(n)?_.map(n,(function(e){return{name:t.name,value:e.replace(It,"\r\n")}})):{name:t.name,value:n.replace(It,"\r\n")}})).get()}});var Pt=/%20/g,Tt=/#.*$/,Ft=/([?&])_=[^&]*/,Mt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Lt=/^\/\//,Nt={},Rt={},Kt="*/".concat("*"),Ut=v.createElement("a");function Qt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var s,i=0,r=t.toLowerCase().match(R)||[];if(A(n))for(;s=r[i++];)"+"===s[0]?(s=s.slice(1)||"*",(e[s]=e[s]||[]).unshift(n)):(e[s]=e[s]||[]).push(n)}}function jt(e,t,n,s){var i={},r=e===Rt;function o(a){var l;return i[a]=!0,_.each(e[a]||[],(function(e,a){var c=a(t,n,s);return"string"!=typeof c||r||i[c]?r?!(l=c):void 0:(t.dataTypes.unshift(c),o(c),!1)})),l}return o(t.dataTypes[0])||!i["*"]&&o("*")}function Gt(e,t){var n,s,i=_.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:s||(s={}))[n]=t[n]);return s&&_.extend(!0,e,s),e}Ut.href=Ct.href,_.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":_.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,_.ajaxSettings),t):Gt(_.ajaxSettings,e)},ajaxPrefilter:Qt(Nt),ajaxTransport:Qt(Rt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,i,r,o,a,l,c,u,d,h,p=_.ajaxSetup({},t),m=p.context||p,g=p.context&&(m.nodeType||m.jquery)?_(m):_.event,f=_.Deferred(),A=_.Callbacks("once memory"),y=p.statusCode||{},b={},w={},k="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(c){if(!o)for(o={};t=Mt.exec(r);)o[t[1].toLowerCase()+" "]=(o[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=o[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return c?r:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)C.always(e[C.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||k;return n&&n.abort(t),E(0,t),this}};if(f.promise(C),p.url=((e||p.url||Ct.href)+"").replace(Lt,Ct.protocol+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(R)||[""],null==p.crossDomain){l=v.createElement("a");try{l.href=p.url,l.href=l.href,p.crossDomain=Ut.protocol+"//"+Ut.host!=l.protocol+"//"+l.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=_.param(p.data,p.traditional)),jt(Nt,p,t,C),c)return C;for(d in(u=_.event&&p.global)&&0==_.active++&&_.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Ot.test(p.type),i=p.url.replace(Tt,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Pt,"+")):(h=p.url.slice(i.length),p.data&&(p.processData||"string"==typeof p.data)&&(i+=(Et.test(i)?"&":"?")+p.data,delete p.data),!1===p.cache&&(i=i.replace(Ft,"$1"),h=(Et.test(i)?"&":"?")+"_="+_t.guid+++h),p.url=i+h),p.ifModified&&(_.lastModified[i]&&C.setRequestHeader("If-Modified-Since",_.lastModified[i]),_.etag[i]&&C.setRequestHeader("If-None-Match",_.etag[i])),(p.data&&p.hasContent&&!1!==p.contentType||t.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Kt+"; q=0.01":""):p.accepts["*"]),p.headers)C.setRequestHeader(d,p.headers[d]);if(p.beforeSend&&(!1===p.beforeSend.call(m,C,p)||c))return C.abort();if(k="abort",A.add(p.complete),C.done(p.success),C.fail(p.error),n=jt(Rt,p,t,C)){if(C.readyState=1,u&&g.trigger("ajaxSend",[C,p]),c)return C;p.async&&0<p.timeout&&(a=s.setTimeout((function(){C.abort("timeout")}),p.timeout));try{c=!1,n.send(b,E)}catch(e){if(c)throw e;E(-1,e)}}else E(-1,"No Transport");function E(e,t,o,l){var d,h,v,b,w,k=t;c||(c=!0,a&&s.clearTimeout(a),n=void 0,r=l||"",C.readyState=0<e?4:0,d=200<=e&&e<300||304===e,o&&(b=function(e,t,n){for(var s,i,r,o,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===s&&(s=e.mimeType||t.getResponseHeader("Content-Type"));if(s)for(i in a)if(a[i]&&a[i].test(s)){l.unshift(i);break}if(l[0]in n)r=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){r=i;break}o||(o=i)}r=r||o}if(r)return r!==l[0]&&l.unshift(r),n[r]}(p,C,o)),!d&&-1<_.inArray("script",p.dataTypes)&&_.inArray("json",p.dataTypes)<0&&(p.converters["text script"]=function(){}),b=function(e,t,n,s){var i,r,o,a,l,c={},u=e.dataTypes.slice();if(u[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(r=u.shift();r;)if(e.responseFields[r]&&(n[e.responseFields[r]]=t),!l&&s&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=r,r=u.shift())if("*"===r)r=l;else if("*"!==l&&l!==r){if(!(o=c[l+" "+r]||c["* "+r]))for(i in c)if((a=i.split(" "))[1]===r&&(o=c[l+" "+a[0]]||c["* "+a[0]])){!0===o?o=c[i]:!0!==c[i]&&(r=a[0],u.unshift(a[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(e){return{state:"parsererror",error:o?e:"No conversion from "+l+" to "+r}}}return{state:"success",data:t}}(p,b,C,d),d?(p.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(_.lastModified[i]=w),(w=C.getResponseHeader("etag"))&&(_.etag[i]=w)),204===e||"HEAD"===p.type?k="nocontent":304===e?k="notmodified":(k=b.state,h=b.data,d=!(v=b.error))):(v=k,!e&&k||(k="error",e<0&&(e=0))),C.status=e,C.statusText=(t||k)+"",d?f.resolveWith(m,[h,k,C]):f.rejectWith(m,[C,k,v]),C.statusCode(y),y=void 0,u&&g.trigger(d?"ajaxSuccess":"ajaxError",[C,p,d?h:v]),A.fireWith(m,[C,k]),u&&(g.trigger("ajaxComplete",[C,p]),--_.active||_.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return _.get(e,t,n,"json")},getScript:function(e,t){return _.get(e,void 0,t,"script")}}),_.each(["get","post"],(function(e,t){_[t]=function(e,n,s,i){return A(n)&&(i=i||s,s=n,n=void 0),_.ajax(_.extend({url:e,type:t,dataType:i,data:n,success:s},_.isPlainObject(e)&&e))}})),_.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),_._evalUrl=function(e,t,n){return _.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){_.globalEval(e,t,n)}})},_.fn.extend({wrapAll:function(e){var t;return this[0]&&(A(e)&&(e=e.call(this[0])),t=_(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return A(e)?this.each((function(t){_(this).wrapInner(e.call(this,t))})):this.each((function(){var t=_(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=A(e);return this.each((function(n){_(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){_(this).replaceWith(this.childNodes)})),this}}),_.expr.pseudos.hidden=function(e){return!_.expr.pseudos.visible(e)},_.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},_.ajaxSettings.xhr=function(){try{return new s.XMLHttpRequest}catch(e){}};var Ht={0:200,1223:204},Vt=_.ajaxSettings.xhr();f.cors=!!Vt&&"withCredentials"in Vt,f.ajax=Vt=!!Vt,_.ajaxTransport((function(e){var t,n;if(f.cors||Vt&&!e.crossDomain)return{send:function(i,r){var o,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)a[o]=e.xhrFields[o];for(o in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)a.setRequestHeader(o,i[o]);t=function(e){return function(){t&&(t=n=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?r(0,"error"):r(a.status,a.statusText):r(Ht[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),n=a.onerror=a.ontimeout=t("error"),void 0!==a.onabort?a.onabort=n:a.onreadystatechange=function(){4===a.readyState&&s.setTimeout((function(){t&&n()}))},t=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(i){if(t)throw i}},abort:function(){t&&t()}}})),_.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),_.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return _.globalEval(e),e}}}),_.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),_.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(s,i){t=_("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}}));var zt,qt=[],Wt=/(=)\?(?=&|$)|\?\?/;_.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=qt.pop()||_.expando+"_"+_t.guid++;return this[e]=!0,e}}),_.ajaxPrefilter("json jsonp",(function(e,t,n){var i,r,o,a=!1!==e.jsonp&&(Wt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Wt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return i=e.jsonpCallback=A(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Wt,"$1"+i):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return o||_.error(i+" was not called"),o[0]},e.dataTypes[0]="json",r=s[i],s[i]=function(){o=arguments},n.always((function(){void 0===r?_(s).removeProp(i):s[i]=r,e[i]&&(e.jsonpCallback=t.jsonpCallback,qt.push(i)),o&&A(r)&&r(o[0]),o=r=void 0})),"script"})),f.createHTMLDocument=((zt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===zt.childNodes.length),_.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(f.createHTMLDocument?((s=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(s)):t=v),r=!n&&[],(i=P.exec(e))?[t.createElement(i[1])]:(i=ke([e],t,r),r&&r.length&&_(r).remove(),_.merge([],i.childNodes)));var s,i,r},_.fn.load=function(e,t,n){var s,i,r,o=this,a=e.indexOf(" ");return-1<a&&(s=At(e.slice(a)),e=e.slice(0,a)),A(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<o.length&&_.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done((function(e){r=arguments,o.html(s?_("<div>").append(_.parseHTML(e)).find(s):e)})).always(n&&function(e,t){o.each((function(){n.apply(this,r||[e.responseText,t,e])}))}),this},_.expr.pseudos.animated=function(e){return _.grep(_.timers,(function(t){return e===t.elem})).length},_.offset={setOffset:function(e,t,n){var s,i,r,o,a,l,c=_.css(e,"position"),u=_(e),d={};"static"===c&&(e.style.position="relative"),a=u.offset(),r=_.css(e,"top"),l=_.css(e,"left"),("absolute"===c||"fixed"===c)&&-1<(r+l).indexOf("auto")?(o=(s=u.position()).top,i=s.left):(o=parseFloat(r)||0,i=parseFloat(l)||0),A(t)&&(t=t.call(e,n,_.extend({},a))),null!=t.top&&(d.top=t.top-a.top+o),null!=t.left&&(d.left=t.left-a.left+i),"using"in t?t.using.call(e,d):u.css(d)}},_.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){_.offset.setOffset(this,e,t)}));var t,n,s=this[0];return s?s.getClientRects().length?(t=s.getBoundingClientRect(),n=s.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,s=this[0],i={top:0,left:0};if("fixed"===_.css(s,"position"))t=s.getBoundingClientRect();else{for(t=this.offset(),n=s.ownerDocument,e=s.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===_.css(e,"position");)e=e.parentNode;e&&e!==s&&1===e.nodeType&&((i=_(e).offset()).top+=_.css(e,"borderTopWidth",!0),i.left+=_.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-_.css(s,"marginTop",!0),left:t.left-i.left-_.css(s,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===_.css(e,"position");)e=e.offsetParent;return e||oe}))}}),_.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;_.fn[e]=function(s){return V(this,(function(e,s,i){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===i)return r?r[t]:e[s];r?r.scrollTo(n?r.pageXOffset:i,n?i:r.pageYOffset):e[s]=i}),e,s,arguments.length)}})),_.each(["top","left"],(function(e,t){_.cssHooks[t]=Ge(f.pixelPosition,(function(e,n){if(n)return n=je(e,t),Re.test(n)?_(e).position()[t]+"px":n}))})),_.each({Height:"height",Width:"width"},(function(e,t){_.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,s){_.fn[s]=function(i,r){var o=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===r?"margin":"border");return V(this,(function(t,n,i){var r;return y(t)?0===s.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(r=t.documentElement,Math.max(t.body["scroll"+e],r["scroll"+e],t.body["offset"+e],r["offset"+e],r["client"+e])):void 0===i?_.css(t,n,a):_.style(t,n,i,a)}),t,o?i:void 0,o)}}))})),_.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){_.fn[t]=function(e){return this.on(t,e)}})),_.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,s){return this.on(t,e,n,s)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),_.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){_.fn[t]=function(e,n){return 0<arguments.length?this.on(t,null,e,n):this.trigger(t)}}));var Yt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;_.proxy=function(e,t){var n,s,i;if("string"==typeof t&&(n=e[t],t=e,e=n),A(e))return s=a.call(arguments,2),(i=function(){return e.apply(t||this,s.concat(a.call(arguments)))}).guid=e.guid=e.guid||_.guid++,i},_.holdReady=function(e){e?_.readyWait++:_.ready(!0)},_.isArray=Array.isArray,_.parseJSON=JSON.parse,_.nodeName=B,_.isFunction=A,_.isWindow=y,_.camelCase=Y,_.type=k,_.now=Date.now,_.isNumeric=function(e){var t=_.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},_.trim=function(e){return null==e?"":(e+"").replace(Yt,"")},void 0===(n=function(){return _}.apply(t,[]))||(e.exports=n);var $t=s.jQuery,Jt=s.$;return _.noConflict=function(e){return s.$===_&&(s.$=Jt),e&&s.jQuery===_&&(s.jQuery=$t),_},void 0===i&&(s.jQuery=s.$=_),_}))},8767:function(e){e.exports=function(e){function t(s){if(n[s])return n[s].exports;var i=n[s]={exports:{},id:s,loaded:!1};return e[s].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function s(e){function t(){var e,t=s(a());t.width=u,t.height=d,t.imagedata=h;try{var n=o.extractPureBits(t);e=r.decode(n)}catch(n){var l=new i(t).detect();e=r.decode(l.bits)}for(var c=e.getDataByte(),p="",m=0;m<c.length;m++)for(var g=0;g<c[m].length;g++)p+=String.fromCharCode(c[m][g]);return p}function n(e){for(var t=4,n=Math.floor(u/t),s=Math.floor(d/t),i=new Array(t),r=0;t>r;r++){i[r]=new Array(t);for(var o=0;t>o;o++)i[r][o]=[0,0]}var a,l;for(l=0;t>l;l++)for(a=0;t>a;a++){for(var c=0,h=255,p=0;s>p;p++)for(var m=n*a+(s*l+p)*u,g=0;n>g;g++){var f=e[m+g];c>f&&(c=f),f>h&&(h=f)}i[a][l][0]=c,i[a][l][1]=h}for(var A=new Array(t),y=0;t>y;y++)A[y]=new Array(t);for(l=0;t>l;l++)for(a=0;t>a;a++)A[a][l]=Math.floor((i[a][l][0]+i[a][l][1])/2);return A}function s(e){for(var t=n(e),s=t.length,i=Math.floor(u/s),r=Math.floor(d/s),o=new Uint8Array(d*u),a=0;s>a;a++)for(var l=0;s>l;l++)for(var c=0;r>c;c++)for(var h=0;i>h;h++)o[i*l+h+(r*a+c)*u]=e[i*l+h+(r*a+c)*u]<t[l][a];return o}function a(){for(var e=h.data,t=new Uint8Array(u*d),n=0;d>n;n++)for(var s=0;u>s;s++){var i=4*s+n*u*4;t[s+n*u]=(33*e[i]+34*e[i+1]+33*e[i+2])/100}return t}var l,c,u,d,h,p=1048576;this.decode=function(){l=document.createElement("canvas"),c=l.getContext("2d");var n=e.height,s=e.width;if(e.width*e.height>p){var i=e.width/e.height;s=i*(n=Math.sqrt(p/i))}return l.width=s,l.height=n,c.drawImage(e,0,0,l.width,l.height),u=l.width,d=l.height,h=c.getImageData(0,0,l.width,l.height),t()}}var i=n(13),r=n(12),o=n(17);e.exports=s},function(e,t,n){"use strict";function s(e,t){if(t||(t=e),1>e||1>t)throw"Both dimensions must be greater than 0";this.width=e,this.height=t;var n=e>>5;0!=(31&e)&&n++,this.rowSize=n,this.bits=new Uint32Array(n*t),this.getDimension=function(){if(this.width!==this.height)throw"Can get dimension on a non-square matrix";return this.width},this.getValue=function(e,t){var n=t*this.rowSize+(e>>5);return 0!=(1&i(this.bits[n],31&e))},this.setValue=function(e,t){var n=t*this.rowSize+(e>>5);this.bits[n]|=1<<(31&e)},this.flip=function(e,t){var n=t*this.rowSize+(e>>5);this.bits[n]^=1<<(31&e)},this.setRegion=function(e,t,n,s){if(0>t||0>e)throw"Left and top must be nonnegative";if(1>s||1>n)throw"Height and width must be at least 1";var i=e+n,r=t+s;if(r>this.height||i>this.width)throw"The region must fit inside the matrix";for(var o=t;r>o;o++)for(var a=o*this.rowSize,l=e;i>l;l++)this.bits[a+(l>>5)]|=1<<(31&l)}}var i=n(3).URShift;e.exports=s},function(e,t){"use strict";function n(e){this.expTable=new Array(256),this.logTable=new Array(256);var t,n=1;for(t=0;256>t;t++)this.expTable[t]=n,(n<<=1)>=256&&(n^=e);for(t=0;255>t;t++)this.logTable[this.expTable[t]]=t;var i=new Array(1);i[0]=0,this.zero=new s(this,new Array(i));var r=new Array(1);r[0]=1,this.one=new s(this,new Array(r)),this.buildMonomial=function(e,n){if(0>e)throw"System.ArgumentException";if(0===n)return this.zero;var i=new Array(e+1);for(t=0;t<i.length;t++)i[t]=0;return i[0]=n,new s(this,i)},this.exp=function(e){return this.expTable[e]},this.log=function(e){if(0===e)throw"System.ArgumentException";return this.logTable[e]},this.inverse=function(e){if(0===e)throw"System.ArithmeticException";return this.expTable[255-this.logTable[e]]},this.multiply=function(e,t){return 0===e||0===t?0:1===e?t:1===t?e:this.expTable[(this.logTable[e]+this.logTable[t])%255]}}function s(e,t){if(!t||0===t.length)throw"System.ArgumentException";this.field=e;var i,r=t.length;if(r>1&&0===t[0]){for(var o=1;r>o&&0===t[o];)o++;if(o===r)this.coefficients=e.zero.coefficients;else{for(this.coefficients=new Array(r-o),i=0;i<this.coefficients.length;i++)this.coefficients[i]=0;for(var a=0;a<this.coefficients.length;a++)this.coefficients[a]=t[o+a]}}else this.coefficients=t;Object.defineProperty(this,"zero",{get:function(){return 0===this.coefficients[0]}}),Object.defineProperty(this,"degree",{get:function(){return this.coefficients.length-1}}),this.getCoefficient=function(e){return this.coefficients[this.coefficients.length-1-e]},this.evaluateAt=function(e){if(0===e)return this.getCoefficient(0);var t=this.coefficients.length;if(1===e){var s=0;for(i=0;t>i;i++)s=n.addOrSubtract(s,this.coefficients[i]);return s}var r=this.coefficients[0];for(i=1;t>i;i++)r=n.addOrSubtract(this.field.multiply(e,r),this.coefficients[i]);return r},this.addOrSubtract=function(t){if(this.field!==t.field)throw"GF256Polys do not have same GF256 field";if(this.zero)return t;if(t.zero)return this;var r=this.coefficients,o=t.coefficients;if(r.length>o.length){var a=r;r=o,o=a}for(var l=new Array(o.length),c=o.length-r.length,u=0;c>u;u++)l[u]=o[u];for(i=c;i<o.length;i++)l[i]=n.addOrSubtract(r[i-c],o[i]);return new s(e,l)},this.multiply1=function(e){if(this.field!==e.field)throw"GF256Polys do not have same GF256 field";if(this.zero||e.zero)return this.field.zero;var t=this.coefficients,r=t.length,o=e.coefficients,a=o.length,l=new Array(r+a-1);for(i=0;r>i;i++)for(var c=t[i],u=0;a>u;u++)l[i+u]=n.addOrSubtract(l[i+u],this.field.multiply(c,o[u]));return new s(this.field,l)},this.multiply2=function(e){if(0===e)return this.field.zero;if(1===e)return this;var t=this.coefficients.length,n=new Array(t);for(i=0;t>i;i++)n[i]=this.field.multiply(this.coefficients[i],e);return new s(this.field,n)},this.multiplyByMonomial=function(e,t){if(0>e)throw"System.ArgumentException";if(0===t)return this.field.zero;var n=this.coefficients.length,r=new Array(n+e);for(i=0;i<r.length;i++)r[i]=0;for(i=0;n>i;i++)r[i]=this.field.multiply(this.coefficients[i],t);return new s(this.field,r)}}n.QR_CODE_FIELD=new n(285),n.DATA_MATRIX_FIELD=new n(301),n.addOrSubtract=function(e,t){return e^t},e.exports.GF256=n,e.exports.GF256Poly=s},function(e,t){"use strict";function n(e,t){return e>=0?e>>t:(e>>t)+(2<<~t)}e.exports={URShift:n}},function(e,t,n){"use strict";function s(e){this.errorCorrectionLevel=i.forBits(e>>3&3),this.dataMask=7&e}var i=n(14),r=n(3).URShift,o=21522,a=[[21522,0],[20773,1],[24188,2],[23371,3],[17913,4],[16590,5],[20375,6],[19104,7],[30660,8],[29427,9],[32170,10],[30877,11],[26159,12],[25368,13],[27713,14],[26998,15],[5769,16],[5054,17],[7399,18],[6608,19],[1890,20],[597,21],[3340,22],[2107,23],[13663,24],[12392,25],[16177,26],[14854,27],[9396,28],[8579,29],[11994,30],[11245,31]],l=[0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4];s.numBitsDiffering=function(e,t){return l[15&(e^=t)]+l[15&r(e,4)]+l[15&r(e,8)]+l[15&r(e,12)]+l[15&r(e,16)]+l[15&r(e,20)]+l[15&r(e,24)]+l[15&r(e,28)]},s.decodeFormatInformation=function(e){var t=s.doDecodeFormatInformation(e);return t||s.doDecodeFormatInformation(e^o)},s.doDecodeFormatInformation=function(e){for(var t=4294967295,n=0,i=0;i<a.length;i++){var r=a[i],o=r[0];if(o===e)return new s(r[1]);var l=this.numBitsDiffering(e,o);t>l&&(n=r[1],t=l)}return 3>=t?new s(n):null},e.exports=s},function(e,t){"use strict";function n(e,t,s,i,r,o,a,l,c){this.a11=e,this.a12=i,this.a13=a,this.a21=t,this.a22=r,this.a23=l,this.a31=s,this.a32=o,this.a33=c,this.transformPoints1=function(n){for(var u=n.length,d=0;u>d;d+=2){var h=n[d],p=n[d+1],m=a*h+l*p+c;n[d]=(e*h+t*p+s)/m,n[d+1]=(i*h+r*p+o)/m}},this.buildAdjoint=function(){return new n(this.a22*this.a33-this.a23*this.a32,this.a23*this.a31-this.a21*this.a33,this.a21*this.a32-this.a22*this.a31,this.a13*this.a32-this.a12*this.a33,this.a11*this.a33-this.a13*this.a31,this.a12*this.a31-this.a11*this.a32,this.a12*this.a23-this.a13*this.a22,this.a13*this.a21-this.a11*this.a23,this.a11*this.a22-this.a12*this.a21)},this.times=function(e){return new n(this.a11*e.a11+this.a21*e.a12+this.a31*e.a13,this.a11*e.a21+this.a21*e.a22+this.a31*e.a23,this.a11*e.a31+this.a21*e.a32+this.a31*e.a33,this.a12*e.a11+this.a22*e.a12+this.a32*e.a13,this.a12*e.a21+this.a22*e.a22+this.a32*e.a23,this.a12*e.a31+this.a22*e.a32+this.a32*e.a33,this.a13*e.a11+this.a23*e.a12+this.a33*e.a13,this.a13*e.a21+this.a23*e.a22+this.a33*e.a23,this.a13*e.a31+this.a23*e.a32+this.a33*e.a33)}}n.quadrilateralToQuadrilateral=function(e,t,n,s,i,r,o,a,l,c,u,d,h,p,m,g){var f=this.quadrilateralToSquare(e,t,n,s,i,r,o,a);return this.squareToQuadrilateral(l,c,u,d,h,p,m,g).times(f)},n.squareToQuadrilateral=function(e,t,s,i,r,o,a,l){var c=l-o,u=t-i+o-l;if(0===c&&0===u)return new n(s-e,r-s,e,i-t,o-i,t,0,0,1);var d=s-r,h=a-r,p=e-s+r-a,m=i-o,g=d*c-h*m,f=(p*c-h*u)/g,A=(d*u-p*m)/g;return new n(s-e+f*s,a-e+A*a,e,i-t+f*i,l-t+A*l,t,f,A,1)},n.quadrilateralToSquare=function(e,t,n,s,i,r,o,a){return this.squareToQuadrilateral(e,t,n,s,i,r,o,a).buildAdjoint()},e.exports=n},function(e,t,n){"use strict";function s(e,t){this.count=e,this.dataCodewords=t}function i(e,t,n){this.ecCodewordsPerBlock=e,this.ecBlocks=n?[t,n]:[t],this.getECBlocks=function(){return this.ecBlocks}}function r(e,t,n,s,i,r){this.versionNumber=e,this.alignmentPatternCenters=t,this.ecBlocks=[n,s,i,r];for(var o=0,l=n.ecCodewordsPerBlock,c=n.getECBlocks(),u=0;u<c.length;u++){var d=c[u];o+=d.count*(d.dataCodewords+l)}this.totalCodewords=o,this.getDimensionForVersion=function(){return 17+4*this.versionNumber},this.buildFunctionPattern=function(){var e=this.getDimensionForVersion(),t=new a(e);t.setRegion(0,0,9,9),t.setRegion(e-8,0,8,9),t.setRegion(0,e-8,9,8);for(var n=this.alignmentPatternCenters.length,s=0;n>s;s++)for(var i=this.alignmentPatternCenters[s]-2,r=0;n>r;r++)0===s&&(0===r||r===n-1)||s===n-1&&0===r||t.setRegion(this.alignmentPatternCenters[r]-2,i,5,5);return t.setRegion(6,9,1,e-17),t.setRegion(9,6,e-17,1),this.versionNumber>6&&(t.setRegion(e-11,0,3,6),t.setRegion(0,e-11,6,3)),t},this.getECBlocksForLevel=function(e){return this.ecBlocks[e.ordinal]}}function o(){return[new r(1,[],new i(7,new s(1,19)),new i(10,new s(1,16)),new i(13,new s(1,13)),new i(17,new s(1,9))),new r(2,[6,18],new i(10,new s(1,34)),new i(16,new s(1,28)),new i(22,new s(1,22)),new i(28,new s(1,16))),new r(3,[6,22],new i(15,new s(1,55)),new i(26,new s(1,44)),new i(18,new s(2,17)),new i(22,new s(2,13))),new r(4,[6,26],new i(20,new s(1,80)),new i(18,new s(2,32)),new i(26,new s(2,24)),new i(16,new s(4,9))),new r(5,[6,30],new i(26,new s(1,108)),new i(24,new s(2,43)),new i(18,new s(2,15),new s(2,16)),new i(22,new s(2,11),new s(2,12))),new r(6,[6,34],new i(18,new s(2,68)),new i(16,new s(4,27)),new i(24,new s(4,19)),new i(28,new s(4,15))),new r(7,[6,22,38],new i(20,new s(2,78)),new i(18,new s(4,31)),new i(18,new s(2,14),new s(4,15)),new i(26,new s(4,13),new s(1,14))),new r(8,[6,24,42],new i(24,new s(2,97)),new i(22,new s(2,38),new s(2,39)),new i(22,new s(4,18),new s(2,19)),new i(26,new s(4,14),new s(2,15))),new r(9,[6,26,46],new i(30,new s(2,116)),new i(22,new s(3,36),new s(2,37)),new i(20,new s(4,16),new s(4,17)),new i(24,new s(4,12),new s(4,13))),new r(10,[6,28,50],new i(18,new s(2,68),new s(2,69)),new i(26,new s(4,43),new s(1,44)),new i(24,new s(6,19),new s(2,20)),new i(28,new s(6,15),new s(2,16))),new r(11,[6,30,54],new i(20,new s(4,81)),new i(30,new s(1,50),new s(4,51)),new i(28,new s(4,22),new s(4,23)),new i(24,new s(3,12),new s(8,13))),new r(12,[6,32,58],new i(24,new s(2,92),new s(2,93)),new i(22,new s(6,36),new s(2,37)),new i(26,new s(4,20),new s(6,21)),new i(28,new s(7,14),new s(4,15))),new r(13,[6,34,62],new i(26,new s(4,107)),new i(22,new s(8,37),new s(1,38)),new i(24,new s(8,20),new s(4,21)),new i(22,new s(12,11),new s(4,12))),new r(14,[6,26,46,66],new i(30,new s(3,115),new s(1,116)),new i(24,new s(4,40),new s(5,41)),new i(20,new s(11,16),new s(5,17)),new i(24,new s(11,12),new s(5,13))),new r(15,[6,26,48,70],new i(22,new s(5,87),new s(1,88)),new i(24,new s(5,41),new s(5,42)),new i(30,new s(5,24),new s(7,25)),new i(24,new s(11,12),new s(7,13))),new r(16,[6,26,50,74],new i(24,new s(5,98),new s(1,99)),new i(28,new s(7,45),new s(3,46)),new i(24,new s(15,19),new s(2,20)),new i(30,new s(3,15),new s(13,16))),new r(17,[6,30,54,78],new i(28,new s(1,107),new s(5,108)),new i(28,new s(10,46),new s(1,47)),new i(28,new s(1,22),new s(15,23)),new i(28,new s(2,14),new s(17,15))),new r(18,[6,30,56,82],new i(30,new s(5,120),new s(1,121)),new i(26,new s(9,43),new s(4,44)),new i(28,new s(17,22),new s(1,23)),new i(28,new s(2,14),new s(19,15))),new r(19,[6,30,58,86],new i(28,new s(3,113),new s(4,114)),new i(26,new s(3,44),new s(11,45)),new i(26,new s(17,21),new s(4,22)),new i(26,new s(9,13),new s(16,14))),new r(20,[6,34,62,90],new i(28,new s(3,107),new s(5,108)),new i(26,new s(3,41),new s(13,42)),new i(30,new s(15,24),new s(5,25)),new i(28,new s(15,15),new s(10,16))),new r(21,[6,28,50,72,94],new i(28,new s(4,116),new s(4,117)),new i(26,new s(17,42)),new i(28,new s(17,22),new s(6,23)),new i(30,new s(19,16),new s(6,17))),new r(22,[6,26,50,74,98],new i(28,new s(2,111),new s(7,112)),new i(28,new s(17,46)),new i(30,new s(7,24),new s(16,25)),new i(24,new s(34,13))),new r(23,[6,30,54,74,102],new i(30,new s(4,121),new s(5,122)),new i(28,new s(4,47),new s(14,48)),new i(30,new s(11,24),new s(14,25)),new i(30,new s(16,15),new s(14,16))),new r(24,[6,28,54,80,106],new i(30,new s(6,117),new s(4,118)),new i(28,new s(6,45),new s(14,46)),new i(30,new s(11,24),new s(16,25)),new i(30,new s(30,16),new s(2,17))),new r(25,[6,32,58,84,110],new i(26,new s(8,106),new s(4,107)),new i(28,new s(8,47),new s(13,48)),new i(30,new s(7,24),new s(22,25)),new i(30,new s(22,15),new s(13,16))),new r(26,[6,30,58,86,114],new i(28,new s(10,114),new s(2,115)),new i(28,new s(19,46),new s(4,47)),new i(28,new s(28,22),new s(6,23)),new i(30,new s(33,16),new s(4,17))),new r(27,[6,34,62,90,118],new i(30,new s(8,122),new s(4,123)),new i(28,new s(22,45),new s(3,46)),new i(30,new s(8,23),new s(26,24)),new i(30,new s(12,15),new s(28,16))),new r(28,[6,26,50,74,98,122],new i(30,new s(3,117),new s(10,118)),new i(28,new s(3,45),new s(23,46)),new i(30,new s(4,24),new s(31,25)),new i(30,new s(11,15),new s(31,16))),new r(29,[6,30,54,78,102,126],new i(30,new s(7,116),new s(7,117)),new i(28,new s(21,45),new s(7,46)),new i(30,new s(1,23),new s(37,24)),new i(30,new s(19,15),new s(26,16))),new r(30,[6,26,52,78,104,130],new i(30,new s(5,115),new s(10,116)),new i(28,new s(19,47),new s(10,48)),new i(30,new s(15,24),new s(25,25)),new i(30,new s(23,15),new s(25,16))),new r(31,[6,30,56,82,108,134],new i(30,new s(13,115),new s(3,116)),new i(28,new s(2,46),new s(29,47)),new i(30,new s(42,24),new s(1,25)),new i(30,new s(23,15),new s(28,16))),new r(32,[6,34,60,86,112,138],new i(30,new s(17,115)),new i(28,new s(10,46),new s(23,47)),new i(30,new s(10,24),new s(35,25)),new i(30,new s(19,15),new s(35,16))),new r(33,[6,30,58,86,114,142],new i(30,new s(17,115),new s(1,116)),new i(28,new s(14,46),new s(21,47)),new i(30,new s(29,24),new s(19,25)),new i(30,new s(11,15),new s(46,16))),new r(34,[6,34,62,90,118,146],new i(30,new s(13,115),new s(6,116)),new i(28,new s(14,46),new s(23,47)),new i(30,new s(44,24),new s(7,25)),new i(30,new s(59,16),new s(1,17))),new r(35,[6,30,54,78,102,126,150],new i(30,new s(12,121),new s(7,122)),new i(28,new s(12,47),new s(26,48)),new i(30,new s(39,24),new s(14,25)),new i(30,new s(22,15),new s(41,16))),new r(36,[6,24,50,76,102,128,154],new i(30,new s(6,121),new s(14,122)),new i(28,new s(6,47),new s(34,48)),new i(30,new s(46,24),new s(10,25)),new i(30,new s(2,15),new s(64,16))),new r(37,[6,28,54,80,106,132,158],new i(30,new s(17,122),new s(4,123)),new i(28,new s(29,46),new s(14,47)),new i(30,new s(49,24),new s(10,25)),new i(30,new s(24,15),new s(46,16))),new r(38,[6,32,58,84,110,136,162],new i(30,new s(4,122),new s(18,123)),new i(28,new s(13,46),new s(32,47)),new i(30,new s(48,24),new s(14,25)),new i(30,new s(42,15),new s(32,16))),new r(39,[6,26,54,82,110,138,166],new i(30,new s(20,117),new s(4,118)),new i(28,new s(40,47),new s(7,48)),new i(30,new s(43,24),new s(22,25)),new i(30,new s(10,15),new s(67,16))),new r(40,[6,30,58,86,114,142,170],new i(30,new s(19,118),new s(6,119)),new i(28,new s(18,47),new s(31,48)),new i(30,new s(34,24),new s(34,25)),new i(30,new s(20,15),new s(61,16)))]}var a=n(1),l=n(4);r.VERSION_DECODE_INFO=[31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017],r.VERSIONS=o(),r.getVersionForNumber=function(e){if(1>e||e>40)throw"ArgumentException";return r.VERSIONS[e-1]},r.getProvisionalVersionForDimension=function(e){if(e%4!=1)throw"Error getProvisionalVersionForDimension";try{return r.getVersionForNumber(e-17>>2)}catch(e){throw"Error getVersionForNumber"}},r.decodeVersionInformation=function(e){for(var t=4294967295,n=0,s=0;s<r.VERSION_DECODE_INFO.length;s++){var i=r.VERSION_DECODE_INFO[s];if(i===e)return this.getVersionForNumber(s+7);var o=l.numBitsDiffering(e,i);t>o&&(n=s+7,t=o)}return 3>=t?this.getVersionForNumber(n):null},e.exports=r},function(e,t,n){"use strict";function s(e,t,n,s,r,o){this.image=e,this.possibleCenters=[],this.width=s,this.height=r,this.moduleSize=o,this.crossCheckStateCount=[0,0,0],this.centerFromEnd=function(e,t){return t-e[2]-e[1]/2},this.foundPatternCross=function(e){for(var t=this.moduleSize/2,n=0;3>n;n++)if(Math.abs(o-e[n])>=t)return!1;return!0},this.crossCheckVertical=function(t,n,s,i){var r=e.height,o=this.crossCheckStateCount;o[0]=0,o[1]=0,o[2]=0;for(var a=t;a>=0&&e[n+a*e.width]&&o[1]<=s;)o[1]++,a--;if(0>a||o[1]>s)return NaN;for(;a>=0&&!e[n+a*e.width]&&o[0]<=s;)o[0]++,a--;if(o[0]>s)return NaN;for(a=t+1;r>a&&e[n+a*e.width]&&o[1]<=s;)o[1]++,a++;if(a===r||o[1]>s)return NaN;for(;r>a&&!e[n+a*e.width]&&o[2]<=s;)o[2]++,a++;if(o[2]>s)return NaN;var l=o[0]+o[1]+o[2];return 5*Math.abs(l-i)>=2*i?NaN:this.foundPatternCross(o)?this.centerFromEnd(o,a):NaN},this.handlePossibleCenter=function(e,t,n){var s=e[0]+e[1]+e[2],r=this.centerFromEnd(e,n),o=this.crossCheckVertical(t,Math.floor(r),2*e[1],s);if(!isNaN(o)){for(var a=(e[0]+e[1]+e[2])/3,l=this.possibleCenters.length,c=0;l>c;c++)if(this.possibleCenters[c].aboutEquals(a,o,r))return new i(r,o,a);var u=new i(r,o,a);this.possibleCenters.push(u)}return null},this.find=function(){for(var i,o=t+s,a=n+(r>>1),l=[0,0,0],c=0;r>c;c++){var u=a+(0==(1&c)?c+1>>1:-(c+1>>1));l[0]=0,l[1]=0,l[2]=0;for(var d=t;o>d&&!e[d+e.width*u];)d++;for(var h=0;o>d;){if(e[d+u*e.width])if(1===h)l[h]++;else if(2===h){if(this.foundPatternCross(l)&&(i=this.handlePossibleCenter(l,u,d)))return i;l[0]=l[2],l[1]=1,l[2]=0,h=1}else l[++h]++;else 1===h&&h++,l[h]++;d++}if(this.foundPatternCross(l)&&null!==(i=this.handlePossibleCenter(l,u,o)))return i}if(0!==this.possibleCenters.length)return this.possibleCenters[0];throw"Couldn't find enough alignment patterns"}}var i=n(8);e.exports=s},function(e,t){"use strict";function n(e,t,n){this.x=e,this.y=t,this.count=1,this.estimatedModuleSize=n,this.incrementCount=function(){this.count++},this.aboutEquals=function(e,t,n){if(Math.abs(t-this.y)<=e&&Math.abs(n-this.x)<=e){var s=Math.abs(e-this.estimatedModuleSize);return 1>=s||s/this.estimatedModuleSize<=1}return!1}}e.exports=n},function(e,t,n){"use strict";function s(e){var t=e.getDimension();if(21>t||1!=(3&t))throw"Error BitMatrixParser";this.bitMatrix=e,this.parsedVersion=null,this.parsedFormatInfo=null,this.copyBit=function(e,t,n){return this.bitMatrix.getValue(e,t)?n<<1|1:n<<1},this.readFormatInformation=function(){if(this.parsedFormatInfo)return this.parsedFormatInfo;var e,t=0;for(e=0;6>e;e++)t=this.copyBit(e,8,t);t=this.copyBit(7,8,t),t=this.copyBit(8,8,t),t=this.copyBit(8,7,t);for(var n=5;n>=0;n--)t=this.copyBit(8,n,t);if(this.parsedFormatInfo=i.decodeFormatInformation(t),this.parsedFormatInfo)return this.parsedFormatInfo;var s=this.bitMatrix.getDimension();t=0;var r=s-8;for(e=s-1;e>=r;e--)t=this.copyBit(e,8,t);for(n=s-7;s>n;n++)t=this.copyBit(8,n,t);if(this.parsedFormatInfo=i.decodeFormatInformation(t),this.parsedFormatInfo)return this.parsedFormatInfo;throw"Error readFormatInformation"},this.readVersion=function(){if(this.parsedVersion)return this.parsedVersion;var e=this.bitMatrix.getDimension(),t=e-17>>2;if(6>=t)return r.getVersionForNumber(t);var n,s,i=0,o=e-11;for(s=5;s>=0;s--)for(n=e-9;n>=o;n--)i=this.copyBit(n,s,i);if(this.parsedVersion=r.decodeVersionInformation(i),this.parsedVersion&&this.parsedVersion.getDimensionForVersion()===e)return this.parsedVersion;for(i=0,n=5;n>=0;n--)for(s=e-9;s>=o;s--)i=this.copyBit(n,s,i);if(this.parsedVersion=r.decodeVersionInformation(i),this.parsedVersion&&this.parsedVersion.getDimensionForVersion()===e)return this.parsedVersion;throw"Error readVersion"},this.readCodewords=function(){var e=this.readFormatInformation(),t=this.readVersion(),n=o.forReference(e.dataMask),s=this.bitMatrix.getDimension();n.unmaskBitMatrix(this.bitMatrix,s);for(var i=t.buildFunctionPattern(),r=!0,a=new Array(t.totalCodewords),l=0,c=0,u=0,d=s-1;d>0;d-=2){6===d&&d--;for(var h=0;s>h;h++)for(var p=r?s-1-h:h,m=0;2>m;m++)i.getValue(d-m,p)||(u++,c<<=1,this.bitMatrix.getValue(d-m,p)&&(c|=1),8===u&&(a[l++]=c,u=0,c=0));r^=!0}if(l!==t.totalCodewords)throw"Error readCodewords";return a}}var i=n(4),r=n(6),o=n(11);e.exports=s},function(e,t){"use strict";function n(e,t){this.numDataCodewords=e,this.codewords=t}n.getDataBlocks=function(e,t,s){if(e.length!==t.totalCodewords)throw"ArgumentException";var i,r,o=t.getECBlocksForLevel(s),a=0,l=o.getECBlocks();for(i=0;i<l.length;i++)a+=l[i].count;var c=new Array(a),u=0;for(r=0;r<l.length;r++){var d=l[r];for(i=0;i<d.count;i++){var h=d.dataCodewords,p=o.ecCodewordsPerBlock+h;c[u++]=new n(h,new Array(p))}}for(var m=c[0].codewords.length,g=c.length-1;g>=0&&c[g].codewords.length!==m;)g--;g++;var f=m-o.ecCodewordsPerBlock,A=0;for(i=0;f>i;i++)for(r=0;u>r;r++)c[r].codewords[i]=e[A++];for(r=g;u>r;r++)c[r].codewords[f]=e[A++];var y=c[0].codewords.length;for(i=f;y>i;i++)for(r=0;u>r;r++){var v=g>r?i:i+1;c[r].codewords[v]=e[A++]}return c},e.exports=n},function(e,t,n){"use strict";function s(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e,t){return 0==(e+t&1)}}function i(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e){return 0==(1&e)}}function r(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e,t){return t%3==0}}function o(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e,t){return(e+t)%3==0}}function a(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e,t){return 0==(d(e,1)+t/3&1)}}function l(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e,t){var n=e*t;return(1&n)+n%3==0}}function c(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e,t){var n=e*t;return 0==((1&n)+n%3&1)}}function u(){this.unmaskBitMatrix=function(e,t){for(var n=0;t>n;n++)for(var s=0;t>s;s++)this.isMasked(n,s)&&e.flip(s,n)},this.isMasked=function(e,t){return 0==((e+t&1)+e*t%3&1)}}var d=n(3).URShift,h={forReference:function(e){if(0>e||e>7)throw"System.ArgumentException";return h.DATA_MASKS[e]}};h.DATA_MASKS=[new s,new i,new r,new o,new a,new l,new c,new u],e.exports=h},function(e,t,n){"use strict";var s=n(19),i=n(2).GF256,r=n(9),o=n(10),a=n(18),l={};l.rsDecoder=new s(i.QR_CODE_FIELD),l.correctErrors=function(e,t){var n,s=e.length,i=new Array(s);for(n=0;s>n;n++)i[n]=255&e[n];var r=e.length-t;try{l.rsDecoder.decode(i,r)}catch(e){throw e}for(n=0;t>n;n++)e[n]=i[n]},l.decode=function(e){var t,n=new r(e),s=n.readVersion(),i=n.readFormatInformation().errorCorrectionLevel,c=n.readCodewords(),u=o.getDataBlocks(c,s,i),d=0;for(t=0;t<u.length;t++)d+=u[t].numDataCodewords;for(var h=new Array(d),p=0,m=0;m<u.length;m++){var g=u[m],f=g.codewords,A=g.numDataCodewords;for(l.correctErrors(f,A),t=0;A>t;t++)h[p++]=f[t]}return new a(h,s.versionNumber,i.bits)},e.exports=l},function(e,t,n){"use strict";function s(e,t){this.bits=e,this.points=t}function i(e){this.image=e,this.sizeOfBlackWhiteBlackRun=function(t,n,s,i){var r=Math.abs(i-n)>Math.abs(s-t);if(r){var o=t;t=n,n=o,o=s,s=i,i=o}for(var a=Math.abs(s-t),l=Math.abs(i-n),c=-a>>1,u=i>n?1:-1,d=s>t?1:-1,h=0,p=t,m=n;p!==s;p+=d){var g=r?m:p,f=r?p:m;if(1===h?this.image[g+f*e.width]&&h++:this.image[g+f*e.width]||h++,3===h){var A=p-t,y=m-n;return Math.sqrt(A*A+y*y)}if((c+=l)>0){if(m===i)break;m+=u,c-=a}}var v=s-t,b=i-n;return Math.sqrt(v*v+b*b)},this.sizeOfBlackWhiteBlackRunBothWays=function(t,n,s,i){var r=this.sizeOfBlackWhiteBlackRun(t,n,s,i),o=1,a=t-(s-t);0>a?(o=t/(t-a),a=0):a>=e.width&&(o=(e.width-1-t)/(a-t),a=e.width-1);var l=Math.floor(n-(i-n)*o);return o=1,0>l?(o=n/(n-l),l=0):l>=e.height&&(o=(e.height-1-n)/(l-n),l=e.height-1),a=Math.floor(t+(a-t)*o),(r+=this.sizeOfBlackWhiteBlackRun(t,n,a,l))-1},this.calculateModuleSizeOneWay=function(e,t){var n=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(e.x),Math.floor(e.y),Math.floor(t.x),Math.floor(t.y)),s=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(t.x),Math.floor(t.y),Math.floor(e.x),Math.floor(e.y));return isNaN(n)?s/7:isNaN(s)?n/7:(n+s)/14},this.calculateModuleSize=function(e,t,n){return(this.calculateModuleSizeOneWay(e,t)+this.calculateModuleSizeOneWay(e,n))/2},this.distance=function(e,t){var n=e.x-t.x,s=e.y-t.y;return Math.sqrt(n*n+s*s)},this.computeDimension=function(e,t,n,s){var i=7+(Math.round(this.distance(e,t)/s)+Math.round(this.distance(e,n)/s)>>1);switch(3&i){case 0:i++;break;case 2:i--;break;case 3:throw"Error dimension"}return i},this.findAlignmentInRegion=function(t,n,s,i){var o=Math.floor(i*t),a=Math.max(0,n-o),l=Math.min(e.width-1,n+o);if(3*t>l-a)throw"Error align";var c=Math.max(0,s-o),u=Math.min(e.height-1,s+o);return new r(this.image,a,c,l-a,u-c,t).find()},this.createTransform=function(e,t,n,s,i){var r,o,a,l,u=i-3.5;return s?(r=s.x,o=s.y,a=l=u-3):(r=t.x-e.x+n.x,o=t.y-e.y+n.y,a=l=u),c.quadrilateralToQuadrilateral(3.5,3.5,u,3.5,a,l,3.5,u,e.x,e.y,t.x,t.y,r,o,n.x,n.y)},this.sampleGrid=function(t,n){return o.sampleGrid3(e,n,t)},this.processFinderPatternInfo=function(e){var t=e.topLeft,n=e.topRight,i=e.bottomLeft,r=this.calculateModuleSize(t,n,i);if(1>r)throw"Error modSize";var o=this.computeDimension(t,n,i,r),l=a.getProvisionalVersionForDimension(o),c=l.getDimensionForVersion()-7,u=null;if(l.alignmentPatternCenters.length>0)for(var d=n.x-t.x+i.x,h=n.y-t.y+i.y,p=1-3/c,m=Math.floor(t.x+p*(d-t.x)),g=Math.floor(t.y+p*(h-t.y)),f=4;16>=f;f<<=1){u=this.findAlignmentInRegion(r,m,g,f);break}var A=this.createTransform(t,n,i,u,o);return new s(this.sampleGrid(A,o),u?[i,t,n,u]:[i,t,n])},this.detect=function(){var e=(new l).findFinderPattern(this.image);return this.processFinderPatternInfo(e)}}var r=n(7),o=n(16),a=n(6),l=n(15),c=n(5);e.exports=i},function(e,t){"use strict";function n(e,t,n){this.ordinal=e,this.bits=t,this.name=n}n.forBits=function(e){if(0>e||e>=o.length)throw"ArgumentException";return o[e]};var s=new n(0,1,"L"),i=new n(1,0,"M"),r=new n(2,3,"Q"),o=[i,s,new n(3,2,"H"),r];e.exports=n},function(e,t){"use strict";function n(e){function t(e,t){var n=e.x-t.x,s=e.y-t.y;return Math.sqrt(n*n+s*s)}function n(e,t,n){var s=t.x,i=t.y;return(n.x-s)*(e.y-i)-(n.y-i)*(e.x-s)}var s,i,r,o=t(e[0],e[1]),a=t(e[1],e[2]),l=t(e[0],e[2]);if(a>=o&&a>=l?(i=e[0],s=e[1],r=e[2]):l>=a&&l>=o?(i=e[1],s=e[0],r=e[2]):(i=e[2],s=e[0],r=e[1]),n(s,i,r)<0){var c=s;s=r,r=c}e[0]=s,e[1]=i,e[2]=r}function s(e,t,n){this.x=e,this.y=t,this.count=1,this.estimatedModuleSize=n,this.incrementCount=function(){this.count++},this.aboutEquals=function(e,t,n){if(Math.abs(t-this.y)<=e&&Math.abs(n-this.x)<=e){var s=Math.abs(e-this.estimatedModuleSize);return 1>=s||s/this.estimatedModuleSize<=1}return!1}}function i(e){this.bottomLeft=e[0],this.topLeft=e[1],this.topRight=e[2]}function r(){this.image=null,this.possibleCenters=[],this.hasSkipped=!1,this.crossCheckStateCount=[0,0,0,0,0],this.getCrossCheckStateCount=function(){return this.crossCheckStateCount[0]=0,this.crossCheckStateCount[1]=0,this.crossCheckStateCount[2]=0,this.crossCheckStateCount[3]=0,this.crossCheckStateCount[4]=0,this.crossCheckStateCount},this.foundPatternCross=function(e){for(var t=0,n=0;5>n;n++){var s=e[n];if(0===s)return!1;t+=s}if(7>t)return!1;var i=Math.floor((t<<l)/7),r=Math.floor(i/2);return Math.abs(i-(e[0]<<l))<r&&Math.abs(i-(e[1]<<l))<r&&Math.abs(3*i-(e[2]<<l))<3*r&&Math.abs(i-(e[3]<<l))<r&&Math.abs(i-(e[4]<<l))<r},this.centerFromEnd=function(e,t){return t-e[4]-e[3]-e[2]/2},this.crossCheckVertical=function(e,t,n,s){for(var i=this.image,r=i.height,o=this.getCrossCheckStateCount(),a=e;a>=0&&i[t+a*i.width];)o[2]++,a--;if(0>a)return NaN;for(;a>=0&&!i[t+a*i.width]&&o[1]<=n;)o[1]++,a--;if(0>a||o[1]>n)return NaN;for(;a>=0&&i[t+a*i.width]&&o[0]<=n;)o[0]++,a--;if(o[0]>n)return NaN;for(a=e+1;r>a&&i[t+a*i.width];)o[2]++,a++;if(a===r)return NaN;for(;r>a&&!i[t+a*i.width]&&o[3]<n;)o[3]++,a++;if(a===r||o[3]>=n)return NaN;for(;r>a&&i[t+a*i.width]&&o[4]<n;)o[4]++,a++;if(o[4]>=n)return NaN;var l=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(l-s)>=2*s?NaN:this.foundPatternCross(o)?this.centerFromEnd(o,a):NaN},this.crossCheckHorizontal=function(e,t,n,s){for(var i=this.image,r=i.width,o=this.getCrossCheckStateCount(),a=e;a>=0&&i[a+t*i.width];)o[2]++,a--;if(0>a)return NaN;for(;a>=0&&!i[a+t*i.width]&&o[1]<=n;)o[1]++,a--;if(0>a||o[1]>n)return NaN;for(;a>=0&&i[a+t*i.width]&&o[0]<=n;)o[0]++,a--;if(o[0]>n)return NaN;for(a=e+1;r>a&&i[a+t*i.width];)o[2]++,a++;if(a===r)return NaN;for(;r>a&&!i[a+t*i.width]&&o[3]<n;)o[3]++,a++;if(a===r||o[3]>=n)return NaN;for(;r>a&&i[a+t*i.width]&&o[4]<n;)o[4]++,a++;if(o[4]>=n)return NaN;var l=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(l-s)>=s?NaN:this.foundPatternCross(o)?this.centerFromEnd(o,a):NaN},this.handlePossibleCenter=function(e,t,n){var i=e[0]+e[1]+e[2]+e[3]+e[4],r=this.centerFromEnd(e,n),o=this.crossCheckVertical(t,Math.floor(r),e[2],i);if(!isNaN(o)&&(r=this.crossCheckHorizontal(Math.floor(r),Math.floor(o),e[2],i),!isNaN(r))){for(var a=i/7,l=!1,c=this.possibleCenters.length,u=0;c>u;u++){var d=this.possibleCenters[u];if(d.aboutEquals(a,o,r)){d.incrementCount(),l=!0;break}}if(!l){var h=new s(r,o,a);this.possibleCenters.push(h)}return!0}return!1},this.selectBestPatterns=function(){var e=this.possibleCenters.length;if(3>e)throw"Couldn't find enough finder patterns";if(e>3){var t,n=0,s=0;for(t=0;e>t;t++){var i=this.possibleCenters[t].estimatedModuleSize;n+=i,s+=i*i}var r=n/e;this.possibleCenters.sort((function(e,t){var n=Math.abs(t.estimatedModuleSize-r),s=Math.abs(e.estimatedModuleSize-r);return s>n?-1:n===s?0:1}));var o=Math.sqrt(s/e-r*r),a=Math.max(.2*r,o);for(t=0;t<this.possibleCenters.length&&this.possibleCenters.length>3;t++){var l=this.possibleCenters[t];Math.abs(l.estimatedModuleSize-r)>a&&(this.possibleCenters.splice(t,1),t--)}}return this.possibleCenters.length>3&&this.possibleCenters.sort((function(e,t){return e.count>t.count?-1:e.count<t.count?1:0})),[this.possibleCenters[0],this.possibleCenters[1],this.possibleCenters[2]]},this.findRowSkip=function(){var e=this.possibleCenters.length;if(1>=e)return 0;for(var t=null,n=0;e>n;n++){var s=this.possibleCenters[n];if(s.count>=c){if(t)return this.hasSkipped=!0,Math.floor((Math.abs(t.x-s.x)-Math.abs(t.y-s.y))/2);t=s}}return 0},this.haveMultiplyConfirmedCenters=function(){var e,t,n=0,s=0,i=this.possibleCenters.length;for(e=0;i>e;e++)(t=this.possibleCenters[e]).count>=c&&(n++,s+=t.estimatedModuleSize);if(3>n)return!1;var r=s/i,o=0;for(e=0;i>e;e++)t=this.possibleCenters[e],o+=Math.abs(t.estimatedModuleSize-r);return.05*s>=o},this.findFinderPattern=function(e){var t=!1;this.image=e;var s=e.height,r=e.width,l=Math.floor(3*s/(4*a));(o>l||t)&&(l=o);for(var c=!1,u=new Array(5),d=l-1;s>d&&!c;d+=l){u[0]=0,u[1]=0,u[2]=0,u[3]=0,u[4]=0;for(var h=0,p=0;r>p;p++)if(e[p+d*e.width])1==(1&h)&&h++,u[h]++;else if(0==(1&h))if(4===h)if(this.foundPatternCross(u)){if(this.handlePossibleCenter(u,d,p))if(l=2,this.hasSkipped)c=this.haveMultiplyConfirmedCenters();else{var m=this.findRowSkip();m>u[2]&&(d+=m-u[2]-l,p=r-1)}else{do{p++}while(r>p&&!e[p+d*e.width]);p--}h=0,u[0]=0,u[1]=0,u[2]=0,u[3]=0,u[4]=0}else u[0]=u[2],u[1]=u[3],u[2]=u[4],u[3]=1,u[4]=0,h=3;else u[++h]++;else u[h]++;this.foundPatternCross(u)&&this.handlePossibleCenter(u,d,r)&&(l=u[0],this.hasSkipped&&(c=this.haveMultiplyConfirmedCenters()))}var g=this.selectBestPatterns();return n(g),new i(g)}}var o=3,a=57,l=8,c=2;e.exports=r},function(e,t,n){"use strict";var s=n(1),i=n(5),r={checkAndNudgePoints:function(e,t){var n,s,i,r=e.width,o=e.height,a=!0;for(i=0;i<t.length&&a;i+=2){if(n=Math.floor(t[i]),s=Math.floor(t[i+1]),-1>n||n>r||-1>s||s>o)throw"Error.checkAndNudgePoints ";a=!1,-1===n?(t[i]=0,a=!0):n===r&&(t[i]=r-1,a=!0),-1===s?(t[i+1]=0,a=!0):s===o&&(t[i+1]=o-1,a=!0)}for(a=!0,i=t.length-2;i>=0&&a;i-=2){if(n=Math.floor(t[i]),s=Math.floor(t[i+1]),-1>n||n>r||-1>s||s>o)throw"Error.checkAndNudgePoints ";a=!1,-1===n?(t[i]=0,a=!0):n===r&&(t[i]=r-1,a=!0),-1===s?(t[i+1]=0,a=!0):s===o&&(t[i+1]=o-1,a=!0)}},sampleGrid3:function(e,t,n){for(var i=new s(t),o=new Array(t<<1),a=0;t>a;a++){var l,c=o.length,u=a+.5;for(l=0;c>l;l+=2)o[l]=.5+(l>>1),o[l+1]=u;n.transformPoints1(o),r.checkAndNudgePoints(e,o);try{for(l=0;c>l;l+=2){var d=4*Math.floor(o[l])+Math.floor(o[l+1])*e.width*4,h=e[Math.floor(o[l])+e.width*Math.floor(o[l+1])];e.imagedata.data[d]=h?255:0,e.imagedata.data[d+1]=h?255:0,e.imagedata.data[d+2]=0,e.imagedata.data[d+3]=255,h&&i.setValue(l>>1,a)}}catch(e){throw"Error.checkAndNudgePoints"}}return i},sampleGridx:function(e,t,n,s,o,a,l,c,u,d,h,p,m,g,f,A,y,v){var b=i.quadrilateralToQuadrilateral(n,s,o,a,l,c,u,d,h,p,m,g,f,A,y,v);return r.sampleGrid3(e,t,b)}};e.exports=r},function(e,t,n){"use strict";var s=n(1),i={extractPureBits:function(e){var t=this.getTopLeftOnBit(e),n=this.getBottomRightOnBit(e);if(!t||!n)throw"not found";var i=this.getModuleSize(t,e);if(!i)throw"not found";var r=t[1],o=n[1],a=t[0],l=n[0];if(a>=l||r>=o)throw"not found";o-r!=l-a&&(l=a+(o-r));var c=Math.round((l-a+1)/i),u=Math.round((o-r+1)/i);if(0>=c||0>=u)throw"not found";if(u!==c)throw"not found";var d=Math.floor(i/2),h=(a+=d)+(c-1)*i-l;if(h>0){if(h>d)throw"not found";a-=h}var p=(r+=d)+(u-1)*i-o;if(p>0){if(p>d)throw"not found";r-=p}for(var m=e.width,g=new s(c,u),f=0;u>f;f++)for(var A=r+f*i,y=0;c>y;y++)e[a+y*i+A*m]&&g.setValue(y,f);return g},getModuleSize:function(e,t){for(var n=t.height,s=t.width,i=e[0],r=e[1],o=1,a=0;s>i&&n>r;){if(o!==t[i+r*s]){if(5==++a)break;o=o?0:1}i++,r++}return i===s||r===n?null:(i-e[0])/7},getTopLeftOnBit:function(e){for(var t=0;t<e.length&&0===e[t];)t++;if(t===e.length)throw"not found";return[t%e.width,Math.floor(t/e.width)]},getBottomRightOnBit:function(e){for(var t=e.length-1;t>=0&&0===e[t];)t--;if(0>t)throw"not found";return[t%e.width,Math.floor(t/e.width)]}};e.exports=i},function(e,t){"use strict";function n(e,t,n){this.blockPointer=0,this.bitPointer=7,this.dataLength=0,this.blocks=e,this.numErrorCorrectionCode=n,9>=t?this.dataLengthMode=0:t>=10&&26>=t?this.dataLengthMode=1:t>=27&&40>=t&&(this.dataLengthMode=2),this.getNextBits=function(e){var t,n,s=0;if(e<this.bitPointer+1){var i=0;for(t=0;e>t;t++)i+=1<<t;return i<<=this.bitPointer-e+1,s=(this.blocks[this.blockPointer]&i)>>this.bitPointer-e+1,this.bitPointer-=e,s}if(e<this.bitPointer+1+8){for(n=0,t=0;t<this.bitPointer+1;t++)n+=1<<t;return s=(this.blocks[this.blockPointer]&n)<<e-(this.bitPointer+1),this.blockPointer++,s+=this.blocks[this.blockPointer]>>8-(e-(this.bitPointer+1)),this.bitPointer=this.bitPointer-e%8,this.bitPointer<0&&(this.bitPointer=8+this.bitPointer),s}if(e<this.bitPointer+1+16){n=0;var r=0;for(t=0;t<this.bitPointer+1;t++)n+=1<<t;var o=(this.blocks[this.blockPointer]&n)<<e-(this.bitPointer+1);this.blockPointer++;var a=this.blocks[this.blockPointer]<<e-(this.bitPointer+1+8);for(this.blockPointer++,t=0;t<e-(this.bitPointer+1+8);t++)r+=1<<t;return r<<=8-(e-(this.bitPointer+1+8)),s=o+a+((this.blocks[this.blockPointer]&r)>>8-(e-(this.bitPointer+1+8))),this.bitPointer=this.bitPointer-(e-8)%8,this.bitPointer<0&&(this.bitPointer=8+this.bitPointer),s}return 0},this.nextMode=function(){return this.blockPointer>this.blocks.length-this.numErrorCorrectionCode-2?0:this.getNextBits(4)},this.getDataLength=function(e){for(var t=0;e>>t!=1;)t++;return this.getNextBits(s[this.dataLengthMode][t])},this.getRomanAndFigureString=function(e){var t=e,n=0,s="",i=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];do{if(t>1){var r=(n=this.getNextBits(11))%45;s+=i[Math.floor(n/45)],s+=i[r],t-=2}else 1===t&&(s+=i[n=this.getNextBits(6)],t-=1)}while(t>0);return s},this.getFigureString=function(e){var t=e,n=0,s="";do{t>=3?(100>(n=this.getNextBits(10))&&(s+="0"),10>n&&(s+="0"),t-=3):2===t?(10>(n=this.getNextBits(7))&&(s+="0"),t-=2):1===t&&(n=this.getNextBits(4),t-=1),s+=n}while(t>0);return s},this.get8bitByteArray=function(e){var t=e,n=0,s=[];do{n=this.getNextBits(8),s.push(n),t--}while(t>0);return s},this.getKanjiString=function(e){var t=e,n=0,s="";do{var i=((n=this.getNextBits(13))/192<<8)+n%192,r=0;r=40956>=i+33088?i+33088:i+49472,s+=String.fromCharCode(r),t--}while(t>0);return s},this.getDataByte=function(){for(var e=[],t=1,n=2,s=4,i=8;;){var r=this.nextMode();if(0===r){if(e.length>0)break;throw"Empty data block"}if(r!==t&&r!==n&&r!==s&&r!==i)throw"Invalid mode: "+r+" in (block:"+this.blockPointer+" bit:"+this.bitPointer+")";var o,a,l=this.getDataLength(r);if(1>l)throw"Invalid data length: "+l;switch(r){case t:o=this.getFigureString(l),a=new Array(o.length);for(var c=0;c<o.length;c++)a[c]=o.charCodeAt(c);e.push(a);break;case n:for(o=this.getRomanAndFigureString(l),a=new Array(o.length),c=0;c<o.length;c++)a[c]=o.charCodeAt(c);e.push(a);break;case s:var u=this.get8bitByteArray(l);e.push(u);break;case i:o=this.getKanjiString(l),e.push(o)}}return e}}var s=[[10,9,8,8],[12,11,16,10],[14,13,16,12]];e.exports=n},function(e,t,n){"use strict";function s(e){this.field=e,this.decode=function(e,t){var n,s=new r(this.field,e),o=new Array(t);for(n=0;n<o.length;n++)o[n]=0;var a=!1,l=!0;for(n=0;t>n;n++){var c=s.evaluateAt(this.field.exp(a?n+1:n));o[o.length-1-n]=c,c&&(l=!1)}if(!l){var u=new r(this.field,o),d=this.runEuclideanAlgorithm(this.field.buildMonomial(t,1),u,t),h=d[0],p=d[1],m=this.findErrorLocations(h),g=this.findErrorMagnitudes(p,m,a);for(n=0;n<m.length;n++){var f=e.length-1-this.field.log(m[n]);if(0>f)throw"ReedSolomonException Bad error location";e[f]=i.addOrSubtract(e[f],g[n])}}},this.runEuclideanAlgorithm=function(e,t,n){if(e.degree<t.degree){var s=e;e=t,t=s}for(var i=e,r=t,o=this.field.one,a=this.field.zero,l=this.field.zero,c=this.field.one;r.degree>=Math.floor(n/2);){var u=i,d=o,h=l;if(o=a,l=c,(i=r).zero)throw"r_{i-1} was zero";r=u;for(var p=this.field.zero,m=i.getCoefficient(i.degree),g=this.field.inverse(m);r.degree>=i.degree&&!r.zero;){var f=r.degree-i.degree,A=this.field.multiply(r.getCoefficient(r.degree),g);p=p.addOrSubtract(this.field.buildMonomial(f,A)),r=r.addOrSubtract(i.multiplyByMonomial(f,A))}a=p.multiply1(o).addOrSubtract(d),c=p.multiply1(l).addOrSubtract(h)}var y=c.getCoefficient(0);if(0===y)throw"ReedSolomonException sigmaTilde(0) was zero";var v=this.field.inverse(y);return[c.multiply2(v),r.multiply2(v)]},this.findErrorLocations=function(e){var t=e.degree;if(1===t)return new Array(e.getCoefficient(1));for(var n=new Array(t),s=0,i=1;256>i&&t>s;i++)0===e.evaluateAt(i)&&(n[s]=this.field.inverse(i),s++);if(s!==t)throw"Error locator degree does not match number of roots";return n},this.findErrorMagnitudes=function(e,t,n){for(var s=t.length,r=new Array(s),o=0;s>o;o++){for(var a=this.field.inverse(t[o]),l=1,c=0;s>c;c++)o!==c&&(l=this.field.multiply(l,i.addOrSubtract(1,this.field.multiply(t[c],a))));r[o]=this.field.multiply(e.evaluateAt(a),this.field.inverse(l)),n&&(r[o]=this.field.multiply(r[o],a))}return r}}var i=n(2).GF256,r=n(2).GF256Poly;e.exports=s}])},3617:function(e,t,n){var s,i;e.exports=(s=n(7707),i=n(7707),(()=>{"use strict";var e={991:(e,t,n)=>{var s={};(0,n(609).assign)(s,n(143),n(912),n(436)),e.exports=s},143:(e,t,n)=>{var s=n(152),i=n(609),r=n(141),o=n(710),a=n(894),l=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var n=s.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==n)throw new Error(o[n]);if(t.header&&s.deflateSetHeader(this.strm,t.header),t.dictionary){var u;if(u="string"==typeof t.dictionary?r.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(n=s.deflateSetDictionary(this.strm,u)))throw new Error(o[n]);this._dict_set=!0}}function u(e,t){var n=new c(t);if(n.push(e,!0),n.err)throw n.msg;return n.result}c.prototype.push=function(e,t){var n,o,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;o=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=r.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(c),a.next_out=0,a.avail_out=c),1!==(n=s.deflate(a,o))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==o&&2!==o)||("string"===this.options.to?this.onData(r.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==n);return 4===o?(n=s.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==o||(this.onEnd(0),a.avail_out=0,!0)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=c,t.deflate=u,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,u(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,u(e,t)}},912:(e,t,n)=>{var s=n(863),i=n(609),r=n(141),o=n(436),a=n(710),l=n(894),c=n(235),u=Object.prototype.toString;function d(e){if(!(this instanceof d))return new d(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=s.inflateInit2(this.strm,t.windowBits);if(n!==o.Z_OK)throw new Error(a[n]);this.header=new c,s.inflateGetHeader(this.strm,this.header)}function h(e,t){var n=new d(t);if(n.push(e,!0),n.err)throw n.msg;return n.result}d.prototype.push=function(e,t){var n,a,l,c,d,h,p=this.strm,m=this.options.chunkSize,g=this.options.dictionary,f=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?o.Z_FINISH:o.Z_NO_FLUSH,"string"==typeof e?p.input=r.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new i.Buf8(m),p.next_out=0,p.avail_out=m),(n=s.inflate(p,o.Z_NO_FLUSH))===o.Z_NEED_DICT&&g&&(h="string"==typeof g?r.string2buf(g):"[object ArrayBuffer]"===u.call(g)?new Uint8Array(g):g,n=s.inflateSetDictionary(this.strm,h)),n===o.Z_BUF_ERROR&&!0===f&&(n=o.Z_OK,f=!1),n!==o.Z_STREAM_END&&n!==o.Z_OK)return this.onEnd(n),this.ended=!0,!1;p.next_out&&(0!==p.avail_out&&n!==o.Z_STREAM_END&&(0!==p.avail_in||a!==o.Z_FINISH&&a!==o.Z_SYNC_FLUSH)||("string"===this.options.to?(l=r.utf8border(p.output,p.next_out),c=p.next_out-l,d=r.buf2string(p.output,l),p.next_out=c,p.avail_out=m-c,c&&i.arraySet(p.output,p.output,l,c,0),this.onData(d)):this.onData(i.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(f=!0)}while((p.avail_in>0||0===p.avail_out)&&n!==o.Z_STREAM_END);return n===o.Z_STREAM_END&&(a=o.Z_FINISH),a===o.Z_FINISH?(n=s.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===o.Z_OK):a!==o.Z_SYNC_FLUSH||(this.onEnd(o.Z_OK),p.avail_out=0,!0)},d.prototype.onData=function(e){this.chunks.push(e)},d.prototype.onEnd=function(e){e===o.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=d,t.inflate=h,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,h(e,t)},t.ungzip=h},609:(e,t)=>{var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var s in n)n.hasOwnProperty(s)&&(e[s]=n[s])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var s={arraySet:function(e,t,n,s,i){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+s),i);else for(var r=0;r<s;r++)e[i+r]=t[n+r]},flattenChunks:function(e){var t,n,s,i,r,o;for(s=0,t=0,n=e.length;t<n;t++)s+=e[t].length;for(o=new Uint8Array(s),i=0,t=0,n=e.length;t<n;t++)r=e[t],o.set(r,i),i+=r.length;return o}},i={arraySet:function(e,t,n,s,i){for(var r=0;r<s;r++)e[i+r]=t[n+r]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,s)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,i))},t.setTyped(n)},141:(e,t,n)=>{var s=n(609),i=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){r=!1}for(var o=new s.Buf8(256),a=0;a<256;a++)o[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function l(e,t){if(t<65537&&(e.subarray&&r||!e.subarray&&i))return String.fromCharCode.apply(null,s.shrinkBuf(e,t));for(var n="",o=0;o<t;o++)n+=String.fromCharCode(e[o]);return n}o[254]=o[254]=1,t.string2buf=function(e){var t,n,i,r,o,a=e.length,l=0;for(r=0;r<a;r++)55296==(64512&(n=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(i=e.charCodeAt(r+1)))&&(n=65536+(n-55296<<10)+(i-56320),r++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=new s.Buf8(l),o=0,r=0;o<l;r++)55296==(64512&(n=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(i=e.charCodeAt(r+1)))&&(n=65536+(n-55296<<10)+(i-56320),r++),n<128?t[o++]=n:n<2048?(t[o++]=192|n>>>6,t[o++]=128|63&n):n<65536?(t[o++]=224|n>>>12,t[o++]=128|n>>>6&63,t[o++]=128|63&n):(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63,t[o++]=128|n>>>6&63,t[o++]=128|63&n);return t},t.buf2binstring=function(e){return l(e,e.length)},t.binstring2buf=function(e){for(var t=new s.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t},t.buf2string=function(e,t){var n,s,i,r,a=t||e.length,c=new Array(2*a);for(s=0,n=0;n<a;)if((i=e[n++])<128)c[s++]=i;else if((r=o[i])>4)c[s++]=65533,n+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&n<a;)i=i<<6|63&e[n++],r--;r>1?c[s++]=65533:i<65536?c[s++]=i:(i-=65536,c[s++]=55296|i>>10&1023,c[s++]=56320|1023&i)}return l(c,s)},t.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+o[e[n]]>t?n:t}},530:e=>{e.exports=function(e,t,n,s){for(var i=65535&e|0,r=e>>>16&65535|0,o=0;0!==n;){n-=o=n>2e3?2e3:n;do{r=r+(i=i+t[s++]|0)|0}while(--o);i%=65521,r%=65521}return i|r<<16|0}},436:e=>{e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},383:e=>{var t=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var s=0;s<8;s++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();e.exports=function(e,n,s,i){var r=t,o=i+s;e^=-1;for(var a=i;a<o;a++)e=e>>>8^r[255&(e^n[a])];return-1^e}},152:(e,t,n)=>{var s,i=n(609),r=n(322),o=n(530),a=n(383),l=n(710),c=-2,u=258,d=262,h=103,p=113,m=666;function g(e,t){return e.msg=l[t],t}function f(e){return(e<<1)-(e>4?9:0)}function A(e){for(var t=e.length;--t>=0;)e[t]=0}function y(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(i.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function v(e,t){r._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,y(e.strm)}function b(e,t){e.pending_buf[e.pending++]=t}function w(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function k(e,t){var n,s,i=e.max_chain_length,r=e.strstart,o=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-d?e.strstart-(e.w_size-d):0,c=e.window,h=e.w_mask,p=e.prev,m=e.strstart+u,g=c[r+o-1],f=c[r+o];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(c[(n=t)+o]===f&&c[n+o-1]===g&&c[n]===c[r]&&c[++n]===c[r+1]){r+=2,n++;do{}while(c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&r<m);if(s=u-(m-r),r=m-u,s>o){if(e.match_start=t,o=s,s>=a)break;g=c[r+o-1],f=c[r+o]}}}while((t=p[t&h])>l&&0!=--i);return o<=e.lookahead?o:e.lookahead}function C(e){var t,n,s,r,l,c,u,h,p,m,g=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=g+(g-d)){i.arraySet(e.window,e.window,g,g,0),e.match_start-=g,e.strstart-=g,e.block_start-=g,t=n=e.hash_size;do{s=e.head[--t],e.head[t]=s>=g?s-g:0}while(--n);t=n=g;do{s=e.prev[--t],e.prev[t]=s>=g?s-g:0}while(--n);r+=g}if(0===e.strm.avail_in)break;if(c=e.strm,u=e.window,h=e.strstart+e.lookahead,p=r,m=void 0,(m=c.avail_in)>p&&(m=p),n=0===m?0:(c.avail_in-=m,i.arraySet(u,c.input,c.next_in,m,h),1===c.state.wrap?c.adler=o(c.adler,u,m,h):2===c.state.wrap&&(c.adler=a(c.adler,u,m,h)),c.next_in+=m,c.total_in+=m,m),e.lookahead+=n,e.lookahead+e.insert>=3)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+3-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<d&&0!==e.strm.avail_in)}function _(e,t){for(var n,s;;){if(e.lookahead<d){if(C(e),e.lookahead<d&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-d&&(e.match_length=k(e,n)),e.match_length>=3)if(s=r._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else s=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(s&&(v(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(v(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(v(e,!1),0===e.strm.avail_out)?1:2}function E(e,t){for(var n,s,i;;){if(e.lookahead<d){if(C(e),e.lookahead<d&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-d&&(e.match_length=k(e,n),e.match_length<=5&&(1===e.strategy||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,s=r._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,s&&(v(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((s=r._tr_tally(e,0,e.window[e.strstart-1]))&&v(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(s=r._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(v(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(v(e,!1),0===e.strm.avail_out)?1:2}function x(e,t,n,s,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=s,this.func=i}function I(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),A(this.dyn_ltree),A(this.dyn_dtree),A(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),A(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),A(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function S(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:p,e.adler=2===t.wrap?0:1,t.last_flush=0,r._tr_init(t),0):g(e,c)}function D(e){var t,n=S(e);return 0===n&&((t=e.state).window_size=2*t.w_size,A(t.head),t.max_lazy_match=s[t.level].max_lazy,t.good_match=s[t.level].good_length,t.nice_match=s[t.level].nice_length,t.max_chain_length=s[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n}function B(e,t,n,s,r,o){if(!e)return c;var a=1;if(-1===t&&(t=6),s<0?(a=0,s=-s):s>15&&(a=2,s-=16),r<1||r>9||8!==n||s<8||s>15||t<0||t>9||o<0||o>4)return g(e,c);8===s&&(s=9);var l=new I;return e.state=l,l.strm=e,l.wrap=a,l.gzhead=null,l.w_bits=s,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+3-1)/3),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=o,l.method=n,D(e)}s=[new x(0,0,0,0,(function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(C(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var s=e.block_start+n;if((0===e.strstart||e.strstart>=s)&&(e.lookahead=e.strstart-s,e.strstart=s,v(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-d&&(v(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(v(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(v(e,!1),e.strm.avail_out),1)})),new x(4,4,8,4,_),new x(4,5,16,8,_),new x(4,6,32,32,_),new x(4,4,16,16,E),new x(8,16,32,32,E),new x(8,16,128,128,E),new x(8,32,128,256,E),new x(32,128,258,1024,E),new x(32,258,258,4096,E)],t.deflateInit=function(e,t){return B(e,t,8,15,8,0)},t.deflateInit2=B,t.deflateReset=D,t.deflateResetKeep=S,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?c:(e.state.gzhead=t,0):c},t.deflate=function(e,t){var n,i,o,l;if(!e||!e.state||t>5||t<0)return e?g(e,c):c;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===m&&4!==t)return g(e,0===e.avail_out?-5:c);if(i.strm=e,n=i.last_flush,i.last_flush=t,42===i.status)if(2===i.wrap)e.adler=0,b(i,31),b(i,139),b(i,8),i.gzhead?(b(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),b(i,255&i.gzhead.time),b(i,i.gzhead.time>>8&255),b(i,i.gzhead.time>>16&255),b(i,i.gzhead.time>>24&255),b(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),b(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(b(i,255&i.gzhead.extra.length),b(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(b(i,0),b(i,0),b(i,0),b(i,0),b(i,0),b(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),b(i,3),i.status=p);else{var d=8+(i.w_bits-8<<4)<<8;d|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(d|=32),d+=31-d%31,i.status=p,w(i,d),0!==i.strstart&&(w(i,e.adler>>>16),w(i,65535&e.adler)),e.adler=1}if(69===i.status)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),y(e),o=i.pending,i.pending!==i.pending_buf_size));)b(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),y(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,b(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),y(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,b(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.status=h)}else i.status=h;if(i.status===h&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&y(e),i.pending+2<=i.pending_buf_size&&(b(i,255&e.adler),b(i,e.adler>>8&255),e.adler=0,i.status=p)):i.status=p),0!==i.pending){if(y(e),0===e.avail_out)return i.last_flush=-1,0}else if(0===e.avail_in&&f(t)<=f(n)&&4!==t)return g(e,-5);if(i.status===m&&0!==e.avail_in)return g(e,-5);if(0!==e.avail_in||0!==i.lookahead||0!==t&&i.status!==m){var k=2===i.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(C(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(v(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(v(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(v(e,!1),0===e.strm.avail_out)?1:2}(i,t):3===i.strategy?function(e,t){for(var n,s,i,o,a=e.window;;){if(e.lookahead<=u){if(C(e),e.lookahead<=u&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(s=a[i=e.strstart-1])===a[++i]&&s===a[++i]&&s===a[++i]){o=e.strstart+u;do{}while(s===a[++i]&&s===a[++i]&&s===a[++i]&&s===a[++i]&&s===a[++i]&&s===a[++i]&&s===a[++i]&&s===a[++i]&&i<o);e.match_length=u-(o-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=r._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(v(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(v(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(v(e,!1),0===e.strm.avail_out)?1:2}(i,t):s[i.level].func(i,t);if(3!==k&&4!==k||(i.status=m),1===k||3===k)return 0===e.avail_out&&(i.last_flush=-1),0;if(2===k&&(1===t?r._tr_align(i):5!==t&&(r._tr_stored_block(i,0,0,!1),3===t&&(A(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),y(e),0===e.avail_out))return i.last_flush=-1,0}return 4!==t?0:i.wrap<=0?1:(2===i.wrap?(b(i,255&e.adler),b(i,e.adler>>8&255),b(i,e.adler>>16&255),b(i,e.adler>>24&255),b(i,255&e.total_in),b(i,e.total_in>>8&255),b(i,e.total_in>>16&255),b(i,e.total_in>>24&255)):(w(i,e.adler>>>16),w(i,65535&e.adler)),y(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?0:1)},t.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&t!==h&&t!==p&&t!==m?g(e,c):(e.state=null,t===p?g(e,-3):0):c},t.deflateSetDictionary=function(e,t){var n,s,r,a,l,u,d,h,p=t.length;if(!e||!e.state)return c;if(2===(a=(n=e.state).wrap)||1===a&&42!==n.status||n.lookahead)return c;for(1===a&&(e.adler=o(e.adler,t,p,0)),n.wrap=0,p>=n.w_size&&(0===a&&(A(n.head),n.strstart=0,n.block_start=0,n.insert=0),h=new i.Buf8(n.w_size),i.arraySet(h,t,p-n.w_size,n.w_size,0),t=h,p=n.w_size),l=e.avail_in,u=e.next_in,d=e.input,e.avail_in=p,e.next_in=0,e.input=t,C(n);n.lookahead>=3;){s=n.strstart,r=n.lookahead-2;do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[s+3-1])&n.hash_mask,n.prev[s&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=s,s++}while(--r);n.strstart=s,n.lookahead=2,C(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=u,e.input=d,e.avail_in=l,n.wrap=a,0},t.deflateInfo="pako deflate (from Nodeca project)"},235:e=>{e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},121:e=>{e.exports=function(e,t){var n,s,i,r,o,a,l,c,u,d,h,p,m,g,f,A,y,v,b,w,k,C,_,E,x;n=e.state,s=e.next_in,E=e.input,i=s+(e.avail_in-5),r=e.next_out,x=e.output,o=r-(t-e.avail_out),a=r+(e.avail_out-257),l=n.dmax,c=n.wsize,u=n.whave,d=n.wnext,h=n.window,p=n.hold,m=n.bits,g=n.lencode,f=n.distcode,A=(1<<n.lenbits)-1,y=(1<<n.distbits)-1;e:do{m<15&&(p+=E[s++]<<m,m+=8,p+=E[s++]<<m,m+=8),v=g[p&A];t:for(;;){if(p>>>=b=v>>>24,m-=b,0==(b=v>>>16&255))x[r++]=65535&v;else{if(!(16&b)){if(0==(64&b)){v=g[(65535&v)+(p&(1<<b)-1)];continue t}if(32&b){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=65535&v,(b&=15)&&(m<b&&(p+=E[s++]<<m,m+=8),w+=p&(1<<b)-1,p>>>=b,m-=b),m<15&&(p+=E[s++]<<m,m+=8,p+=E[s++]<<m,m+=8),v=f[p&y];n:for(;;){if(p>>>=b=v>>>24,m-=b,!(16&(b=v>>>16&255))){if(0==(64&b)){v=f[(65535&v)+(p&(1<<b)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(k=65535&v,m<(b&=15)&&(p+=E[s++]<<m,(m+=8)<b&&(p+=E[s++]<<m,m+=8)),(k+=p&(1<<b)-1)>l){e.msg="invalid distance too far back",n.mode=30;break e}if(p>>>=b,m-=b,k>(b=r-o)){if((b=k-b)>u&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(C=0,_=h,0===d){if(C+=c-b,b<w){w-=b;do{x[r++]=h[C++]}while(--b);C=r-k,_=x}}else if(d<b){if(C+=c+d-b,(b-=d)<w){w-=b;do{x[r++]=h[C++]}while(--b);if(C=0,d<w){w-=b=d;do{x[r++]=h[C++]}while(--b);C=r-k,_=x}}}else if(C+=d-b,b<w){w-=b;do{x[r++]=h[C++]}while(--b);C=r-k,_=x}for(;w>2;)x[r++]=_[C++],x[r++]=_[C++],x[r++]=_[C++],w-=3;w&&(x[r++]=_[C++],w>1&&(x[r++]=_[C++]))}else{C=r-k;do{x[r++]=x[C++],x[r++]=x[C++],x[r++]=x[C++],w-=3}while(w>2);w&&(x[r++]=x[C++],w>1&&(x[r++]=x[C++]))}break}}break}}while(s<i&&r<a);s-=w=m>>3,p&=(1<<(m-=w<<3))-1,e.next_in=s,e.next_out=r,e.avail_in=s<i?i-s+5:5-(s-i),e.avail_out=r<a?a-r+257:257-(r-a),n.hold=p,n.bits=m}},863:(e,t,n)=>{var s=n(609),i=n(530),r=n(383),o=n(121),a=n(371),l=-2,c=12,u=30;function d(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function h(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function p(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new s.Buf32(852),t.distcode=t.distdyn=new s.Buf32(592),t.sane=1,t.back=-1,0):l}function m(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,p(e)):l}function g(e,t){var n,s;return e&&e.state?(s=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?l:(null!==s.window&&s.wbits!==t&&(s.window=null),s.wrap=n,s.wbits=t,m(e))):l}function f(e,t){var n,s;return e?(s=new h,e.state=s,s.window=null,0!==(n=g(e,t))&&(e.state=null),n):l}var A,y,v=!0;function b(e){if(v){var t;for(A=new s.Buf32(512),y=new s.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,A,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,y,0,e.work,{bits:5}),v=!1}e.lencode=A,e.lenbits=9,e.distcode=y,e.distbits=5}function w(e,t,n,i){var r,o=e.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new s.Buf8(o.wsize)),i>=o.wsize?(s.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((r=o.wsize-o.wnext)>i&&(r=i),s.arraySet(o.window,t,n-i,r,o.wnext),(i-=r)?(s.arraySet(o.window,t,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=r))),0}t.inflateReset=m,t.inflateReset2=g,t.inflateResetKeep=p,t.inflateInit=function(e){return f(e,15)},t.inflateInit2=f,t.inflate=function(e,t){var n,h,p,m,g,f,A,y,v,k,C,_,E,x,I,S,D,B,P,T,F,M,O,L,N=0,R=new s.Buf8(4),K=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return l;(n=e.state).mode===c&&(n.mode=13),g=e.next_out,p=e.output,A=e.avail_out,m=e.next_in,h=e.input,f=e.avail_in,y=n.hold,v=n.bits,k=f,C=A,M=0;e:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;v<16;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(2&n.wrap&&35615===y){n.check=0,R[0]=255&y,R[1]=y>>>8&255,n.check=r(n.check,R,2,0),y=0,v=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&y)<<8)+(y>>8))%31){e.msg="incorrect header check",n.mode=u;break}if(8!=(15&y)){e.msg="unknown compression method",n.mode=u;break}if(v-=4,F=8+(15&(y>>>=4)),0===n.wbits)n.wbits=F;else if(F>n.wbits){e.msg="invalid window size",n.mode=u;break}n.dmax=1<<F,e.adler=n.check=1,n.mode=512&y?10:c,y=0,v=0;break;case 2:for(;v<16;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(n.flags=y,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=u;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=u;break}n.head&&(n.head.text=y>>8&1),512&n.flags&&(R[0]=255&y,R[1]=y>>>8&255,n.check=r(n.check,R,2,0)),y=0,v=0,n.mode=3;case 3:for(;v<32;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}n.head&&(n.head.time=y),512&n.flags&&(R[0]=255&y,R[1]=y>>>8&255,R[2]=y>>>16&255,R[3]=y>>>24&255,n.check=r(n.check,R,4,0)),y=0,v=0,n.mode=4;case 4:for(;v<16;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}n.head&&(n.head.xflags=255&y,n.head.os=y>>8),512&n.flags&&(R[0]=255&y,R[1]=y>>>8&255,n.check=r(n.check,R,2,0)),y=0,v=0,n.mode=5;case 5:if(1024&n.flags){for(;v<16;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}n.length=y,n.head&&(n.head.extra_len=y),512&n.flags&&(R[0]=255&y,R[1]=y>>>8&255,n.check=r(n.check,R,2,0)),y=0,v=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((_=n.length)>f&&(_=f),_&&(n.head&&(F=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),s.arraySet(n.head.extra,h,m,_,F)),512&n.flags&&(n.check=r(n.check,h,_,m)),f-=_,m+=_,n.length-=_),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===f)break e;_=0;do{F=h[m+_++],n.head&&F&&n.length<65536&&(n.head.name+=String.fromCharCode(F))}while(F&&_<f);if(512&n.flags&&(n.check=r(n.check,h,_,m)),f-=_,m+=_,F)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===f)break e;_=0;do{F=h[m+_++],n.head&&F&&n.length<65536&&(n.head.comment+=String.fromCharCode(F))}while(F&&_<f);if(512&n.flags&&(n.check=r(n.check,h,_,m)),f-=_,m+=_,F)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;v<16;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(y!==(65535&n.check)){e.msg="header crc mismatch",n.mode=u;break}y=0,v=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=c;break;case 10:for(;v<32;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}e.adler=n.check=d(y),y=0,v=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=g,e.avail_out=A,e.next_in=m,e.avail_in=f,n.hold=y,n.bits=v,2;e.adler=n.check=1,n.mode=c;case c:if(5===t||6===t)break e;case 13:if(n.last){y>>>=7&v,v-=7&v,n.mode=27;break}for(;v<3;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}switch(n.last=1&y,v-=1,3&(y>>>=1)){case 0:n.mode=14;break;case 1:if(b(n),n.mode=20,6===t){y>>>=2,v-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=u}y>>>=2,v-=2;break;case 14:for(y>>>=7&v,v-=7&v;v<32;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if((65535&y)!=(y>>>16^65535)){e.msg="invalid stored block lengths",n.mode=u;break}if(n.length=65535&y,y=0,v=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(_=n.length){if(_>f&&(_=f),_>A&&(_=A),0===_)break e;s.arraySet(p,h,m,_,g),f-=_,m+=_,A-=_,g+=_,n.length-=_;break}n.mode=c;break;case 17:for(;v<14;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(n.nlen=257+(31&y),y>>>=5,v-=5,n.ndist=1+(31&y),y>>>=5,v-=5,n.ncode=4+(15&y),y>>>=4,v-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=u;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;v<3;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}n.lens[K[n.have++]]=7&y,y>>>=3,v-=3}for(;n.have<19;)n.lens[K[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,O={bits:n.lenbits},M=a(0,n.lens,0,19,n.lencode,0,n.work,O),n.lenbits=O.bits,M){e.msg="invalid code lengths set",n.mode=u;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;S=(N=n.lencode[y&(1<<n.lenbits)-1])>>>16&255,D=65535&N,!((I=N>>>24)<=v);){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(D<16)y>>>=I,v-=I,n.lens[n.have++]=D;else{if(16===D){for(L=I+2;v<L;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(y>>>=I,v-=I,0===n.have){e.msg="invalid bit length repeat",n.mode=u;break}F=n.lens[n.have-1],_=3+(3&y),y>>>=2,v-=2}else if(17===D){for(L=I+3;v<L;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}v-=I,F=0,_=3+(7&(y>>>=I)),y>>>=3,v-=3}else{for(L=I+7;v<L;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}v-=I,F=0,_=11+(127&(y>>>=I)),y>>>=7,v-=7}if(n.have+_>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=u;break}for(;_--;)n.lens[n.have++]=F}}if(n.mode===u)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=u;break}if(n.lenbits=9,O={bits:n.lenbits},M=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,O),n.lenbits=O.bits,M){e.msg="invalid literal/lengths set",n.mode=u;break}if(n.distbits=6,n.distcode=n.distdyn,O={bits:n.distbits},M=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,O),n.distbits=O.bits,M){e.msg="invalid distances set",n.mode=u;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(f>=6&&A>=258){e.next_out=g,e.avail_out=A,e.next_in=m,e.avail_in=f,n.hold=y,n.bits=v,o(e,C),g=e.next_out,p=e.output,A=e.avail_out,m=e.next_in,h=e.input,f=e.avail_in,y=n.hold,v=n.bits,n.mode===c&&(n.back=-1);break}for(n.back=0;S=(N=n.lencode[y&(1<<n.lenbits)-1])>>>16&255,D=65535&N,!((I=N>>>24)<=v);){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(S&&0==(240&S)){for(B=I,P=S,T=D;S=(N=n.lencode[T+((y&(1<<B+P)-1)>>B)])>>>16&255,D=65535&N,!(B+(I=N>>>24)<=v);){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}y>>>=B,v-=B,n.back+=B}if(y>>>=I,v-=I,n.back+=I,n.length=D,0===S){n.mode=26;break}if(32&S){n.back=-1,n.mode=c;break}if(64&S){e.msg="invalid literal/length code",n.mode=u;break}n.extra=15&S,n.mode=22;case 22:if(n.extra){for(L=n.extra;v<L;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}n.length+=y&(1<<n.extra)-1,y>>>=n.extra,v-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;S=(N=n.distcode[y&(1<<n.distbits)-1])>>>16&255,D=65535&N,!((I=N>>>24)<=v);){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(0==(240&S)){for(B=I,P=S,T=D;S=(N=n.distcode[T+((y&(1<<B+P)-1)>>B)])>>>16&255,D=65535&N,!(B+(I=N>>>24)<=v);){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}y>>>=B,v-=B,n.back+=B}if(y>>>=I,v-=I,n.back+=I,64&S){e.msg="invalid distance code",n.mode=u;break}n.offset=D,n.extra=15&S,n.mode=24;case 24:if(n.extra){for(L=n.extra;v<L;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}n.offset+=y&(1<<n.extra)-1,y>>>=n.extra,v-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=u;break}n.mode=25;case 25:if(0===A)break e;if(_=C-A,n.offset>_){if((_=n.offset-_)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=u;break}_>n.wnext?(_-=n.wnext,E=n.wsize-_):E=n.wnext-_,_>n.length&&(_=n.length),x=n.window}else x=p,E=g-n.offset,_=n.length;_>A&&(_=A),A-=_,n.length-=_;do{p[g++]=x[E++]}while(--_);0===n.length&&(n.mode=21);break;case 26:if(0===A)break e;p[g++]=n.length,A--,n.mode=21;break;case 27:if(n.wrap){for(;v<32;){if(0===f)break e;f--,y|=h[m++]<<v,v+=8}if(C-=A,e.total_out+=C,n.total+=C,C&&(e.adler=n.check=n.flags?r(n.check,p,C,g-C):i(n.check,p,C,g-C)),C=A,(n.flags?y:d(y))!==n.check){e.msg="incorrect data check",n.mode=u;break}y=0,v=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;v<32;){if(0===f)break e;f--,y+=h[m++]<<v,v+=8}if(y!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=u;break}y=0,v=0}n.mode=29;case 29:M=1;break e;case u:M=-3;break e;case 31:return-4;case 32:default:return l}return e.next_out=g,e.avail_out=A,e.next_in=m,e.avail_in=f,n.hold=y,n.bits=v,(n.wsize||C!==e.avail_out&&n.mode<u&&(n.mode<27||4!==t))&&w(e,e.output,e.next_out,C-e.avail_out)?(n.mode=31,-4):(k-=e.avail_in,C-=e.avail_out,e.total_in+=k,e.total_out+=C,n.total+=C,n.wrap&&C&&(e.adler=n.check=n.flags?r(n.check,p,C,e.next_out-C):i(n.check,p,C,e.next_out-C)),e.data_type=n.bits+(n.last?64:0)+(n.mode===c?128:0)+(20===n.mode||15===n.mode?256:0),(0===k&&0===C||4===t)&&0===M&&(M=-5),M)},t.inflateEnd=function(e){if(!e||!e.state)return l;var t=e.state;return t.window&&(t.window=null),e.state=null,0},t.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?l:(n.head=t,t.done=!1,0):l},t.inflateSetDictionary=function(e,t){var n,s=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?l:11===n.mode&&i(1,t,s,0)!==n.check?-3:w(e,t,s,s)?(n.mode=31,-4):(n.havedict=1,0):l},t.inflateInfo="pako inflate (from Nodeca project)"},371:(e,t,n)=>{var s=n(609),i=15,r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],l=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,n,c,u,d,h,p){var m,g,f,A,y,v,b,w,k,C=p.bits,_=0,E=0,x=0,I=0,S=0,D=0,B=0,P=0,T=0,F=0,M=null,O=0,L=new s.Buf16(16),N=new s.Buf16(16),R=null,K=0;for(_=0;_<=i;_++)L[_]=0;for(E=0;E<c;E++)L[t[n+E]]++;for(S=C,I=i;I>=1&&0===L[I];I--);if(S>I&&(S=I),0===I)return u[d++]=20971520,u[d++]=20971520,p.bits=1,0;for(x=1;x<I&&0===L[x];x++);for(S<x&&(S=x),P=1,_=1;_<=i;_++)if(P<<=1,(P-=L[_])<0)return-1;if(P>0&&(0===e||1!==I))return-1;for(N[1]=0,_=1;_<i;_++)N[_+1]=N[_]+L[_];for(E=0;E<c;E++)0!==t[n+E]&&(h[N[t[n+E]]++]=E);if(0===e?(M=R=h,v=19):1===e?(M=r,O-=257,R=o,K-=257,v=256):(M=a,R=l,v=-1),F=0,E=0,_=x,y=d,D=S,B=0,f=-1,A=(T=1<<S)-1,1===e&&T>852||2===e&&T>592)return 1;for(;;){b=_-B,h[E]<v?(w=0,k=h[E]):h[E]>v?(w=R[K+h[E]],k=M[O+h[E]]):(w=96,k=0),m=1<<_-B,x=g=1<<D;do{u[y+(F>>B)+(g-=m)]=b<<24|w<<16|k|0}while(0!==g);for(m=1<<_-1;F&m;)m>>=1;if(0!==m?(F&=m-1,F+=m):F=0,E++,0==--L[_]){if(_===I)break;_=t[n+h[E]]}if(_>S&&(F&A)!==f){for(0===B&&(B=S),y+=x,P=1<<(D=_-B);D+B<I&&!((P-=L[D+B])<=0);)D++,P<<=1;if(T+=1<<D,1===e&&T>852||2===e&&T>592)return 1;u[f=F&A]=S<<24|D<<16|y-d|0}}return 0!==F&&(u[y+F]=_-B<<24|64<<16|0),p.bits=S,0}},710:e=>{e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},322:(e,t,n)=>{var s=n(609);function i(e){for(var t=e.length;--t>=0;)e[t]=0}var r=256,o=286,a=30,l=15,c=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],h=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],p=new Array(576);i(p);var m=new Array(60);i(m);var g=new Array(512);i(g);var f=new Array(256);i(f);var A=new Array(29);i(A);var y,v,b,w=new Array(a);function k(e,t,n,s,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=s,this.max_length=i,this.has_stree=e&&e.length}function C(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function _(e){return e<256?g[e]:g[256+(e>>>7)]}function E(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function x(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,E(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function I(e,t,n){x(e,n[2*t],n[2*t+1])}function S(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function D(e,t,n){var s,i,r=new Array(16),o=0;for(s=1;s<=l;s++)r[s]=o=o+n[s-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=S(r[a]++,a))}}function B(e){var t;for(t=0;t<o;t++)e.dyn_ltree[2*t]=0;for(t=0;t<a;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function P(e){e.bi_valid>8?E(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function T(e,t,n,s){var i=2*t,r=2*n;return e[i]<e[r]||e[i]===e[r]&&s[t]<=s[n]}function F(e,t,n){for(var s=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&T(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!T(t,s,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=s}function M(e,t,n){var s,i,o,a,l=0;if(0!==e.last_lit)do{s=e.pending_buf[e.d_buf+2*l]<<8|e.pending_buf[e.d_buf+2*l+1],i=e.pending_buf[e.l_buf+l],l++,0===s?I(e,i,t):(I(e,(o=f[i])+r+1,t),0!==(a=c[o])&&x(e,i-=A[o],a),I(e,o=_(--s),n),0!==(a=u[o])&&x(e,s-=w[o],a))}while(l<e.last_lit);I(e,256,t)}function O(e,t){var n,s,i,r=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,c=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<c;n++)0!==r[2*n]?(e.heap[++e.heap_len]=u=n,e.depth[n]=0):r[2*n+1]=0;for(;e.heap_len<2;)r[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=o[2*i+1]);for(t.max_code=u,n=e.heap_len>>1;n>=1;n--)F(e,r,n);i=c;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],F(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=s,r[2*i]=r[2*n]+r[2*s],e.depth[i]=(e.depth[n]>=e.depth[s]?e.depth[n]:e.depth[s])+1,r[2*n+1]=r[2*s+1]=i,e.heap[1]=i++,F(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,s,i,r,o,a,c=t.dyn_tree,u=t.max_code,d=t.stat_desc.static_tree,h=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,m=t.stat_desc.extra_base,g=t.stat_desc.max_length,f=0;for(r=0;r<=l;r++)e.bl_count[r]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(r=c[2*c[2*(s=e.heap[n])+1]+1]+1)>g&&(r=g,f++),c[2*s+1]=r,s>u||(e.bl_count[r]++,o=0,s>=m&&(o=p[s-m]),a=c[2*s],e.opt_len+=a*(r+o),h&&(e.static_len+=a*(d[2*s+1]+o)));if(0!==f){do{for(r=g-1;0===e.bl_count[r];)r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[g]--,f-=2}while(f>0);for(r=g;0!==r;r--)for(s=e.bl_count[r];0!==s;)(i=e.heap[--n])>u||(c[2*i+1]!==r&&(e.opt_len+=(r-c[2*i+1])*c[2*i],c[2*i+1]=r),s--)}}(e,t),D(r,u,e.bl_count)}function L(e,t,n){var s,i,r=-1,o=t[1],a=0,l=7,c=4;for(0===o&&(l=138,c=3),t[2*(n+1)+1]=65535,s=0;s<=n;s++)i=o,o=t[2*(s+1)+1],++a<l&&i===o||(a<c?e.bl_tree[2*i]+=a:0!==i?(i!==r&&e.bl_tree[2*i]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=0,r=i,0===o?(l=138,c=3):i===o?(l=6,c=3):(l=7,c=4))}function N(e,t,n){var s,i,r=-1,o=t[1],a=0,l=7,c=4;for(0===o&&(l=138,c=3),s=0;s<=n;s++)if(i=o,o=t[2*(s+1)+1],!(++a<l&&i===o)){if(a<c)do{I(e,i,e.bl_tree)}while(0!=--a);else 0!==i?(i!==r&&(I(e,i,e.bl_tree),a--),I(e,16,e.bl_tree),x(e,a-3,2)):a<=10?(I(e,17,e.bl_tree),x(e,a-3,3)):(I(e,18,e.bl_tree),x(e,a-11,7));a=0,r=i,0===o?(l=138,c=3):i===o?(l=6,c=3):(l=7,c=4)}}i(w);var R=!1;function K(e,t,n,i){x(e,0+(i?1:0),3),function(e,t,n,i){P(e),i&&(E(e,n),E(e,~n)),s.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n,!0)}t._tr_init=function(e){R||(function(){var e,t,n,s,i,r=new Array(16);for(n=0,s=0;s<28;s++)for(A[s]=n,e=0;e<1<<c[s];e++)f[n++]=s;for(f[n-1]=s,i=0,s=0;s<16;s++)for(w[s]=i,e=0;e<1<<u[s];e++)g[i++]=s;for(i>>=7;s<a;s++)for(w[s]=i<<7,e=0;e<1<<u[s]-7;e++)g[256+i++]=s;for(t=0;t<=l;t++)r[t]=0;for(e=0;e<=143;)p[2*e+1]=8,e++,r[8]++;for(;e<=255;)p[2*e+1]=9,e++,r[9]++;for(;e<=279;)p[2*e+1]=7,e++,r[7]++;for(;e<=287;)p[2*e+1]=8,e++,r[8]++;for(D(p,287,r),e=0;e<a;e++)m[2*e+1]=5,m[2*e]=S(e,5);y=new k(p,c,257,o,l),v=new k(m,u,0,a,l),b=new k(new Array(0),d,0,19,7)}(),R=!0),e.l_desc=new C(e.dyn_ltree,y),e.d_desc=new C(e.dyn_dtree,v),e.bl_desc=new C(e.bl_tree,b),e.bi_buf=0,e.bi_valid=0,B(e)},t._tr_stored_block=K,t._tr_flush_block=function(e,t,n,s){var i,o,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<r;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),O(e,e.l_desc),O(e,e.d_desc),a=function(e){var t;for(L(e,e.dyn_ltree,e.l_desc.max_code),L(e,e.dyn_dtree,e.d_desc.max_code),O(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*h[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=n+5,n+4<=i&&-1!==t?K(e,t,n,s):4===e.strategy||o===i?(x(e,2+(s?1:0),3),M(e,p,m)):(x(e,4+(s?1:0),3),function(e,t,n,s){var i;for(x(e,t-257,5),x(e,n-1,5),x(e,s-4,4),i=0;i<s;i++)x(e,e.bl_tree[2*h[i]+1],3);N(e,e.dyn_ltree,t-1),N(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),M(e,e.dyn_ltree,e.dyn_dtree)),B(e),s&&P(e)},t._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(f[n]+r+1)]++,e.dyn_dtree[2*_(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){x(e,2,3),I(e,256,p),function(e){16===e.bi_valid?(E(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},894:e=>{e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},61:(e,t)=>{function n(e,t,n,s,i){e[t]+=e[n],e[i]=r(e[i]^e[t],16),e[s]+=e[i],e[n]=r(e[n]^e[s],12),e[t]+=e[n],e[i]=r(e[i]^e[t],8),e[s]+=e[i],e[n]=r(e[n]^e[s],7)}function s(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function i(e,t,n){e[t]=n,n>>>=8,e[t+1]=n,n>>>=8,e[t+2]=n,n>>>=8,e[t+3]=n}function r(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.ChaCha20=void 0,t.ChaCha20=class{constructor(e,t){this._sigmaWords=[1634760805,857760878,2036477234,1797285236],this._block=new Uint8Array(64),this._blockUsed=64,this._x=new Uint32Array(16);const n=new Uint32Array(16);n[0]=this._sigmaWords[0],n[1]=this._sigmaWords[1],n[2]=this._sigmaWords[2],n[3]=this._sigmaWords[3],n[4]=s(e,0),n[5]=s(e,4),n[6]=s(e,8),n[7]=s(e,12),n[8]=s(e,16),n[9]=s(e,20),n[10]=s(e,24),n[11]=s(e,28),n[12]=0,12===t.length?(n[13]=s(t,0),n[14]=s(t,4),n[15]=s(t,8)):(n[13]=0,n[14]=s(t,0),n[15]=s(t,4)),this._input=n}getBytes(e){const t=new Uint8Array(e);for(let n=0;n<e;n++)64===this._blockUsed&&(this.generateBlock(),this._blockUsed=0),t[n]=this._block[this._blockUsed],this._blockUsed++;return t}generateBlock(){const e=this._input,t=this._x,s=this._block;t.set(e);for(let e=20;e>0;e-=2)n(t,0,4,8,12),n(t,1,5,9,13),n(t,2,6,10,14),n(t,3,7,11,15),n(t,0,5,10,15),n(t,1,6,11,12),n(t,2,7,8,13),n(t,3,4,9,14);for(let n=16;n--;)t[n]+=e[n];for(let e=16;e--;)i(s,4*e,t[e]);e[12]+=1,e[12]||(e[13]+=1)}encrypt(e){const t=e.length,n=new Uint8Array(t);let s=0;const i=this._block;for(;s<t;){this.generateBlock();const r=Math.min(t-s,64);for(let t=0;t<r;t++)n[s]=e[s]^i[t],s++}return n}}},613:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setArgon2Impl=t.argon2=t.Argon2TypeArgon2id=t.Argon2TypeArgon2d=t.chacha20=t.random=t.createAesCbc=t.AesCbc=t.hmacSha256=t.sha512=t.sha256=void 0;const s=n(325),i=n(513),r=n(100),o=n(61),a=n(417);t.sha256=function(e){var t;return e.byteLength?(null===(t=n.g.crypto)||void 0===t?void 0:t.subtle)?n.g.crypto.subtle.digest({name:"SHA-256"},e):new Promise((t=>{t(a.createHash("sha256").update(Buffer.from(e)).digest().buffer)})):Promise.resolve(r.arrayToBuffer(r.hexToBytes("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")))},t.sha512=function(e){var t;return e.byteLength?(null===(t=n.g.crypto)||void 0===t?void 0:t.subtle)?n.g.crypto.subtle.digest({name:"SHA-512"},e):new Promise((t=>{t(a.createHash("sha512").update(Buffer.from(e)).digest().buffer)})):Promise.resolve(r.arrayToBuffer(r.hexToBytes("cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")))},t.hmacSha256=function(e,t){var s;if(null===(s=n.g.crypto)||void 0===s?void 0:s.subtle){const s={name:"HMAC",hash:{name:"SHA-256"}};return n.g.crypto.subtle.importKey("raw",e,s,!1,["sign"]).then((e=>n.g.crypto.subtle.sign(s,e,t)))}return new Promise((n=>{n(a.createHmac("sha256",Buffer.from(e)).update(Buffer.from(t)).digest().buffer)}))};class l{}t.AesCbc=l;class c extends l{get key(){if(!this._key)throw new s.KdbxError(i.ErrorCodes.InvalidState,"no key");return this._key}importKey(e){return n.g.crypto.subtle.importKey("raw",e,{name:"AES-CBC"},!1,["encrypt","decrypt"]).then((e=>{this._key=e}))}encrypt(e,t){return n.g.crypto.subtle.encrypt({name:"AES-CBC",iv:t},this.key,e)}decrypt(e,t){return n.g.crypto.subtle.decrypt({name:"AES-CBC",iv:t},this.key,e).catch((()=>{throw new s.KdbxError(i.ErrorCodes.InvalidKey,"invalid key")}))}}class u extends l{get key(){if(!this._key)throw new s.KdbxError(i.ErrorCodes.InvalidState,"no key");return this._key}importKey(e){return this._key=e,Promise.resolve()}encrypt(e,t){return Promise.resolve().then((()=>{const n=a.createCipheriv("aes-256-cbc",Buffer.from(this.key),Buffer.from(t)),s=n.update(Buffer.from(e));return r.arrayToBuffer(Buffer.concat([s,n.final()]))}))}decrypt(e,t){return Promise.resolve().then((()=>{const n=a.createDecipheriv("aes-256-cbc",Buffer.from(this.key),Buffer.from(t)),s=n.update(Buffer.from(e));return r.arrayToBuffer(Buffer.concat([s,n.final()]))})).catch((()=>{throw new s.KdbxError(i.ErrorCodes.InvalidKey,"invalid key")}))}}let d;t.createAesCbc=function(){var e;return(null===(e=n.g.crypto)||void 0===e?void 0:e.subtle)?new c:new u},t.random=function(e){var t;return(null===(t=n.g.crypto)||void 0===t?void 0:t.subtle)?function(e){const t=new Uint8Array(e);for(;e>0;){let s=e%65536;s=s>0?s:65536;const i=new Uint8Array(s);n.g.crypto.getRandomValues(i),e-=s,t.set(i,e)}return t}(e):new Uint8Array(a.randomBytes(e))},t.chacha20=function(e,t,n){return Promise.resolve().then((()=>{const s=new o.ChaCha20(new Uint8Array(t),new Uint8Array(n));return r.arrayToBuffer(s.encrypt(new Uint8Array(e)))}))},t.Argon2TypeArgon2d=0,t.Argon2TypeArgon2id=2,t.argon2=function(e,t,n,o,a,l,c,u){return d?d(e,t,n,o,a,l,c,u).then(r.arrayToBuffer):Promise.reject(new s.KdbxError(i.ErrorCodes.NotImplemented,"argon2 not implemented"))},t.setArgon2Impl=function(e){d=e}},8:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.encrypt=t.decrypt=void 0;const s=n(909),i=n(613),r=n(325),o=n(100),a=n(513);t.decrypt=function(e){return Promise.resolve().then((()=>{const t=new s.BinaryStream(e),n=[];let l,c=0,u=0;const d=()=>{if(t.getUint32(!0),l=t.readBytes(32),c=t.getUint32(!0),c>0){u+=c;const e=t.readBytes(c);return i.sha256(e).then((t=>{if(o.arrayBufferEquals(t,l))return n.push(e),d();throw new r.KdbxError(a.ErrorCodes.FileCorrupt,"invalid hash block")}))}{const e=new Uint8Array(u);let t=0;for(let s=0;s<n.length;s++)e.set(new Uint8Array(n[s]),t),t+=n[s].byteLength;return Promise.resolve(e.buffer)}};return d()}))},t.encrypt=function(e){return Promise.resolve().then((()=>{let t=e.byteLength,n=0,r=0,o=0;const a=[],l=()=>{if(t>0){const c=Math.min(1048576,t);t-=c;const u=e.slice(n,n+c);return i.sha256(u).then((e=>{const t=new ArrayBuffer(40),i=new s.BinaryStream(t);return i.setUint32(r,!0),i.writeBytes(e),i.setUint32(c,!0),a.push(t),o+=t.byteLength,a.push(u),o+=u.byteLength,r++,n+=c,l()}))}{const e=new ArrayBuffer(40);new DataView(e).setUint32(0,r,!0),a.push(e),o+=e.byteLength;const t=new Uint8Array(o);let n=0;for(let e=0;e<a.length;e++)t.set(new Uint8Array(a[e]),n),n+=a[e].byteLength;return Promise.resolve(t.buffer)}};return l()}))}},522:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.encrypt=t.decrypt=t.getHmacKey=void 0;const s=n(880),i=n(100),r=n(613),o=n(909),a=n(325),l=n(513);function c(e,t){const n=new Uint8Array(8+e.byteLength);n.set(new Uint8Array(e),8);const s=new DataView(n.buffer);return s.setUint32(0,t.lo,!0),s.setUint32(4,t.hi,!0),r.sha512(i.arrayToBuffer(n)).then((e=>(i.zeroBuffer(n),e)))}function u(e,t,n,i){return c(e,new s.Int64(t)).then((e=>{const s=new Uint8Array(i.byteLength+4+8),o=new DataView(s.buffer);return s.set(new Uint8Array(i),12),o.setInt32(0,t,!0),o.setInt32(8,n,!0),r.hmacSha256(e,s.buffer)}))}t.getHmacKey=c,t.decrypt=function(e,t){const n=new o.BinaryStream(e);return Promise.resolve().then((()=>{const e=[];let s,r=0,o=0,c=0;const d=()=>{if(s=n.readBytes(32),o=n.getUint32(!0),o>0){c+=o;const h=n.readBytes(o);return u(t,r,o,h).then((t=>{if(i.arrayBufferEquals(t,s))return e.push(h),r++,d();throw new a.KdbxError(l.ErrorCodes.FileCorrupt,"invalid hash block")}))}{const t=new Uint8Array(c);let n=0;for(let s=0;s<e.length;s++)t.set(new Uint8Array(e[s]),n),n+=e[s].byteLength;return Promise.resolve(t.buffer)}};return d()}))},t.encrypt=function(e,t){return Promise.resolve().then((()=>{let n=e.byteLength,s=0,i=0,r=0;const a=[],l=()=>{const c=Math.min(1048576,n);n-=c;const d=e.slice(s,s+c);return u(t,i,c,d).then((e=>{const t=new ArrayBuffer(36),n=new o.BinaryStream(t);if(n.writeBytes(e),n.setUint32(c,!0),a.push(t),r+=t.byteLength,d.byteLength>0)return a.push(d),r+=d.byteLength,i++,s+=c,l();{const e=new Uint8Array(r);let t=0;for(let n=0;n<a.length;n++)e.set(new Uint8Array(a[n]),t),t+=a[n].byteLength;return e.buffer}}))};return l()}))}},695:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.encrypt=void 0;const s=n(613),i=n(100),r=16;function o(e,t,n){let s=Promise.resolve(i.arrayToBuffer(t));const o=new Uint8Array(r*Math.min(n,1e4));for(;n>0;){const t=Math.min(n,1e4);n-=t;const l=r*t;s=a(e,s,o.length===l?o.buffer:i.arrayToBuffer(o.subarray(0,l)))}return s.then((e=>new Uint8Array(e)))}function a(e,t,n){return t.then((t=>e.encrypt(n,t))).then((e=>{const t=i.arrayToBuffer(new Uint8Array(e).subarray(-32,-16));return i.zeroBuffer(e),t}))}t.encrypt=function(e,t,n){const a=s.createAesCbc();return a.importKey(i.arrayToBuffer(t)).then((()=>{const t=[];for(let s=0;s<32;s+=r)t.push(o(a,e.subarray(s,s+r),n));return Promise.all(t)})).then((e=>{const t=new Uint8Array(32);return e.forEach(((e,n)=>{const s=n*r;for(let n=0;n<r;++n)t[n+s]=e[n];i.zeroBuffer(e)})),t}))}},879:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.encrypt=void 0;const s=n(613),i=n(695),r=n(325),o=n(513),a=n(100),l=n(880);function c(e,t,n){const i=t.get("S");if(!(i instanceof ArrayBuffer)||32!==i.byteLength)return Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"bad argon2 salt"));const a=u(t.get("P"));if("number"!=typeof a||a<1)return Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"bad argon2 parallelism"));const l=u(t.get("I"));if("number"!=typeof l||l<1)return Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"bad argon2 iterations"));const c=u(t.get("M"));if("number"!=typeof c||c<1||c%1024!=0)return Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"bad argon2 memory"));const d=t.get("V");return 19!==d&&16!==d?Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"bad argon2 version")):t.get("K")?Promise.reject(new r.KdbxError(o.ErrorCodes.Unsupported,"argon2 secret key")):t.get("A")?Promise.reject(new r.KdbxError(o.ErrorCodes.Unsupported,"argon2 assoc data")):s.argon2(e,i,c/1024,l,32,a,n,d)}function u(e){return"number"==typeof e?e:e instanceof l.Int64?e.value:void 0}t.encrypt=function(e,t){const n=t.get("$UUID");if(!(n&&n instanceof ArrayBuffer))return Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"no kdf uuid"));switch(a.bytesToBase64(n)){case o.KdfId.Argon2d:return c(e,t,s.Argon2TypeArgon2d);case o.KdfId.Argon2id:return c(e,t,s.Argon2TypeArgon2id);case o.KdfId.Aes:return function(e,t){const n=t.get("S");if(!(n instanceof ArrayBuffer)||32!==n.byteLength)return Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"bad aes salt"));const l=u(t.get("R"));return"number"!=typeof l||l<1?Promise.reject(new r.KdbxError(o.ErrorCodes.FileCorrupt,"bad aes rounds")):i.encrypt(new Uint8Array(e),new Uint8Array(n),l).then((e=>s.sha256(e).then((t=>(a.zeroBuffer(e),t)))))}(e,t);default:return Promise.reject(new r.KdbxError(o.ErrorCodes.Unsupported,"bad kdf"))}}},328:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ProtectSaltGenerator=void 0;const s=n(18),i=n(61),r=n(100),o=n(513),a=n(325),l=n(613),c=new Uint8Array([232,48,9,75,151,32,93,42]);class u{constructor(e){this._algo=e}getSalt(e){return r.arrayToBuffer(this._algo.getBytes(e))}static create(e,t){switch(t){case o.CrsAlgorithm.Salsa20:return l.sha256(r.arrayToBuffer(e)).then((e=>{const t=new Uint8Array(e),n=new s.Salsa20(t,c);return new u(n)}));case o.CrsAlgorithm.ChaCha20:return l.sha512(r.arrayToBuffer(e)).then((e=>{const t=new Uint8Array(e,0,32),n=new Uint8Array(e,32,12),s=new i.ChaCha20(t,n);return new u(s)}));default:return Promise.reject(new a.KdbxError(o.ErrorCodes.Unsupported,"crsAlgorithm"))}}}t.ProtectSaltGenerator=u},758:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ProtectedValue=void 0;const s=n(613),i=n(100);class r{constructor(e,t){this.value=new Uint8Array(e),this.salt=new Uint8Array(t)}toString(){return i.bytesToBase64(this.value)}static fromString(e){const t=i.stringToBytes(e),n=s.random(t.length);for(let e=0,s=t.length;e<s;e++)t[e]^=n[e];return new r(i.arrayToBuffer(t),i.arrayToBuffer(n))}toBase64(){const e=this.getBinary(),t=i.bytesToBase64(e);return i.zeroBuffer(e),t}static fromBase64(e){const t=i.base64ToBytes(e);return r.fromBinary(t)}static fromBinary(e){const t=new Uint8Array(e),n=s.random(t.length);for(let e=0,s=t.length;e<s;e++)t[e]^=n[e];return new r(i.arrayToBuffer(t),i.arrayToBuffer(n))}includes(e){if(0===e.length)return!1;const t=this.value,n=this.salt,s=i.stringToBytes(e),r=t.length,o=s.length,a=r-o;e:for(let e=0;e<=a;e++){for(let i=0;i<o;i++)if((t[e+i]^n[e+i])!==s[i])continue e;return!0}return!1}getHash(){const e=i.arrayToBuffer(this.getBinary());return s.sha256(e).then((t=>(i.zeroBuffer(e),t)))}getText(){return i.bytesToString(this.getBinary())}getBinary(){const e=this.value,t=this.salt,n=new Uint8Array(e.byteLength);for(let s=n.length-1;s>=0;s--)n[s]=e[s]^t[s];return n}setSalt(e){const t=new Uint8Array(e),n=this.value,s=this.salt;for(let e=0,i=n.length;e<i;e++)n[e]=n[e]^s[e]^t[e],s[e]=t[e]}clone(){return new r(this.value,this.salt)}get byteLength(){return this.value.byteLength}}t.ProtectedValue=r},18:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Salsa20=void 0,t.Salsa20=class{constructor(e,t){this._rounds=20,this._sigmaWords=[1634760805,857760878,2036477234,1797285236],this._keyWords=[],this._nonceWords=[0,0],this._counterWords=[0,0],this._block=new Uint8Array(64),this._blockUsed=64,this.setKey(e),this.setNonce(t)}setKey(e){for(let t=0,n=0;t<8;t++,n+=4)this._keyWords[t]=255&e[n]|(255&e[n+1])<<8|(255&e[n+2])<<16|(255&e[n+3])<<24;this.reset()}setNonce(e){this._nonceWords[0]=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,this._nonceWords[1]=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,this.reset()}getBytes(e){const t=new Uint8Array(e);for(let n=0;n<e;n++)64===this._blockUsed&&(this.generateBlock(),this.incrementCounter(),this._blockUsed=0),t[n]=this._block[this._blockUsed],this._blockUsed++;return t}getHexString(e){const t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],n=[],s=this.getBytes(e);for(let e=0;e<s.length;e++)n.push(t[s[e]>>4&15]),n.push(t[15&s[e]]);return n.join("")}reset(){this._counterWords[0]=0,this._counterWords[1]=0,this._blockUsed=64}incrementCounter(){this._counterWords[0]=this._counterWords[0]+1&4294967295,0===this._counterWords[0]&&(this._counterWords[1]=this._counterWords[1]+1&4294967295)}generateBlock(){const e=this._sigmaWords[0],t=this._keyWords[0],n=this._keyWords[1],s=this._keyWords[2],i=this._keyWords[3],r=this._sigmaWords[1],o=this._nonceWords[0],a=this._nonceWords[1],l=this._counterWords[0],c=this._counterWords[1],u=this._sigmaWords[2],d=this._keyWords[4],h=this._keyWords[5],p=this._keyWords[6],m=this._keyWords[7],g=this._sigmaWords[3];let f,A=e,y=t,v=n,b=s,w=i,k=r,C=o,_=a,E=l,x=c,I=u,S=d,D=h,B=p,P=m,T=g;for(let e=0;e<this._rounds;e+=2)f=A+D,w^=f<<7|f>>>25,f=w+A,E^=f<<9|f>>>23,f=E+w,D^=f<<13|f>>>19,f=D+E,A^=f<<18|f>>>14,f=k+y,x^=f<<7|f>>>25,f=x+k,B^=f<<9|f>>>23,f=B+x,y^=f<<13|f>>>19,f=y+B,k^=f<<18|f>>>14,f=I+C,P^=f<<7|f>>>25,f=P+I,v^=f<<9|f>>>23,f=v+P,C^=f<<13|f>>>19,f=C+v,I^=f<<18|f>>>14,f=T+S,b^=f<<7|f>>>25,f=b+T,_^=f<<9|f>>>23,f=_+b,S^=f<<13|f>>>19,f=S+_,T^=f<<18|f>>>14,f=A+b,y^=f<<7|f>>>25,f=y+A,v^=f<<9|f>>>23,f=v+y,b^=f<<13|f>>>19,f=b+v,A^=f<<18|f>>>14,f=k+w,C^=f<<7|f>>>25,f=C+k,_^=f<<9|f>>>23,f=_+C,w^=f<<13|f>>>19,f=w+_,k^=f<<18|f>>>14,f=I+x,S^=f<<7|f>>>25,f=S+I,E^=f<<9|f>>>23,f=E+S,x^=f<<13|f>>>19,f=x+E,I^=f<<18|f>>>14,f=T+P,D^=f<<7|f>>>25,f=D+T,B^=f<<9|f>>>23,f=B+D,P^=f<<13|f>>>19,f=P+B,T^=f<<18|f>>>14;A+=e,y+=t,v+=n,b+=s,w+=i,k+=r,C+=o,_+=a,E+=l,x+=c,I+=u,S+=d,D+=h,B+=p,P+=m,T+=g,this._block[0]=A>>>0&255,this._block[1]=A>>>8&255,this._block[2]=A>>>16&255,this._block[3]=A>>>24&255,this._block[4]=y>>>0&255,this._block[5]=y>>>8&255,this._block[6]=y>>>16&255,this._block[7]=y>>>24&255,this._block[8]=v>>>0&255,this._block[9]=v>>>8&255,this._block[10]=v>>>16&255,this._block[11]=v>>>24&255,this._block[12]=b>>>0&255,this._block[13]=b>>>8&255,this._block[14]=b>>>16&255,this._block[15]=b>>>24&255,this._block[16]=w>>>0&255,this._block[17]=w>>>8&255,this._block[18]=w>>>16&255,this._block[19]=w>>>24&255,this._block[20]=k>>>0&255,this._block[21]=k>>>8&255,this._block[22]=k>>>16&255,this._block[23]=k>>>24&255,this._block[24]=C>>>0&255,this._block[25]=C>>>8&255,this._block[26]=C>>>16&255,this._block[27]=C>>>24&255,this._block[28]=_>>>0&255,this._block[29]=_>>>8&255,this._block[30]=_>>>16&255,this._block[31]=_>>>24&255,this._block[32]=E>>>0&255,this._block[33]=E>>>8&255,this._block[34]=E>>>16&255,this._block[35]=E>>>24&255,this._block[36]=x>>>0&255,this._block[37]=x>>>8&255,this._block[38]=x>>>16&255,this._block[39]=x>>>24&255,this._block[40]=I>>>0&255,this._block[41]=I>>>8&255,this._block[42]=I>>>16&255,this._block[43]=I>>>24&255,this._block[44]=S>>>0&255,this._block[45]=S>>>8&255,this._block[46]=S>>>16&255,this._block[47]=S>>>24&255,this._block[48]=D>>>0&255,this._block[49]=D>>>8&255,this._block[50]=D>>>16&255,this._block[51]=D>>>24&255,this._block[52]=B>>>0&255,this._block[53]=B>>>8&255,this._block[54]=B>>>16&255,this._block[55]=B>>>24&255,this._block[56]=P>>>0&255,this._block[57]=P>>>8&255,this._block[58]=P>>>16&255,this._block[59]=P>>>24&255,this._block[60]=T>>>0&255,this._block[61]=T>>>8&255,this._block[62]=T>>>16&255,this._block[63]=T>>>24&255}}},513:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Icons=t.Defaults=t.AutoTypeObfuscationOptions=t.CipherId=t.KdfId=t.CrsAlgorithm=t.CompressionAlgorithm=t.ErrorCodes=t.Signatures=void 0,t.Signatures={FileMagic:2594363651,Sig2Kdbx:3041655655,Sig2Kdb:3041655653},t.ErrorCodes={NotImplemented:"NotImplemented",InvalidArg:"InvalidArg",BadSignature:"BadSignature",InvalidVersion:"InvalidVersion",Unsupported:"Unsupported",FileCorrupt:"FileCorrupt",InvalidKey:"InvalidKey",MergeError:"MergeError",InvalidState:"InvalidState"},t.CompressionAlgorithm={None:0,GZip:1},t.CrsAlgorithm={Null:0,ArcFourVariant:1,Salsa20:2,ChaCha20:3},t.KdfId={Argon2:"72Nt34wpREuR96mkA+MKDA==",Argon2d:"72Nt34wpREuR96mkA+MKDA==",Argon2id:"nimLGVbbR3OyPfw+xvCh5g==",Aes:"ydnzmmKKRGC/dA0IwYpP6g=="},t.CipherId={Aes:"McHy5r9xQ1C+WAUhavxa/w==",ChaCha20:"1gOKK4tvTLWlJDOaMdu1mg=="},t.AutoTypeObfuscationOptions={None:0,UseClipboard:1},t.Defaults={KeyEncryptionRounds:3e5,MntncHistoryDays:365,HistoryMaxItems:10,HistoryMaxSize:6291456,RecycleBinName:"Recycle Bin"},t.Icons={Key:0,World:1,Warning:2,NetworkServer:3,MarkedDirectory:4,UserCommunication:5,Parts:6,Notepad:7,WorldSocket:8,Identity:9,PaperReady:10,Digicam:11,IRCommunication:12,MultiKeys:13,Energy:14,Scanner:15,WorldStar:16,CDRom:17,Monitor:18,EMail:19,Configuration:20,ClipboardReady:21,PaperNew:22,Screen:23,EnergyCareful:24,EMailBox:25,Disk:26,Drive:27,PaperQ:28,TerminalEncrypted:29,Console:30,Printer:31,ProgramIcons:32,Run:33,Settings:34,WorldComputer:35,Archive:36,Homebanking:37,DriveWindows:39,Clock:39,EMailSearch:40,PaperFlag:41,Memory:42,TrashBin:43,Note:44,Expired:45,Info:46,Package:47,Folder:48,FolderOpen:49,FolderPackage:50,LockOpen:51,PaperLocked:52,Checked:53,Pen:54,Thumbnail:55,Book:56,List:57,UserKey:58,Tool:59,Home:60,Star:61,Tux:62,Feather:63,Apple:64,Wiki:65,Money:66,Certificate:67,BlackBerry:68}},638:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Val=t.Attr=t.Elem=void 0,t.Elem={DocNode:"KeePassFile",Meta:"Meta",Root:"Root",Group:"Group",Entry:"Entry",Generator:"Generator",HeaderHash:"HeaderHash",SettingsChanged:"SettingsChanged",DbName:"DatabaseName",DbNameChanged:"DatabaseNameChanged",DbDesc:"DatabaseDescription",DbDescChanged:"DatabaseDescriptionChanged",DbDefaultUser:"DefaultUserName",DbDefaultUserChanged:"DefaultUserNameChanged",DbMntncHistoryDays:"MaintenanceHistoryDays",DbColor:"Color",DbKeyChanged:"MasterKeyChanged",DbKeyChangeRec:"MasterKeyChangeRec",DbKeyChangeForce:"MasterKeyChangeForce",RecycleBinEnabled:"RecycleBinEnabled",RecycleBinUuid:"RecycleBinUUID",RecycleBinChanged:"RecycleBinChanged",EntryTemplatesGroup:"EntryTemplatesGroup",EntryTemplatesGroupChanged:"EntryTemplatesGroupChanged",HistoryMaxItems:"HistoryMaxItems",HistoryMaxSize:"HistoryMaxSize",LastSelectedGroup:"LastSelectedGroup",LastTopVisibleGroup:"LastTopVisibleGroup",MemoryProt:"MemoryProtection",ProtTitle:"ProtectTitle",ProtUserName:"ProtectUserName",ProtPassword:"ProtectPassword",ProtUrl:"ProtectURL",ProtNotes:"ProtectNotes",CustomIcons:"CustomIcons",CustomIconItem:"Icon",CustomIconItemID:"UUID",CustomIconItemData:"Data",CustomIconItemName:"Name",AutoType:"AutoType",History:"History",Name:"Name",Notes:"Notes",Uuid:"UUID",Icon:"IconID",CustomIconID:"CustomIconUUID",FgColor:"ForegroundColor",BgColor:"BackgroundColor",OverrideUrl:"OverrideURL",Times:"Times",Tags:"Tags",QualityCheck:"QualityCheck",PreviousParentGroup:"PreviousParentGroup",CreationTime:"CreationTime",LastModTime:"LastModificationTime",LastAccessTime:"LastAccessTime",ExpiryTime:"ExpiryTime",Expires:"Expires",UsageCount:"UsageCount",LocationChanged:"LocationChanged",GroupDefaultAutoTypeSeq:"DefaultAutoTypeSequence",EnableAutoType:"EnableAutoType",EnableSearching:"EnableSearching",String:"String",Binary:"Binary",Key:"Key",Value:"Value",AutoTypeEnabled:"Enabled",AutoTypeObfuscation:"DataTransferObfuscation",AutoTypeDefaultSeq:"DefaultSequence",AutoTypeItem:"Association",Window:"Window",KeystrokeSequence:"KeystrokeSequence",Binaries:"Binaries",IsExpanded:"IsExpanded",LastTopVisibleEntry:"LastTopVisibleEntry",DeletedObjects:"DeletedObjects",DeletedObject:"DeletedObject",DeletionTime:"DeletionTime",CustomData:"CustomData",StringDictExItem:"Item"},t.Attr={Id:"ID",Ref:"Ref",Protected:"Protected",ProtectedInMemPlainXml:"ProtectInMemory",Compressed:"Compressed"},t.Val={False:"False",True:"True"}},325:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxError=void 0;class n extends Error{constructor(e,t){super("Error "+e+(t?": "+t:"")),this.name="KdbxError",this.code=e}}t.KdbxError=n},968:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxBinaries=void 0;const s=n(613),i=n(758),r=n(100);class o{constructor(){this._mapById=new Map,this._mapByHash=new Map,this._idToHash=new Map}computeHashes(){const e=[...this._mapById].map((([e,t])=>o.getBinaryHash(t).then((n=>{this._idToHash.set(e,n),this._mapByHash.set(n,t)}))));return Promise.all(e).then((()=>{this._mapById.clear()}))}static getBinaryHash(e){let t;return e instanceof i.ProtectedValue?t=e.getHash():(e=r.arrayToBuffer(e),t=s.sha256(e)),t.then(r.bytesToHex)}add(e){return e instanceof Uint8Array&&(e=r.arrayToBuffer(e)),o.getBinaryHash(e).then((t=>(this._mapByHash.set(t,e),{hash:t,value:e})))}addWithNextId(e){const t=this._mapById.size.toString();this.addWithId(t,e)}addWithId(e,t){t instanceof Uint8Array&&(t=r.arrayToBuffer(t)),this._mapById.set(e,t)}addWithHash(e){this._mapByHash.set(e.hash,e.value)}deleteWithHash(e){this._mapByHash.delete(e)}getByRef(e){const t=this._idToHash.get(e.ref);if(!t)return;const n=this._mapByHash.get(t);return n?{hash:t,value:n}:void 0}getRefByHash(e){const t=[...this._mapByHash.keys()].indexOf(e);if(!(t<0))return{ref:t.toString()}}getAll(){return[...this._mapByHash.values()].map(((e,t)=>({ref:t.toString(),value:e})))}getAllWithHashes(){return[...this._mapByHash].map((([e,t])=>({hash:e,value:t})))}getValueByHash(e){return this._mapByHash.get(e)}static isKdbxBinaryRef(e){var t;return!!(null===(t=e)||void 0===t?void 0:t.ref)}static isKdbxBinaryWithHash(e){var t;return!!(null===(t=e)||void 0===t?void 0:t.hash)}}t.KdbxBinaries=o},497:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxContext=void 0;const s=n(943);t.KdbxContext=class{constructor(e){this.kdbx=e.kdbx,this.exportXml=!!e.exportXml}setXmlDate(e,t){const n=this.kdbx.versionMajor>=4&&!this.exportXml;s.setDate(e,t,n)}}},374:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxCredentials=void 0;const s=n(943),i=n(613),r=n(758),o=n(325),a=n(513),l=n(100);class c{constructor(e,t,n){this.ready=Promise.all([this.setPassword(e),this.setKeyFile(t),this.setChallengeResponse(n)]).then((()=>this))}get passwordHash(){return this._passwordHash}get keyFileHash(){return this._keyFileHash}setPassword(e){return e?e instanceof r.ProtectedValue?e.getHash().then((e=>{this._passwordHash=r.ProtectedValue.fromBinary(e)})):Promise.reject(new o.KdbxError(a.ErrorCodes.InvalidArg,"password")):(this._passwordHash=void 0,Promise.resolve())}setKeyFile(e){if(e&&!(e instanceof ArrayBuffer)&&!(e instanceof Uint8Array))return Promise.reject(new o.KdbxError(a.ErrorCodes.InvalidArg,"keyFile"));if(e){if(32===e.byteLength)return this._keyFileHash=r.ProtectedValue.fromBinary(l.arrayToBuffer(e)),Promise.resolve();let t,n;try{const i=l.bytesToString(l.arrayToBuffer(e));if(/^[a-f\d]{64}$/i.exec(i)){const e=l.hexToBytes(i);return this._keyFileHash=r.ProtectedValue.fromBinary(e),Promise.resolve()}const c=s.parse(i.trim()),u=s.getChildNode(c.documentElement,"Meta");if(!u)return Promise.reject(new o.KdbxError(a.ErrorCodes.InvalidArg,"key file without meta"));const d=s.getChildNode(u,"Version");if(!(null==d?void 0:d.textContent))return Promise.reject(new o.KdbxError(a.ErrorCodes.InvalidArg,"key file without version"));t=+d.textContent.split(".")[0];const h=s.getChildNode(c.documentElement,"Key");if(!h)return Promise.reject(new o.KdbxError(a.ErrorCodes.InvalidArg,"key file without key"));if(n=s.getChildNode(h,"Data"),!(null==n?void 0:n.textContent))return Promise.reject(new o.KdbxError(a.ErrorCodes.InvalidArg,"key file without key data"))}catch(t){return i.sha256(e).then((e=>{this._keyFileHash=r.ProtectedValue.fromBinary(e)}))}switch(t){case 1:this._keyFileHash=r.ProtectedValue.fromBinary(l.base64ToBytes(n.textContent));break;case 2:{const e=l.hexToBytes(n.textContent.replace(/\s+/g,"")),t=n.getAttribute("Hash");return i.sha256(e).then((n=>{if(l.bytesToHex(new Uint8Array(n).subarray(0,4)).toUpperCase()!==t)throw new o.KdbxError(a.ErrorCodes.FileCorrupt,"key file data hash mismatch");this._keyFileHash=r.ProtectedValue.fromBinary(e)}))}default:return Promise.reject(new o.KdbxError(a.ErrorCodes.FileCorrupt,"bad keyfile version"))}}else this._keyFileHash=void 0;return Promise.resolve()}setChallengeResponse(e){return this._challengeResponse=e,Promise.resolve()}getHash(e){return this.ready.then((()=>this.getChallengeResponse(e).then((e=>{const t=[];this._passwordHash&&t.push(this._passwordHash.getBinary()),this._keyFileHash&&t.push(this._keyFileHash.getBinary()),e&&t.push(new Uint8Array(e));const n=t.reduce(((e,t)=>e+t.byteLength),0),s=new Uint8Array(n);let r=0;for(const e of t)s.set(e,r),l.zeroBuffer(e),r+=e.length;return i.sha256(l.arrayToBuffer(s)).then((e=>(l.zeroBuffer(s),e)))}))))}getChallengeResponse(e){return Promise.resolve().then((()=>this._challengeResponse&&e?this._challengeResponse(e).then((e=>i.sha256(l.arrayToBuffer(e)).then((t=>(l.zeroBuffer(e),t))))):null))}static createRandomKeyFile(e=1){const t=i.random(32),n=i.random(32);for(let e=0;e<32;e++)t[e]^=n[e],t[e]^=1e3*Math.random()%255;return c.createKeyFileWithHash(t,e)}static createKeyFileWithHash(e,t=1){const n=2===t?"2.0":"1.00";let s;if(2===t){const t=" ";s=i.sha256(e).then((n=>{const s=l.bytesToHex(new Uint8Array(n).subarray(0,4)).toUpperCase(),i=l.bytesToHex(e).toUpperCase();let r=' <Data Hash="'+s+'">\n';for(let e=0;e<2;e++){const n=[0,1,2,3].map((t=>i.substr(32*e+8*t,8)));r+=t,r+=n.join(" "),r+="\n"}return r+=" </Data>\n",r}))}else{const t=" <Data>"+l.bytesToBase64(e)+"</Data>\n";s=Promise.resolve(t)}return s.then((e=>{const t='<?xml version="1.0" encoding="utf-8"?>\n<KeyFile>\n <Meta>\n <Version>'+n+"</Version>\n </Meta>\n <Key>\n"+e+" </Key>\n</KeyFile>";return l.stringToBytes(t)}))}}t.KdbxCredentials=c},596:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxCustomData=void 0;const s=n(943),i=n(638);t.KdbxCustomData=class{static read(e){const t=new Map;for(let n=0,s=e.childNodes,r=s.length;n<r;n++){const e=s[n];e.tagName===i.Elem.StringDictExItem&&this.readItem(e,t)}return t}static write(e,t,n){if(!n)return;const r=s.addChildNode(e,i.Elem.CustomData);for(const[e,o]of n)if(null==o?void 0:o.value){const n=s.addChildNode(r,i.Elem.StringDictExItem);s.setText(s.addChildNode(n,i.Elem.Key),e),s.setText(s.addChildNode(n,i.Elem.Value),o.value),o.lastModified&&t.kdbx.versionIsAtLeast(4,1)&&s.setDate(s.addChildNode(n,i.Elem.LastModTime),o.lastModified)}}static readItem(e,t){let n,r,o;for(let t=0,a=e.childNodes,l=a.length;t<l;t++){const e=a[t];switch(e.tagName){case i.Elem.Key:n=s.getText(e);break;case i.Elem.Value:r=s.getText(e);break;case i.Elem.LastModTime:o=s.getDate(e)}}if(n&&void 0!==r){const e={value:r};o&&(e.lastModified=o),t.set(n,e)}}}},414:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxDeletedObject=void 0;const s=n(943),i=n(638);class r{readNode(e){switch(e.tagName){case i.Elem.Uuid:this.uuid=s.getUuid(e);break;case i.Elem.DeletionTime:this.deletionTime=s.getDate(e)}}write(e,t){const n=s.addChildNode(e,i.Elem.DeletedObject);s.setUuid(s.addChildNode(n,i.Elem.Uuid),this.uuid),t.setXmlDate(s.addChildNode(n,i.Elem.DeletionTime),this.deletionTime)}static read(e){const t=new r;for(let n=0,s=e.childNodes,i=s.length;n<i;n++){const e=s[n];e.tagName&&t.readNode(e)}return t}}t.KdbxDeletedObject=r},270:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxEntry=void 0;const s=n(638),i=n(943),r=n(554),o=n(513),a=n(758),l=n(596),c=n(552),u=n(968);class d{constructor(){this.uuid=new c.KdbxUuid,this.tags=[],this.times=new r.KdbxTimes,this.fields=new Map,this.binaries=new Map,this.autoType={enabled:!0,obfuscation:o.AutoTypeObfuscationOptions.None,items:[]},this.history=[]}get lastModTime(){var e,t;return null!==(t=null===(e=this.times.lastModTime)||void 0===e?void 0:e.getTime())&&void 0!==t?t:0}get locationChanged(){var e,t;return null!==(t=null===(e=this.times.locationChanged)||void 0===e?void 0:e.getTime())&&void 0!==t?t:0}readNode(e,t){var n,a;switch(e.tagName){case s.Elem.Uuid:this.uuid=null!==(n=i.getUuid(e))&&void 0!==n?n:new c.KdbxUuid;break;case s.Elem.Icon:this.icon=i.getNumber(e)||o.Icons.Key;break;case s.Elem.CustomIconID:this.customIcon=i.getUuid(e);break;case s.Elem.FgColor:this.fgColor=i.getText(e);break;case s.Elem.BgColor:this.bgColor=i.getText(e);break;case s.Elem.OverrideUrl:this.overrideUrl=i.getText(e);break;case s.Elem.Tags:this.tags=i.getTags(e);break;case s.Elem.Times:this.times=r.KdbxTimes.read(e);break;case s.Elem.String:this.readField(e);break;case s.Elem.Binary:this.readBinary(e,t);break;case s.Elem.AutoType:this.readAutoType(e);break;case s.Elem.History:this.readHistory(e,t);break;case s.Elem.CustomData:this.readCustomData(e);break;case s.Elem.QualityCheck:this.qualityCheck=null!==(a=i.getBoolean(e))&&void 0!==a?a:void 0;break;case s.Elem.PreviousParentGroup:this.previousParentGroup=i.getUuid(e)}}readField(e){const t=i.getChildNode(e,s.Elem.Key),n=i.getChildNode(e,s.Elem.Value);if(t&&n){const e=i.getText(t),s=i.getProtectedText(n);e&&this.fields.set(e,s||"")}}writeFields(e){for(const[t,n]of this.fields)if(null!=n){const r=i.addChildNode(e,s.Elem.String);i.setText(i.addChildNode(r,s.Elem.Key),t),i.setProtectedText(i.addChildNode(r,s.Elem.Value),n)}}readBinary(e,t){const n=i.getChildNode(e,s.Elem.Key),r=i.getChildNode(e,s.Elem.Value);if(n&&r){const e=i.getText(n),s=i.getProtectedBinary(r);if(e&&s)if(u.KdbxBinaries.isKdbxBinaryRef(s)){const n=t.kdbx.binaries.getByRef(s);n&&this.binaries.set(e,n)}else this.binaries.set(e,s)}}writeBinaries(e,t){for(const[n,r]of this.binaries){let o;if(u.KdbxBinaries.isKdbxBinaryWithHash(r)){const e=t.kdbx.binaries.getRefByHash(r.hash);if(!e)return;o=e}else o=r;const a=i.addChildNode(e,s.Elem.Binary);i.setText(i.addChildNode(a,s.Elem.Key),n),i.setProtectedBinary(i.addChildNode(a,s.Elem.Value),o)}}readAutoType(e){var t;for(let n=0,r=e.childNodes,a=r.length;n<a;n++){const e=r[n];switch(e.tagName){case s.Elem.AutoTypeEnabled:this.autoType.enabled=null===(t=i.getBoolean(e))||void 0===t||t;break;case s.Elem.AutoTypeObfuscation:this.autoType.obfuscation=i.getNumber(e)||o.AutoTypeObfuscationOptions.None;break;case s.Elem.AutoTypeDefaultSeq:this.autoType.defaultSequence=i.getText(e);break;case s.Elem.AutoTypeItem:this.readAutoTypeItem(e)}}}readAutoTypeItem(e){let t="",n="";for(let r=0,o=e.childNodes,a=o.length;r<a;r++){const e=o[r];switch(e.tagName){case s.Elem.Window:t=i.getText(e)||"";break;case s.Elem.KeystrokeSequence:n=i.getText(e)||""}}t&&n&&this.autoType.items.push({window:t,keystrokeSequence:n})}writeAutoType(e){const t=i.addChildNode(e,s.Elem.AutoType);i.setBoolean(i.addChildNode(t,s.Elem.AutoTypeEnabled),this.autoType.enabled),i.setNumber(i.addChildNode(t,s.Elem.AutoTypeObfuscation),this.autoType.obfuscation||o.AutoTypeObfuscationOptions.None),this.autoType.defaultSequence&&i.setText(i.addChildNode(t,s.Elem.AutoTypeDefaultSeq),this.autoType.defaultSequence);for(let e=0;e<this.autoType.items.length;e++){const n=this.autoType.items[e],r=i.addChildNode(t,s.Elem.AutoTypeItem);i.setText(i.addChildNode(r,s.Elem.Window),n.window),i.setText(i.addChildNode(r,s.Elem.KeystrokeSequence),n.keystrokeSequence)}}readHistory(e,t){for(let n=0,i=e.childNodes,r=i.length;n<r;n++){const e=i[n];switch(e.tagName){case s.Elem.Entry:this.history.push(d.read(e,t))}}}writeHistory(e,t){const n=i.addChildNode(e,s.Elem.History);for(const e of this.history)e.write(n,t)}readCustomData(e){this.customData=l.KdbxCustomData.read(e)}writeCustomData(e,t){this.customData&&l.KdbxCustomData.write(e,t,this.customData)}setField(e,t,n=!1){this.fields.set(e,n?a.ProtectedValue.fromString(t):t)}addHistoryTombstone(e,t){this._editState||(this._editState={added:[],deleted:[]}),this._editState[e?"added":"deleted"].push(t.getTime())}write(e,t){const n=i.addChildNode(e,s.Elem.Entry);i.setUuid(i.addChildNode(n,s.Elem.Uuid),this.uuid),i.setNumber(i.addChildNode(n,s.Elem.Icon),this.icon||o.Icons.Key),this.customIcon&&i.setUuid(i.addChildNode(n,s.Elem.CustomIconID),this.customIcon),i.setText(i.addChildNode(n,s.Elem.FgColor),this.fgColor),i.setText(i.addChildNode(n,s.Elem.BgColor),this.bgColor),i.setText(i.addChildNode(n,s.Elem.OverrideUrl),this.overrideUrl),i.setTags(i.addChildNode(n,s.Elem.Tags),this.tags),"boolean"==typeof this.qualityCheck&&t.kdbx.versionIsAtLeast(4,1)&&i.setBoolean(i.addChildNode(n,s.Elem.QualityCheck),this.qualityCheck),void 0!==this.previousParentGroup&&t.kdbx.versionIsAtLeast(4,1)&&i.setUuid(i.addChildNode(n,s.Elem.PreviousParentGroup),this.previousParentGroup),this.times.write(n,t),this.writeFields(n),this.writeBinaries(n,t),this.writeAutoType(n),this.writeCustomData(n,t),e.tagName!==s.Elem.History&&this.writeHistory(n,t)}pushHistory(){const e=new d;e.copyFrom(this),this.history.push(e),e.times.lastModTime&&this.addHistoryTombstone(!0,e.times.lastModTime)}removeHistory(e,t=1){for(let n=e;n<e+t;n++)if(n<this.history.length){const e=this.history[n].times.lastModTime;e&&this.addHistoryTombstone(!1,e)}this.history.splice(e,t)}copyFrom(e){this.uuid=e.uuid,this.icon=e.icon,this.customIcon=e.customIcon,this.fgColor=e.fgColor,this.bgColor=e.bgColor,this.overrideUrl=e.overrideUrl,this.tags=e.tags.slice(),this.times=e.times.clone(),this.fields=new Map;for(const[t,n]of e.fields)n instanceof a.ProtectedValue?this.fields.set(t,n.clone()):this.fields.set(t,n);this.binaries=new Map;for(const[t,n]of e.binaries)n instanceof a.ProtectedValue?this.binaries.set(t,n.clone()):u.KdbxBinaries.isKdbxBinaryWithHash(n)?this.binaries.set(t,{hash:n.hash,value:n.value}):this.binaries.set(t,n);this.autoType=JSON.parse(JSON.stringify(e.autoType))}merge(e){const t=e.remoteEntries.get(this.uuid.id);if(!t)return;const n=t.history.slice();if(this.lastModTime<t.lastModTime)this.pushHistory(),this.copyFrom(t);else if(this.lastModTime>t.lastModTime&&!this.history.some((e=>e.lastModTime===t.lastModTime))){const e=new d;e.copyFrom(t),n.push(e)}this.history=this.mergeHistory(n,t.lastModTime)}mergeHistory(e,t){this.history.sort(((e,t)=>e.lastModTime-t.lastModTime)),e.sort(((e,t)=>e.lastModTime-t.lastModTime));let n=0,s=0;const i=[];for(;n<this.history.length||s<e.length;){const r=this.history[n],o=e[s],a=r&&r.lastModTime,l=o&&o.lastModTime;if(a!==l)if(!r||a>l){if(!this._editState||this._editState.deleted.indexOf(l)<0){const e=new d;e.copyFrom(o),i.push(e)}s++}else(this._editState&&this._editState.added.indexOf(a)>=0||a>t)&&i.push(r),n++;else i.push(r),n++,s++}return i}static create(e,t){const n=new d;return n.uuid=c.KdbxUuid.random(),n.icon=o.Icons.Key,n.times=r.KdbxTimes.create(),n.parentGroup=t,n.setField("Title","",e.memoryProtection.title),n.setField("UserName",e.defaultUser||"",e.memoryProtection.userName),n.setField("Password","",e.memoryProtection.password),n.setField("URL","",e.memoryProtection.url),n.setField("Notes","",e.memoryProtection.notes),n.autoType.enabled="boolean"!=typeof t.enableAutoType||t.enableAutoType,n.autoType.obfuscation=o.AutoTypeObfuscationOptions.None,n}static read(e,t,n){const s=new d;for(let n=0,i=e.childNodes,r=i.length;n<r;n++){const e=i[n];e.tagName&&s.readNode(e,t)}if(s.uuid.empty){s.uuid=c.KdbxUuid.random();for(let e=0;e<s.history.length;e++)s.history[e].uuid=s.uuid}return s.parentGroup=n,s}}t.KdbxEntry=d},257:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxFormat=void 0;const s=n(991),i=n(513),r=n(325),o=n(909),a=n(497),l=n(447),c=n(100),u=n(328),d=n(943),h=n(522),p=n(8),m=n(613),g=n(695),f=n(879),A=n(880);t.KdbxFormat=class{constructor(e){this.preserveXml=!1,this.kdbx=e,this.ctx=new a.KdbxContext({kdbx:e})}load(e){const t=new o.BinaryStream(e);return this.kdbx.credentials.ready.then((()=>{if(this.kdbx.header=l.KdbxHeader.read(t,this.ctx),3===this.kdbx.header.versionMajor)return this.loadV3(t);if(4===this.kdbx.header.versionMajor)return this.loadV4(t);throw new r.KdbxError(i.ErrorCodes.InvalidVersion,`bad version: ${this.kdbx.versionMajor}`)}))}loadV3(e){return this.decryptXmlV3(e).then((t=>(this.kdbx.xml=d.parse(t),this.setProtectedValues().then((()=>this.kdbx.loadFromXml(this.ctx).then((()=>this.checkHeaderHashV3(e).then((()=>(this.cleanXml(),this.kdbx))))))))))}loadV4(e){return this.getHeaderHash(e).then((t=>{const n=e.readBytes(t.byteLength);if(!c.arrayBufferEquals(n,t))throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"header hash mismatch");return this.computeKeysV4().then((t=>this.getHeaderHmac(e,t.hmacKey).then((n=>{const a=e.readBytes(n.byteLength);if(!c.arrayBufferEquals(a,n))throw new r.KdbxError(i.ErrorCodes.InvalidKey);return h.decrypt(e.readBytesToEnd(),t.hmacKey).then((n=>(c.zeroBuffer(t.hmacKey),this.decryptData(n,t.cipherKey).then((n=>{c.zeroBuffer(t.cipherKey),this.kdbx.header.compression===i.CompressionAlgorithm.GZip&&(n=c.arrayToBuffer(s.ungzip(new Uint8Array(n)))),e=new o.BinaryStream(c.arrayToBuffer(n)),this.kdbx.header.readInnerHeader(e,this.ctx),n=e.readBytesToEnd();const r=c.bytesToString(n);return this.kdbx.xml=d.parse(r),this.setProtectedValues().then((()=>this.kdbx.loadFromXml(this.ctx).then((e=>(this.cleanXml(),e)))))})))))}))))}))}loadXml(e){return this.kdbx.credentials.ready.then((()=>(this.kdbx.header=l.KdbxHeader.create(),this.kdbx.xml=d.parse(e),d.protectPlainValues(this.kdbx.xml.documentElement),this.kdbx.loadFromXml(this.ctx).then((()=>(this.cleanXml(),this.kdbx))))))}save(){return this.kdbx.credentials.ready.then((()=>{const e=new o.BinaryStream;if(this.kdbx.header.generateSalts(),this.kdbx.header.write(e),3===this.kdbx.versionMajor)return this.saveV3(e);if(4===this.kdbx.versionMajor)return this.saveV4(e);throw new r.KdbxError(i.ErrorCodes.InvalidVersion,`bad version: ${this.kdbx.versionMajor}`)}))}saveV3(e){return this.getHeaderHash(e).then((t=>(this.kdbx.meta.headerHash=t,this.kdbx.buildXml(this.ctx),this.getProtectSaltGenerator().then((t=>{if(!this.kdbx.xml)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no xml");return d.updateProtectedValuesSalt(this.kdbx.xml.documentElement,t),this.encryptXmlV3().then((t=>(this.cleanXml(),e.writeBytes(t),e.getWrittenBytes())))})))))}saveV4(e){return this.kdbx.buildXml(this.ctx),this.getHeaderHash(e).then((t=>(e.writeBytes(t),this.computeKeysV4().then((t=>this.getHeaderHmac(e,t.hmacKey).then((n=>(e.writeBytes(n),this.getProtectSaltGenerator().then((n=>{if(!this.kdbx.xml)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no xml");d.updateProtectedValuesSalt(this.kdbx.xml.documentElement,n);const a=d.serialize(this.kdbx.xml),l=new o.BinaryStream;this.kdbx.header.writeInnerHeader(l,this.ctx);const u=l.getWrittenBytes(),p=c.arrayToBuffer(c.stringToBytes(a));let m=new ArrayBuffer(u.byteLength+p.byteLength);const g=new Uint8Array(m);return g.set(new Uint8Array(u)),g.set(new Uint8Array(p),u.byteLength),c.zeroBuffer(p),c.zeroBuffer(u),this.kdbx.header.compression===i.CompressionAlgorithm.GZip&&(m=c.arrayToBuffer(s.gzip(new Uint8Array(m)))),this.encryptData(c.arrayToBuffer(m),t.cipherKey).then((n=>(c.zeroBuffer(t.cipherKey),h.encrypt(n,t.hmacKey).then((n=>(this.cleanXml(),c.zeroBuffer(t.hmacKey),e.writeBytes(n),e.getWrittenBytes()))))))}))))))))))}saveXml(e=!1){return this.kdbx.credentials.ready.then((()=>{if(this.kdbx.header.generateSalts(),this.ctx.exportXml=!0,this.kdbx.buildXml(this.ctx),!this.kdbx.xml)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no xml");d.unprotectValues(this.kdbx.xml.documentElement);const t=d.serialize(this.kdbx.xml,e);return d.protectUnprotectedValues(this.kdbx.xml.documentElement),this.cleanXml(),t}))}decryptXmlV3(e){const t=e.readBytesToEnd();return this.getMasterKeyV3().then((e=>this.decryptData(t,e).then((t=>(c.zeroBuffer(e),t=this.trimStartBytesV3(t),p.decrypt(t).then((e=>(this.kdbx.header.compression===i.CompressionAlgorithm.GZip&&(e=c.arrayToBuffer(s.ungzip(new Uint8Array(e)))),c.bytesToString(e)))))))))}encryptXmlV3(){if(!this.kdbx.xml)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no xml");const e=d.serialize(this.kdbx.xml);let t=c.arrayToBuffer(c.stringToBytes(e));return this.kdbx.header.compression===i.CompressionAlgorithm.GZip&&(t=c.arrayToBuffer(s.gzip(new Uint8Array(t)))),p.encrypt(c.arrayToBuffer(t)).then((e=>{if(!this.kdbx.header.streamStartBytes)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no header start bytes");const t=new Uint8Array(this.kdbx.header.streamStartBytes),n=new Uint8Array(e.byteLength+t.length);return n.set(t),n.set(new Uint8Array(e),t.length),e=n,this.getMasterKeyV3().then((t=>this.encryptData(c.arrayToBuffer(e),t).then((e=>(c.zeroBuffer(t),e)))))}))}getMasterKeyV3(){return this.kdbx.credentials.getHash().then((e=>{if(!this.kdbx.header.transformSeed||!this.kdbx.header.keyEncryptionRounds||!this.kdbx.header.masterSeed)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no header transform parameters");const t=this.kdbx.header.transformSeed,n=this.kdbx.header.keyEncryptionRounds,s=this.kdbx.header.masterSeed;return this.kdbx.credentials.getChallengeResponse(s).then((i=>g.encrypt(new Uint8Array(e),t,n).then((t=>(c.zeroBuffer(e),m.sha256(t).then((e=>{c.zeroBuffer(t);const n=i?i.byteLength:0,r=new Uint8Array(s.byteLength+e.byteLength+n);return r.set(new Uint8Array(s),0),i&&r.set(new Uint8Array(i),s.byteLength),r.set(new Uint8Array(e),s.byteLength+n),c.zeroBuffer(e),c.zeroBuffer(s),i&&c.zeroBuffer(i),m.sha256(r.buffer).then((e=>(c.zeroBuffer(r.buffer),e)))})))))))}))}trimStartBytesV3(e){if(!this.kdbx.header.streamStartBytes)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no stream start bytes");const t=this.kdbx.header.streamStartBytes;if(e.byteLength<t.byteLength)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"short start bytes");if(!c.arrayBufferEquals(e.slice(0,this.kdbx.header.streamStartBytes.byteLength),t))throw new r.KdbxError(i.ErrorCodes.InvalidKey);return e.slice(t.byteLength)}setProtectedValues(){return this.getProtectSaltGenerator().then((e=>{if(!this.kdbx.xml)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no xml");d.setProtectedValues(this.kdbx.xml.documentElement,e)}))}getProtectSaltGenerator(){if(!this.kdbx.header.protectedStreamKey||!this.kdbx.header.crsAlgorithm)throw new r.KdbxError(i.ErrorCodes.InvalidState,"bad header parameters");return u.ProtectSaltGenerator.create(this.kdbx.header.protectedStreamKey,this.kdbx.header.crsAlgorithm)}getHeaderHash(e){if(!this.kdbx.header.endPos)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no end pos");const t=e.readBytesNoAdvance(0,this.kdbx.header.endPos);return m.sha256(t)}getHeaderHmac(e,t){if(!this.kdbx.header.endPos)throw new r.KdbxError(i.ErrorCodes.InvalidState,"no end pos");const n=e.readBytesNoAdvance(0,this.kdbx.header.endPos);return h.getHmacKey(t,new A.Int64(4294967295,4294967295)).then((e=>m.hmacSha256(e,n)))}checkHeaderHashV3(e){if(this.kdbx.meta.headerHash){const t=this.kdbx.meta.headerHash;return this.getHeaderHash(e).then((e=>{if(!c.arrayBufferEquals(t,e))throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"header hash mismatch")}))}return Promise.resolve()}computeKeysV4(){const e=this.kdbx.header.masterSeed;if(!e||32!==e.byteLength)return Promise.reject(new r.KdbxError(i.ErrorCodes.FileCorrupt,"bad master seed"));const t=this.kdbx.header.kdfParameters;if(!t)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no kdf params");const n=t.get("S");if(!(n instanceof ArrayBuffer))throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no salt");return this.kdbx.credentials.getHash(n).then((n=>f.encrypt(n,t).then((t=>{if(c.zeroBuffer(n),!t||32!==t.byteLength)return Promise.reject(new r.KdbxError(i.ErrorCodes.Unsupported,"bad derived key"));const s=new Uint8Array(65);return s.set(new Uint8Array(e),0),s.set(new Uint8Array(t),e.byteLength),s[64]=1,c.zeroBuffer(t),c.zeroBuffer(e),Promise.all([m.sha256(s.buffer.slice(0,64)),m.sha512(s.buffer)]).then((e=>(c.zeroBuffer(s),{cipherKey:e[0],hmacKey:e[1]})))}))))}decryptData(e,t){const n=this.kdbx.header.dataCipherUuid;if(!n)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no cipher id");switch(n.toString()){case i.CipherId.Aes:return this.transformDataV4Aes(e,t,!1);case i.CipherId.ChaCha20:return this.transformDataV4ChaCha20(e,t);default:return Promise.reject(new r.KdbxError(i.ErrorCodes.Unsupported,"unsupported cipher"))}}encryptData(e,t){const n=this.kdbx.header.dataCipherUuid;if(!n)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no cipher id");switch(n.toString()){case i.CipherId.Aes:return this.transformDataV4Aes(e,t,!0);case i.CipherId.ChaCha20:return this.transformDataV4ChaCha20(e,t);default:return Promise.reject(new r.KdbxError(i.ErrorCodes.Unsupported,"unsupported cipher"))}}transformDataV4Aes(e,t,n){const s=m.createAesCbc(),o=this.kdbx.header.encryptionIV;if(!o)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no encryption IV");return s.importKey(t).then((()=>n?s.encrypt(e,o):s.decrypt(e,o)))}transformDataV4ChaCha20(e,t){const n=this.kdbx.header.encryptionIV;if(!n)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,"no encryption IV");return m.chacha20(e,t,n)}cleanXml(){this.preserveXml||(this.kdbx.xml=void 0)}}},171:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxGroup=void 0;const s=n(638),i=n(943),r=n(554),o=n(552),a=n(270),l=n(596),c=n(513);class u{constructor(){this.uuid=new o.KdbxUuid,this.tags=[],this.times=new r.KdbxTimes,this.groups=[],this.entries=[]}get lastModTime(){var e,t;return null!==(t=null===(e=this.times.lastModTime)||void 0===e?void 0:e.getTime())&&void 0!==t?t:0}get locationChanged(){var e,t;return null!==(t=null===(e=this.times.locationChanged)||void 0===e?void 0:e.getTime())&&void 0!==t?t:0}readNode(e,t){var n,c;switch(e.tagName){case s.Elem.Uuid:this.uuid=null!==(n=i.getUuid(e))&&void 0!==n?n:new o.KdbxUuid;break;case s.Elem.Name:this.name=i.getText(e);break;case s.Elem.Notes:this.notes=i.getText(e);break;case s.Elem.Icon:this.icon=i.getNumber(e);break;case s.Elem.CustomIconID:this.customIcon=i.getUuid(e);break;case s.Elem.Tags:this.tags=i.getTags(e);break;case s.Elem.Times:this.times=r.KdbxTimes.read(e);break;case s.Elem.IsExpanded:this.expanded=null!==(c=i.getBoolean(e))&&void 0!==c?c:void 0;break;case s.Elem.GroupDefaultAutoTypeSeq:this.defaultAutoTypeSeq=i.getText(e);break;case s.Elem.EnableAutoType:this.enableAutoType=i.getBoolean(e);break;case s.Elem.EnableSearching:this.enableSearching=i.getBoolean(e);break;case s.Elem.LastTopVisibleEntry:this.lastTopVisibleEntry=i.getUuid(e);break;case s.Elem.Group:this.groups.push(u.read(e,t,this));break;case s.Elem.Entry:this.entries.push(a.KdbxEntry.read(e,t,this));break;case s.Elem.CustomData:this.customData=l.KdbxCustomData.read(e);break;case s.Elem.PreviousParentGroup:this.previousParentGroup=i.getUuid(e)}}write(e,t){const n=i.addChildNode(e,s.Elem.Group);i.setUuid(i.addChildNode(n,s.Elem.Uuid),this.uuid),i.setText(i.addChildNode(n,s.Elem.Name),this.name),i.setText(i.addChildNode(n,s.Elem.Notes),this.notes),i.setNumber(i.addChildNode(n,s.Elem.Icon),this.icon),this.tags.length&&t.kdbx.versionIsAtLeast(4,1)&&i.setTags(i.addChildNode(n,s.Elem.Tags),this.tags),this.customIcon&&i.setUuid(i.addChildNode(n,s.Elem.CustomIconID),this.customIcon),void 0!==this.previousParentGroup&&t.kdbx.versionIsAtLeast(4,1)&&i.setUuid(i.addChildNode(n,s.Elem.PreviousParentGroup),this.previousParentGroup),this.customData&&l.KdbxCustomData.write(n,t,this.customData),this.times.write(n,t),i.setBoolean(i.addChildNode(n,s.Elem.IsExpanded),this.expanded),i.setText(i.addChildNode(n,s.Elem.GroupDefaultAutoTypeSeq),this.defaultAutoTypeSeq),i.setBoolean(i.addChildNode(n,s.Elem.EnableAutoType),this.enableAutoType),i.setBoolean(i.addChildNode(n,s.Elem.EnableSearching),this.enableSearching),i.setUuid(i.addChildNode(n,s.Elem.LastTopVisibleEntry),this.lastTopVisibleEntry);for(const e of this.groups)e.write(n,t);for(const e of this.entries)e.write(n,t)}*allGroups(){yield this;for(const e of this.groups)for(const t of e.allGroups())yield t}*allEntries(){for(const e of this.allGroups())for(const t of e.entries)yield t}*allGroupsAndEntries(){yield this;for(const e of this.entries)yield e;for(const e of this.groups)for(const t of e.allGroupsAndEntries())yield t}merge(e){const t=e.remoteGroups.get(this.uuid.id);if(t){t.lastModTime>this.lastModTime&&this.copyFrom(t),this.groups=this.mergeCollection(this.groups,t.groups,e.groups,e.remoteGroups,e.deleted),this.entries=this.mergeCollection(this.entries,t.entries,e.entries,e.remoteEntries,e.deleted);for(const t of this.groups)t.merge(e);for(const t of this.entries)t.merge(e)}}mergeCollection(e,t,n,s,i){const r=[];for(const t of e){if(!t.uuid||i.has(t.uuid.id))continue;const e=s.get(t.uuid.id);e?e.locationChanged<=t.locationChanged&&r.push(t):r.push(t)}let o=-1;for(const e of t){if(o++,!e.uuid||i.has(e.uuid.id))continue;const s=n.get(e.uuid.id);if(s&&e.locationChanged>s.locationChanged)s.parentGroup=this,r.splice(u.findInsertIx(r,t,o),0,s);else if(!s){let n;if(e instanceof u){const t=new u;t.copyFrom(e),n=t}else{const t=new a.KdbxEntry;t.copyFrom(e),n=t}n.parentGroup=this,r.splice(u.findInsertIx(r,t,o),0,n)}}return r}static findInsertIx(e,t,n){let s=e.length,i=-1;for(let r=0;r<=e.length;r++){let o=0;const a=n>0?t[n-1].uuid.id:void 0,l=n+1<t.length?t[n+1].uuid.id:void 0,c=r>0?e[r-1].uuid.id:void 0,u=r<e.length?e[r].uuid.id:void 0;a||c?a===c&&(o+=5):o+=1,l||u?l===u&&(o+=5):o+=2,o>i&&(s=r,i=o)}return s}copyFrom(e){this.uuid=e.uuid,this.name=e.name,this.notes=e.notes,this.icon=e.icon,this.customIcon=e.customIcon,this.times=e.times.clone(),this.expanded=e.expanded,this.defaultAutoTypeSeq=e.defaultAutoTypeSeq,this.enableAutoType=e.enableAutoType,this.enableSearching=e.enableSearching,this.lastTopVisibleEntry=e.lastTopVisibleEntry}static create(e,t){const n=new u;return n.uuid=o.KdbxUuid.random(),n.icon=c.Icons.Folder,n.times=r.KdbxTimes.create(),n.name=e,n.parentGroup=t,n.expanded=!0,n.enableAutoType=null,n.enableSearching=null,n.lastTopVisibleEntry=new o.KdbxUuid,n}static read(e,t,n){const s=new u;for(let n=0,i=e.childNodes,r=i.length;n<r;n++){const e=i[n];e.tagName&&s.readNode(e,t)}return s.uuid.empty&&(s.uuid=o.KdbxUuid.random()),s.parentGroup=n,s}}t.KdbxGroup=u},447:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxHeader=void 0;const s=n(513),i=n(552),r=n(336),o=n(909),a=n(325),l=n(100),c=n(613),u=n(880),d=n(758),h=[{name:"EndOfHeader"},{name:"Comment"},{name:"CipherID"},{name:"CompressionFlags"},{name:"MasterSeed"},{name:"TransformSeed",ver:[3]},{name:"TransformRounds",ver:[3]},{name:"EncryptionIV"},{name:"ProtectedStreamKey",ver:[3]},{name:"StreamStartBytes",ver:[3]},{name:"InnerRandomStreamID",ver:[3]},{name:"KdfParameters",ver:[4]},{name:"PublicCustomData",ver:[4]}],p=[{name:"EndOfHeader"},{name:"InnerRandomStreamID"},{name:"InnerRandomStreamKey"},{name:"Binary",skipHeader:!0}],m={DefaultFileVersionMajor:4,MinSupportedVersion:3,MaxSupportedVersion:4,FlagBinaryProtected:1,InnerHeaderBinaryFieldId:3,DefaultKdfAlgo:s.KdfId.Argon2d,DefaultKdfSaltLength:32,DefaultKdfParallelism:1,DefaultKdfIterations:2,DefaultKdfMemory:1048576,DefaultKdfVersion:19,EndOfHeader:13675786},g={3:1,4:0},f={3:1,4:1};class A{constructor(){this.versionMajor=0,this.versionMinor=0}readSignature(e){if(e.byteLength<8)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"not enough data");const t=e.getUint32(!0),n=e.getUint32(!0);if(t!==s.Signatures.FileMagic||n!==s.Signatures.Sig2Kdbx)throw new a.KdbxError(s.ErrorCodes.BadSignature)}writeSignature(e){e.setUint32(s.Signatures.FileMagic,!0),e.setUint32(s.Signatures.Sig2Kdbx,!0)}readVersion(e){const t=e.getUint16(!0),n=e.getUint16(!0);if(n>m.MaxSupportedVersion||n<m.MinSupportedVersion)throw new a.KdbxError(s.ErrorCodes.InvalidVersion);if(t>f[n])throw new a.KdbxError(s.ErrorCodes.InvalidVersion);this.versionMinor=t,this.versionMajor=n}writeVersion(e){if(!this.versionMajor)throw new a.KdbxError(s.ErrorCodes.InvalidState,"version is not set");e.setUint16(this.versionMinor,!0),e.setUint16(this.versionMajor,!0)}readCipherID(e){if(16!==e.byteLength)throw new a.KdbxError(s.ErrorCodes.Unsupported,"cipher");this.dataCipherUuid=new i.KdbxUuid(e)}writeCipherID(e){if(!this.dataCipherUuid)throw new a.KdbxError(s.ErrorCodes.InvalidState,"cipher id is not set");this.writeFieldSize(e,16),e.writeBytes(this.dataCipherUuid.bytes)}readCompressionFlags(e){const t=new DataView(e).getUint32(0,!0);if(t<0||t>=Object.keys(s.CompressionAlgorithm).length)throw new a.KdbxError(s.ErrorCodes.Unsupported,"compression");this.compression=t}writeCompressionFlags(e){if("number"!=typeof this.compression)throw new a.KdbxError(s.ErrorCodes.InvalidState,"compression is not set");this.writeFieldSize(e,4),e.setUint32(this.compression,!0)}readMasterSeed(e){this.masterSeed=e}writeMasterSeed(e){if(!this.masterSeed)throw new a.KdbxError(s.ErrorCodes.InvalidState,"master seed is not set");this.writeFieldBytes(e,this.masterSeed)}readTransformSeed(e){this.transformSeed=e}writeTransformSeed(e){if(!this.transformSeed)throw new a.KdbxError(s.ErrorCodes.InvalidState,"transform seed is not set");this.writeFieldBytes(e,this.transformSeed)}readTransformRounds(e){this.keyEncryptionRounds=new o.BinaryStream(e).getUint64(!0)}writeTransformRounds(e){if(!this.keyEncryptionRounds)throw new a.KdbxError(s.ErrorCodes.InvalidState,"key encryption rounds is not set");this.writeFieldSize(e,8),e.setUint64(this.keyEncryptionRounds,!0)}readEncryptionIV(e){this.encryptionIV=e}writeEncryptionIV(e){if(!this.encryptionIV)throw new a.KdbxError(s.ErrorCodes.InvalidState,"encryption IV is not set");this.writeFieldBytes(e,this.encryptionIV)}readProtectedStreamKey(e){this.protectedStreamKey=e}writeProtectedStreamKey(e){if(!this.protectedStreamKey)throw new a.KdbxError(s.ErrorCodes.InvalidState,"protected stream key is not set");this.writeFieldBytes(e,this.protectedStreamKey)}readStreamStartBytes(e){this.streamStartBytes=e}writeStreamStartBytes(e){if(!this.streamStartBytes)throw new a.KdbxError(s.ErrorCodes.InvalidState,"stream start bytes is not set");this.writeFieldBytes(e,this.streamStartBytes)}readInnerRandomStreamID(e){this.crsAlgorithm=new DataView(e).getUint32(0,!0)}writeInnerRandomStreamID(e){if(!this.crsAlgorithm)throw new a.KdbxError(s.ErrorCodes.InvalidState,"CRSAlgorithm is not set");this.writeFieldSize(e,4),e.setUint32(this.crsAlgorithm,!0)}readInnerRandomStreamKey(e){this.protectedStreamKey=e}writeInnerRandomStreamKey(e){if(!this.protectedStreamKey)throw new a.KdbxError(s.ErrorCodes.InvalidState,"protected stream key is not set");this.writeFieldBytes(e,this.protectedStreamKey)}readKdfParameters(e){this.kdfParameters=r.VarDictionary.read(new o.BinaryStream(e))}writeKdfParameters(e){if(!this.kdfParameters)throw new a.KdbxError(s.ErrorCodes.InvalidState,"KDF parameters are not set");const t=new o.BinaryStream;this.kdfParameters.write(t),this.writeFieldBytes(e,t.getWrittenBytes())}readPublicCustomData(e){this.publicCustomData=r.VarDictionary.read(new o.BinaryStream(e))}hasPublicCustomData(){return!!this.publicCustomData}writePublicCustomData(e){if(this.publicCustomData){const t=new o.BinaryStream;this.publicCustomData.write(t),this.writeFieldBytes(e,t.getWrittenBytes())}}readBinary(e,t){const n=new DataView(e).getUint8(0)&m.FlagBinaryProtected,s=e.slice(1),i=n?d.ProtectedValue.fromBinary(s):s;t.kdbx.binaries.addWithNextId(i)}writeBinary(e,t){if(this.versionMajor<4)return;const n=t.kdbx.binaries.getAll();for(const t of n)if(e.setUint8(m.InnerHeaderBinaryFieldId),t.value instanceof d.ProtectedValue){const n=t.value.getBinary();this.writeFieldSize(e,n.byteLength+1),e.setUint8(m.FlagBinaryProtected),e.writeBytes(n),l.zeroBuffer(n)}else this.writeFieldSize(e,t.value.byteLength+1),e.setUint8(0),e.writeBytes(t.value)}writeEndOfHeader(e){this.writeFieldSize(e,4),e.setUint32(m.EndOfHeader,!1)}readField(e,t,n){const i=e.getUint8(),r=this.readFieldSize(e),o=r>0?e.readBytes(r):new ArrayBuffer(0),l=t[i];switch(l.name){case"EndOfHeader":case"Comment":break;case"CipherID":this.readCipherID(o);break;case"CompressionFlags":this.readCompressionFlags(o);break;case"MasterSeed":this.readMasterSeed(o);break;case"TransformSeed":this.readTransformSeed(o);break;case"TransformRounds":this.readTransformRounds(o);break;case"EncryptionIV":this.readEncryptionIV(o);break;case"ProtectedStreamKey":this.readProtectedStreamKey(o);break;case"StreamStartBytes":this.readStreamStartBytes(o);break;case"InnerRandomStreamID":this.readInnerRandomStreamID(o);break;case"KdfParameters":this.readKdfParameters(o);break;case"PublicCustomData":this.readPublicCustomData(o);break;case"InnerRandomStreamKey":this.readInnerRandomStreamKey(o);break;case"Binary":this.readBinary(o,n);break;default:throw new a.KdbxError(s.ErrorCodes.InvalidArg,`bad header field: ${l.name}`)}return 0!==i}writeField(e,t,n,i){const r=n[t];if(r){if(r.ver&&!r.ver.includes(this.versionMajor))return;switch(r.name){case"PublicCustomData":if(!this.hasPublicCustomData())return;break;case"Comment":return}switch(r.skipHeader||e.setUint8(t),r.name){case"EndOfHeader":this.writeEndOfHeader(e);break;case"CipherID":this.writeCipherID(e);break;case"CompressionFlags":this.writeCompressionFlags(e);break;case"MasterSeed":this.writeMasterSeed(e);break;case"TransformSeed":this.writeTransformSeed(e);break;case"TransformRounds":this.writeTransformRounds(e);break;case"EncryptionIV":this.writeEncryptionIV(e);break;case"ProtectedStreamKey":this.writeProtectedStreamKey(e);break;case"StreamStartBytes":this.writeStreamStartBytes(e);break;case"InnerRandomStreamID":this.writeInnerRandomStreamID(e);break;case"KdfParameters":this.writeKdfParameters(e);break;case"PublicCustomData":this.writePublicCustomData(e);break;case"InnerRandomStreamKey":this.writeInnerRandomStreamKey(e);break;case"Binary":if(!i)throw new a.KdbxError(s.ErrorCodes.InvalidArg,"context is not set");this.writeBinary(e,i);break;default:throw new a.KdbxError(s.ErrorCodes.InvalidArg,`Bad header field: ${r.name}`)}}}readFieldSize(e){return(0|this.versionMajor)>=4?e.getUint32(!0):e.getUint16(!0)}writeFieldSize(e,t){(0|this.versionMajor)>=4?e.setUint32(t,!0):e.setUint16(t,!0)}writeFieldBytes(e,t){this.writeFieldSize(e,t.byteLength),e.writeBytes(t)}validate(){if(!this.versionMajor||void 0===this.versionMinor)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no version in header");if(void 0===this.dataCipherUuid)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no cipher in header");if(void 0===this.compression)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no compression in header");if(!this.masterSeed)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no master seed in header");if(this.versionMajor<4&&!this.transformSeed)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no transform seed in header");if(this.versionMajor<4&&!this.keyEncryptionRounds)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no key encryption rounds in header");if(!this.encryptionIV)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no encryption iv in header");if(this.versionMajor<4&&!this.protectedStreamKey)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no protected stream key in header");if(this.versionMajor<4&&!this.streamStartBytes)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no stream start bytes in header");if(this.versionMajor<4&&!this.crsAlgorithm)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no crs algorithm in header");if(this.versionMajor>=4&&!this.kdfParameters)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no kdf parameters in header")}validateInner(){if(!this.protectedStreamKey)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no protected stream key in header");if(!this.crsAlgorithm)throw new a.KdbxError(s.ErrorCodes.FileCorrupt,"no crs algorithm in header")}createKdfParameters(e){switch(e||(e=m.DefaultKdfAlgo),e){case s.KdfId.Argon2d:case s.KdfId.Argon2id:this.kdfParameters=new r.VarDictionary,this.kdfParameters.set("$UUID",r.ValueType.Bytes,l.base64ToBytes(e)),this.kdfParameters.set("S",r.ValueType.Bytes,c.random(m.DefaultKdfSaltLength)),this.kdfParameters.set("P",r.ValueType.UInt32,m.DefaultKdfParallelism),this.kdfParameters.set("I",r.ValueType.UInt64,new u.Int64(m.DefaultKdfIterations)),this.kdfParameters.set("M",r.ValueType.UInt64,new u.Int64(m.DefaultKdfMemory)),this.kdfParameters.set("V",r.ValueType.UInt32,m.DefaultKdfVersion);break;case s.KdfId.Aes:this.kdfParameters=new r.VarDictionary,this.kdfParameters.set("$UUID",r.ValueType.Bytes,l.base64ToBytes(s.KdfId.Aes)),this.kdfParameters.set("S",r.ValueType.Bytes,c.random(m.DefaultKdfSaltLength)),this.kdfParameters.set("R",r.ValueType.UInt64,new u.Int64(s.Defaults.KeyEncryptionRounds));break;default:throw new a.KdbxError(s.ErrorCodes.InvalidArg,"bad KDF algo")}}write(e){this.validate(),this.writeSignature(e),this.writeVersion(e);for(let t=1;t<h.length;t++)this.writeField(e,t,h);this.writeField(e,0,h),this.endPos=e.pos}writeInnerHeader(e,t){this.validateInner();for(let n=1;n<p.length;n++)this.writeField(e,n,p,t);this.writeField(e,0,p,t)}generateSalts(){if(this.masterSeed=c.random(32),this.versionMajor<4)this.transformSeed=c.random(32),this.streamStartBytes=c.random(32),this.protectedStreamKey=c.random(32),this.encryptionIV=c.random(16);else{if(this.protectedStreamKey=c.random(64),!this.kdfParameters||!this.dataCipherUuid)throw new a.KdbxError(s.ErrorCodes.InvalidState,"no kdf params");this.kdfParameters.set("S",r.ValueType.Bytes,c.random(32));const e=this.dataCipherUuid.toString()===s.CipherId.ChaCha20?12:16;this.encryptionIV=c.random(e)}}setVersion(e){if(3!==e&&4!==e)throw new a.KdbxError(s.ErrorCodes.InvalidArg,"bad file version");this.versionMajor=e,this.versionMinor=g[e],4===this.versionMajor?(this.kdfParameters||this.createKdfParameters(),this.crsAlgorithm=s.CrsAlgorithm.ChaCha20,this.keyEncryptionRounds=void 0):(this.kdfParameters=void 0,this.crsAlgorithm=s.CrsAlgorithm.Salsa20,this.keyEncryptionRounds=s.Defaults.KeyEncryptionRounds)}setKdf(e){this.createKdfParameters(e)}static read(e,t){const n=new A;for(n.readSignature(e),n.readVersion(e);n.readField(e,h,t););return n.endPos=e.pos,n.validate(),n}readInnerHeader(e,t){for(;this.readField(e,p,t););this.validateInner()}static create(){const e=new A;return e.versionMajor=m.DefaultFileVersionMajor,e.versionMinor=g[m.DefaultFileVersionMajor],e.dataCipherUuid=new i.KdbxUuid(s.CipherId.Aes),e.compression=s.CompressionAlgorithm.GZip,e.crsAlgorithm=s.CrsAlgorithm.ChaCha20,e.createKdfParameters(),e}}t.KdbxHeader=A,A.MaxFileVersion=m.MaxSupportedVersion},296:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxMeta=void 0;const s=n(552),i=n(943),r=n(638),o=n(596),a=n(325),l=n(513),c=n(968),u="KdbxWeb";class d{constructor(){this._memoryProtection={},this.customData=new Map,this.customIcons=new Map}get editState(){return this._editState}set editState(e){this._editState=e}getOrCreateEditState(){return this._editState||(this._editState={}),this._editState}get name(){return this._name}set name(e){e!==this._name&&(this._name=e,this.nameChanged=new Date)}get desc(){return this._desc}set desc(e){e!==this._desc&&(this._desc=e,this.descChanged=new Date)}get defaultUser(){return this._defaultUser}set defaultUser(e){e!==this._defaultUser&&(this._defaultUser=e,this.defaultUserChanged=new Date)}get mntncHistoryDays(){return this._mntncHistoryDays}set mntncHistoryDays(e){e!==this._mntncHistoryDays&&(this._mntncHistoryDays=e,this.getOrCreateEditState().mntncHistoryDaysChanged=new Date)}get color(){return this._color}set color(e){e!==this._color&&(this._color=e,this.getOrCreateEditState().colorChanged=new Date)}get keyChangeRec(){return this._keyChangeRec}set keyChangeRec(e){e!==this._keyChangeRec&&(this._keyChangeRec=e,this.getOrCreateEditState().keyChangeRecChanged=new Date)}get keyChangeForce(){return this._keyChangeForce}set keyChangeForce(e){e!==this._keyChangeForce&&(this._keyChangeForce=e,this.getOrCreateEditState().keyChangeForceChanged=new Date)}get recycleBinEnabled(){return this._recycleBinEnabled}set recycleBinEnabled(e){e!==this._recycleBinEnabled&&(this._recycleBinEnabled=e,this.recycleBinChanged=new Date)}get recycleBinUuid(){return this._recycleBinUuid}set recycleBinUuid(e){e!==this._recycleBinUuid&&(this._recycleBinUuid=e,this.recycleBinChanged=new Date)}get entryTemplatesGroup(){return this._entryTemplatesGroup}set entryTemplatesGroup(e){e!==this._entryTemplatesGroup&&(this._entryTemplatesGroup=e,this.entryTemplatesGroupChanged=new Date)}get historyMaxItems(){return this._historyMaxItems}set historyMaxItems(e){e!==this._historyMaxItems&&(this._historyMaxItems=e,this.getOrCreateEditState().historyMaxItemsChanged=new Date)}get historyMaxSize(){return this._historyMaxSize}set historyMaxSize(e){e!==this._historyMaxSize&&(this._historyMaxSize=e,this.getOrCreateEditState().historyMaxSizeChanged=new Date)}get lastSelectedGroup(){return this._lastSelectedGroup}set lastSelectedGroup(e){e!==this._lastSelectedGroup&&(this._lastSelectedGroup=e,this.getOrCreateEditState().lastSelectedGroupChanged=new Date)}get lastTopVisibleGroup(){return this._lastTopVisibleGroup}set lastTopVisibleGroup(e){e!==this._lastTopVisibleGroup&&(this._lastTopVisibleGroup=e,this.getOrCreateEditState().lastTopVisibleGroupChanged=new Date)}get memoryProtection(){return this._memoryProtection}set memoryProtection(e){e!==this._memoryProtection&&(this._memoryProtection=e,this.getOrCreateEditState().memoryProtectionChanged=new Date)}readNode(e,t){var n;switch(e.tagName){case r.Elem.Generator:this.generator=i.getText(e);break;case r.Elem.HeaderHash:this.headerHash=i.getBytes(e);break;case r.Elem.SettingsChanged:this.settingsChanged=i.getDate(e);break;case r.Elem.DbName:this._name=i.getText(e);break;case r.Elem.DbNameChanged:this.nameChanged=i.getDate(e);break;case r.Elem.DbDesc:this._desc=i.getText(e);break;case r.Elem.DbDescChanged:this.descChanged=i.getDate(e);break;case r.Elem.DbDefaultUser:this._defaultUser=i.getText(e);break;case r.Elem.DbDefaultUserChanged:this.defaultUserChanged=i.getDate(e);break;case r.Elem.DbMntncHistoryDays:this._mntncHistoryDays=i.getNumber(e);break;case r.Elem.DbColor:this._color=i.getText(e);break;case r.Elem.DbKeyChanged:this.keyChanged=i.getDate(e);break;case r.Elem.DbKeyChangeRec:this._keyChangeRec=i.getNumber(e);break;case r.Elem.DbKeyChangeForce:this._keyChangeForce=i.getNumber(e);break;case r.Elem.RecycleBinEnabled:this._recycleBinEnabled=null!==(n=i.getBoolean(e))&&void 0!==n?n:void 0;break;case r.Elem.RecycleBinUuid:this._recycleBinUuid=i.getUuid(e);break;case r.Elem.RecycleBinChanged:this.recycleBinChanged=i.getDate(e);break;case r.Elem.EntryTemplatesGroup:this._entryTemplatesGroup=i.getUuid(e);break;case r.Elem.EntryTemplatesGroupChanged:this.entryTemplatesGroupChanged=i.getDate(e);break;case r.Elem.HistoryMaxItems:this._historyMaxItems=i.getNumber(e);break;case r.Elem.HistoryMaxSize:this._historyMaxSize=i.getNumber(e);break;case r.Elem.LastSelectedGroup:this._lastSelectedGroup=i.getUuid(e);break;case r.Elem.LastTopVisibleGroup:this._lastTopVisibleGroup=i.getUuid(e);break;case r.Elem.MemoryProt:this.readMemoryProtection(e);break;case r.Elem.CustomIcons:this.readCustomIcons(e);break;case r.Elem.Binaries:this.readBinaries(e,t);break;case r.Elem.CustomData:this.readCustomData(e)}}readMemoryProtection(e){var t,n,s,o,a;for(let l=0,c=e.childNodes,u=c.length;l<u;l++){const e=c[l];switch(e.tagName){case r.Elem.ProtTitle:this.memoryProtection.title=null!==(t=i.getBoolean(e))&&void 0!==t?t:void 0;break;case r.Elem.ProtUserName:this.memoryProtection.userName=null!==(n=i.getBoolean(e))&&void 0!==n?n:void 0;break;case r.Elem.ProtPassword:this.memoryProtection.password=null!==(s=i.getBoolean(e))&&void 0!==s?s:void 0;break;case r.Elem.ProtUrl:this.memoryProtection.url=null!==(o=i.getBoolean(e))&&void 0!==o?o:void 0;break;case r.Elem.ProtNotes:this.memoryProtection.notes=null!==(a=i.getBoolean(e))&&void 0!==a?a:void 0}}}writeMemoryProtection(e){const t=i.addChildNode(e,r.Elem.MemoryProt);i.setBoolean(i.addChildNode(t,r.Elem.ProtTitle),this.memoryProtection.title),i.setBoolean(i.addChildNode(t,r.Elem.ProtUserName),this.memoryProtection.userName),i.setBoolean(i.addChildNode(t,r.Elem.ProtPassword),this.memoryProtection.password),i.setBoolean(i.addChildNode(t,r.Elem.ProtUrl),this.memoryProtection.url),i.setBoolean(i.addChildNode(t,r.Elem.ProtNotes),this.memoryProtection.notes)}readCustomIcons(e){for(let t=0,n=e.childNodes,s=n.length;t<s;t++){const e=n[t];e.tagName===r.Elem.CustomIconItem&&this.readCustomIcon(e)}}readCustomIcon(e){var t;let n,s,o,a;for(let l=0,c=e.childNodes,u=c.length;l<u;l++){const e=c[l];switch(e.tagName){case r.Elem.CustomIconItemID:n=i.getUuid(e);break;case r.Elem.CustomIconItemData:s=i.getBytes(e);break;case r.Elem.CustomIconItemName:o=null!==(t=i.getText(e))&&void 0!==t?t:void 0;break;case r.Elem.LastModTime:a=i.getDate(e)}}n&&s&&this.customIcons.set(n.id,{data:s,name:o,lastModified:a})}writeCustomIcons(e,t){const n=i.addChildNode(e,r.Elem.CustomIcons);for(const[e,{data:s,name:o,lastModified:a}]of this.customIcons)if(s){const l=i.addChildNode(n,r.Elem.CustomIconItem);i.setUuid(i.addChildNode(l,r.Elem.CustomIconItemID),e),i.setBytes(i.addChildNode(l,r.Elem.CustomIconItemData),s),t.kdbx.versionIsAtLeast(4,1)&&(o&&i.setText(i.addChildNode(l,r.Elem.CustomIconItemName),o),a&&i.setDate(i.addChildNode(l,r.Elem.LastModTime),a))}}readBinaries(e,t){for(let n=0,s=e.childNodes,i=s.length;n<i;n++){const e=s[n];e.tagName===r.Elem.Binary&&this.readBinary(e,t)}}readBinary(e,t){const n=e.getAttribute(r.Attr.Id),s=i.getProtectedBinary(e);if(n&&s){if(c.KdbxBinaries.isKdbxBinaryRef(s))throw new a.KdbxError(l.ErrorCodes.FileCorrupt,"binary ref in meta");t.kdbx.binaries.addWithId(n,s)}}writeBinaries(e,t){const n=i.addChildNode(e,r.Elem.Binaries),s=t.kdbx.binaries.getAll();for(const e of s){const t=i.addChildNode(n,r.Elem.Binary);t.setAttribute(r.Attr.Id,e.ref),i.setProtectedBinary(t,e.value)}}readCustomData(e){this.customData=o.KdbxCustomData.read(e)}writeCustomData(e,t){o.KdbxCustomData.write(e,t,this.customData)}write(e,t){this.generator=u;const n=i.addChildNode(e,r.Elem.Meta);i.setText(i.addChildNode(n,r.Elem.Generator),u),t.kdbx.versionMajor<4?i.setBytes(i.addChildNode(n,r.Elem.HeaderHash),this.headerHash):this.settingsChanged&&t.setXmlDate(i.addChildNode(n,r.Elem.SettingsChanged),this.settingsChanged),i.setText(i.addChildNode(n,r.Elem.DbName),this.name),t.setXmlDate(i.addChildNode(n,r.Elem.DbNameChanged),this.nameChanged),i.setText(i.addChildNode(n,r.Elem.DbDesc),this.desc),t.setXmlDate(i.addChildNode(n,r.Elem.DbDescChanged),this.descChanged),i.setText(i.addChildNode(n,r.Elem.DbDefaultUser),this.defaultUser),t.setXmlDate(i.addChildNode(n,r.Elem.DbDefaultUserChanged),this.defaultUserChanged),i.setNumber(i.addChildNode(n,r.Elem.DbMntncHistoryDays),this.mntncHistoryDays),i.setText(i.addChildNode(n,r.Elem.DbColor),this.color),t.setXmlDate(i.addChildNode(n,r.Elem.DbKeyChanged),this.keyChanged),i.setNumber(i.addChildNode(n,r.Elem.DbKeyChangeRec),this.keyChangeRec),i.setNumber(i.addChildNode(n,r.Elem.DbKeyChangeForce),this.keyChangeForce),i.setBoolean(i.addChildNode(n,r.Elem.RecycleBinEnabled),this.recycleBinEnabled),i.setUuid(i.addChildNode(n,r.Elem.RecycleBinUuid),this.recycleBinUuid),t.setXmlDate(i.addChildNode(n,r.Elem.RecycleBinChanged),this.recycleBinChanged),i.setUuid(i.addChildNode(n,r.Elem.EntryTemplatesGroup),this.entryTemplatesGroup),t.setXmlDate(i.addChildNode(n,r.Elem.EntryTemplatesGroupChanged),this.entryTemplatesGroupChanged),i.setNumber(i.addChildNode(n,r.Elem.HistoryMaxItems),this.historyMaxItems),i.setNumber(i.addChildNode(n,r.Elem.HistoryMaxSize),this.historyMaxSize),i.setUuid(i.addChildNode(n,r.Elem.LastSelectedGroup),this.lastSelectedGroup),i.setUuid(i.addChildNode(n,r.Elem.LastTopVisibleGroup),this.lastTopVisibleGroup),this.writeMemoryProtection(n),this.writeCustomIcons(n,t),(t.exportXml||t.kdbx.versionMajor<4)&&this.writeBinaries(n,t),this.writeCustomData(n,t)}merge(e,t){var n,s,i,r,o,a;this.needUpdate(e.nameChanged,this.nameChanged)&&(this._name=e.name,this.nameChanged=e.nameChanged),this.needUpdate(e.descChanged,this.descChanged)&&(this._desc=e.desc,this.descChanged=e.descChanged),this.needUpdate(e.defaultUserChanged,this.defaultUserChanged)&&(this._defaultUser=e.defaultUser,this.defaultUserChanged=e.defaultUserChanged),this.needUpdate(e.keyChanged,this.keyChanged)&&(this.keyChanged=e.keyChanged),this.needUpdate(e.settingsChanged,this.settingsChanged)&&(this.settingsChanged=e.settingsChanged),this.needUpdate(e.recycleBinChanged,this.recycleBinChanged)&&(this._recycleBinEnabled=e.recycleBinEnabled,this._recycleBinUuid=e.recycleBinUuid,this.recycleBinChanged=e.recycleBinChanged),this.needUpdate(e.entryTemplatesGroupChanged,this.entryTemplatesGroupChanged)&&(this._entryTemplatesGroup=e.entryTemplatesGroup,this.entryTemplatesGroupChanged=e.entryTemplatesGroupChanged),this.mergeMapWithDates(this.customData,e.customData,t),this.mergeMapWithDates(this.customIcons,e.customIcons,t),(null===(n=this._editState)||void 0===n?void 0:n.historyMaxItemsChanged)||(this.historyMaxItems=e.historyMaxItems),(null===(s=this._editState)||void 0===s?void 0:s.historyMaxSizeChanged)||(this.historyMaxSize=e.historyMaxSize),(null===(i=this._editState)||void 0===i?void 0:i.keyChangeRecChanged)||(this.keyChangeRec=e.keyChangeRec),(null===(r=this._editState)||void 0===r?void 0:r.keyChangeForceChanged)||(this.keyChangeForce=e.keyChangeForce),(null===(o=this._editState)||void 0===o?void 0:o.mntncHistoryDaysChanged)||(this.mntncHistoryDays=e.mntncHistoryDays),(null===(a=this._editState)||void 0===a?void 0:a.colorChanged)||(this.color=e.color)}mergeMapWithDates(e,t,n){for(const[s,i]of t){const t=e.get(s);t?t.lastModified&&i.lastModified&&i.lastModified>t.lastModified&&e.set(s,i):n.deleted.has(s)||e.set(s,i)}}needUpdate(e,t){return!!e&&(!t||e>t)}static create(){const e=new Date,t=new d;return t.generator=u,t.settingsChanged=e,t.mntncHistoryDays=l.Defaults.MntncHistoryDays,t.recycleBinEnabled=!0,t.historyMaxItems=l.Defaults.HistoryMaxItems,t.historyMaxSize=l.Defaults.HistoryMaxSize,t.nameChanged=e,t.descChanged=e,t.defaultUserChanged=e,t.recycleBinChanged=e,t.keyChangeRec=-1,t.keyChangeForce=-1,t.entryTemplatesGroup=new s.KdbxUuid,t.entryTemplatesGroupChanged=e,t.memoryProtection={title:!1,userName:!1,password:!0,url:!1,notes:!1},t}static read(e,t){const n=new d;for(let s=0,i=e.childNodes,r=i.length;s<r;s++){const e=i[s];e.tagName&&n.readNode(e,t)}return n}}t.KdbxMeta=d},554:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxTimes=void 0;const s=n(638),i=n(943);class r{readNode(e){switch(e.tagName){case s.Elem.CreationTime:this.creationTime=i.getDate(e);break;case s.Elem.LastModTime:this.lastModTime=i.getDate(e);break;case s.Elem.LastAccessTime:this.lastAccessTime=i.getDate(e);break;case s.Elem.ExpiryTime:this.expiryTime=i.getDate(e);break;case s.Elem.Expires:this.expires=i.getBoolean(e);break;case s.Elem.UsageCount:this.usageCount=i.getNumber(e);break;case s.Elem.LocationChanged:this.locationChanged=i.getDate(e)}}clone(){const e=new r;return e.creationTime=this.creationTime,e.lastModTime=this.lastModTime,e.lastAccessTime=this.lastAccessTime,e.expiryTime=this.expiryTime,e.expires=this.expires,e.usageCount=this.usageCount,e.locationChanged=this.locationChanged,e}update(){const e=new Date;this.lastModTime=e,this.lastAccessTime=e}write(e,t){const n=i.addChildNode(e,s.Elem.Times);t.setXmlDate(i.addChildNode(n,s.Elem.CreationTime),this.creationTime),t.setXmlDate(i.addChildNode(n,s.Elem.LastModTime),this.lastModTime),t.setXmlDate(i.addChildNode(n,s.Elem.LastAccessTime),this.lastAccessTime),t.setXmlDate(i.addChildNode(n,s.Elem.ExpiryTime),this.expiryTime),i.setBoolean(i.addChildNode(n,s.Elem.Expires),this.expires),i.setNumber(i.addChildNode(n,s.Elem.UsageCount),this.usageCount),t.setXmlDate(i.addChildNode(n,s.Elem.LocationChanged),this.locationChanged)}static create(){const e=new r,t=new Date;return e.creationTime=t,e.lastModTime=t,e.lastAccessTime=t,e.expiryTime=t,e.expires=!1,e.usageCount=0,e.locationChanged=t,e}static read(e){const t=new r;for(let n=0,s=e.childNodes,i=s.length;n<i;n++){const e=s[n];e.tagName&&t.readNode(e)}return t}}t.KdbxTimes=r},552:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KdbxUuid=void 0;const s=n(100),i=n(513),r=n(325),o=n(613);class a{constructor(e){if(void 0===e?e=new ArrayBuffer(16):"string"==typeof e&&(e=s.base64ToBytes(e)),16!==e.byteLength)throw new r.KdbxError(i.ErrorCodes.FileCorrupt,`bad UUID length: ${e.byteLength}`);this.id=s.bytesToBase64(e),this.empty="AAAAAAAAAAAAAAAAAAAAAA=="===this.id}equals(e){return e&&e.toString()===this.toString()||!1}get bytes(){return this.toBytes()}static random(){return new a(o.random(16))}toString(){return this.id}valueOf(){return this.id}toBytes(){return s.base64ToBytes(this.id)}}t.KdbxUuid=a},131:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Kdbx=void 0;const s=n(638),i=n(943),r=n(968),o=n(414),a=n(171),l=n(296),c=n(374),u=n(447),d=n(325),h=n(513),p=n(257),m=n(270),g=n(552);class f{constructor(){this.header=new u.KdbxHeader,this.credentials=new c.KdbxCredentials(null),this.meta=new l.KdbxMeta,this.binaries=new r.KdbxBinaries,this.groups=[],this.deletedObjects=[]}get versionMajor(){return this.header.versionMajor}get versionMinor(){return this.header.versionMinor}static create(e,t){if(!(e instanceof c.KdbxCredentials))throw new d.KdbxError(h.ErrorCodes.InvalidArg,"credentials");const n=new f;return n.credentials=e,n.header=u.KdbxHeader.create(),n.meta=l.KdbxMeta.create(),n.meta._name=t,n.createDefaultGroup(),n.createRecycleBin(),n.meta._lastSelectedGroup=n.getDefaultGroup().uuid,n.meta._lastTopVisibleGroup=n.getDefaultGroup().uuid,n}static load(e,t,n){if(!(e instanceof ArrayBuffer))return Promise.reject(new d.KdbxError(h.ErrorCodes.InvalidArg,"data"));if(!(t instanceof c.KdbxCredentials))return Promise.reject(new d.KdbxError(h.ErrorCodes.InvalidArg,"credentials"));const s=new f;s.credentials=t;const i=new p.KdbxFormat(s);return i.preserveXml=(null==n?void 0:n.preserveXml)||!1,i.load(e)}static loadXml(e,t){if("string"!=typeof e)return Promise.reject(new d.KdbxError(h.ErrorCodes.InvalidArg,"data"));if(!(t instanceof c.KdbxCredentials))return Promise.reject(new d.KdbxError(h.ErrorCodes.InvalidArg,"credentials"));const n=new f;return n.credentials=t,new p.KdbxFormat(n).loadXml(e)}save(){return new p.KdbxFormat(this).save()}saveXml(e=!1){return new p.KdbxFormat(this).saveXml(e)}createDefaultGroup(){if(this.groups.length)return;const e=a.KdbxGroup.create(this.meta.name||"");e.icon=h.Icons.FolderOpen,e.expanded=!0,this.groups.push(e)}createRecycleBin(){if(this.meta.recycleBinEnabled=!0,this.meta.recycleBinUuid&&this.getGroup(this.meta.recycleBinUuid))return;const e=this.getDefaultGroup(),t=a.KdbxGroup.create(h.Defaults.RecycleBinName,e);t.icon=h.Icons.TrashBin,t.enableAutoType=!1,t.enableSearching=!1,this.meta.recycleBinUuid=t.uuid,e.groups.push(t)}createGroup(e,t){const n=a.KdbxGroup.create(t,e);return e.groups.push(n),n}createEntry(e){const t=m.KdbxEntry.create(this.meta,e);return e.entries.push(t),t}getDefaultGroup(){if(!this.groups[0])throw new d.KdbxError(h.ErrorCodes.InvalidState,"empty default group");return this.groups[0]}getGroup(e,t){const n=t?t.groups:this.groups;for(const t of n){if(t.uuid.equals(e))return t;const n=this.getGroup(e,t);if(n)return n}}move(e,t,n){var s,i;const r=e instanceof a.KdbxGroup?"groups":"entries",o=null===(s=e.parentGroup)||void 0===s?void 0:s[r],l=null==o?void 0:o.indexOf(e);if(!("number"!=typeof l||l<0)){if(o.splice(l,1),t){const s=t[r];"number"==typeof n&&n>=0?s.splice(n,0,e):s.push(e)}else{const t=new Date;if(e instanceof a.KdbxGroup)for(const n of e.allGroupsAndEntries()){const e=n.uuid;this.addDeletedObject(e,t)}else e.uuid&&this.addDeletedObject(e.uuid,t)}e.previousParentGroup=null===(i=e.parentGroup)||void 0===i?void 0:i.uuid,e.parentGroup=null!=t?t:void 0,e.times.locationChanged=new Date}}addDeletedObject(e,t){const n=new o.KdbxDeletedObject;n.uuid=e,n.deletionTime=t,this.deletedObjects.push(n)}remove(e){let t;this.meta.recycleBinEnabled&&this.meta.recycleBinUuid&&(this.createRecycleBin(),t=this.getGroup(this.meta.recycleBinUuid)),this.move(e,t)}createBinary(e){return this.binaries.add(e)}importEntry(e,t,n){const s=new m.KdbxEntry,i=g.KdbxUuid.random();s.copyFrom(e),s.uuid=i;for(const t of e.history){const e=new m.KdbxEntry;e.copyFrom(t),e.uuid=i,s.history.push(e)}const o=new Map,a=new Set;for(const e of s.history.concat(s)){e.customIcon&&a.add(e.customIcon.id);for(const t of e.binaries.values())r.KdbxBinaries.isKdbxBinaryWithHash(t)&&o.set(t.hash,t)}for(const e of o.values())n.binaries.getValueByHash(e.hash)&&!this.binaries.getValueByHash(e.hash)&&this.binaries.addWithHash(e);for(const e of a){const t=n.meta.customIcons.get(e);t&&this.meta.customIcons.set(e,t)}return t.entries.push(s),s.parentGroup=t,s.times.update(),s}cleanup(e){const t=new Date,n=(null==e?void 0:e.historyRules)&&"number"==typeof this.meta.historyMaxItems&&this.meta.historyMaxItems>=0?this.meta.historyMaxItems:1/0,s=new Set,i=new Set,o=e=>{e.customIcon&&s.add(e.customIcon.id);for(const t of e.binaries.values())r.KdbxBinaries.isKdbxBinaryWithHash(t)&&i.add(t.hash)};for(const e of this.getDefaultGroup().allGroupsAndEntries())if(e instanceof m.KdbxEntry){if(e.history.length>n&&e.removeHistory(0,e.history.length-n),o(e),e.history)for(const t of e.history)o(t)}else e.customIcon&&s.add(e.customIcon.id);if(null==e?void 0:e.customIcons)for(const e of this.meta.customIcons.keys())if(!s.has(e)){const n=new g.KdbxUuid(e);this.addDeletedObject(n,t),this.meta.customIcons.delete(e)}if(null==e?void 0:e.binaries)for(const e of this.binaries.getAllWithHashes())i.has(e.hash)||this.binaries.deleteWithHash(e.hash)}merge(e){const t=this.getDefaultGroup(),n=e.getDefaultGroup();if(!t||!n)throw new d.KdbxError(h.ErrorCodes.MergeError,"no default group");if(!t.uuid.equals(n.uuid))throw new d.KdbxError(h.ErrorCodes.MergeError,"default group is different");const s=this.getObjectMap();for(const t of e.deletedObjects)t.uuid&&t.deletionTime&&!s.deleted.has(t.uuid.id)&&(this.deletedObjects.push(t),s.deleted.set(t.uuid.id,t.deletionTime));for(const t of e.binaries.getAllWithHashes())this.binaries.getValueByHash(t.hash)||this.binaries.addWithHash(t);const i=e.getObjectMap();s.remoteEntries=i.entries,s.remoteGroups=i.groups,this.meta.merge(e.meta,s),t.merge(s),this.cleanup({historyRules:!0,customIcons:!0,binaries:!0})}getLocalEditState(){const e={entries:{}};for(const t of this.getDefaultGroup().allEntries())t._editState&&t.uuid&&e.entries&&(e.entries[t.uuid.id]=t._editState);return this.meta._editState&&(e.meta=this.meta._editState),e}setLocalEditState(e){var t;for(const n of this.getDefaultGroup().allEntries())(null===(t=e.entries)||void 0===t?void 0:t[n.uuid.id])&&(n._editState=e.entries[n.uuid.id]);e.meta&&(this.meta._editState=e.meta)}removeLocalEditState(){for(const e of this.getDefaultGroup().allEntries())e._editState=void 0;this.meta._editState=void 0}upgrade(){this.setVersion(u.KdbxHeader.MaxFileVersion)}setVersion(e){this.meta.headerHash=void 0,this.meta.settingsChanged=new Date,this.header.setVersion(e)}setKdf(e){this.meta.headerHash=void 0,this.meta.settingsChanged=new Date,this.header.setKdf(e)}getObjectMap(){const e={entries:new Map,groups:new Map,remoteEntries:new Map,remoteGroups:new Map,deleted:new Map};for(const t of this.getDefaultGroup().allGroupsAndEntries()){if(e.entries.has(t.uuid.id))throw new d.KdbxError(h.ErrorCodes.MergeError,`duplicate: ${t.uuid}`);t instanceof m.KdbxEntry?e.entries.set(t.uuid.id,t):e.groups.set(t.uuid.id,t)}for(const t of this.deletedObjects)t.uuid&&t.deletionTime&&e.deleted.set(t.uuid.id,t.deletionTime);return e}loadFromXml(e){if(!this.xml)throw new d.KdbxError(h.ErrorCodes.InvalidState,"xml is not set");if(this.xml.documentElement.tagName!==s.Elem.DocNode)throw new d.KdbxError(h.ErrorCodes.FileCorrupt,"bad xml root");return this.parseMeta(e),this.binaries.computeHashes().then((()=>(this.parseRoot(e),this)))}parseMeta(e){if(!this.xml)throw new d.KdbxError(h.ErrorCodes.InvalidState,"xml is not set");const t=i.getChildNode(this.xml.documentElement,s.Elem.Meta,"no meta node");this.meta=l.KdbxMeta.read(t,e)}parseRoot(e){if(!this.xml)throw new d.KdbxError(h.ErrorCodes.InvalidState,"xml is not set");this.groups=[],this.deletedObjects=[];for(let t=0,n=i.getChildNode(this.xml.documentElement,s.Elem.Root,"no root node").childNodes,r=n.length;t<r;t++){const i=n[t];switch(i.tagName){case s.Elem.Group:this.readGroup(i,e);break;case s.Elem.DeletedObjects:this.readDeletedObjects(i)}}}readDeletedObjects(e){for(let t=0,n=e.childNodes,i=n.length;t<i;t++){const e=n[t];switch(e.tagName){case s.Elem.DeletedObject:this.deletedObjects.push(o.KdbxDeletedObject.read(e))}}}readGroup(e,t){this.groups.push(a.KdbxGroup.read(e,t))}buildXml(e){const t=i.create(s.Elem.DocNode);this.meta.write(t.documentElement,e);const n=i.addChildNode(t.documentElement,s.Elem.Root);for(const t of this.groups)t.write(n,e);const r=i.addChildNode(n,s.Elem.DeletedObjects);for(const t of this.deletedObjects)t.write(r,e);this.xml=t}versionIsAtLeast(e,t){return this.versionMajor>e||this.versionMajor===e&&this.versionMinor>=t}}t.Kdbx=f},909:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BinaryStream=void 0,t.BinaryStream=class{constructor(e){this._arrayBuffer=e||new ArrayBuffer(1024),this._dataView=new DataView(this._arrayBuffer),this._pos=0,this._canExpand=!e}get pos(){return this._pos}get byteLength(){return this._arrayBuffer.byteLength}readBytes(e){const t=this._arrayBuffer.slice(this._pos,this._pos+e);return this._pos+=e,t}readBytesToEnd(){const e=this._arrayBuffer.byteLength-this._pos;return this.readBytes(e)}readBytesNoAdvance(e,t){return this._arrayBuffer.slice(e,t)}writeBytes(e){const t=e instanceof ArrayBuffer?new Uint8Array(e):e;this.checkCapacity(t.length),new Uint8Array(this._arrayBuffer).set(t,this._pos),this._pos+=t.length}getWrittenBytes(){return this._arrayBuffer.slice(0,this._pos)}checkCapacity(e){const t=this._arrayBuffer.byteLength-this._pos;if(this._canExpand&&t<e){let t=this._arrayBuffer.byteLength;const n=this._pos+e;for(;t<n;)t*=2;const s=new Uint8Array(t);s.set(new Uint8Array(this._arrayBuffer)),this._arrayBuffer=s.buffer,this._dataView=new DataView(this._arrayBuffer)}}getInt8(){const e=this._dataView.getInt8(this._pos);return this._pos+=1,e}setInt8(e){this.checkCapacity(1),this._dataView.setInt8(this._pos,e),this._pos+=1}getUint8(){const e=this._dataView.getUint8(this._pos);return this._pos+=1,e}setUint8(e){this.checkCapacity(1),this._dataView.setUint8(this._pos,e),this._pos+=1}getInt16(e){const t=this._dataView.getInt16(this._pos,e);return this._pos+=2,t}setInt16(e,t){this.checkCapacity(2),this._dataView.setInt16(this._pos,e,t),this._pos+=2}getUint16(e){const t=this._dataView.getUint16(this._pos,e);return this._pos+=2,t}setUint16(e,t){this.checkCapacity(2),this._dataView.setUint16(this._pos,e,t),this._pos+=2}getInt32(e){const t=this._dataView.getInt32(this._pos,e);return this._pos+=4,t}setInt32(e,t){this.checkCapacity(4),this._dataView.setInt32(this._pos,e,t),this._pos+=4}getUint32(e){const t=this._dataView.getUint32(this._pos,e);return this._pos+=4,t}setUint32(e,t){this.checkCapacity(4),this._dataView.setUint32(this._pos,e,t),this._pos+=4}getFloat32(e){const t=this._dataView.getFloat32(this._pos,e);return this._pos+=4,t}setFloat32(e,t){this.checkCapacity(4),this._dataView.setFloat32(this._pos,e,t),this._pos+=4}getFloat64(e){const t=this._dataView.getFloat64(this._pos,e);return this._pos+=8,t}setFloat64(e,t){this.checkCapacity(8),this._dataView.setFloat64(this._pos,e,t),this._pos+=8}getUint64(e){let t=this.getUint32(e),n=this.getUint32(e);return e?n*=4294967296:t*=4294967296,t+n}setUint64(e,t){t?(this.setUint32(4294967295&e,!0),this.setUint32(Math.floor(e/4294967296),!0)):(this.checkCapacity(8),this.setUint32(Math.floor(e/4294967296),!1),this.setUint32(4294967295&e,!1))}}},100:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.zeroBuffer=t.arrayToBuffer=t.bytesToHex=t.hexToBytes=t.bytesToBase64=t.base64ToBytes=t.stringToBytes=t.bytesToString=t.arrayBufferEquals=void 0;const n=new TextEncoder,s=new TextDecoder;t.arrayBufferEquals=function(e,t){if(e.byteLength!==t.byteLength)return!1;const n=new Uint8Array(e),s=new Uint8Array(t);for(let e=0,t=n.length;e<t;e++)if(n[e]!==s[e])return!1;return!0},t.bytesToString=function(e){return e instanceof ArrayBuffer&&(e=new Uint8Array(e)),s.decode(e)},t.stringToBytes=function(e){return n.encode(e)},t.base64ToBytes=function(e){if("function"==typeof atob){const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}{const t=Buffer.from(e,"base64");return new Uint8Array(t)}},t.bytesToBase64=function(e){const t=e instanceof ArrayBuffer?new Uint8Array(e):e;if("function"==typeof btoa){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}return Buffer.from(e).toString("base64")},t.hexToBytes=function(e){const t=new Uint8Array(Math.ceil(e.length/2));for(let n=0;n<t.length;n++)t[n]=parseInt(e.substr(2*n,2),16);return t},t.bytesToHex=function(e){const t=e instanceof ArrayBuffer?new Uint8Array(e):e;let n="";for(let e=0;e<t.length;e++){const s=t[e].toString(16);1===s.length&&(n+="0"),n+=s}return n},t.arrayToBuffer=function(e){if(e instanceof ArrayBuffer)return e;const t=e.buffer;return 0===e.byteOffset&&e.byteLength===t.byteLength?t:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)},t.zeroBuffer=function(e){(e instanceof ArrayBuffer?new Uint8Array(e):e).fill(0)}},880:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Int64=void 0;class n{constructor(e=0,t=0){this.lo=e,this.hi=t}get value(){if(this.hi){if(this.hi>=2097152)throw new Error("too large number");return 4294967296*this.hi+this.lo}return this.lo}valueOf(){return this.value}static from(e){if(e>9007199254740991)throw new Error("too large number");const t=e>>>0;return new n(t,(e-t)/4294967296>>>0)}}t.Int64=n},336:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VarDictionary=t.ValueType=void 0;const s=n(325),i=n(513),r=n(100),o=n(880);var a;!function(e){e[e.UInt32=4]="UInt32",e[e.UInt64=5]="UInt64",e[e.Bool=8]="Bool",e[e.Int32=12]="Int32",e[e.Int64=13]="Int64",e[e.String=24]="String",e[e.Bytes=66]="Bytes"}(a=t.ValueType||(t.ValueType={}));class l{constructor(){this._items=[],this._map=new Map}keys(){return this._items.map((e=>e.key))}get length(){return this._items.length}get(e){const t=this._map.get(e);return t?t.value:void 0}set(e,t,n){let l;switch(t){case a.UInt32:if("number"!=typeof n||n<0)throw new s.KdbxError(i.ErrorCodes.InvalidArg);l={key:e,type:t,value:n};break;case a.UInt64:if(!(n instanceof o.Int64))throw new s.KdbxError(i.ErrorCodes.InvalidArg);l={key:e,type:t,value:n};break;case a.Bool:if("boolean"!=typeof n)throw new s.KdbxError(i.ErrorCodes.InvalidArg);l={key:e,type:t,value:n};break;case a.Int32:if("number"!=typeof n)throw new s.KdbxError(i.ErrorCodes.InvalidArg);l={key:e,type:t,value:n};break;case a.Int64:if(!(n instanceof o.Int64))throw new s.KdbxError(i.ErrorCodes.InvalidArg);l={key:e,type:t,value:n};break;case a.String:if("string"!=typeof n)throw new s.KdbxError(i.ErrorCodes.InvalidArg);l={key:e,type:t,value:n};break;case a.Bytes:if(n instanceof Uint8Array&&(n=r.arrayToBuffer(n)),!(n instanceof ArrayBuffer))throw new s.KdbxError(i.ErrorCodes.InvalidArg);l={key:e,type:t,value:n};break;default:throw new s.KdbxError(i.ErrorCodes.InvalidArg)}const c=this._map.get(e);if(c){const e=this._items.indexOf(c);this._items.splice(e,1,l)}else this._items.push(l);this._map.set(e,l)}remove(e){this._items=this._items.filter((t=>t.key!==e)),this._map.delete(e)}static read(e){const t=new l;t.readVersion(e);for(let n;n=t.readItem(e);)t._items.push(n),t._map.set(n.key,n);return t}readVersion(e){e.getUint8();const t=e.getUint8();if(0===t||t>1)throw new s.KdbxError(i.ErrorCodes.InvalidVersion)}readItem(e){const t=e.getUint8();if(!t)return;const n=e.getInt32(!0);if(n<=0)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad key length");const l=r.bytesToString(e.readBytes(n)),c=e.getInt32(!0);if(c<0)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad value length");switch(t){case a.UInt32:if(4!==c)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad uint32");return{key:l,type:t,value:e.getUint32(!0)};case a.UInt64:{if(8!==c)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad uint64");const n=e.getUint32(!0),r=e.getUint32(!0);return{key:l,type:t,value:new o.Int64(n,r)}}case a.Bool:if(1!==c)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad bool");return{key:l,type:t,value:0!==e.getUint8()};case a.Int32:if(4!==c)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad int32");return{key:l,type:t,value:e.getInt32(!0)};case a.Int64:{if(8!==c)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad int64");const n=e.getUint32(!0),r=e.getUint32(!0);return{key:l,type:t,value:new o.Int64(n,r)}}case a.String:return{key:l,type:t,value:r.bytesToString(e.readBytes(c))};case a.Bytes:return{key:l,type:t,value:e.readBytes(c)};default:throw new s.KdbxError(i.ErrorCodes.FileCorrupt,`bad value type: ${t}`)}}write(e){this.writeVersion(e);for(const t of this._items)this.writeItem(e,t);e.setUint8(0)}writeVersion(e){e.setUint16(256,!0)}writeItem(e,t){e.setUint8(t.type);const n=r.stringToBytes(t.key);switch(e.setInt32(n.length,!0),e.writeBytes(n),t.type){case a.UInt32:e.setInt32(4,!0),e.setUint32(t.value,!0);break;case a.UInt64:e.setInt32(8,!0),e.setUint32(t.value.lo,!0),e.setUint32(t.value.hi,!0);break;case a.Bool:e.setInt32(1,!0),e.setUint8(t.value?1:0);break;case a.Int32:e.setInt32(4,!0),e.setInt32(t.value,!0);break;case a.Int64:e.setInt32(8,!0),e.setUint32(t.value.lo,!0),e.setUint32(t.value.hi,!0);break;case a.String:{const n=r.stringToBytes(t.value);e.setInt32(n.length,!0),e.writeBytes(n);break}case a.Bytes:{const n=r.arrayToBuffer(t.value);e.setInt32(n.byteLength,!0),e.writeBytes(n);break}default:throw new s.KdbxError(i.ErrorCodes.Unsupported)}}}t.VarDictionary=l,l.ValueType=a},943:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.protectPlainValues=t.protectUnprotectedValues=t.unprotectValues=t.updateProtectedValuesSalt=t.setProtectedValues=t.traverse=t.setProtectedBinary=t.getProtectedBinary=t.setProtectedText=t.getProtectedText=t.setUuid=t.getUuid=t.strToBoolean=t.setBoolean=t.getBoolean=t.setNumber=t.getNumber=t.setDate=t.getDate=t.setBytes=t.getBytes=t.setTags=t.getTags=t.setText=t.getText=t.addChildNode=t.getChildNode=t.create=t.serialize=t.parse=void 0;const s=n(325),i=n(513),r=n(638),o=n(100),a=n(880),l=n(552),c=n(758),u=n(991),d=n(968),h=/\.\d\d\d/,p=62135596800,m=/\s*[;,:]\s*/;function g(e){const t=function(){if(n.g.DOMParser)return new n.g.DOMParser;const{DOMParser:e}=n(348);return new e({errorHandler:{error:e=>{throw e},fatalError:e=>{throw e}}})}();let r;e=e.replace(/[\x00-\x09\x0B-\x0C\x0E-\x1F]/g,"");try{r=t.parseFromString(e,"application/xml")}catch(e){const t=e instanceof Error?e.message:String(e);throw new s.KdbxError(i.ErrorCodes.FileCorrupt,`bad xml: ${t}`)}if(!r.documentElement)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,"bad xml");const o=r.getElementsByTagName("parsererror")[0];if(o)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,`bad xml: ${o.textContent}`);return r}function f(e,t){const n=e.childNodes.length;if(0===n)return;const s="\n"+" ".repeat(t),i=t>0?"\n"+" ".repeat(t-1):"",r=e.ownerDocument||e,o=[];let a;for(let t=0;t<n;t++)a=e.childNodes[t],a.nodeType!==r.TEXT_NODE&&a.nodeType!==r.PROCESSING_INSTRUCTION_NODE&&o.push(a);for(let n=0;n<o.length;n++){if(a=o[n],0!==t||0!==n){const t=r.createTextNode(s);e.insertBefore(t,a)}if(!a.nextSibling&&t>0){const t=r.createTextNode(i);e.appendChild(t)}f(a,t+1)}}function A(e){var t;if(null==e?void 0:e.childNodes)return e.protectedValue?e.protectedValue.getText():null!==(t=e.textContent)&&void 0!==t?t:void 0}function y(e,t){e.textContent=t||""}function v(e){const t=A(e);return t?o.arrayToBuffer(o.base64ToBytes(t)):void 0}function b(e,t){"string"==typeof t&&(t=o.base64ToBytes(t)),y(e,t?o.bytesToBase64(o.arrayToBuffer(t)):void 0)}function w(e){switch(null==e?void 0:e.toLowerCase()){case"true":return!0;case"false":return!1;case"null":return null}}function k(e,t){t(e);for(let n=0,s=e.childNodes,i=s.length;n<i;n++){const e=s[n];e.tagName&&k(e,t)}}t.parse=g,t.serialize=function(e,t=!1){t&&f(e,0);let s=function(){if(n.g.XMLSerializer)return new n.g.XMLSerializer;const{XMLSerializer:e}=n(348);return new e}().serializeToString(e);return t&&s.startsWith("<?")&&(s=s.replace(/^(<\?.*?\?>)</,"$1\n<")),s},t.create=function(e){return g('<?xml version="1.0" encoding="utf-8" standalone="yes"?><'+e+"/>")},t.getChildNode=function(e,t,n){if(e&&e.childNodes)for(let n=0,s=e.childNodes,i=s.length;n<i;n++)if(s[n].tagName===t)return s[n];if(n)throw new s.KdbxError(i.ErrorCodes.FileCorrupt,n);return null},t.addChildNode=function(e,t){return e.appendChild((e.ownerDocument||e).createElement(t))},t.getText=A,t.setText=y,t.getTags=function(e){const t=A(e);return t?t.split(m).map((e=>e.trim())).filter((e=>e)):[]},t.setTags=function(e,t){y(e,t.join(", "))},t.getBytes=v,t.setBytes=b,t.getDate=function(e){const t=A(e);if(!t)return;if(t.indexOf(":")>0)return new Date(t);const n=new DataView(o.arrayToBuffer(o.base64ToBytes(t))),s=new a.Int64(n.getUint32(0,!0),n.getUint32(4,!0)).value;return new Date(1e3*(s-p))},t.setDate=function(e,t,n=!1){if(t)if(n){const n=Math.floor(t.getTime()/1e3)+p,s=new DataView(new ArrayBuffer(8)),i=a.Int64.from(n);s.setUint32(0,i.lo,!0),s.setUint32(4,i.hi,!0),y(e,o.bytesToBase64(s.buffer))}else y(e,t.toISOString().replace(h,""));else y(e,"")},t.getNumber=function(e){const t=A(e);return t?+t:void 0},t.setNumber=function(e,t){y(e,"number"!=typeof t||isNaN(t)?void 0:t.toString())},t.getBoolean=function(e){const t=A(e);return t?w(t):void 0},t.setBoolean=function(e,t){y(e,void 0===t?"":null===t?"null":t?"True":"False")},t.strToBoolean=w,t.getUuid=function(e){const t=v(e);return t?new l.KdbxUuid(t):void 0},t.setUuid=function(e,t){b(e,t instanceof l.KdbxUuid?t.toBytes():t)},t.getProtectedText=function(e){var t;return null!==(t=e.protectedValue||e.textContent)&&void 0!==t?t:void 0},t.setProtectedText=function(e,t){t instanceof c.ProtectedValue?(e.protectedValue=t,e.setAttribute(r.Attr.Protected,"True")):y(e,t)},t.getProtectedBinary=function(e){if(e.protectedValue)return e.protectedValue;const t=e.textContent,n=e.getAttribute(r.Attr.Ref);if(n)return{ref:n};if(!t)return;const s=w(e.getAttribute(r.Attr.Compressed));let i=o.base64ToBytes(t);return s&&(i=u.ungzip(i)),o.arrayToBuffer(i)},t.setProtectedBinary=function(e,t){t instanceof c.ProtectedValue?(e.protectedValue=t,e.setAttribute(r.Attr.Protected,"True")):d.KdbxBinaries.isKdbxBinaryRef(t)?e.setAttribute(r.Attr.Ref,t.ref):b(e,t)},t.traverse=k,t.setProtectedValues=function(e,t){k(e,(e=>{if(w(e.getAttribute(r.Attr.Protected)))try{const n=o.arrayToBuffer(o.base64ToBytes(e.textContent||""));if(n.byteLength){const s=t.getSalt(n.byteLength);e.protectedValue=new c.ProtectedValue(n,s)}}catch(t){throw new s.KdbxError(i.ErrorCodes.FileCorrupt,`bad protected value at line ${e.lineNumber}: ${t}`)}}))},t.updateProtectedValuesSalt=function(e,t){k(e,(e=>{if(w(e.getAttribute(r.Attr.Protected))&&e.protectedValue){const n=t.getSalt(e.protectedValue.byteLength);e.protectedValue.setSalt(n),e.textContent=e.protectedValue.toString()}}))},t.unprotectValues=function(e){k(e,(e=>{w(e.getAttribute(r.Attr.Protected))&&e.protectedValue&&(e.removeAttribute(r.Attr.Protected),e.setAttribute(r.Attr.ProtectedInMemPlainXml,"True"),e.textContent=e.protectedValue.getText())}))},t.protectUnprotectedValues=function(e){k(e,(e=>{w(e.getAttribute(r.Attr.ProtectedInMemPlainXml))&&e.protectedValue&&(e.removeAttribute(r.Attr.ProtectedInMemPlainXml),e.setAttribute(r.Attr.Protected,"True"),e.textContent=e.protectedValue.toString())}))},t.protectPlainValues=function(e){k(e,(e=>{w(e.getAttribute(r.Attr.ProtectedInMemPlainXml))&&(e.protectedValue=c.ProtectedValue.fromString(e.textContent||""),e.textContent=e.protectedValue.toString(),e.removeAttribute(r.Attr.ProtectedInMemPlainXml),e.setAttribute(r.Attr.Protected,"True"))}))}},417:e=>{e.exports=s},348:e=>{e.exports=i}},t={};function n(s){var i=t[s];if(void 0!==i)return i.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,n),r.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.XmlUtils=e.VarDictionary=e.Int64=e.ByteUtils=e.BinaryStream=e.KdbxUuid=e.KdbxTimes=e.KdbxMeta=e.KdbxHeader=e.KdbxGroup=e.KdbxFormat=e.KdbxEntry=e.KdbxDeletedObject=e.KdbxCustomData=e.Credentials=e.KdbxCredentials=e.KdbxContext=e.KdbxBinaries=e.Kdbx=e.KdbxError=e.XmlNames=e.Consts=e.Salsa20=e.ProtectedValue=e.ProtectSaltGenerator=e.KeyEncryptorKdf=e.KeyEncryptorAes=e.HmacBlockTransform=e.HashedBlockTransform=e.CryptoEngine=e.ChaCha20=void 0;const t=n(61);Object.defineProperty(e,"ChaCha20",{enumerable:!0,get:function(){return t.ChaCha20}});const s=n(613);e.CryptoEngine=s;const i=n(8);e.HashedBlockTransform=i;const o=n(522);e.HmacBlockTransform=o;const a=n(695);e.KeyEncryptorAes=a;const l=n(879);e.KeyEncryptorKdf=l;const c=n(328);Object.defineProperty(e,"ProtectSaltGenerator",{enumerable:!0,get:function(){return c.ProtectSaltGenerator}});const u=n(758);Object.defineProperty(e,"ProtectedValue",{enumerable:!0,get:function(){return u.ProtectedValue}});const d=n(18);Object.defineProperty(e,"Salsa20",{enumerable:!0,get:function(){return d.Salsa20}});const h=n(513);e.Consts=h;const p=n(638);e.XmlNames=p;const m=n(325);Object.defineProperty(e,"KdbxError",{enumerable:!0,get:function(){return m.KdbxError}});const g=n(131);Object.defineProperty(e,"Kdbx",{enumerable:!0,get:function(){return g.Kdbx}});const f=n(968);Object.defineProperty(e,"KdbxBinaries",{enumerable:!0,get:function(){return f.KdbxBinaries}});const A=n(497);Object.defineProperty(e,"KdbxContext",{enumerable:!0,get:function(){return A.KdbxContext}});const y=n(374);Object.defineProperty(e,"KdbxCredentials",{enumerable:!0,get:function(){return y.KdbxCredentials}}),Object.defineProperty(e,"Credentials",{enumerable:!0,get:function(){return y.KdbxCredentials}});const v=n(596);Object.defineProperty(e,"KdbxCustomData",{enumerable:!0,get:function(){return v.KdbxCustomData}});const b=n(414);Object.defineProperty(e,"KdbxDeletedObject",{enumerable:!0,get:function(){return b.KdbxDeletedObject}});const w=n(270);Object.defineProperty(e,"KdbxEntry",{enumerable:!0,get:function(){return w.KdbxEntry}});const k=n(257);Object.defineProperty(e,"KdbxFormat",{enumerable:!0,get:function(){return k.KdbxFormat}});const C=n(171);Object.defineProperty(e,"KdbxGroup",{enumerable:!0,get:function(){return C.KdbxGroup}});const _=n(447);Object.defineProperty(e,"KdbxHeader",{enumerable:!0,get:function(){return _.KdbxHeader}});const E=n(296);Object.defineProperty(e,"KdbxMeta",{enumerable:!0,get:function(){return E.KdbxMeta}});const x=n(554);Object.defineProperty(e,"KdbxTimes",{enumerable:!0,get:function(){return x.KdbxTimes}});const I=n(552);Object.defineProperty(e,"KdbxUuid",{enumerable:!0,get:function(){return I.KdbxUuid}});const S=n(909);Object.defineProperty(e,"BinaryStream",{enumerable:!0,get:function(){return S.BinaryStream}});const D=n(100);e.ByteUtils=D;const B=n(880);Object.defineProperty(e,"Int64",{enumerable:!0,get:function(){return B.Int64}});const P=n(336);Object.defineProperty(e,"VarDictionary",{enumerable:!0,get:function(){return P.VarDictionary}});const T=n(943);e.XmlUtils=T})(),r})())},2705:(e,t,n)=>{var s=n(5639).Symbol;e.exports=s},4239:(e,t,n)=>{var s=n(2705),i=n(9607),r=n(2333),o=s?s.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):r(e)}},7561:(e,t,n)=>{var s=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,s(e)+1).replace(i,""):e}},1957:(e,t,n)=>{var s="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=s},9607:(e,t,n)=>{var s=n(2705),i=Object.prototype,r=i.hasOwnProperty,o=i.toString,a=s?s.toStringTag:void 0;e.exports=function(e){var t=r.call(e,a),n=e[a];try{e[a]=void 0;var s=!0}catch(e){}var i=o.call(e);return s&&(t?e[a]=n:delete e[a]),i}},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var s=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,r=s||i||Function("return this")();e.exports=r},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var s=n(3218),i=n(7771),r=n(4841),o=Math.max,a=Math.min;e.exports=function(e,t,n){var l,c,u,d,h,p,m=0,g=!1,f=!1,A=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=l,s=c;return l=c=void 0,m=t,d=e.apply(s,n)}function v(e){return m=e,h=setTimeout(w,t),g?y(e):d}function b(e){var n=e-p;return void 0===p||n>=t||n<0||f&&e-m>=u}function w(){var e=i();if(b(e))return k(e);h=setTimeout(w,function(e){var n=t-(e-p);return f?a(n,u-(e-m)):n}(e))}function k(e){return h=void 0,A&&l?y(e):(l=c=void 0,d)}function C(){var e=i(),n=b(e);if(l=arguments,c=this,p=e,n){if(void 0===h)return v(p);if(f)return clearTimeout(h),h=setTimeout(w,t),y(p)}return void 0===h&&(h=setTimeout(w,t)),d}return t=r(t)||0,s(n)&&(g=!!n.leading,u=(f="maxWait"in n)?o(r(n.maxWait)||0,t):u,A="trailing"in n?!!n.trailing:A),C.cancel=function(){void 0!==h&&clearTimeout(h),m=0,l=p=c=h=void 0},C.flush=function(){return void 0===h?d:k(i())},C}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var s=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==s(e)}},7771:(e,t,n)=>{var s=n(5639);e.exports=function(){return s.Date.now()}},3493:(e,t,n)=>{var s=n(3279),i=n(3218);e.exports=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return i(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),s(e,t,{leading:r,maxWait:t,trailing:o})}},4841:(e,t,n)=>{var s=n(7561),i=n(3218),r=n(3448),o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(r(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=s(e);var n=a.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):o.test(e)?NaN:+e}},4782:function(e){e.exports=function(){"use strict";function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=new Array(t);n<t;n++)s[n]=e[n];return s}function n(e,n){var s;if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator])return(s=e[Symbol.iterator]()).next.bind(s);if(Array.isArray(e)||(s=function(e,n){if(e){if("string"==typeof e)return t(e,n);var s=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(s="Object"===s&&e.constructor?e.constructor.name:s)||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?t(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){s&&(e=s);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){return u[e]}var i,r=(function(e){function t(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.exports={defaults:t(),getDefaults:t,changeDefaults:function(t){e.exports.defaults=t}}}(i={exports:{}}),i.exports),o=/[&<>"']/,a=/[&<>"']/g,l=/[<>"']|&(?!#?\w+;)/,c=/[<>"']|&(?!#?\w+;)/g,u={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},d=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(d,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var p=/(^|[^\[])\^/g,m=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,f={},A=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function b(e,t){f[" "+e]||(A.test(e)?f[" "+e]=e+"/":f[" "+e]=w(e,"/",!0));var n=-1===(e=f[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(y,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(v,"$1")+t:e+t}function w(e,t,n){var s=e.length;if(0===s)return"";for(var i=0;i<s;){var r=e.charAt(s-i-1);if(r!==t||n){if(r===t||!n)break;i++}else i++}return e.substr(0,s-i)}var k=function(e,t){if(t){if(o.test(e))return e.replace(a,s)}else if(l.test(e))return e.replace(c,s);return e},C=h,_=function(e,t){e=e.source||e,t=t||"";var n={replace:function(t,s){return s=(s=s.source||s).replace(p,"$1"),e=e.replace(t,s),n},getRegex:function(){return new RegExp(e,t)}};return n},E=function(e,t,n){if(e){var s;try{s=decodeURIComponent(h(n)).replace(m,"").toLowerCase()}catch(e){return null}if(0===s.indexOf("javascript:")||0===s.indexOf("vbscript:")||0===s.indexOf("data:"))return null}t&&!g.test(n)&&(n=b(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n},x={exec:function(){}},I=function(e){for(var t,n,s=1;s<arguments.length;s++)for(n in t=arguments[s])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},S=function(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")},D=function(e,t){if(t<1)return"";for(var n="";1<t;)1&t&&(n+=e),t>>=1,e+=e;return n+e},B=r.defaults,P=w,T=function(e,t){var n=e.replace(/\|/g,(function(e,t,n){for(var s=!1,i=t;0<=--i&&"\\"===n[i];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;s<n.length;s++)n[s]=n[s].trim().replace(/\\\|/g,"|");return n},F=k,M=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,s=0,i=0;i<n;i++)if("\\"===e[i])i++;else if(e[i]===t[0])s++;else if(e[i]===t[1]&&--s<0)return i;return-1};function O(e,t,n){var s=t.href,i=t.title?F(t.title):null;return t=e[1].replace(/\\([\[\]])/g,"$1"),"!"!==e[0].charAt(0)?{type:"link",raw:n,href:s,title:i,text:t}:{type:"image",raw:n,href:s,title:i,text:F(t)}}var L=function(){function e(e){this.options=e||B}var t=e.prototype;return t.space=function(e){if(e=this.rules.block.newline.exec(e))return 1<e[0].length?{type:"space",raw:e[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t)return e=t[0].replace(/^ {1,4}/gm,""),{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:P(e,"\n")}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0];return e=function(e,t){if(null===(e=e.match(/^(\s+)(?:```)/)))return t;var n=e[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null!==t&&t[0].length>=n.length?e.slice(n.length):e})).join("\n")}(n,t[3]||""),{type:"code",raw:n,lang:t[2]&&t[2].trim(),text:e}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();return/#$/.test(n)&&(e=P(n,"#"),!this.options.pedantic&&e&&!/ $/.test(e)||(n=e.trim())),{type:"heading",raw:t[0],depth:t[1].length,text:n}}},t.nptable=function(e){if(e=this.rules.block.nptable.exec(e)){var t={type:"table",header:T(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(t.header.length===t.align.length){for(var n=t.align.length,s=0;s<n;s++)/^ *-+: *$/.test(t.align[s])?t.align[s]="right":/^ *:-+: *$/.test(t.align[s])?t.align[s]="center":/^ *:-+ *$/.test(t.align[s])?t.align[s]="left":t.align[s]=null;for(n=t.cells.length,s=0;s<n;s++)t.cells[s]=T(t.cells[s],t.header.length);return t}}},t.hr=function(e){if(e=this.rules.block.hr.exec(e))return{type:"hr",raw:e[0]}},t.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t)return e=t[0].replace(/^ *> ?/gm,""),{type:"blockquote",raw:t[0],text:e}},t.list=function(e){if(e=this.rules.block.list.exec(e)){for(var t,n,s,i,r,o,a=e[0],l=e[2],c=1<l.length,u={type:"list",raw:a,ordered:c,start:c?+l.slice(0,-1):"",loose:!1,items:[]},d=e[0].match(this.rules.block.item),h=!1,p=d.length,m=this.rules.block.listItemStart.exec(d[0]),g=0;g<p;g++){if(a=t=d[g],this.options.pedantic||(o=t.match(new RegExp("\\n\\s*\\n {0,"+(m[0].length-1)+"}\\S")))&&(n=t.length-o.index+d.slice(g+1).join("\n").length,u.raw=u.raw.substring(0,u.raw.length-n),a=t=t.substring(0,o.index),p=g+1),g!==p-1){if(s=this.rules.block.listItemStart.exec(d[g+1]),this.options.pedantic?s[1].length>m[1].length:s[1].length>=m[0].length||3<s[1].length){d.splice(g,2,d[g]+(!this.options.pedantic&&s[1].length<m[0].length&&!d[g].match(/\n$/)?"":"\n")+d[g+1]),g--,p--;continue}(!this.options.pedantic||this.options.smartLists?s[2][s[2].length-1]!==l[l.length-1]:c==(1===s[2].length))&&(n=d.slice(g+1).join("\n").length,u.raw=u.raw.substring(0,u.raw.length-n),g=p-1),m=s}s=t.length,~(t=t.replace(/^ *([*+-]|\d+[.)]) ?/,"")).indexOf("\n ")&&(s-=t.length,t=this.options.pedantic?t.replace(/^ {1,4}/gm,""):t.replace(new RegExp("^ {1,"+s+"}","gm"),"")),t=P(t,"\n"),g!==p-1&&(a+="\n"),s=h||/\n\n(?!\s*$)/.test(a),g!==p-1&&(h="\n\n"===a.slice(-2),s=s||h),s&&(u.loose=!0),this.options.gfm&&(r=void 0,(i=/^\[[ xX]\] /.test(t))&&(r=" "!==t[1],t=t.replace(/^\[[ xX]\] +/,""))),u.items.push({type:"list_item",raw:a,task:i,checked:r,loose:s,text:t})}return u}},t.html=function(e){if(e=this.rules.block.html.exec(e))return{type:this.options.sanitize?"paragraph":"html",raw:e[0],pre:!this.options.sanitizer&&("pre"===e[1]||"script"===e[1]||"style"===e[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):F(e[0]):e[0]}},t.def=function(e){if(e=this.rules.block.def.exec(e))return e[3]&&(e[3]=e[3].substring(1,e[3].length-1)),{type:"def",tag:e[1].toLowerCase().replace(/\s+/g," "),raw:e[0],href:e[2],title:e[3]}},t.table=function(e){if(e=this.rules.block.table.exec(e)){var t={type:"table",header:T(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[]};if(t.header.length===t.align.length){t.raw=e[0];for(var n=t.align.length,s=0;s<n;s++)/^ *-+: *$/.test(t.align[s])?t.align[s]="right":/^ *:-+: *$/.test(t.align[s])?t.align[s]="center":/^ *:-+ *$/.test(t.align[s])?t.align[s]="left":t.align[s]=null;for(n=t.cells.length,s=0;s<n;s++)t.cells[s]=T(t.cells[s].replace(/^ *\| *| *\| *$/g,""),t.header.length);return t}}},t.lheading=function(e){if(e=this.rules.block.lheading.exec(e))return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1]}},t.paragraph=function(e){if(e=this.rules.block.paragraph.exec(e))return{type:"paragraph",raw:e[0],text:"\n"===e[1].charAt(e[1].length-1)?e[1].slice(0,-1):e[1]}},t.text=function(e){if(e=this.rules.block.text.exec(e))return{type:"text",raw:e[0],text:e[0]}},t.escape=function(e){if(e=this.rules.inline.escape.exec(e))return{type:"escape",raw:e[0],text:F(e[1])}},t.tag=function(e,t,n){if(e=this.rules.inline.tag.exec(e))return!t&&/^<a /i.test(e[0])?t=!0:t&&/^<\/a>/i.test(e[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:e[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):F(e[0]):e[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;if(e=P(n.slice(0,-1),"\\"),(n.length-e.length)%2==0)return}else-1<(i=M(t[2],"()"))&&(r=(0===t[0].indexOf("!")?5:4)+t[1].length+i,t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,r).trim(),t[3]="");var s,i=t[2],r="";return this.options.pedantic?(s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i))&&(i=s[1],r=s[3]):r=t[3]?t[3].slice(1,-1):"",i=i.trim(),O(t,{href:(i=/^</.test(i)?this.options.pedantic&&!/>$/.test(n)?i.slice(1):i.slice(1,-1):i)&&i.replace(this.rules.inline._escapes,"$1"),title:r&&r.replace(this.rules.inline._escapes,"$1")},t[0])}},t.reflink=function(e,t){if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){if((e=t[(e=(n[2]||n[1]).replace(/\s+/g," ")).toLowerCase()])&&e.href)return O(n,e,n[0]);var n=n[0].charAt(0);return{type:"text",raw:n,text:n}}},t.emStrong=function(e,t,n){void 0===n&&(n="");var s=this.rules.inline.emStrong.lDelim.exec(e);if(s&&(!s[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var i=s[1]||s[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){var r,o=s[0].length-1,a=o,l=0,c="*"===s[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+o);null!=(s=c.exec(t));)if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6])if(r=r.length,s[3]||s[4])a+=r;else if(!((s[5]||s[6])&&o%3)||(o+r)%3){if(!(0<(a-=r))){if(a+l-r<=0&&!t.slice(c.lastIndex).match(c)&&(r=Math.min(r,r+a+l)),Math.min(o,r)%2)return{type:"em",raw:e.slice(0,o+s.index+r+1),text:e.slice(1,o+s.index+r)};if(Math.min(o,r)%2==0)return{type:"strong",raw:e.slice(0,o+s.index+r+1),text:e.slice(2,o+s.index+r-1)}}}else l+=r}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),s=/[^ ]/.test(n);return e=/^ /.test(n)&&/ $/.test(n),s&&e&&(n=n.substring(1,n.length-1)),n=F(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){if(e=this.rules.inline.br.exec(e))return{type:"br",raw:e[0]}},t.del=function(e){if(e=this.rules.inline.del.exec(e))return{type:"del",raw:e[0],text:e[2]}},t.autolink=function(e,t){var n;if(e=this.rules.inline.autolink.exec(e))return t="@"===e[2]?"mailto:"+(n=F(this.options.mangle?t(e[1]):e[1])):n=F(e[1]),{type:"link",raw:e[0],text:n,href:t,tokens:[{type:"text",raw:n,text:n}]}},t.url=function(e,t){var n,s,i,r;if(n=this.rules.inline.url.exec(e)){if("@"===n[2])i="mailto:"+(s=F(this.options.mangle?t(n[0]):n[0]));else{for(;r=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0],r!==n[0];);s=F(n[0]),i="www."===n[1]?"http://"+s:s}return{type:"link",raw:n[0],text:s,href:i,tokens:[{type:"text",raw:s,text:s}]}}},t.inlineText=function(e,t,n){if(e=this.rules.inline.text.exec(e))return n=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):F(e[0]):e[0]:F(this.options.smartypants?n(e[0]):e[0]),{type:"text",raw:e[0],text:n}},e}(),N=x,R=_;x=I,(_={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:N,table:N,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/}).def=R(_.def).replace("label",_._label).replace("title",_._title).getRegex(),_.bullet=/(?:[*+-]|\d{1,9}[.)])/,_.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,_.item=R(_.item,"gm").replace(/bull/g,_.bullet).getRegex(),_.listItemStart=R(/^( *)(bull) */).replace("bull",_.bullet).getRegex(),_.list=R(_.list).replace(/bull/g,_.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+_.def.source+")").getRegex(),_._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",_._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,_.html=R(_.html,"i").replace("comment",_._comment).replace("tag",_._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),_.paragraph=R(_._paragraph).replace("hr",_.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",_._tag).getRegex(),_.blockquote=R(_.blockquote).replace("paragraph",_.paragraph).getRegex(),_.normal=x({},_),_.gfm=x({},_.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),_.gfm.nptable=R(_.gfm.nptable).replace("hr",_.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",_._tag).getRegex(),_.gfm.table=R(_.gfm.table).replace("hr",_.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",_._tag).getRegex(),_.pedantic=x({},_.normal,{html:R("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",_._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:N,paragraph:R(_.normal._paragraph).replace("hr",_.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",_.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),(N={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:N,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_]*?\*[^_]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^*]*?\_[^*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:N,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/,_punctuation:"!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~"}).punctuation=R(N.punctuation).replace(/punctuation/g,N._punctuation).getRegex(),N.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,N.escapedEmSt=/\\\*|\\_/g,N._comment=R(_._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),N.emStrong.lDelim=R(N.emStrong.lDelim).replace(/punct/g,N._punctuation).getRegex(),N.emStrong.rDelimAst=R(N.emStrong.rDelimAst,"g").replace(/punct/g,N._punctuation).getRegex(),N.emStrong.rDelimUnd=R(N.emStrong.rDelimUnd,"g").replace(/punct/g,N._punctuation).getRegex(),N._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,N._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,N._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,N.autolink=R(N.autolink).replace("scheme",N._scheme).replace("email",N._email).getRegex(),N._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,N.tag=R(N.tag).replace("comment",N._comment).replace("attribute",N._attribute).getRegex(),N._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,N._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,N._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,N.link=R(N.link).replace("label",N._label).replace("href",N._href).replace("title",N._title).getRegex(),N.reflink=R(N.reflink).replace("label",N._label).getRegex(),N.reflinkSearch=R(N.reflinkSearch,"g").replace("reflink",N.reflink).replace("nolink",N.nolink).getRegex(),N.normal=x({},N),N.pedantic=x({},N.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:R(/^!?\[(label)\]\((.*?)\)/).replace("label",N._label).getRegex(),reflink:R(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",N._label).getRegex()}),N.gfm=x({},N.normal,{escape:R(N.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),N.gfm.url=R(N.gfm.url,"i").replace("email",N.gfm._extended_email).getRegex(),N.breaks=x({},N.gfm,{br:R(N.br).replace("{2,}","*").getRegex(),text:R(N.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),N={block:_,inline:N};var K=r.defaults,U=N.block,Q=N.inline,j=D;function G(e){return e.replace(/---/g,"—").replace(/--/g,"").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1").replace(/'/g,"").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function H(e){for(var t,n="",s=e.length,i=0;i<s;i++)t=e.charCodeAt(i),n+="&#"+(t=.5<Math.random()?"x"+t.toString(16):t)+";";return n}var V=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||K,this.options.tokenizer=this.options.tokenizer||new L,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,e={block:U.normal,inline:Q.normal},this.options.pedantic?(e.block=U.pedantic,e.inline=Q.pedantic):this.options.gfm&&(e.block=U.gfm,this.options.breaks?e.inline=Q.breaks:e.inline=Q.gfm),this.tokenizer.rules=e}t.lex=function(e,n){return new t(n).lex(e)},t.lexInline=function(e,n){return new t(n).inlineTokens(e)};var n,s,i=t.prototype;return i.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},i.blockTokens=function(e,t,n){var s,i,r,o;for(void 0===t&&(t=[]),void 0===n&&(n=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(s=this.tokenizer.space(e))e=e.substring(s.raw.length),s.type&&t.push(s);else if(s=this.tokenizer.code(e))e=e.substring(s.raw.length),(o=t[t.length-1])&&"paragraph"===o.type?(o.raw+="\n"+s.raw,o.text+="\n"+s.text):t.push(s);else if(s=this.tokenizer.fences(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.heading(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.nptable(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.hr(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.blockquote(e))e=e.substring(s.raw.length),s.tokens=this.blockTokens(s.text,[],n),t.push(s);else if(s=this.tokenizer.list(e)){for(e=e.substring(s.raw.length),r=s.items.length,i=0;i<r;i++)s.items[i].tokens=this.blockTokens(s.items[i].text,[],!1);t.push(s)}else if(s=this.tokenizer.html(e))e=e.substring(s.raw.length),t.push(s);else if(n&&(s=this.tokenizer.def(e)))e=e.substring(s.raw.length),this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title});else if(s=this.tokenizer.table(e))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.lheading(e))e=e.substring(s.raw.length),t.push(s);else if(n&&(s=this.tokenizer.paragraph(e)))e=e.substring(s.raw.length),t.push(s);else if(s=this.tokenizer.text(e))e=e.substring(s.raw.length),(o=t[t.length-1])&&"text"===o.type?(o.raw+="\n"+s.raw,o.text+="\n"+s.text):t.push(s);else if(e){var a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}return t},i.inline=function(e){for(var t,n,s,i,r,o=e.length,a=0;a<o;a++)switch((r=e[a]).type){case"paragraph":case"text":case"heading":r.tokens=[],this.inlineTokens(r.text,r.tokens);break;case"table":for(r.tokens={header:[],cells:[]},s=r.header.length,t=0;t<s;t++)r.tokens.header[t]=[],this.inlineTokens(r.header[t],r.tokens.header[t]);for(s=r.cells.length,t=0;t<s;t++)for(i=r.cells[t],r.tokens.cells[t]=[],n=0;n<i.length;n++)r.tokens.cells[t][n]=[],this.inlineTokens(i[n],r.tokens.cells[t][n]);break;case"blockquote":this.inline(r.tokens);break;case"list":for(s=r.items.length,t=0;t<s;t++)this.inline(r.items[t].tokens)}return e},i.inlineTokens=function(e,t,n,s){var i;void 0===t&&(t=[]),void 0===n&&(n=!1),void 0===s&&(s=!1);var r,o,a,l=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(0<c.length)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(l));)c.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,r.index)+"["+j("a",r[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,r.index)+"["+j("a",r[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.escapedEmSt.exec(l));)l=l.slice(0,r.index)+"++"+l.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(o||(a=""),o=!1,i=this.tokenizer.escape(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(e,n,s)){e=e.substring(i.raw.length),n=i.inLink,s=i.inRawBlock;var u=t[t.length-1];u&&"text"===i.type&&"text"===u.type?(u.raw+=i.raw,u.text+=i.text):t.push(i)}else if(i=this.tokenizer.link(e))e=e.substring(i.raw.length),"link"===i.type&&(i.tokens=this.inlineTokens(i.text,[],!0,s)),t.push(i);else if(i=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(i.raw.length),u=t[t.length-1],"link"===i.type?(i.tokens=this.inlineTokens(i.text,[],!0,s),t.push(i)):u&&"text"===i.type&&"text"===u.type?(u.raw+=i.raw,u.text+=i.text):t.push(i);else if(i=this.tokenizer.emStrong(e,l,a))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,s),t.push(i);else if(i=this.tokenizer.codespan(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(e))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,s),t.push(i);else if(i=this.tokenizer.autolink(e,H))e=e.substring(i.raw.length),t.push(i);else if(n||!(i=this.tokenizer.url(e,H))){if(i=this.tokenizer.inlineText(e,s,G))e=e.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(a=i.raw.slice(-1)),o=!0,(d=t[t.length-1])&&"text"===d.type?(d.raw+=i.raw,d.text+=i.text):t.push(i);else if(e){var d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}throw new Error(d)}}else e=e.substring(i.raw.length),t.push(i);return t},n=t,s=[{key:"rules",get:function(){return{block:U,inline:Q}}}],(i=null)&&e(n.prototype,i),s&&e(n,s),t}(),z=r.defaults,q=E,W=k,Y=function(){function e(e){this.options=e||z}var t=e.prototype;return t.code=function(e,t,n){var s=(t||"").match(/\S*/)[0];return!this.options.highlight||null!=(t=this.options.highlight(e,s))&&t!==e&&(n=!0,e=t),e=e.replace(/\n$/,"")+"\n",s?'<pre><code class="'+this.options.langPrefix+W(s,!0)+'">'+(n?e:W(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:W(e,!0))+"</code></pre>\n"},t.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},t.html=function(e){return e},t.heading=function(e,t,n,s){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+s.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},t.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},t.list=function(e,t,n){var s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+s+">\n"},t.listitem=function(e){return"<li>"+e+"</li>\n"},t.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},t.paragraph=function(e){return"<p>"+e+"</p>\n"},t.table=function(e,t){return"<table>\n<thead>\n"+e+"</thead>\n"+(t=t&&"<tbody>"+t+"</tbody>")+"</table>\n"},t.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"},t.strong=function(e){return"<strong>"+e+"</strong>"},t.em=function(e){return"<em>"+e+"</em>"},t.codespan=function(e){return"<code>"+e+"</code>"},t.br=function(){return this.options.xhtml?"<br/>":"<br>"},t.del=function(e){return"<del>"+e+"</del>"},t.link=function(e,t,n){return null===(e=q(this.options.sanitize,this.options.baseUrl,e))?n:(e='<a href="'+W(e)+'"',t&&(e+=' title="'+t+'"'),e+">"+n+"</a>")},t.image=function(e,t,n){return null===(e=q(this.options.sanitize,this.options.baseUrl,e))?n:(n='<img src="'+e+'" alt="'+n+'"',t&&(n+=' title="'+t+'"'),n+(this.options.xhtml?"/>":">"))},t.text=function(e){return e},e}(),$=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),J=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,s=0;if(this.seen.hasOwnProperty(n))for(s=this.seen[e];n=e+"-"+ ++s,this.seen.hasOwnProperty(n););return t||(this.seen[e]=s,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),X=r.defaults,Z=C,ee=function(){function e(e){this.options=e||X,this.options.renderer=this.options.renderer||new Y,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new $,this.slugger=new J}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);for(var n,s,i,r,o,a,l,c,u,d,h,p,m,g,f,A="",y=e.length,v=0;v<y;v++)switch((c=e[v]).type){case"space":continue;case"hr":A+=this.renderer.hr();continue;case"heading":A+=this.renderer.heading(this.parseInline(c.tokens),c.depth,Z(this.parseInline(c.tokens,this.textRenderer)),this.slugger);continue;case"code":A+=this.renderer.code(c.text,c.lang,c.escaped);continue;case"table":for(a=u="",i=c.header.length,n=0;n<i;n++)a+=this.renderer.tablecell(this.parseInline(c.tokens.header[n]),{header:!0,align:c.align[n]});for(u+=this.renderer.tablerow(a),l="",i=c.cells.length,n=0;n<i;n++){for(a="",r=(o=c.tokens.cells[n]).length,s=0;s<r;s++)a+=this.renderer.tablecell(this.parseInline(o[s]),{header:!1,align:c.align[s]});l+=this.renderer.tablerow(a)}A+=this.renderer.table(u,l);continue;case"blockquote":l=this.parse(c.tokens),A+=this.renderer.blockquote(l);continue;case"list":for(u=c.ordered,b=c.start,d=c.loose,i=c.items.length,l="",n=0;n<i;n++)m=(p=c.items[n]).checked,g=p.task,h="",p.task&&(f=this.renderer.checkbox(m),d?0<p.tokens.length&&"text"===p.tokens[0].type?(p.tokens[0].text=f+" "+p.tokens[0].text,p.tokens[0].tokens&&0<p.tokens[0].tokens.length&&"text"===p.tokens[0].tokens[0].type&&(p.tokens[0].tokens[0].text=f+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:f}):h+=f),h+=this.parse(p.tokens,d),l+=this.renderer.listitem(h,g,m);A+=this.renderer.list(l,u,b);continue;case"html":A+=this.renderer.html(c.text);continue;case"paragraph":A+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(l=c.tokens?this.parseInline(c.tokens):c.text;v+1<y&&"text"===e[v+1].type;)l+="\n"+((c=e[++v]).tokens?this.parseInline(c.tokens):c.text);A+=t?this.renderer.paragraph(l):l;continue;default:var b='Token with "'+c.type+'" type was not found.';if(this.options.silent)return void console.error(b);throw new Error(b)}return A},t.parseInline=function(e,t){t=t||this.renderer;for(var n,s="",i=e.length,r=0;r<i;r++)switch((n=e[r]).type){case"escape":s+=t.text(n.text);break;case"html":s+=t.html(n.text);break;case"link":s+=t.link(n.href,n.title,this.parseInline(n.tokens,t));break;case"image":s+=t.image(n.href,n.title,n.text);break;case"strong":s+=t.strong(this.parseInline(n.tokens,t));break;case"em":s+=t.em(this.parseInline(n.tokens,t));break;case"codespan":s+=t.codespan(n.text);break;case"br":s+=t.br();break;case"del":s+=t.del(this.parseInline(n.tokens,t));break;case"text":s+=t.text(n.text);break;default:var o='Token with "'+n.type+'" type was not found.';if(this.options.silent)return void console.error(o);throw new Error(o)}return s},e}(),te=I,ne=S,se=k,ie=(k=r.getDefaults,r.changeDefaults);function re(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(n=t,t=null),t=te({},re.defaults,t||{}),ne(t),n){var s,i=t.highlight;try{s=V.lex(e,t)}catch(e){return n(e)}var r=function(e){var r;if(!e)try{r=ee.parse(s,t)}catch(r){e=r}return t.highlight=i,e?n(e):n(null,r)};if(!i||i.length<3)return r();if(delete t.highlight,!s.length)return r();var o=0;return re.walkTokens(s,(function(e){"code"===e.type&&(o++,setTimeout((function(){i(e.text,e.lang,(function(t,n){return t?r(t):(null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),void(0==--o&&r()))}))}),0))})),void(0===o&&r())}try{var a=V.lex(e,t);return t.walkTokens&&re.walkTokens(a,t.walkTokens),ee.parse(a,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+se(e.message+"",!0)+"</pre>";throw e}}return r=r.defaults,re.options=re.setOptions=function(e){return te(re.defaults,e),ie(re.defaults),re},re.getDefaults=k,re.defaults=r,re.use=function(e){var t,n=te({},e);e.renderer&&function(){var t,s=re.defaults.renderer||new Y;for(t in e.renderer)!function(t){var n=s[t];s[t]=function(){for(var i=arguments.length,r=new Array(i),o=0;o<i;o++)r[o]=arguments[o];var a=e.renderer[t].apply(s,r);return!1===a?n.apply(s,r):a}}(t);n.renderer=s}(),e.tokenizer&&function(){var t,s=re.defaults.tokenizer||new L;for(t in e.tokenizer)!function(t){var n=s[t];s[t]=function(){for(var i=arguments.length,r=new Array(i),o=0;o<i;o++)r[o]=arguments[o];var a=e.tokenizer[t].apply(s,r);return!1===a?n.apply(s,r):a}}(t);n.tokenizer=s}(),e.walkTokens&&(t=re.defaults.walkTokens,n.walkTokens=function(n){e.walkTokens(n),t&&t(n)}),re.setOptions(n)},re.walkTokens=function(e,t){for(var s,i=n(e);!(s=i()).done;){var r=s.value;switch(t(r),r.type){case"table":for(var o=n(r.tokens.header);!(a=o()).done;){var a=a.value;re.walkTokens(a,t)}for(var l,c=n(r.tokens.cells);!(l=c()).done;)for(var u=n(l.value);!(d=u()).done;){var d=d.value;re.walkTokens(d,t)}break;case"list":re.walkTokens(r.items,t);break;default:r.tokens&&re.walkTokens(r.tokens,t)}}},re.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=te({},re.defaults,t||{}),ne(t);try{var n=V.lexInline(e,t);return t.walkTokens&&re.walkTokens(n,t.walkTokens),ee.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+se(e.message+"",!0)+"</pre>";throw e}},re.Parser=ee,re.parser=ee.parse,re.Renderer=Y,re.TextRenderer=$,re.Lexer=V,re.lexer=V.lex,re.Tokenizer=L,re.Slugger=J,re.parse=re}()},6962:()=>{},6238:function(e){e.exports=function(){"use strict";var e,t=11;function n(e,n){var s,i,r,o,a=n.attributes;if(n.nodeType!==t&&e.nodeType!==t){for(var l=a.length-1;l>=0;l--)i=(s=a[l]).name,r=s.namespaceURI,o=s.value,r?(i=s.localName||i,e.getAttributeNS(r,i)!==o&&("xmlns"===s.prefix&&(i=s.name),e.setAttributeNS(r,i,o))):e.getAttribute(i)!==o&&e.setAttribute(i,o);for(var c=e.attributes,u=c.length-1;u>=0;u--)i=(s=c[u]).name,(r=s.namespaceURI)?(i=s.localName||i,n.hasAttributeNS(r,i)||e.removeAttributeNS(r,i)):n.hasAttribute(i)||e.removeAttribute(i)}}var s="http://www.w3.org/1999/xhtml",i="undefined"==typeof document?void 0:document,r=!!i&&"content"in i.createElement("template"),o=!!i&&i.createRange&&"createContextualFragment"in i.createRange();function a(e){var t=i.createElement("template");return t.innerHTML=e,t.content.childNodes[0]}function l(t){return e||(e=i.createRange()).selectNode(i.body),e.createContextualFragment(t).childNodes[0]}function c(e){var t=i.createElement("body");return t.innerHTML=e,t.childNodes[0]}function u(e){return e=e.trim(),r?a(e):o?l(e):c(e)}function d(e,t){var n,s,i=e.nodeName,r=t.nodeName;return i===r||(n=i.charCodeAt(0),s=r.charCodeAt(0),n<=90&&s>=97?i===r.toUpperCase():s<=90&&n>=97&&r===i.toUpperCase())}function h(e,t){return t&&t!==s?i.createElementNS(t,e):i.createElement(e)}function p(e,t){for(var n=e.firstChild;n;){var s=n.nextSibling;t.appendChild(n),n=s}return t}function m(e,t,n){e[n]!==t[n]&&(e[n]=t[n],e[n]?e.setAttribute(n,""):e.removeAttribute(n))}var g={OPTION:function(e,t){var n=e.parentNode;if(n){var s=n.nodeName.toUpperCase();"OPTGROUP"===s&&(s=(n=n.parentNode)&&n.nodeName.toUpperCase()),"SELECT"!==s||n.hasAttribute("multiple")||(e.hasAttribute("selected")&&!t.selected&&(e.setAttribute("selected","selected"),e.removeAttribute("selected")),n.selectedIndex=-1)}m(e,t,"selected")},INPUT:function(e,t){m(e,t,"checked"),m(e,t,"disabled"),e.value!==t.value&&(e.value=t.value),t.hasAttribute("value")||e.removeAttribute("value")},TEXTAREA:function(e,t){var n=t.value;e.value!==n&&(e.value=n);var s=e.firstChild;if(s){var i=s.nodeValue;if(i==n||!n&&i==e.placeholder)return;s.nodeValue=n}},SELECT:function(e,t){if(!t.hasAttribute("multiple")){for(var n,s,i=-1,r=0,o=e.firstChild;o;)if("OPTGROUP"===(s=o.nodeName&&o.nodeName.toUpperCase()))o=(n=o).firstChild;else{if("OPTION"===s){if(o.hasAttribute("selected")){i=r;break}r++}!(o=o.nextSibling)&&n&&(o=n.nextSibling,n=null)}e.selectedIndex=i}}},f=1,A=11,y=3,v=8;function b(){}function w(e){if(e)return e.getAttribute&&e.getAttribute("id")||e.id}function k(e){return function(t,n,s){if(s||(s={}),"string"==typeof n)if("#document"===t.nodeName||"HTML"===t.nodeName||"BODY"===t.nodeName){var r=n;(n=i.createElement("html")).innerHTML=r}else n=u(n);var o=s.getNodeKey||w,a=s.onBeforeNodeAdded||b,l=s.onNodeAdded||b,c=s.onBeforeElUpdated||b,m=s.onElUpdated||b,k=s.onBeforeNodeDiscarded||b,C=s.onNodeDiscarded||b,_=s.onBeforeElChildrenUpdated||b,E=!0===s.childrenOnly,x=Object.create(null),I=[];function S(e){I.push(e)}function D(e,t){if(e.nodeType===f)for(var n=e.firstChild;n;){var s=void 0;t&&(s=o(n))?S(s):(C(n),n.firstChild&&D(n,t)),n=n.nextSibling}}function B(e,t,n){!1!==k(e)&&(t&&t.removeChild(e),C(e),D(e,n))}function P(e){if(e.nodeType===f||e.nodeType===A)for(var t=e.firstChild;t;){var n=o(t);n&&(x[n]=t),P(t),t=t.nextSibling}}function T(e){l(e);for(var t=e.firstChild;t;){var n=t.nextSibling,s=o(t);if(s){var i=x[s];i&&d(t,i)?(t.parentNode.replaceChild(i,t),M(i,t)):T(t)}else T(t);t=n}}function F(e,t,n){for(;t;){var s=t.nextSibling;(n=o(t))?S(n):B(t,e,!0),t=s}}function M(t,n,s){var i=o(n);if(i&&delete x[i],!s){if(!1===c(t,n))return;if(e(t,n),m(t),!1===_(t,n))return}"TEXTAREA"!==t.nodeName?O(t,n):g.TEXTAREA(t,n)}function O(e,t){var n,s,r,l,c,u=t.firstChild,h=e.firstChild;e:for(;u;){for(l=u.nextSibling,n=o(u);h;){if(r=h.nextSibling,u.isSameNode&&u.isSameNode(h)){u=l,h=r;continue e}s=o(h);var p=h.nodeType,m=void 0;if(p===u.nodeType&&(p===f?(n?n!==s&&((c=x[n])?r===c?m=!1:(e.insertBefore(c,h),s?S(s):B(h,e,!0),h=c):m=!1):s&&(m=!1),(m=!1!==m&&d(h,u))&&M(h,u)):p!==y&&p!=v||(m=!0,h.nodeValue!==u.nodeValue&&(h.nodeValue=u.nodeValue))),m){u=l,h=r;continue e}s?S(s):B(h,e,!0),h=r}if(n&&(c=x[n])&&d(c,u))e.appendChild(c),M(c,u);else{var A=a(u);!1!==A&&(A&&(u=A),u.actualize&&(u=u.actualize(e.ownerDocument||i)),e.appendChild(u),T(u))}u=l,h=r}F(e,h,s);var b=g[e.nodeName];b&&b(e,t)}P(t);var L=t,N=L.nodeType,R=n.nodeType;if(!E)if(N===f)R===f?d(t,n)||(C(t),L=p(t,h(n.nodeName,n.namespaceURI))):L=n;else if(N===y||N===v){if(R===N)return L.nodeValue!==n.nodeValue&&(L.nodeValue=n.nodeValue),L;L=n}if(L===n)C(t);else{if(n.isSameNode&&n.isSameNode(L))return;if(M(L,n,E),I)for(var K=0,U=I.length;K<U;K++){var Q=x[I[K]];Q&&B(Q,Q.parentNode,!1)}}return!E&&L!==t&&t.parentNode&&(L.actualize&&(L=L.actualize(t.ownerDocument||i)),t.parentNode.replaceChild(L,t)),L}}return k(n)}()},4319:function(e,t,n){!function(t,s){"use strict";var i;try{i=n(9782)}catch(e){}e.exports=function(e){var t="function"==typeof e,n=!!window.addEventListener,s=window.document,i=window.setTimeout,r=function(e,t,s,i){n?e.addEventListener(t,s,!!i):e.attachEvent("on"+t,s)},o=function(e,t,s,i){n?e.removeEventListener(t,s,!!i):e.detachEvent("on"+t,s)},a=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},l=function(e,t){return-1!==(" "+e.className+" ").indexOf(" "+t+" ")},c=function(e,t){l(e,t)||(e.className=""===e.className?t:e.className+" "+t)},u=function(e,t){e.className=a((" "+e.className+" ").replace(" "+t+" "," "))},d=function(e){return/Array/.test(Object.prototype.toString.call(e))},h=function(e){return/Date/.test(Object.prototype.toString.call(e))&&!isNaN(e.getTime())},p=function(e){var t=e.getDay();return 0===t||6===t},m=function(e){return e%4==0&&e%100!=0||e%400==0},g=function(e,t){return[31,m(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]},f=function(e){h(e)&&e.setHours(0,0,0,0)},A=function(e,t){return e.getTime()===t.getTime()},y=function(e,t,n){var s,i;for(s in t)(i=void 0!==e[s])&&"object"==typeof t[s]&&null!==t[s]&&void 0===t[s].nodeName?h(t[s])?n&&(e[s]=new Date(t[s].getTime())):d(t[s])?n&&(e[s]=t[s].slice(0)):e[s]=y({},t[s],n):!n&&i||(e[s]=t[s]);return e},v=function(e,t,n){var i;s.createEvent?((i=s.createEvent("HTMLEvents")).initEvent(t,!0,!1),i=y(i,n),e.dispatchEvent(i)):s.createEventObject&&(i=s.createEventObject(),i=y(i,n),e.fireEvent("on"+t,i))},b=function(e){return e.month<0&&(e.year-=Math.ceil(Math.abs(e.month)/12),e.month+=12),e.month>11&&(e.year+=Math.floor(Math.abs(e.month)/12),e.month-=12),e},w={field:null,bound:void 0,ariaLabel:"Use the arrow keys to pick a date",position:"bottom left",reposition:!0,format:"YYYY-MM-DD",toString:null,parse:null,defaultDate:null,setDefaultDate:!1,firstDay:0,firstWeekOfYearMinDays:4,formatStrict:!1,minDate:null,maxDate:null,yearRange:10,showWeekNumber:!1,pickWholeWeek:!1,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,yearSuffix:"",showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,enableSelectionDaysInNextAndPreviousMonths:!1,numberOfMonths:1,mainCalendar:"left",container:void 0,blurFieldOnSelect:!0,i18n:{previousMonth:"Previous Month",nextMonth:"Next Month",months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},theme:null,events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null,keyboardInput:!0},k=function(e,t,n){for(t+=e.firstDay;t>=7;)t-=7;return n?e.i18n.weekdaysShort[t]:e.i18n.weekdays[t]},C=function(e){var t=[],n="false";if(e.isEmpty){if(!e.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';t.push("is-outside-current-month"),e.enableSelectionDaysInNextAndPreviousMonths||t.push("is-selection-disabled")}return e.isDisabled&&t.push("is-disabled"),e.isToday&&t.push("is-today"),e.isSelected&&(t.push("is-selected"),n="true"),e.hasEvent&&t.push("has-event"),e.isInRange&&t.push("is-inrange"),e.isStartRange&&t.push("is-startrange"),e.isEndRange&&t.push("is-endrange"),'<td data-day="'+e.day+'" class="'+t.join(" ")+'" aria-selected="'+n+'"><button class="pika-button pika-day" type="button" data-pika-year="'+e.year+'" data-pika-month="'+e.month+'" data-pika-day="'+e.day+'">'+e.day+"</button></td>"},_=function(e,t){e.setHours(0,0,0,0);var n=e.getDate(),s=e.getDay(),i=t,r=i-1,o=7,a=function(e){return(e+o-1)%o};e.setDate(n+r-a(s));var l=new Date(e.getFullYear(),0,i),c=864e5,u=(e.getTime()-l.getTime())/c;return 1+Math.round((u-r+a(l.getDay()))/o)},E=function(n,s,i,r){var o=new Date(i,s,n);return'<td class="pika-week">'+(t?e(o).isoWeek():_(o,r))+"</td>"},x=function(e,t,n,s){return'<tr class="pika-row'+(n?" pick-whole-week":"")+(s?" is-selected":"")+'">'+(t?e.reverse():e).join("")+"</tr>"},I=function(e){return"<tbody>"+e.join("")+"</tbody>"},S=function(e){var t,n=[];for(e.showWeekNumber&&n.push("<th></th>"),t=0;t<7;t++)n.push('<th scope="col"><abbr title="'+k(e,t)+'">'+k(e,t,!0)+"</abbr></th>");return"<thead><tr>"+(e.isRTL?n.reverse():n).join("")+"</tr></thead>"},D=function(e,t,n,s,i,r){var o,a,l,c,u,h=e._o,p=n===h.minYear,m=n===h.maxYear,g='<div id="'+r+'" class="pika-title" role="heading" aria-live="assertive">',f=!0,A=!0;for(l=[],o=0;o<12;o++)l.push('<option value="'+(n===i?o-t:12+o-t)+'"'+(o===s?' selected="selected"':"")+(p&&o<h.minMonth||m&&o>h.maxMonth?' disabled="disabled"':"")+">"+h.i18n.months[o]+"</option>");for(c='<div class="pika-label">'+h.i18n.months[s]+'<select class="pika-select pika-select-month" tabindex="-1">'+l.join("")+"</select></div>",d(h.yearRange)?(o=h.yearRange[0],a=h.yearRange[1]+1):(o=n-h.yearRange,a=1+n+h.yearRange),l=[];o<a&&o<=h.maxYear;o++)o>=h.minYear&&l.push('<option value="'+o+'"'+(o===n?' selected="selected"':"")+">"+o+"</option>");return u='<div class="pika-label">'+n+h.yearSuffix+'<select class="pika-select pika-select-year" tabindex="-1">'+l.join("")+"</select></div>",h.showMonthAfterYear?g+=u+c:g+=c+u,p&&(0===s||h.minMonth>=s)&&(f=!1),m&&(11===s||h.maxMonth<=s)&&(A=!1),0===t&&(g+='<button class="pika-prev'+(f?"":" is-disabled")+'" type="button">'+h.i18n.previousMonth+"</button>"),t===e._o.numberOfMonths-1&&(g+='<button class="pika-next'+(A?"":" is-disabled")+'" type="button">'+h.i18n.nextMonth+"</button>"),g+"</div>"},B=function(e,t,n){return'<table cellpadding="0" cellspacing="0" class="pika-table" role="grid" aria-labelledby="'+n+'">'+S(e)+I(t)+"</table>"},P=function(o){var a=this,c=a.config(o);a._onMouseDown=function(e){if(a._v){var t=(e=e||window.event).target||e.srcElement;if(t)if(l(t,"is-disabled")||(!l(t,"pika-button")||l(t,"is-empty")||l(t.parentNode,"is-disabled")?l(t,"pika-prev")?a.prevMonth():l(t,"pika-next")&&a.nextMonth():(a.setDate(new Date(t.getAttribute("data-pika-year"),t.getAttribute("data-pika-month"),t.getAttribute("data-pika-day"))),c.bound&&i((function(){a.hide(),c.blurFieldOnSelect&&c.field&&c.field.blur()}),100))),l(t,"pika-select"))a._c=!0;else{if(!e.preventDefault)return e.returnValue=!1,!1;e.preventDefault()}}},a._onChange=function(e){var t=(e=e||window.event).target||e.srcElement;t&&(l(t,"pika-select-month")?a.gotoMonth(t.value):l(t,"pika-select-year")&&a.gotoYear(t.value))},a._onKeyChange=function(e){if(e=e||window.event,a.isVisible())switch(e.keyCode){case 13:case 27:c.field&&c.field.blur();break;case 37:a.adjustDate("subtract",1);break;case 38:a.adjustDate("subtract",7);break;case 39:a.adjustDate("add",1);break;case 40:a.adjustDate("add",7);break;case 8:case 46:a.setDate(null)}},a._parseFieldValue=function(){if(c.parse)return c.parse(c.field.value,c.format);if(t){var n=e(c.field.value,c.format,c.formatStrict);return n&&n.isValid()?n.toDate():null}return new Date(Date.parse(c.field.value))},a._onInputChange=function(e){var t;e.firedBy!==a&&(t=a._parseFieldValue(),h(t)&&a.setDate(t),a._v||a.show())},a._onInputFocus=function(){a.show()},a._onInputClick=function(){a.show()},a._onInputBlur=function(){var e=s.activeElement;do{if(l(e,"pika-single"))return}while(e=e.parentNode);a._c||(a._b=i((function(){a.hide()}),50)),a._c=!1},a._onClick=function(e){var t=(e=e||window.event).target||e.srcElement,s=t;if(t){!n&&l(t,"pika-select")&&(t.onchange||(t.setAttribute("onchange","return;"),r(t,"change",a._onChange)));do{if(l(s,"pika-single")||s===c.trigger)return}while(s=s.parentNode);a._v&&t!==c.trigger&&s!==c.trigger&&a.hide()}},a.el=s.createElement("div"),a.el.className="pika-single"+(c.isRTL?" is-rtl":"")+(c.theme?" "+c.theme:""),r(a.el,"mousedown",a._onMouseDown,!0),r(a.el,"touchend",a._onMouseDown,!0),r(a.el,"change",a._onChange),c.keyboardInput&&r(s,"keydown",a._onKeyChange),c.field&&(c.container?c.container.appendChild(a.el):c.bound?s.body.appendChild(a.el):c.field.parentNode.insertBefore(a.el,c.field.nextSibling),r(c.field,"change",a._onInputChange),c.defaultDate||(c.defaultDate=a._parseFieldValue(),c.setDefaultDate=!0));var u=c.defaultDate;h(u)?c.setDefaultDate?a.setDate(u,!0):a.gotoDate(u):a.gotoDate(new Date),c.bound?(this.hide(),a.el.className+=" is-bound",r(c.trigger,"click",a._onInputClick),r(c.trigger,"focus",a._onInputFocus),r(c.trigger,"blur",a._onInputBlur)):this.show()};return P.prototype={config:function(e){this._o||(this._o=y({},w,!0));var t=y(this._o,e,!0);t.isRTL=!!t.isRTL,t.field=t.field&&t.field.nodeName?t.field:null,t.theme="string"==typeof t.theme&&t.theme?t.theme:null,t.bound=!!(void 0!==t.bound?t.field&&t.bound:t.field),t.trigger=t.trigger&&t.trigger.nodeName?t.trigger:t.field,t.disableWeekends=!!t.disableWeekends,t.disableDayFn="function"==typeof t.disableDayFn?t.disableDayFn:null;var n=parseInt(t.numberOfMonths,10)||1;if(t.numberOfMonths=n>4?4:n,h(t.minDate)||(t.minDate=!1),h(t.maxDate)||(t.maxDate=!1),t.minDate&&t.maxDate&&t.maxDate<t.minDate&&(t.maxDate=t.minDate=!1),t.minDate&&this.setMinDate(t.minDate),t.maxDate&&this.setMaxDate(t.maxDate),d(t.yearRange)){var s=(new Date).getFullYear()-10;t.yearRange[0]=parseInt(t.yearRange[0],10)||s,t.yearRange[1]=parseInt(t.yearRange[1],10)||s}else t.yearRange=Math.abs(parseInt(t.yearRange,10))||w.yearRange,t.yearRange>100&&(t.yearRange=100);return t},toString:function(n){return n=n||this._o.format,h(this._d)?this._o.toString?this._o.toString(this._d,n):t?e(this._d).format(n):this._d.toDateString():""},getMoment:function(){return t?e(this._d):null},setMoment:function(n,s){t&&e.isMoment(n)&&this.setDate(n.toDate(),s)},getDate:function(){return h(this._d)?new Date(this._d.getTime()):null},setDate:function(e,t){if(!e)return this._d=null,this._o.field&&(this._o.field.value="",v(this._o.field,"change",{firedBy:this})),this.draw();if("string"==typeof e&&(e=new Date(Date.parse(e))),h(e)){var n=this._o.minDate,s=this._o.maxDate;h(n)&&e<n?e=n:h(s)&&e>s&&(e=s),this._d=new Date(e.getTime()),f(this._d),this.gotoDate(this._d),this._o.field&&(this._o.field.value=this.toString(),v(this._o.field,"change",{firedBy:this})),t||"function"!=typeof this._o.onSelect||this._o.onSelect.call(this,this.getDate())}},clear:function(){this.setDate(null)},gotoDate:function(e){var t=!0;if(h(e)){if(this.calendars){var n=new Date(this.calendars[0].year,this.calendars[0].month,1),s=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),i=e.getTime();s.setMonth(s.getMonth()+1),s.setDate(s.getDate()-1),t=i<n.getTime()||s.getTime()<i}t&&(this.calendars=[{month:e.getMonth(),year:e.getFullYear()}],"right"===this._o.mainCalendar&&(this.calendars[0].month+=1-this._o.numberOfMonths)),this.adjustCalendars()}},adjustDate:function(e,t){var n,s=this.getDate()||new Date,i=24*parseInt(t)*60*60*1e3;"add"===e?n=new Date(s.valueOf()+i):"subtract"===e&&(n=new Date(s.valueOf()-i)),this.setDate(n)},adjustCalendars:function(){this.calendars[0]=b(this.calendars[0]);for(var e=1;e<this._o.numberOfMonths;e++)this.calendars[e]=b({month:this.calendars[0].month+e,year:this.calendars[0].year});this.draw()},gotoToday:function(){this.gotoDate(new Date)},gotoMonth:function(e){isNaN(e)||(this.calendars[0].month=parseInt(e,10),this.adjustCalendars())},nextMonth:function(){this.calendars[0].month++,this.adjustCalendars()},prevMonth:function(){this.calendars[0].month--,this.adjustCalendars()},gotoYear:function(e){isNaN(e)||(this.calendars[0].year=parseInt(e,10),this.adjustCalendars())},setMinDate:function(e){e instanceof Date?(f(e),this._o.minDate=e,this._o.minYear=e.getFullYear(),this._o.minMonth=e.getMonth()):(this._o.minDate=w.minDate,this._o.minYear=w.minYear,this._o.minMonth=w.minMonth,this._o.startRange=w.startRange),this.draw()},setMaxDate:function(e){e instanceof Date?(f(e),this._o.maxDate=e,this._o.maxYear=e.getFullYear(),this._o.maxMonth=e.getMonth()):(this._o.maxDate=w.maxDate,this._o.maxYear=w.maxYear,this._o.maxMonth=w.maxMonth,this._o.endRange=w.endRange),this.draw()},setStartRange:function(e){this._o.startRange=e},setEndRange:function(e){this._o.endRange=e},draw:function(e){if(this._v||e){var t,n=this._o,s=n.minYear,r=n.maxYear,o=n.minMonth,a=n.maxMonth,l="";this._y<=s&&(this._y=s,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=r&&(this._y=r,!isNaN(a)&&this._m>a&&(this._m=a));for(var c=0;c<n.numberOfMonths;c++)t="pika-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2),l+='<div class="pika-lendar">'+D(this,c,this.calendars[c].year,this.calendars[c].month,this.calendars[0].year,t)+this.render(this.calendars[c].year,this.calendars[c].month,t)+"</div>";this.el.innerHTML=l,n.bound&&"hidden"!==n.field.type&&i((function(){n.trigger.focus()}),1),"function"==typeof this._o.onDraw&&this._o.onDraw(this),n.bound&&n.field.setAttribute("aria-label",n.ariaLabel)}},adjustPosition:function(){var e,t,n,i,r,o,a,l,d,h,p,m;if(!this._o.container){if(this.el.style.position="absolute",t=e=this._o.trigger,n=this.el.offsetWidth,i=this.el.offsetHeight,r=window.innerWidth||s.documentElement.clientWidth,o=window.innerHeight||s.documentElement.clientHeight,a=window.pageYOffset||s.body.scrollTop||s.documentElement.scrollTop,p=!0,m=!0,"function"==typeof e.getBoundingClientRect)l=(h=e.getBoundingClientRect()).left+window.pageXOffset,d=h.bottom+window.pageYOffset;else for(l=t.offsetLeft,d=t.offsetTop+t.offsetHeight;t=t.offsetParent;)l+=t.offsetLeft,d+=t.offsetTop;(this._o.reposition&&l+n>r||this._o.position.indexOf("right")>-1&&l-n+e.offsetWidth>0)&&(l=l-n+e.offsetWidth,p=!1),(this._o.reposition&&d+i>o+a||this._o.position.indexOf("top")>-1&&d-i-e.offsetHeight>0)&&(d=d-i-e.offsetHeight,m=!1),this.el.style.left=l+"px",this.el.style.top=d+"px",c(this.el,p?"left-aligned":"right-aligned"),c(this.el,m?"bottom-aligned":"top-aligned"),u(this.el,p?"right-aligned":"left-aligned"),u(this.el,m?"top-aligned":"bottom-aligned")}},render:function(e,t,n){var s=this._o,i=new Date,r=g(e,t),o=new Date(e,t,1).getDay(),a=[],l=[];f(i),s.firstDay>0&&(o-=s.firstDay)<0&&(o+=7);for(var c=0===t?11:t-1,u=11===t?0:t+1,d=0===t?e-1:e,m=11===t?e+1:e,y=g(d,c),v=r+o,b=v;b>7;)b-=7;v+=7-b;for(var w=!1,k=0,_=0;k<v;k++){var I=new Date(e,t,k-o+1),S=!!h(this._d)&&A(I,this._d),D=A(I,i),P=-1!==s.events.indexOf(I.toDateString()),T=k<o||k>=r+o,F=k-o+1,M=t,O=e,L=s.startRange&&A(s.startRange,I),N=s.endRange&&A(s.endRange,I),R=s.startRange&&s.endRange&&s.startRange<I&&I<s.endRange;T&&(k<o?(F=y+F,M=c,O=d):(F-=r,M=u,O=m));var K={day:F,month:M,year:O,hasEvent:P,isSelected:S,isToday:D,isDisabled:s.minDate&&I<s.minDate||s.maxDate&&I>s.maxDate||s.disableWeekends&&p(I)||s.disableDayFn&&s.disableDayFn(I),isEmpty:T,isStartRange:L,isEndRange:N,isInRange:R,showDaysInNextAndPreviousMonths:s.showDaysInNextAndPreviousMonths,enableSelectionDaysInNextAndPreviousMonths:s.enableSelectionDaysInNextAndPreviousMonths};s.pickWholeWeek&&S&&(w=!0),l.push(C(K)),7==++_&&(s.showWeekNumber&&l.unshift(E(k-o,t,e,s.firstWeekOfYearMinDays)),a.push(x(l,s.isRTL,s.pickWholeWeek,w)),l=[],_=0,w=!1)}return B(s,a,n)},isVisible:function(){return this._v},show:function(){this.isVisible()||(this._v=!0,this.draw(),u(this.el,"is-hidden"),this._o.bound&&(r(s,"click",this._onClick),this.adjustPosition()),"function"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){var e=this._v;!1!==e&&(this._o.bound&&o(s,"click",this._onClick),this._o.container||(this.el.style.position="static",this.el.style.left="auto",this.el.style.top="auto"),c(this.el,"is-hidden"),this._v=!1,void 0!==e&&"function"==typeof this._o.onClose&&this._o.onClose.call(this))},destroy:function(){var e=this._o;this.hide(),o(this.el,"mousedown",this._onMouseDown,!0),o(this.el,"touchend",this._onMouseDown,!0),o(this.el,"change",this._onChange),e.keyboardInput&&o(s,"keydown",this._onKeyChange),e.field&&(o(e.field,"change",this._onInputChange),e.bound&&(o(e.trigger,"click",this._onInputClick),o(e.trigger,"focus",this._onInputFocus),o(e.trigger,"blur",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},P}(i)}()},3401:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});const s='var Module=typeof self!=="undefined"&&typeof self.Module!=="undefined"?self.Module:{};var jsModule=Module;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="argon2.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at \'"+wasmBinaryFile+"\'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["c"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["k"];addOnInit(Module["asm"]["d"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){Module=jsModule;if(typeof self!=="undefined")self.Module=Module;receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;var maxHeapSize=2147418112;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var asmLibraryArg={"a":_emscripten_memcpy_big,"b":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["d"]).apply(null,arguments)};var _argon2_hash=Module["_argon2_hash"]=function(){return(_argon2_hash=Module["_argon2_hash"]=Module["asm"]["e"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["f"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["g"]).apply(null,arguments)};var _argon2_verify=Module["_argon2_verify"]=function(){return(_argon2_verify=Module["_argon2_verify"]=Module["asm"]["h"]).apply(null,arguments)};var _argon2_error_message=Module["_argon2_error_message"]=function(){return(_argon2_error_message=Module["_argon2_error_message"]=Module["asm"]["i"]).apply(null,arguments)};var _argon2_encodedlen=Module["_argon2_encodedlen"]=function(){return(_argon2_encodedlen=Module["_argon2_encodedlen"]=Module["asm"]["j"]).apply(null,arguments)};var _argon2_hash_ext=Module["_argon2_hash_ext"]=function(){return(_argon2_hash_ext=Module["_argon2_hash_ext"]=Module["asm"]["l"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["m"]).apply(null,arguments)};Module["allocate"]=allocate;Module["UTF8ToString"]=UTF8ToString;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();if(typeof module!=="undefined")module.exports=Module;Module.unloadRuntime=function(){if(typeof self!=="undefined"){delete self.Module}Module=jsModule=wasmMemory=wasmTable=asm=buffer=HEAP8=HEAPU8=HEAP16=HEAPU16=HEAP32=HEAPU32=HEAPF32=HEAPF64=undefined;if(typeof module!=="undefined"){delete module.exports}};\n'},7119:(e,t,n)=>{"use strict";n.r(t),n.d(t,{RuntimeInfo:()=>s});const s={version:"1.18.7",beta:!1,buildDate:"2021-07-18",commit:"dfc6201",devMode:"",appleTeamId:"3LE7JZ657W"}},9164:(e,t,n)=>{"use strict";function s(e){return e&&e.__esModule?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.__esModule=!0;var r=i(n(5825)),o=s(n(1066)),a=s(n(1958)),l=i(n(6188)),c=i(n(6936)),u=s(n(9135));function d(){var e=new r.HandlebarsEnvironment;return l.extend(e,r),e.SafeString=o.default,e.Exception=a.default,e.Utils=l,e.escapeExpression=l.escapeExpression,e.VM=c,e.template=function(t){return c.template(t,e)},e}var h=d();h.create=d,u.default(h),h.default=h,t.default=h,e.exports=t.default},5825:(e,t,n)=>{"use strict";function s(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.HandlebarsEnvironment=d;var i=n(6188),r=s(n(1958)),o=n(9442),a=n(1096),l=s(n(5429)),c=n(8456);t.VERSION="4.7.7";t.COMPILER_REVISION=8;t.LAST_COMPATIBLE_COMPILER_REVISION=7;t.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var u="[object Object]";function d(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},o.registerDefaultHelpers(this),a.registerDefaultDecorators(this)}d.prototype={constructor:d,logger:l.default,log:l.default.log,registerHelper:function(e,t){if(i.toString.call(e)===u){if(t)throw new r.default("Arg not supported with multiple helpers");i.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(i.toString.call(e)===u)i.extend(this.partials,e);else{if(void 0===t)throw new r.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(i.toString.call(e)===u){if(t)throw new r.default("Arg not supported with multiple decorators");i.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){c.resetLoggedProperties()}};var h=l.default.log;t.log=h,t.createFrame=i.createFrame,t.logger=l.default},1096:(e,t,n)=>{"use strict";t.__esModule=!0,t.registerDefaultDecorators=function(e){r.default(e)};var s,i=n(5702),r=(s=i)&&s.__esModule?s:{default:s}},5702:(e,t,n)=>{"use strict";t.__esModule=!0;var s=n(6188);t.default=function(e){e.registerDecorator("inline",(function(e,t,n,i){var r=e;return t.partials||(t.partials={},r=function(i,r){var o=n.partials;n.partials=s.extend({},o,t.partials);var a=e(i,r);return n.partials=o,a}),t.partials[i.args[0]]=i.fn,r}))},e.exports=t.default},1958:(e,t)=>{"use strict";t.__esModule=!0;var n=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function s(e,t){var i=t&&t.loc,r=void 0,o=void 0,a=void 0,l=void 0;i&&(r=i.start.line,o=i.end.line,a=i.start.column,l=i.end.column,e+=" - "+r+":"+a);for(var c=Error.prototype.constructor.call(this,e),u=0;u<n.length;u++)this[n[u]]=c[n[u]];Error.captureStackTrace&&Error.captureStackTrace(this,s);try{i&&(this.lineNumber=r,this.endLineNumber=o,Object.defineProperty?(Object.defineProperty(this,"column",{value:a,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:l,enumerable:!0})):(this.column=a,this.endColumn=l))}catch(e){}}s.prototype=new Error,t.default=s,e.exports=t.default},9442:(e,t,n)=>{"use strict";function s(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.registerDefaultHelpers=function(e){i.default(e),r.default(e),o.default(e),a.default(e),l.default(e),c.default(e),u.default(e)},t.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var i=s(n(4684)),r=s(n(8962)),o=s(n(3774)),a=s(n(9064)),l=s(n(4315)),c=s(n(3906)),u=s(n(6912))},4684:(e,t,n)=>{"use strict";t.__esModule=!0;var s=n(6188);t.default=function(e){e.registerHelper("blockHelperMissing",(function(t,n){var i=n.inverse,r=n.fn;if(!0===t)return r(this);if(!1===t||null==t)return i(this);if(s.isArray(t))return t.length>0?(n.ids&&(n.ids=[n.name]),e.helpers.each(t,n)):i(this);if(n.data&&n.ids){var o=s.createFrame(n.data);o.contextPath=s.appendContextPath(n.data.contextPath,n.name),n={data:o}}return r(t,n)}))},e.exports=t.default},8962:(e,t,n)=>{"use strict";t.__esModule=!0;var s,i=n(6188),r=n(1958),o=(s=r)&&s.__esModule?s:{default:s};t.default=function(e){e.registerHelper("each",(function(e,t){if(!t)throw new o.default("Must pass iterator to #each");var s,r=t.fn,a=t.inverse,l=0,c="",u=void 0,d=void 0;function h(t,n,s){u&&(u.key=t,u.index=n,u.first=0===n,u.last=!!s,d&&(u.contextPath=d+t)),c+=r(e[t],{data:u,blockParams:i.blockParams([e[t],t],[d+t,null])})}if(t.data&&t.ids&&(d=i.appendContextPath(t.data.contextPath,t.ids[0])+"."),i.isFunction(e)&&(e=e.call(this)),t.data&&(u=i.createFrame(t.data)),e&&"object"==typeof e)if(i.isArray(e))for(var p=e.length;l<p;l++)l in e&&h(l,l,l===e.length-1);else if(n.g.Symbol&&e[n.g.Symbol.iterator]){for(var m=[],g=e[n.g.Symbol.iterator](),f=g.next();!f.done;f=g.next())m.push(f.value);for(p=(e=m).length;l<p;l++)h(l,l,l===e.length-1)}else s=void 0,Object.keys(e).forEach((function(e){void 0!==s&&h(s,l-1),s=e,l++})),void 0!==s&&h(s,l-1,!0);return 0===l&&(c=a(this)),c}))},e.exports=t.default},3774:(e,t,n)=>{"use strict";t.__esModule=!0;var s,i=n(1958),r=(s=i)&&s.__esModule?s:{default:s};t.default=function(e){e.registerHelper("helperMissing",(function(){if(1!==arguments.length)throw new r.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}))},e.exports=t.default},9064:(e,t,n)=>{"use strict";t.__esModule=!0;var s,i=n(6188),r=n(1958),o=(s=r)&&s.__esModule?s:{default:s};t.default=function(e){e.registerHelper("if",(function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return i.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||i.isEmpty(e)?t.inverse(this):t.fn(this)})),e.registerHelper("unless",(function(t,n){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}))},e.exports=t.default},4315:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){e.registerHelper("log",(function(){for(var t=[void 0],n=arguments[arguments.length-1],s=0;s<arguments.length-1;s++)t.push(arguments[s]);var i=1;null!=n.hash.level?i=n.hash.level:n.data&&null!=n.data.level&&(i=n.data.level),t[0]=i,e.log.apply(e,t)}))},e.exports=t.default},3906:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){e.registerHelper("lookup",(function(e,t,n){return e?n.lookupProperty(e,t):e}))},e.exports=t.default},6912:(e,t,n)=>{"use strict";t.__esModule=!0;var s,i=n(6188),r=n(1958),o=(s=r)&&s.__esModule?s:{default:s};t.default=function(e){e.registerHelper("with",(function(e,t){if(2!=arguments.length)throw new o.default("#with requires exactly one argument");i.isFunction(e)&&(e=e.call(this));var n=t.fn;if(i.isEmpty(e))return t.inverse(this);var s=t.data;return t.data&&t.ids&&((s=i.createFrame(t.data)).contextPath=i.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:s,blockParams:i.blockParams([e],[s&&s.contextPath])})}))},e.exports=t.default},7125:(e,t,n)=>{"use strict";t.__esModule=!0,t.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return s.extend.apply(void 0,[Object.create(null)].concat(t))};var s=n(6188)},8456:(e,t,n)=>{"use strict";t.__esModule=!0,t.createProtoAccessControl=function(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:s.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:s.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},t.resultIsAllowed=function(e,t,n){return o("function"==typeof e?t.methods:t.properties,n)},t.resetLoggedProperties=function(){Object.keys(r).forEach((function(e){delete r[e]}))};var s=n(7125),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(5429)),r=Object.create(null);function o(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==r[e]&&(r[e]=!0,i.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'))}(t),!1)}},1776:(e,t)=>{"use strict";t.__esModule=!0,t.wrapHelper=function(e,t){if("function"!=typeof e)return e;return function(){var n=arguments[arguments.length-1];return arguments[arguments.length-1]=t(n),e.apply(this,arguments)}}},5429:(e,t,n)=>{"use strict";t.__esModule=!0;var s=n(6188),i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if("string"==typeof e){var t=s.indexOf(i.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=i.lookupLevel(e),"undefined"!=typeof console&&i.lookupLevel(i.level)<=e){var t=i.methodMap[e];console[t]||(t="log");for(var n=arguments.length,s=Array(n>1?n-1:0),r=1;r<n;r++)s[r-1]=arguments[r];console[t].apply(console,s)}}};t.default=i,e.exports=t.default},9135:(e,t,n)=>{"use strict";t.__esModule=!0,t.default=function(e){var t=void 0!==n.g?n.g:window,s=t.Handlebars;e.noConflict=function(){return t.Handlebars===e&&(t.Handlebars=s),e}},e.exports=t.default},6936:(e,t,n)=>{"use strict";t.__esModule=!0,t.checkRevision=function(e){var t=e&&e[0]||1,n=a.COMPILER_REVISION;if(t>=a.LAST_COMPATIBLE_COMPILER_REVISION&&t<=a.COMPILER_REVISION)return;if(t<a.LAST_COMPATIBLE_COMPILER_REVISION){var s=a.REVISION_CHANGES[n],i=a.REVISION_CHANGES[t];throw new o.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+s+") or downgrade your runtime to an older version ("+i+").")}throw new o.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},t.template=function(e,t){if(!t)throw new o.default("No environment passed to template");if(!e||!e.main)throw new o.default("Unknown template object: "+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var n=e.compiler&&7===e.compiler[0];var s={strict:function(e,t,n){if(!e||!(t in e))throw new o.default('"'+t+'" not defined in '+e,{loc:n});return s.lookupProperty(e,t)},lookupProperty:function(e,t){var n=e[t];return null==n||Object.prototype.hasOwnProperty.call(e,t)||u.resultIsAllowed(n,s.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,i=0;i<n;i++){if(null!=(e[i]&&s.lookupProperty(e[i],t)))return e[i][t]}},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:i.escapeExpression,invokePartial:function(n,s,r){r.hash&&(s=i.extend({},s,r.hash),r.ids&&(r.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,s,r);var a=i.extend({},r,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),l=t.VM.invokePartial.call(this,n,s,a);if(null==l&&t.compile&&(r.partials[r.name]=t.compile(n,e.compilerOptions,t),l=r.partials[r.name](s,a)),null!=l){if(r.indent){for(var c=l.split("\n"),u=0,d=c.length;u<d&&(c[u]||u+1!==d);u++)c[u]=r.indent+c[u];l=c.join("\n")}return l}throw new o.default("The partial "+r.name+" could not be compiled when running in runtime-only mode")},fn:function(t){var n=e[t];return n.decorator=e[t+"_d"],n},programs:[],program:function(e,t,n,s,i){var r=this.programs[e],o=this.fn(e);return t||i||s||n?r=d(this,e,o,t,n,s,i):r||(r=this.programs[e]=d(this,e,o)),r},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=i.extend({},t,e)),n},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function r(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],i=n.data;r._setup(n),!n.partial&&e.useData&&(i=p(t,i));var o=void 0,a=e.useBlockParams?[]:void 0;function l(t){return""+e.main(s,t,s.helpers,s.partials,i,a,o)}return e.useDepths&&(o=n.depths?t!=n.depths[0]?[t].concat(n.depths):n.depths:[t]),(l=m(e.main,l,s,n.depths||[],i,a))(t,n)}return r.isTop=!0,r._setup=function(r){if(r.partial)s.protoAccessControl=r.protoAccessControl,s.helpers=r.helpers,s.partials=r.partials,s.decorators=r.decorators,s.hooks=r.hooks;else{var o=i.extend({},t.helpers,r.helpers);!function(e,t){Object.keys(e).forEach((function(n){var s=e[n];e[n]=function(e,t){var n=t.lookupProperty;return c.wrapHelper(e,(function(e){return i.extend({lookupProperty:n},e)}))}(s,t)}))}(o,s),s.helpers=o,e.usePartial&&(s.partials=s.mergeIfNeeded(r.partials,t.partials)),(e.usePartial||e.useDecorators)&&(s.decorators=i.extend({},t.decorators,r.decorators)),s.hooks={},s.protoAccessControl=u.createProtoAccessControl(r);var a=r.allowCallsToHelperMissing||n;l.moveHelperToHooks(s,"helperMissing",a),l.moveHelperToHooks(s,"blockHelperMissing",a)}},r._child=function(t,n,i,r){if(e.useBlockParams&&!i)throw new o.default("must pass block params");if(e.useDepths&&!r)throw new o.default("must pass parent depths");return d(s,t,e[t],n,0,i,r)},r},t.wrapProgram=d,t.resolvePartial=function(e,t,n){e?e.call||n.name||(n.name=e,e=n.partials[e]):e="@partial-block"===n.name?n.data["partial-block"]:n.partials[n.name];return e},t.invokePartial=function(e,t,n){var s=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var r=void 0;n.fn&&n.fn!==h&&function(){n.data=a.createFrame(n.data);var e=n.fn;r=n.data["partial-block"]=function(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return n.data=a.createFrame(n.data),n.data["partial-block"]=s,e(t,n)},e.partials&&(n.partials=i.extend({},n.partials,e.partials))}();void 0===e&&r&&(e=r);if(void 0===e)throw new o.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)},t.noop=h;var s,i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6188)),r=n(1958),o=(s=r)&&s.__esModule?s:{default:s},a=n(5825),l=n(9442),c=n(1776),u=n(8456);function d(e,t,n,s,i,r,o){function a(t){var i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],a=o;return!o||t==o[0]||t===e.nullContext&&null===o[0]||(a=[t].concat(o)),n(e,t,e.helpers,e.partials,i.data||s,r&&[i.blockParams].concat(r),a)}return(a=m(n,a,e,o,s,r)).program=t,a.depth=o?o.length:0,a.blockParams=i||0,a}function h(){return""}function p(e,t){return t&&"root"in t||((t=t?a.createFrame(t):{}).root=e),t}function m(e,t,n,s,r,o){if(e.decorator){var a={};t=e.decorator(t,a,n,s&&s[0],r,o,s),i.extend(t,a)}return t}},1066:(e,t)=>{"use strict";function n(e){this.string=e}t.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},t.default=n,e.exports=t.default},6188:(e,t)=>{"use strict";t.__esModule=!0,t.extend=o,t.indexOf=function(e,t){for(var n=0,s=e.length;n<s;n++)if(e[n]===t)return n;return-1},t.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}if(!i.test(e))return e;return e.replace(s,r)},t.isEmpty=function(e){return!e&&0!==e||!(!c(e)||0!==e.length)},t.createFrame=function(e){var t=o({},e);return t._parent=e,t},t.blockParams=function(e,t){return e.path=t,e},t.appendContextPath=function(e,t){return(e?e+".":"")+t};var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},s=/[&<>"'`=]/g,i=/[&<>"'`=]/;function r(e){return n[e]}function o(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var a=Object.prototype.toString;t.toString=a;var l=function(e){return"function"==typeof e};l(/x/)&&(t.isFunction=l=function(e){return"function"==typeof e&&"[object Function]"===a.call(e)}),t.isFunction=l;var c=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===a.call(e)};t.isArray=c},7109:(e,t,n)=>{e.exports=n(9164).default},4855:(e,t,n)=>{!function(e){"use strict";var t=function(e,t){this.hi=0|e,this.lo=0|t},s=function(e){var t,n=new Float64Array(16);if(e)for(t=0;t<e.length;t++)n[t]=e[t];return n},i=function(){throw new Error("no PRNG")},r=new Uint8Array(16),o=new Uint8Array(32);o[0]=9;var a=s(),l=s([1]),c=s([56129,1]),u=s([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),d=s([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),h=s([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),p=s([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),m=s([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function g(e,t){return e<<t|e>>>32-t}function f(e,t){var n=255&e[t+3];return(n=(n=n<<8|255&e[t+2])<<8|255&e[t+1])<<8|255&e[t+0]}function A(e,n){var s=e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3],i=e[n+4]<<24|e[n+5]<<16|e[n+6]<<8|e[n+7];return new t(s,i)}function y(e,t,n){var s;for(s=0;s<4;s++)e[t+s]=255&n,n>>>=8}function v(e,t,n){e[t]=n.hi>>24&255,e[t+1]=n.hi>>16&255,e[t+2]=n.hi>>8&255,e[t+3]=255&n.hi,e[t+4]=n.lo>>24&255,e[t+5]=n.lo>>16&255,e[t+6]=n.lo>>8&255,e[t+7]=255&n.lo}function b(e,t,n,s,i){var r,o=0;for(r=0;r<i;r++)o|=e[t+r]^n[s+r];return(1&o-1>>>8)-1}function w(e,t,n,s){return b(e,t,n,s,16)}function k(e,t,n,s){return b(e,t,n,s,32)}function C(e,t,n,s,i){var r,o,a,l=new Uint32Array(16),c=new Uint32Array(16),u=new Uint32Array(16),d=new Uint32Array(4);for(r=0;r<4;r++)c[5*r]=f(s,4*r),c[1+r]=f(n,4*r),c[6+r]=f(t,4*r),c[11+r]=f(n,16+4*r);for(r=0;r<16;r++)u[r]=c[r];for(r=0;r<20;r++){for(o=0;o<4;o++){for(a=0;a<4;a++)d[a]=c[(5*o+4*a)%16];for(d[1]^=g(d[0]+d[3]|0,7),d[2]^=g(d[1]+d[0]|0,9),d[3]^=g(d[2]+d[1]|0,13),d[0]^=g(d[3]+d[2]|0,18),a=0;a<4;a++)l[4*o+(o+a)%4]=d[a]}for(a=0;a<16;a++)c[a]=l[a]}if(i){for(r=0;r<16;r++)c[r]=c[r]+u[r]|0;for(r=0;r<4;r++)c[5*r]=c[5*r]-f(s,4*r)|0,c[6+r]=c[6+r]-f(t,4*r)|0;for(r=0;r<4;r++)y(e,4*r,c[5*r]),y(e,16+4*r,c[6+r])}else for(r=0;r<16;r++)y(e,4*r,c[r]+u[r]|0)}function _(e,t,n,s){C(e,t,n,s,!1)}function E(e,t,n,s){return C(e,t,n,s,!0),0}var x=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function I(e,t,n,s,i,r,o){var a,l,c=new Uint8Array(16),u=new Uint8Array(64);if(!i)return 0;for(l=0;l<16;l++)c[l]=0;for(l=0;l<8;l++)c[l]=r[l];for(;64<=i;){for(_(u,c,o,x),l=0;l<64;l++)e[t+l]=(n?n[s+l]:0)^u[l];for(a=1,l=8;l<16;l++)a=a+(255&c[l])|0,c[l]=255&a,a>>>=8;i-=64,t+=64,n&&(s+=64)}if(0<i)for(_(u,c,o,x),l=0;l<i;l++)e[t+l]=(n?n[s+l]:0)^u[l];return 0}function S(e,t,n,s,i){return I(e,t,null,0,n,s,i)}function D(e,t,n,s,i){var r=new Uint8Array(32);return E(r,s,i,x),S(e,t,n,s.subarray(16),r)}function B(e,t,n,s,i,r,o){var a=new Uint8Array(32);return E(a,r,o,x),I(e,t,n,s,i,r.subarray(16),a)}function P(e,t){var n,s=0;for(n=0;n<17;n++)s=s+(e[n]+t[n]|0)|0,e[n]=255&s,s>>>=8}var T=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function F(e,t,n,s,i,r){var o,a,l,c,u=new Uint32Array(17),d=new Uint32Array(17),h=new Uint32Array(17),p=new Uint32Array(17),m=new Uint32Array(17);for(l=0;l<17;l++)d[l]=h[l]=0;for(l=0;l<16;l++)d[l]=r[l];for(d[3]&=15,d[4]&=252,d[7]&=15,d[8]&=252,d[11]&=15,d[12]&=252,d[15]&=15;0<i;){for(l=0;l<17;l++)p[l]=0;for(l=0;l<16&&l<i;++l)p[l]=n[s+l];for(p[l]=1,s+=l,i-=l,P(h,p),a=0;a<17;a++)for(l=u[a]=0;l<17;l++)u[a]=u[a]+h[l]*(l<=a?d[a-l]:320*d[a+17-l]|0)|0;for(a=0;a<17;a++)h[a]=u[a];for(l=c=0;l<16;l++)c=c+h[l]|0,h[l]=255&c,c>>>=8;for(c=c+h[16]|0,h[16]=3&c,c=5*(c>>>2)|0,l=0;l<16;l++)c=c+h[l]|0,h[l]=255&c,c>>>=8;c=c+h[16]|0,h[16]=c}for(l=0;l<17;l++)m[l]=h[l];for(P(h,T),o=0|-(h[16]>>>7),l=0;l<17;l++)h[l]^=o&(m[l]^h[l]);for(l=0;l<16;l++)p[l]=r[l+16];for(p[16]=0,P(h,p),l=0;l<16;l++)e[t+l]=h[l];return 0}function M(e,t,n,s,i,r){var o=new Uint8Array(16);return F(o,0,n,s,i,r),w(e,t,o,0)}function O(e,t,n,s,i){var r;if(n<32)return-1;for(B(e,0,t,0,n,s,i),F(e,16,e,32,n-32,e),r=0;r<16;r++)e[r]=0;return 0}function L(e,t,n,s,i){var r,o=new Uint8Array(32);if(n<32)return-1;if(D(o,0,32,s,i),0!==M(t,16,t,32,n-32,o))return-1;for(B(e,0,t,0,n,s,i),r=0;r<32;r++)e[r]=0;return 0}function N(e,t){var n;for(n=0;n<16;n++)e[n]=0|t[n]}function R(e){var t,n;for(n=0;n<16;n++)e[n]+=65536,t=Math.floor(e[n]/65536),e[(n+1)*(n<15?1:0)]+=t-1+37*(t-1)*(15===n?1:0),e[n]-=65536*t}function K(e,t,n){for(var s,i=~(n-1),r=0;r<16;r++)s=i&(e[r]^t[r]),e[r]^=s,t[r]^=s}function U(e,t){var n,i,r,o=s(),a=s();for(n=0;n<16;n++)a[n]=t[n];for(R(a),R(a),R(a),i=0;i<2;i++){for(o[0]=a[0]-65517,n=1;n<15;n++)o[n]=a[n]-65535-(o[n-1]>>16&1),o[n-1]&=65535;o[15]=a[15]-32767-(o[14]>>16&1),r=o[15]>>16&1,o[14]&=65535,K(a,o,1-r)}for(n=0;n<16;n++)e[2*n]=255&a[n],e[2*n+1]=a[n]>>8}function Q(e,t){var n=new Uint8Array(32),s=new Uint8Array(32);return U(n,e),U(s,t),k(n,0,s,0)}function j(e){var t=new Uint8Array(32);return U(t,e),1&t[0]}function G(e,t){var n;for(n=0;n<16;n++)e[n]=t[2*n]+(t[2*n+1]<<8);e[15]&=32767}function H(e,t,n){var s;for(s=0;s<16;s++)e[s]=t[s]+n[s]|0}function V(e,t,n){var s;for(s=0;s<16;s++)e[s]=t[s]-n[s]|0}function z(e,t,n){var s,i,r=new Float64Array(31);for(s=0;s<31;s++)r[s]=0;for(s=0;s<16;s++)for(i=0;i<16;i++)r[s+i]+=t[s]*n[i];for(s=0;s<15;s++)r[s]+=38*r[s+16];for(s=0;s<16;s++)e[s]=r[s];R(e),R(e)}function q(e,t){z(e,t,t)}function W(e,t){var n,i=s();for(n=0;n<16;n++)i[n]=t[n];for(n=253;0<=n;n--)q(i,i),2!==n&&4!==n&&z(i,i,t);for(n=0;n<16;n++)e[n]=i[n]}function Y(e,t){var n,i=s();for(n=0;n<16;n++)i[n]=t[n];for(n=250;0<=n;n--)q(i,i),1!==n&&z(i,i,t);for(n=0;n<16;n++)e[n]=i[n]}function $(e,t,n){var i,r,o=new Uint8Array(32),a=new Float64Array(80),l=s(),u=s(),d=s(),h=s(),p=s(),m=s();for(r=0;r<31;r++)o[r]=t[r];for(o[31]=127&t[31]|64,o[0]&=248,G(a,n),r=0;r<16;r++)u[r]=a[r],h[r]=l[r]=d[r]=0;for(l[0]=h[0]=1,r=254;0<=r;--r)K(l,u,i=o[r>>>3]>>>(7&r)&1),K(d,h,i),H(p,l,d),V(l,l,d),H(d,u,h),V(u,u,h),q(h,p),q(m,l),z(l,d,l),z(d,u,p),H(p,l,d),V(l,l,d),q(u,l),V(d,h,m),z(l,d,c),H(l,l,h),z(d,d,l),z(l,h,m),z(h,u,a),q(u,p),K(l,u,i),K(d,h,i);for(r=0;r<16;r++)a[r+16]=l[r],a[r+32]=d[r],a[r+48]=u[r],a[r+64]=h[r];var g=a.subarray(32),f=a.subarray(16);return W(g,g),z(f,f,g),U(e,f),0}function J(e,t){return $(e,t,o)}function X(e,t){return i(t,32),J(e,t)}function Z(e,t,n){var s=new Uint8Array(32);return $(s,n,t),E(e,r,s,x)}var ee=O,te=L;function ne(){var e,n,s,i=0,r=0,o=0,a=0,l=65535;for(s=0;s<arguments.length;s++)i+=(e=arguments[s].lo)&l,r+=e>>>16,o+=(n=arguments[s].hi)&l,a+=n>>>16;return new t((o+=(r+=i>>>16)>>>16)&l|(a+=o>>>16)<<16,i&l|r<<16)}function se(e,n){return new t(e.hi>>>n,e.lo>>>n|e.hi<<32-n)}function ie(){var e,n=0,s=0;for(e=0;e<arguments.length;e++)n^=arguments[e].lo,s^=arguments[e].hi;return new t(s,n)}function re(e,n){var s,i,r=32-n;return n<32?(s=e.hi>>>n|e.lo<<r,i=e.lo>>>n|e.hi<<r):n<64&&(s=e.lo>>>n|e.hi<<r,i=e.hi>>>n|e.lo<<r),new t(s,i)}var oe=[new t(1116352408,3609767458),new t(1899447441,602891725),new t(3049323471,3964484399),new t(3921009573,2173295548),new t(961987163,4081628472),new t(1508970993,3053834265),new t(2453635748,2937671579),new t(2870763221,3664609560),new t(3624381080,2734883394),new t(310598401,1164996542),new t(607225278,1323610764),new t(1426881987,3590304994),new t(1925078388,4068182383),new t(2162078206,991336113),new t(2614888103,633803317),new t(3248222580,3479774868),new t(3835390401,2666613458),new t(4022224774,944711139),new t(264347078,2341262773),new t(604807628,2007800933),new t(770255983,1495990901),new t(1249150122,1856431235),new t(1555081692,3175218132),new t(1996064986,2198950837),new t(2554220882,3999719339),new t(2821834349,766784016),new t(2952996808,2566594879),new t(3210313671,3203337956),new t(3336571891,1034457026),new t(3584528711,2466948901),new t(113926993,3758326383),new t(338241895,168717936),new t(666307205,1188179964),new t(773529912,1546045734),new t(1294757372,1522805485),new t(1396182291,2643833823),new t(1695183700,2343527390),new t(1986661051,1014477480),new t(2177026350,1206759142),new t(2456956037,344077627),new t(2730485921,1290863460),new t(2820302411,3158454273),new t(3259730800,3505952657),new t(3345764771,106217008),new t(3516065817,3606008344),new t(3600352804,1432725776),new t(4094571909,1467031594),new t(275423344,851169720),new t(430227734,3100823752),new t(506948616,1363258195),new t(659060556,3750685593),new t(883997877,3785050280),new t(958139571,3318307427),new t(1322822218,3812723403),new t(1537002063,2003034995),new t(1747873779,3602036899),new t(1955562222,1575990012),new t(2024104815,1125592928),new t(2227730452,2716904306),new t(2361852424,442776044),new t(2428436474,593698344),new t(2756734187,3733110249),new t(3204031479,2999351573),new t(3329325298,3815920427),new t(3391569614,3928383900),new t(3515267271,566280711),new t(3940187606,3454069534),new t(4118630271,4000239992),new t(116418474,1914138554),new t(174292421,2731055270),new t(289380356,3203993006),new t(460393269,320620315),new t(685471733,587496836),new t(852142971,1086792851),new t(1017036298,365543100),new t(1126000580,2618297676),new t(1288033470,3409855158),new t(1501505948,4234509866),new t(1607167915,987167468),new t(1816402316,1246189591)];function ae(e,n,s){var i,r,o,a=[],l=[],c=[],u=[];for(r=0;r<8;r++)a[r]=c[r]=A(e,8*r);for(var d,h,p,m,g,f,y,b,w,k,C,_,E,x,I=0;128<=s;){for(r=0;r<16;r++)u[r]=A(n,8*r+I);for(r=0;r<80;r++){for(o=0;o<8;o++)l[o]=c[o];for(i=ne(c[7],ie(re(x=c[4],14),re(x,18),re(x,41)),(w=c[4],k=c[5],C=c[6],_=w.hi&k.hi^~w.hi&C.hi,E=w.lo&k.lo^~w.lo&C.lo,new t(_,E)),oe[r],u[r%16]),l[7]=ne(i,ie(re(b=c[0],28),re(b,34),re(b,39)),(p=c[0],m=c[1],g=c[2],f=p.hi&m.hi^p.hi&g.hi^m.hi&g.hi,y=p.lo&m.lo^p.lo&g.lo^m.lo&g.lo,new t(f,y))),l[3]=ne(l[3],i),o=0;o<8;o++)c[(o+1)%8]=l[o];if(r%16==15)for(o=0;o<16;o++)u[o]=ne(u[o],u[(o+9)%16],ie(re(h=u[(o+1)%16],1),re(h,8),se(h,7)),ie(re(d=u[(o+14)%16],19),re(d,61),se(d,6)))}for(r=0;r<8;r++)c[r]=ne(c[r],a[r]),a[r]=c[r];I+=128,s-=128}for(r=0;r<8;r++)v(e,8*r,a[r]);return s}var le=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function ce(e,n,s){var i,r=new Uint8Array(64),o=new Uint8Array(256),a=s;for(i=0;i<64;i++)r[i]=le[i];for(ae(r,n,s),s%=128,i=0;i<256;i++)o[i]=0;for(i=0;i<s;i++)o[i]=n[a-s+i];for(o[s]=128,o[(s=256-128*(s<112?1:0))-9]=0,v(o,s-8,new t(a/536870912|0,a<<3)),ae(r,o,s),i=0;i<64;i++)e[i]=r[i];return 0}function ue(e,t){var n=s(),i=s(),r=s(),o=s(),a=s(),l=s(),c=s(),u=s(),h=s();V(n,e[1],e[0]),V(h,t[1],t[0]),z(n,n,h),H(i,e[0],e[1]),H(h,t[0],t[1]),z(i,i,h),z(r,e[3],t[3]),z(r,r,d),z(o,e[2],t[2]),H(o,o,o),V(a,i,n),V(l,o,r),H(c,o,r),H(u,i,n),z(e[0],a,l),z(e[1],u,c),z(e[2],c,l),z(e[3],a,u)}function de(e,t,n){var s;for(s=0;s<4;s++)K(e[s],t[s],n)}function he(e,t){var n=s(),i=s(),r=s();W(r,t[2]),z(n,t[0],r),z(i,t[1],r),U(e,i),e[31]^=j(n)<<7}function pe(e,t,n){var s,i;for(N(e[0],a),N(e[1],l),N(e[2],l),N(e[3],a),i=255;0<=i;--i)de(e,t,s=n[i/8|0]>>(7&i)&1),ue(t,e),ue(e,e),de(e,t,s)}function me(e,t){var n=[s(),s(),s(),s()];N(n[0],h),N(n[1],p),N(n[2],l),z(n[3],h,p),pe(e,n,t)}function ge(e,t,n){var r,o=new Uint8Array(64),a=[s(),s(),s(),s()];for(n||i(t,32),ce(o,t,32),o[0]&=248,o[31]&=127,o[31]|=64,me(a,o),he(e,a),r=0;r<32;r++)t[r+32]=e[r];return 0}var fe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Ae(e,t){var n,s,i,r;for(s=63;32<=s;--s){for(n=0,i=s-32,r=s-12;i<r;++i)t[i]+=n-16*t[s]*fe[i-(s-32)],n=Math.floor((t[i]+128)/256),t[i]-=256*n;t[i]+=n,t[s]=0}for(i=n=0;i<32;i++)t[i]+=n-(t[31]>>4)*fe[i],n=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=n*fe[i];for(s=0;s<32;s++)t[s+1]+=t[s]>>8,e[s]=255&t[s]}function ye(e){var t,n=new Float64Array(64);for(t=0;t<64;t++)n[t]=e[t];for(t=0;t<64;t++)e[t]=0;Ae(e,n)}function ve(e,t,n,i){var r,o,a=new Uint8Array(64),l=new Uint8Array(64),c=new Uint8Array(64),u=new Float64Array(64),d=[s(),s(),s(),s()];ce(a,i,32),a[0]&=248,a[31]&=127,a[31]|=64;var h=n+64;for(r=0;r<n;r++)e[64+r]=t[r];for(r=0;r<32;r++)e[32+r]=a[32+r];for(ce(c,e.subarray(32),n+32),ye(c),me(d,c),he(e,d),r=32;r<64;r++)e[r]=i[r];for(ce(l,e,n+64),ye(l),r=0;r<64;r++)u[r]=0;for(r=0;r<32;r++)u[r]=c[r];for(r=0;r<32;r++)for(o=0;o<32;o++)u[r+o]+=l[r]*a[o];return Ae(e.subarray(32),u),h}function be(e,t,n,i){var r,o=new Uint8Array(32),c=new Uint8Array(64),d=[s(),s(),s(),s()],h=[s(),s(),s(),s()];if(n<64)return-1;if(function(e,t){var n=s(),i=s(),r=s(),o=s(),c=s(),d=s(),h=s();if(N(e[2],l),G(e[1],t),q(r,e[1]),z(o,r,u),V(r,r,e[2]),H(o,e[2],o),q(c,o),q(d,c),z(h,d,c),z(n,h,r),z(n,n,o),Y(n,n),z(n,n,r),z(n,n,o),z(n,n,o),z(e[0],n,o),q(i,e[0]),z(i,i,o),Q(i,r)&&z(e[0],e[0],m),q(i,e[0]),z(i,i,o),Q(i,r))return 1;j(e[0])===t[31]>>7&&V(e[0],a,e[0]),z(e[3],e[0],e[1])}(h,i))return-1;for(r=0;r<n;r++)e[r]=t[r];for(r=0;r<32;r++)e[r+32]=i[r];if(ce(c,e,n),ye(c),pe(d,h,c),me(h,t.subarray(32)),ue(d,h),he(o,d),n-=64,k(t,0,o,0)){for(r=0;r<n;r++)e[r]=0;return-1}for(r=0;r<n;r++)e[r]=t[r+64];return n}function we(e,t){if(32!==e.length)throw new Error("bad key size");if(24!==t.length)throw new Error("bad nonce size")}function ke(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function Ce(e){for(var t=0;t<e.length;t++)e[t]=0}e.lowlevel={crypto_core_hsalsa20:E,crypto_stream_xor:B,crypto_stream:D,crypto_stream_salsa20_xor:I,crypto_stream_salsa20:S,crypto_onetimeauth:F,crypto_onetimeauth_verify:M,crypto_verify_16:w,crypto_verify_32:k,crypto_secretbox:O,crypto_secretbox_open:L,crypto_scalarmult:$,crypto_scalarmult_base:J,crypto_box_beforenm:Z,crypto_box_afternm:ee,crypto_box:function(e,t,n,s,i,r){var o=new Uint8Array(32);return Z(o,i,r),ee(e,t,n,s,o)},crypto_box_open:function(e,t,n,s,i,r){var o=new Uint8Array(32);return Z(o,i,r),te(e,t,n,s,o)},crypto_box_keypair:X,crypto_hash:ce,crypto_sign:ve,crypto_sign_keypair:ge,crypto_sign_open:be,crypto_secretbox_KEYBYTES:32,crypto_secretbox_NONCEBYTES:24,crypto_secretbox_ZEROBYTES:32,crypto_secretbox_BOXZEROBYTES:16,crypto_scalarmult_BYTES:32,crypto_scalarmult_SCALARBYTES:32,crypto_box_PUBLICKEYBYTES:32,crypto_box_SECRETKEYBYTES:32,crypto_box_BEFORENMBYTES:32,crypto_box_NONCEBYTES:24,crypto_box_ZEROBYTES:32,crypto_box_BOXZEROBYTES:16,crypto_sign_BYTES:64,crypto_sign_PUBLICKEYBYTES:32,crypto_sign_SECRETKEYBYTES:64,crypto_sign_SEEDBYTES:32,crypto_hash_BYTES:64,gf:s,D:u,L:fe,pack25519:U,unpack25519:G,M:z,A:H,S:q,Z:V,pow2523:Y,add:ue,set25519:N,modL:Ae,scalarmult:pe,scalarbase:me},e.randomBytes=function(e){var t=new Uint8Array(e);return i(t,e),t},e.secretbox=function(e,t,n){ke(e,t,n),we(n,t);for(var s=new Uint8Array(32+e.length),i=new Uint8Array(s.length),r=0;r<e.length;r++)s[r+32]=e[r];return O(i,s,s.length,t,n),i.subarray(16)},e.secretbox.open=function(e,t,n){ke(e,t,n),we(n,t);for(var s=new Uint8Array(16+e.length),i=new Uint8Array(s.length),r=0;r<e.length;r++)s[r+16]=e[r];return s.length<32||0!==L(i,s,s.length,t,n)?null:i.subarray(32)},e.secretbox.keyLength=32,e.secretbox.nonceLength=24,e.secretbox.overheadLength=16,e.scalarMult=function(e,t){if(ke(e,t),32!==e.length)throw new Error("bad n size");if(32!==t.length)throw new Error("bad p size");var n=new Uint8Array(32);return $(n,e,t),n},e.scalarMult.base=function(e){if(ke(e),32!==e.length)throw new Error("bad n size");var t=new Uint8Array(32);return J(t,e),t},e.scalarMult.scalarLength=32,e.scalarMult.groupElementLength=32,e.box=function(t,n,s,i){var r=e.box.before(s,i);return e.secretbox(t,n,r)},e.box.before=function(e,t){ke(e,t),function(e,t){if(32!==e.length)throw new Error("bad public key size");if(32!==t.length)throw new Error("bad secret key size")}(e,t);var n=new Uint8Array(32);return Z(n,e,t),n},e.box.after=e.secretbox,e.box.open=function(t,n,s,i){var r=e.box.before(s,i);return e.secretbox.open(t,n,r)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(32);return X(e,t),{publicKey:e,secretKey:t}},e.box.keyPair.fromSecretKey=function(e){if(ke(e),32!==e.length)throw new Error("bad secret key size");var t=new Uint8Array(32);return J(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.box.publicKeyLength=32,e.box.secretKeyLength=32,e.box.sharedKeyLength=32,e.box.nonceLength=24,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(e,t){if(ke(e,t),64!==t.length)throw new Error("bad secret key size");var n=new Uint8Array(64+e.length);return ve(n,e,e.length,t),n},e.sign.open=function(e,t){if(ke(e,t),32!==t.length)throw new Error("bad public key size");var n=new Uint8Array(e.length),s=be(n,e,e.length,t);if(s<0)return null;for(var i=new Uint8Array(s),r=0;r<i.length;r++)i[r]=n[r];return i},e.sign.detached=function(t,n){for(var s=e.sign(t,n),i=new Uint8Array(64),r=0;r<i.length;r++)i[r]=s[r];return i},e.sign.detached.verify=function(e,t,n){if(ke(e,t,n),64!==t.length)throw new Error("bad signature size");if(32!==n.length)throw new Error("bad public key size");var s,i=new Uint8Array(64+e.length),r=new Uint8Array(64+e.length);for(s=0;s<64;s++)i[s]=t[s];for(s=0;s<e.length;s++)i[s+64]=e[s];return 0<=be(r,i,i.length,n)},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return ge(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(ke(e),64!==e.length)throw new Error("bad secret key size");for(var t=new Uint8Array(32),n=0;n<t.length;n++)t[n]=e[32+n];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(ke(e),32!==e.length)throw new Error("bad seed size");for(var t=new Uint8Array(32),n=new Uint8Array(64),s=0;s<32;s++)n[s]=e[s];return ge(t,n,!0),{publicKey:t,secretKey:n}},e.sign.publicKeyLength=32,e.sign.secretKeyLength=64,e.sign.seedLength=32,e.sign.signatureLength=64,e.hash=function(e){ke(e);var t=new Uint8Array(64);return ce(t,e,e.length),t},e.hash.hashLength=64,e.verify=function(e,t){return ke(e,t),0!==e.length&&0!==t.length&&e.length===t.length&&0===b(e,0,t,0,e.length)},e.setPRNG=function(e){i=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;t&&t.getRandomValues?e.setPRNG((function(e,n){var s,i=new Uint8Array(n);for(s=0;s<n;s+=65536)t.getRandomValues(i.subarray(s,s+Math.min(n-s,65536)));for(s=0;s<n;s++)e[s]=i[s];Ce(i)})):(t=n(7707))&&t.randomBytes&&e.setPRNG((function(e,n){var s,i=t.randomBytes(n);for(s=0;s<n;s++)e[s]=i[s];Ce(i)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})},7707:e=>{"use strict";e.exports=null},9782:()=>{}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__(9839),__webpack_require__(2789);var __webpack_exports__=__webpack_require__(6962)})();</script></head><body class="th-d"><noscript><h1>KeeWeb</h1><p>KeeWeb is a password manager written in JavaScript. Please enable JavaScript to run it.</p></noscript></body></html>