Make 115 taerg again!
// ==UserScript==
// @name 115不大助手 (full)
// @namespace com.cloud115.enhancer
// @version 0.8.14
// @author 生瓜太保
// @description Make 115 taerg again!
// @license GPLv3
// @icon https://cdnres.115.com/site/static/style_v11.2/frame/images/logo.svg
// @homepage https://greasyfork.org/zh-CN/scripts/474231-115不大助手?locale_override=1
// @supportURL https://greasyfork.org/zh-CN/scripts/474231-115不大助手?locale_override=1
// @match https://*.115.com/*
// @match https://115.com/*
// @match https://v.anxia.com/*
// @match https://anxia.com/*
// @match https://115cdn.com/*
// @match https://115vod.com/*
// @exclude https://q.115.com/*
// @exclude https://cdnassets.115.com/*
// @connect *
// @grant GM_addStyle
// @grant GM_deleteValue
// @grant GM_getValue
// @grant GM_info
// @grant GM_openInTab
// @grant GM_registerMenuCommand
// @grant GM_setClipboard
// @grant GM_setValue
// @grant GM_xmlhttpRequest
// @grant unsafeWindow
// @run-at document-body
// ==/UserScript==
(function () {
'use strict';
const d$1=new Set;const At = async e=>{d$1.has(e)||(d$1.add(e),(t=>{typeof GM_addStyle=="function"?GM_addStyle(t):document.head.appendChild(document.createElement("style")).append(t);})(e));};
At(' @charset "UTF-8";.ce-custom-url-help{position:fixed;top:0;left:0;z-index:10000;width:430px;height:100%;background:#fff;font-size:12px}.ce-custom-url-help .ce-custom-url-help-body{height:80%;overflow-y:auto;padding:20px 20px 300px}.ce-custom-url-help h1 a{float:right;color:#1e87f0;font-size:14px}.ce-custom-url-help h1 a:hover{color:#1e87f0;text-decoration:underline}.ce-custom-url-help table{width:100%;margin-bottom:20px}.ce-custom-url-help .ce-variable{cursor:pointer;color:#1e87f0;font-size:14px}.ce-custom-url-help .ce-variable:hover{color:#093d71}.ce-config.ce-offline-config{max-height:70vh;overflow-y:auto}.ce-config.ce-offline-config .pure-control-group label{width:160px;text-align:left}.ce-config.ce-offline-config .ce-tips{margin-top:20px}.ce-offline-exporter{position:absolute;left:140px;top:62px;background:#f4f2ff;padding:6px 10px;border-radius:4px}.ce-offline-exporter button{margin-right:6px}.offline-exporter-config-form{width:550px;padding:10px}.swal2-input#swalDeleteFile{width:20px;padding:0;height:20px;margin:0;vertical-align:sub;cursor:pointer}body.ce-list-s #js-main{padding-top:40px}body.ce-list-s .ce-offline-exporter{top:92px}.ce-offline-searcher{position:absolute;left:140px;top:58px;background:#f4f2ff;padding:4px 10px;border-radius:4px}.ce-offline-searcher.loading form{opacity:.5;pointer-events:none;cursor:wait}.ce-offline-searcher fieldset{padding:0!important}.ce-offline-searcher .clearable-wrap{position:relative;width:320px}.ce-offline-searcher .clearable-wrap.is-empty .btn-clear{display:none}.ce-offline-searcher .clearable-wrap input{width:300px;padding-right:35px!important}.ce-offline-searcher .clearable-wrap .btn-clear{position:absolute;right:30px;top:4px;display:block}.ce-offline-searcher .form-item{display:inline-block;margin-right:10px;vertical-align:middle}.ce-offline-searcher .form-item input{padding:.3em}.ce-offline-searcher .form-item select{height:2em;padding:.1em .3em}.ce-offline-searcher .form-item label{margin-right:5px}.ce-offline-searcher .help-trigger{font-size:12px}.ce-offline-searcher .list{display:none}.ce-offline-searcher .stop-on-found{width:16px;height:16px;vertical-align:middle;cursor:pointer}.ce-offline-searcher .search-tips{position:fixed;top:146px;bottom:30px;left:0;width:100%;background:#fff;z-index:9999}.ce-offline-searcher .search-tips .tips-body{padding:20px;position:absolute;top:70px;left:50%;transform:translate(-50%,-50%);background:#f4f2ff;width:80%;border-radius:6px}.cloud115-eh-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-drawer{visibility:hidden}.ce-drawer.is-visible{visibility:visible}.ce-drawer.is-open .ce-drawer__overlay{opacity:.5}.ce-drawer.is-open .ce-drawer__content{transform:translate(0)}.ce-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:200;opacity:0;transition-property:opacity;background-color:#000;user-select:none}.ce-drawer__content{position:fixed;top:0;right:0;bottom:0;height:100%;width:100%;z-index:9999;overflow:auto;transition-property:transform;display:flex;flex-direction:column;transform:translate(100%);box-shadow:0 2px 6px #777}.k-p-e{font-size:12px}.v-popper.v-popper--theme-dropdown{display:inline-block}.group-manager{width:750px;padding-top:8px}.group-manager a{font-size:12px;padding:4px 6px;margin-right:8px}.group-manager .group-label{color:#fff;font-size:12px;margin-right:10px;border-radius:4px;padding:2px 8px;background:#66acf9}.group-manager .label-readonly{color:#f40;padding:0 4px;border-radius:4px;vertical-align:middle;margin-right:6px;border:2px dashed #f40}.append-form{background:#fff;width:350px;padding:10px;border-radius:4px}.append-form input,.append-form textarea{width:100%}.group-form{background:#fff;padding:10px;border-radius:4px}.group-form .pure-control-group{margin-bottom:10px}.group-form input,.group-form textarea{width:80%}.group-form .filter-label{cursor:pointer;padding:0 4px;text-decoration:underline}.group-form input#groupLabel,.group-form input#groupUrl{display:inline-block}.group-form #groupValues{resize:vertical}.group-form .values{display:flex}.group-form .values textarea{width:98%;font-size:12px;line-height:22px}.group-form .values .v-input{flex:6}.group-form .values .v-help{flex:4}.groups-list{background:#fff;width:565px;padding:10px;border-radius:4px;box-shadow:0 0 4px #d8d8d8}.groups-list table th,.groups-list table td{padding:4px 6px}.groups-list ul li{border-bottom:1px solid #eee;padding:4px}.groups-list ul li:nth-last-child(1){border-bottom:none}.groups-list span{display:inline-block}.groups-list .p-index{width:30px}.groups-list .p-label{width:120px}.groups-list .p-actions button{margin-right:8px}.group-confirm-delete{padding:20px}.cloud115-eh-cleaner-help{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.cloud115-eh-cleaner-help ul{list-style:decimal}.pagination-container{margin:8px 0}.pagination-container li{margin-right:10px}.pagination-container li .paginate-buttons{padding:4px 8px;width:46px;text-align:center}.pagination-container li .paginate-buttons.active-page{color:#411cc8;font-weight:700}ul#componentContainer{padding-inline-start:0;list-style-type:none;display:inline-flex}ul#componentContainer a{text-decoration:none;display:flex;justify-content:center;align-items:center}.ce-file-list[data-v-db0ac01f]{padding:20px 10px 50px 20px}.ce-file-list table[data-v-db0ac01f]{font-size:12px}.ce-file-list table td[data-v-db0ac01f]{word-break:break-all}.ce-button-group button{border:none;padding:2px 6px;border-radius:0;vertical-align:baseline}.ce-button-group button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.ce-button-group button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.ce-button-group button:not(:last-child){border-right:1px solid #f6f6f6}.ce-cleaner-config{max-height:500px;width:600px;overflow-y:auto;padding:14px}.ce-cleaner-config .pure-control-group label{width:230px!important}.ce-cleaner-config .ce-tips{margin-top:20px;margin-left:56px}.ce-cleaner-config .pure-form-message{margin-left:56px}.ce-empty-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-empty-cleaner-help[data-v-ce900ab5]{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.ce-empty-cleaner-help ul[data-v-ce900ab5]{list-style:decimal}#cloud115EmptyCleaner{margin-left:10px}.ce-empty-cleaner{position:relative}.ce-empty-cleaner .top-actions .pure-control-group label{width:auto;text-align:left}.ce-empty-cleaner .ec-logs{max-height:250px;overflow-y:auto;max-width:72%;background:#f4f4f4;padding:10px;line-height:22px;font-size:12px;margin-bottom:20px}.ce-empty-cleaner .ec-items{margin-bottom:30px}.ce-empty-cleaner .ec-items table{font-size:12px;width:72%}.ce-empty-cleaner .ec-items table .tr-deleted>td:not(:last-child){text-decoration:line-through}.ce-empty-cleaner .btn-global-clear{float:right}.ce-empty-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.ce-empty-cleaner-drawer.loading{cursor:wait}.ce-empty-cleaner-drawer.loading button,.ce-empty-cleaner-drawer.loading input{cursor:no-drop;pointer-events:none}.input-small[data-v-f3bc02fe]{padding:2px 4px;width:auto}.ce-basic-config .pure-form-message{margin-left:82px}.ce-basic-config .avatar-preview{display:inline-block;vertical-align:middle;margin-left:10px}.ce-basic-config .pure-control-group input.input-small{padding:2px 4px;width:auto}.ce-clouddrive-config-item{margin-bottom:20px;border:1px solid #cbcbcb;border-radius:0;padding:4px}.ce-clouddrive-config-item.active{background:#fefcea}.ce-clouddrive-config-item input:not([type]){font-size:12px}.ce-clouddrive-config-item .button-error{float:right}.ce-clouddrive-config .cd-tips a{text-decoration:underline}.ce-clouddrive-config .cd-code{font-size:110%;cursor:pointer;user-select:none}.ce-list-config .pure-control-group label{width:16em!important}.ce-list-config .pure-form-message{margin-left:3em}.ce-search-config .pure-control-group label{width:15em!important}.ce-search-config .pure-form-message{margin-left:3em}.ce-tools-config{padding-bottom:100px}.ce-tools-config .pure-control-group label{width:15em!important}.ce-tools-config .pure-form-message{margin-left:3em}.menu-basic-config .pure-control-group label,.official-menu-config .pure-form label{width:170px!important;display:inline-block!important}.official-menu-config .pure-form label small{color:#999}.official-menu-config .pure-form legend .ce-label{cursor:pointer;font-size:12px;float:right}.official-menu-config .pure-form .ce-toggle{font-size:12px;cursor:pointer;color:#909399}.official-menu-config .pure-form .menu-key{opacity:0}.official-menu-config .pure-form .menu-item:hover .menu-key{opacity:1}.official-menu-config .pure-form .hidden .ce-toggle{color:#1890ff}.ce-field{background:#fff;margin-bottom:1px;padding:4px}.ce-field:hover{background:#fefcea}.ce-field label{display:inline-block!important}.ce-field input[type=checkbox],.ce-field input[type=radio]{width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.menu-name-path-block{width:250px;max-height:405px;overflow-y:auto}.menu-name-path-block legend{text-align:center}.menu-name-path-block .ce-field label{width:180px}.menu-config-block .ce-search-sub{padding-left:20px;color:#909399}.menu-config-block span.btn-toggle-top{margin-left:8px;cursor:pointer;opacity:.3}.menu-config-block span.btn-toggle-top.active{opacity:1}.ce-menu-config input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-menu-config .btn-view-info{display:inline-block;margin-right:6px;vertical-align:middle;cursor:help}.menu-config-block{display:inline-block;border-radius:6px;margin:4px;vertical-align:top;padding:0 6px;background:#f9f9f9}.menu-config-block>form>legend{border:none;text-align:center;font-size:14px;color:#5092ff;padding:4px;margin-bottom:0}.menu-config-block>form>fieldset>div{background:#fff;margin-bottom:1px;padding:4px}.menu-config-block>form>fieldset>div:hover{background:#fefcea}.menu-config-block label{display:inline-block;width:120px;font-size:12px;line-height:20px;vertical-align:middle;cursor:pointer}.ce-custom-url{border-radius:4px;box-shadow:0 0 5px #eee;border:1px solid #eee;margin-bottom:20px;padding:0 10px;background:#fff}.ce-custom-url label{cursor:pointer}.ce-custom-url input:not([type]){font-size:12px}.ce-custom-url textarea{font-size:12px;resize:vertical}.ce-custom-url input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-custom-url .ce-custom-url-index{font-size:14px;font-weight:700;margin-right:20px}.ce-custom-url legend .button-error{float:right}.ce-custom-url fieldset>div{margin-bottom:1px;padding:4px}.ce-custom-url fieldset>div:hover{background:#fefcea}.ce-custom-urls{padding-bottom:100px}.ce-custom-urls .item-icon img{vertical-align:middle}.ce-custom-urls .item-memo{display:inline-block;width:320px}.ce-play-urls{padding-bottom:100px}.ce-play-urls .item-icon img{vertical-align:middle}.ce-play-urls .item-memo{display:inline-block;width:350px}.ce-play-urls .extra-memo{font-size:12px;margin-left:10px}.ce-play-urls .extra-memo a{text-decoration:underline;color:#337ab7}.ce-anxia-config .pure-control-group label{width:9em}.ce-anxia-config .pure-form-message{margin-left:3em}.ce-share-config .pure-control-group label{width:15em!important}.ce-share-config .pure-form-message,.ce-share-config .ce-share-tool .pure-control-group{margin-left:3em}.ce-config-main .ce-intro{margin-left:35%;color:#7676ff}.ce-config-main .ce-intro small{color:#999}.ce-config-main .ce-config-main-body{padding:10px}.ce-config-main .ce-config-main-header{padding:10px;position:sticky;top:0;background:#fff;z-index:100000;box-shadow:0 1px 2px #e9e9e9}.ce-config-main .ce-config-main-header h1{display:inline;font-size:18px}.ce-config-main .ce-config-main-header .ce-config-main-close{float:right;vertical-align:top;color:#89929b;cursor:pointer;padding:2px 20px;border-radius:6px}.ce-config-main .ce-config-main-header .ce-config-main-close:hover{background:#fefcea;color:#0275ff}.ce-config-main .ce-offline-config{max-height:unset}.ce-goto-main{position:relative;margin-right:5px}.ce-goto-main.ce-goto-sug-shown .ce-goto-input-wrap{border-radius:6px 6px 0 0}.ce-goto-main.ce-goto-sug-shown .ce-goto-sug{display:block}.ce-goto-main .ce-goto-input-wrap{position:relative;overflow:hidden;border:1px solid #cfcccc;border-radius:6px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input{border-radius:6px 6px 0 0;border:none;padding:4px 10px;width:100%;box-sizing:border-box;color:#2877f8;border-bottom:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn{position:absolute;border:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn:hover{color:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]{top:5px;font-size:12px;background:#aeaeae;color:#fff;padding:0 4px;border-radius:4px;cursor:pointer}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]:hover{background:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd][disabled]{background:#d7d7d7;cursor:not-allowed}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=clear]{right:10px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=toggle]{right:50px}.ce-goto-main .ce-goto-sug{display:none;position:absolute;background:#fff;width:100%;padding:10px 10px 10px 8px;max-height:250px;z-index:999999;overflow-y:auto;box-shadow:0 5px 8px #ededed;border-radius:0 0 6px 6px;border:1px solid #cfcccc;box-sizing:border-box;border-top:none}.ce-goto-main .ce-goto-sug .ce-goto-sug-item{padding:4px 10px;background:#f4f6fc;margin-bottom:4px;cursor:pointer;border-radius:4px;font-size:12px;color:#353535}.ce-goto-main .ce-goto-sug .ce-goto-sug-item:hover{background:#d7d7d7}.ce-goto-main .ce-goto-sug .ce-goto-sug-item.active{background:#f4e1cf;color:#2877f8}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-prefix,.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sep{color:#a4a4a4}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-index{display:inline-block;background:#6ab2ff;font-size:10px;min-width:20px;color:#fff;border-radius:4px;text-align:center;padding:0 2px;margin-right:4px} ');
const jy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#000c;border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:linear-gradient(transparent,#0000000d 40%,#0000001a)}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px #00000026 inset,0 0 6px #0003 inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}`;At(jy);const zy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}`;At(zy);const Hy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}`;At(Hy);const Vy=".resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}";At(Vy);const qy=".text-center{text-align:center}.text-bold{font-weight:700}.text-cross{text-decoration:line-through}.text-ul{text-decoration:underline}.text-ul-dot{text-decoration:underline dotted}.text-primary{color:#1890ff}.text-success{color:#13ce66}.text-warning{color:#ffba00}.text-danger{color:#ff4949}.text-info{color:#909399}.ce-label{padding:2px 4px;background:#909399;color:#fff;border-radius:4px}.ce-label.ce-label-primary{background:#1890ff}.ce-label.ce-label-warning{background:#ffba00}.ce-label.ce-label-danger{background:#ff4949}.ce-label.ce-label-success{background:#13ce66}.ce-label.ce-label-primary-plain{color:#409eff;background:#ecf5ff}.ce-tag-plain{padding:1px 4px;border:1px solid #1890ff;border-radius:4px}input.ce-checkbox{width:20px;height:20px;cursor:pointer}.ce-hidden{display:none!important}";At(qy);const Wy='@charset "UTF-8";.tabs-component .tabs-component-tabs{border:solid 1px #ddd;border-radius:6px;margin-bottom:5px}@media (min-width: 700px){.tabs-component .tabs-component-tabs{border:0;align-items:stretch;display:flex;justify-content:flex-start;margin-bottom:1px}}.tabs-component .tabs-component-tabs .tabs-component-tab{color:#999;font-size:14px;font-weight:600;margin-right:0;list-style:none;border-bottom:dotted 1px #ddd}.tabs-component .tabs-component-tabs .tabs-component-tab:hover{color:#666}.tabs-component .tabs-component-tabs .tabs-component-tab.is-disabled *{color:#cdcdcd;cursor:not-allowed!important}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{color:#000}.tabs-component .tabs-component-tabs .tabs-component-tab .tabs-component-tab-a{align-items:center;color:inherit;display:flex;padding:.75em 1em;text-decoration:none}@media (min-width: 700px){.tabs-component .tabs-component-tabs .tabs-component-tab{background-color:#fff;border:solid 1px #ddd;border-radius:3px 3px 0 0;margin-right:.5em;transform:translateY(2px);transition:transform .3s ease}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{border-bottom:solid 1px #fff;z-index:2;transform:translateY(2px)}}.tabs-component .tabs-component-panels{padding:1em 0}@media (min-width: 700px){.tabs-component .tabs-component-panels{background-color:#fff;border:solid 1px #ddd;border-radius:0 6px 6px;box-shadow:0 0 10px #0000000d;padding:1em}}.tabs-component .tabs-component-btn{cursor:pointer;background:#e1ecf4;border-radius:3px;border:1px solid #7aa7c7;padding:4px 8px;color:#39739d}.tabs-component .tabs-component-btn:hover{background-color:#b3d3ea;color:#2c5777}.tabs-component .tabs-component-btn:active{background-color:#a0c7e4;box-shadow:none;color:#2c5777}.ce-tips{background:#eee;border-radius:4px;padding:4px;font-size:12px;color:#595959;margin-bottom:10px}.ce-hr{border:0;height:1px;background-image:linear-gradient(to right,#0000,#ccc,#0000)}.ce-config input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-config legend{font-size:16px;color:#1890ff}.ce-config-help{font-size:11px;cursor:pointer}.ce-ec-detail{text-align:left;font-size:14px}.ce-ec-detail span{color:#1890ff;display:inline-block;width:90px;text-align:right}.ce-textarea-trans{color:#7d7d7d;border:none;margin:0;padding:0}.swal2-container{z-index:99999999!important}.ce-swal-text-left .swal2-html-container{text-align:left!important}.swal2-checkbox input{width:20px;height:20px;cursor:pointer}';At(Wy);const Ky='@charset "UTF-8";div[class^=fp-].hidden-watermark{display:none!important}div.list-header[rel=list_header]{display:flex!important}div#exsame_list_content>ul{border-bottom:2px dashed #2778f8;padding-bottom:6px}';At(Ky);var Gy=typeof GM_addStyle<"u"?GM_addStyle:void 0,Jy=typeof GM_deleteValue<"u"?GM_deleteValue:void 0,ac=typeof GM_getValue<"u"?GM_getValue:void 0,Yy=typeof GM_info<"u"?GM_info:void 0,Jr=typeof GM_openInTab<"u"?GM_openInTab:void 0,Cs=typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0,Qy=typeof GM_setClipboard<"u"?GM_setClipboard:void 0,lu=typeof GM_setValue<"u"?GM_setValue:void 0,Ta=typeof GM_xmlhttpRequest<"u"?GM_xmlhttpRequest:void 0,Xy={name:"115不大助手",version:"0.8.14"},gt=(e=>(e.basic="basic_config",e.anxia="anxia_config",e.clouddrive="clouddrive_configs",e.list="list_config",e.enabledCustomUrlsForSearch="enabled_custom_urls_for_search",e.enabledCustomUrlsForPlay="enabled_custom_urls_for_play",e.menuCustomUrlsForSearch="menu_custom_urls_for_search",e.menuCustomUrlsForPlay="menu_custom_urls_for_play",e.menu="ce_menu_config",e.hiddenOfficialMenuKeys="hidden_official_menu_keys",e.offline="offlineExporterConfig",e.search="search_config",e.tools="tools_config",e.cleanerConfig="cleanerConfig",e.cleanerSuffixGroups="suffixGroups",e.cleanerKeywordGroups="keywordGroups",e.emptyCleanerConfig="emptyCleanerConfig",e.share="share",e))(gt||{});const lc=Object.values(gt),Kp=async(e,t)=>ac(e,t),Zy=async(e,t)=>lu(e,t),Gp=async e=>Jy(e),eb=async()=>{for(const e of lc)await Gp(e);},Jp=async()=>{const e={};for(const t of lc)e[t]=await Kp(t,{});return e};async function tb(){const e=await Jp(),t=Xy;e._meta={name:t.name,version:t.version,time:new Date().toLocaleString(),browser:navigator.userAgent},e._schema="pan115_enhancer_configs";const n=document.createElement("a");n.href=URL.createObjectURL(new Blob([JSON.stringify(e,null,2)],{type:"application/json"})),n.download=`${t.name}-v${t.version}-配置.json`,n.click();}async function nb(){return new Promise((e,t)=>{const n=document.createElement("input");n.type="file",n.accept="application/json",n.oncancel=()=>{t("取消选择文件!");},n.onchange=async()=>{const o=n.files&&n.files[0];if(!o){t("未选择文件!");return}const i=await new Promise((r,a)=>{const l=new FileReader;l.onload=()=>{try{r(JSON.parse(l.result));}catch(c){a(c);}},l.onerror=()=>{a(l.error);},l.readAsText(o);});if(i._schema!=="pan115_enhancer_configs"){t("这不是一个脚本配置文件!");return}const s=[];for(const r of lc)s.push(r),i[r]&&await Qe.set(r,i[r]);e({data:i,importedKeys:s});},n.click();})}const Qe={get:Kp,set:Zy,remove:Gp,clear:eb,getAll:Jp};function La(e,...t){return new e(t[0])}async function Wo(e,t,n){return new Promise(async(o,i)=>{if(typeof e!="function"){i("提供的参数`fulfill`不是一个Function!");return}let s=false;e(l=>{s=true,o(l);});let r=setInterval(async()=>{if(s){clearTimeout(a),clearInterval(r);return}e(l=>{clearTimeout(a),clearInterval(r),o(l);});},t),a=setTimeout(()=>{clearInterval(r),i("超时");},n);})}async function Et(e){return new Promise(t=>{setTimeout(t,e);})}function lt(e,t,n){let o;return function(...i){const s=()=>{o=void 0,e.apply(this,i);};clearTimeout(o),o=setTimeout(s,t);}}function ci(e,t){t=t||window,t.postMessage(e);}function tr(e,t=location.href){const n=new RegExp("(\\?|#|&)"+e+"=([^&#]*)(&|#|$)"),o=t.match(n);return o?o[2]:""}function di(){return Math.floor(Date.now()/1e3)}async function ob(e){const t=Symbol("pending");return await Promise.race([e.then(()=>true,()=>true),new Promise(o=>setTimeout(()=>o(t),0))])!==t}function Yp(e){const t=e.target;e.key==="a"&&(e.ctrlKey||e.metaKey)&&t.select();}function Qp(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function ib(e){e.addEventListener("keydown",t=>{const n=t.target;Qp(n)&&Yp(t);});}function Xp(e,t=.2,n=.5){e.style.transition=`opacity ${n}s`,e.style.opacity=t.toString(),setTimeout(()=>{e.remove();},500);}function sb(e,t){let n=document.querySelector(e);return n||(n=je(t)),n}function je(e){const t=document.createElement("div");if(t.innerHTML=e.trim(),t.childNodes.length!==1||!(t.firstChild instanceof HTMLElement))throw new Error("Invalid HTML string. It must contain exactly one root element.");return t.firstChild}function Zp(e,t=document,n=XPathResult.ORDERED_NODE_SNAPSHOT_TYPE){const o=[],i=document.evaluate(e,t,null,n,null);for(let s=0;s<i.snapshotLength;s++){const r=i.snapshotItem(s);r&&o.push(r);}return o}async function et(e,t=100,n=12e4,o=document){const i=await uc(e,t,n,o);if(i.length)return i[0];throw new Error(`未找到元素:${e}`)}async function uc(e,t=100,n=12e4,o=document){const i=e.indexOf("//")===0;function s(r){if(i){const a=Zp(e);a.length>0&&r(a);}else {const a=o.querySelectorAll(e);a.length&&r(Array.from(a));}}try{return await Wo(s,t,n)}catch(r){throw console.warn("[find]",r),new Error(`查找元素超时:${e}`)}}async function Gn(e,t=100,n=12e4){const o=e.indexOf("//")===0;function i(s){if(o){const r=Zp(e);r.length>0&&s(unsafeWindow.$(r));}else {const r=unsafeWindow.$(e);r.length&&s(r);}}try{return await Wo(i,t,n)}catch(s){throw console.warn("[findWithJQuery]",s),new Error(`查找元素超时:${e}`)}}async function rb(e,t,n){const o=await et(e),i=new MutationObserver(t);return n={attributes:false,childList:true,subtree:false,...n},i.observe(o,n),i}function Ne(e){return document.querySelector(e)}function ab(e){return Array.from(document.querySelectorAll(e))}const lb=["ts","wmv","3pg","mp4","mpg","m4v","iso","mkv","avi","dvd","wmv","i00","i01","i02","i03","i04","i05","i06","i07","i08","i09","i10","i11","i12","mpeg","mov","m2ts","bup","vob","rmvb","md0","md1","md2","md3","md4","md5","mdf","mds","nrg","flv","asf"],ub=["jpg","jpeg","png","gif","bmp","svg","webp","tiff","tif","ico","heic","heif","avif","jfif","pjpeg","pjp","apng","raw","cr2","nef","orf","sr2","dng"],cb=["mp3","wav","wma","ogg","ape","flac","aac","m4a","opus","mp2","ra","ram","au","3gp","amr","alac","dsd","dsf","dff","aiff","aif","caf","ac3","dts","tta","wv","mid","midi","kar"];var uu=(e=>(e.video="video",e.audio="audio",e.image="image",e.other="other",e))(uu||{});function Yr(e,t,n="text/plain"){const o=document.createElement("a");document.body.appendChild(o),o.setAttribute("style","display:none");const i=new Blob([e],{type:n}),s=window.URL.createObjectURL(i);o.href=s,o.download=t,o.click(),window.URL.revokeObjectURL(s);}function Wi(e,t=2){if(Number.isNaN(e)||(e=typeof e=="string"?parseInt(e):e,!e))return "0";const n=1024,o=t,i=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,s)).toFixed(o))+" "+i[s]}function Dd(e){const t=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=new RegExp(`^(\\d+(?:\\.\\d+)?)(${t.join("|")})$`,"i"),o=e.match(n);if(!o)throw new Error(`无效的文件大小!${e}`);const i=parseFloat(o[1]),s=o[2].toUpperCase(),r=t.indexOf(s);if(r<0)throw new Error(`无效的文件大小!${e}`);return i*Math.pow(1024,r)}function eh(e){return e?lb.indexOf(e.toLowerCase())>-1:false}function th(e){return e?ub.indexOf(e.toLowerCase())>-1:false}function nh(e){return e?cb.indexOf(e.toLowerCase())>-1:false}function db(e){const t=e.lastIndexOf(".");if(t===-1)return {base:e,ext:""};const n=e.substring(0,t),o=e.substring(t+1);return {base:n,ext:o}}function fb(e){const{ext:t}=db(e);return eh(t)?"video":nh(t)?"audio":th(t)?"image":"other"}var ot=(e=>(e.openConfig="openConfig",e.closeConfig="closeConfig",e.basicConfigChange="basicConfigChange",e.listConfigChange="listConfigChange",e.searchConfigChange="searchConfigChange",e.toolsConfigChange="toolsConfigChange",e.listRendered="listRendered",e.shareConfigChange="shareConfigChange",e.topDomChanged="topDomChange",e.officialMenuStyleChange="officialMenuStyleChange",e.renderMenus="renderMenus",e))(ot||{}),yt=(e=>(e.basic="basic",e.clouddrive="clouddrive",e.list="list",e.search="search",e.menus="menus",e.searchMenus="searchMenus",e.playMenus="playMenus",e.offline="offline",e.tools="tools",e.anxia="anxia",e.share="share",e.about="about",e))(yt||{});const Cn={basic:"基础设置",clouddrive:"CloudDrive",list:"列表增强",search:"搜索增强",menus:"菜单设置",searchMenus:"搜索菜单",playMenus:"播放菜单",offline:"离线管理",tools:"工具",anxia:"在线播放",share:"分享增强",about:"关于"};class yn{static EVENT_CLOSE_MENU="__closeMenu";menuType=Pe.listItemHover;injectDecider;keyAttributeName="id";key="";label="";icon="";showIcon=true;title="";onClick=async(t,n)=>{};onMouseOver;onMouseOut;subItems=[];subItemsLocator;isDivider=false;menuItemTemplates={[Pe.dirContext]:{body:`<li id="{key}" class="ce-menu dir-context-menu">
<a href="javascript:;">{icon}<span>{label}</span></a>
</li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent dir-context-menu">
{icon}<span class="ce-menu-trigger">{label}</span>
<div class="ce-menu-dropdown sub-items"></div>
</span>`,divider:'<li class="ce-menu-divider"></li>'},[Pe.dirContextSub]:{body:`<span id="{key}" class="ce-menu dir-context-menu-sub sub-item">
{icon}<span>{label}</span>
</span>`,divider:'<span class="ce-menu-divider"></span>'},[Pe.listItemContext]:{body:`<li id="{key}" class="ce-menu list-item-context-menu">
<a href="javascript:;">{icon}<span>{label}</span></a>
</li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent list-item-context-menu">
{icon}<span class="ce-menu-trigger">{label}</span>
<div class="ce-menu-dropdown sub-items"></div>
</span>`,divider:'<li class="ce-menu-divider"></li>'},[Pe.listItemContextSub]:{body:'<span id="{key}" class="ce-menu list-item-context-menu-sub sub-item">{label}</span>',divider:'<span class="ce-menu-divider"></span>'},[Pe.listItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu" style="">
{icon}<span>{label}</span>
</a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent list-item-hover-menu">
{icon}<span class="ce-menu-trigger">{label}</span>
<div class="ce-menu-dropdown sub-items"></div>
</span>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.listItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu-sub" style="">
{icon}<span>{label}</span>
</a>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.selection]:{body:'<li id="{key}" class="ce-menu selection-menu">{icon}<span>{label}</span></li>',bodyForMulti:`<li class="ce-menu ce-menu-parent selection-menu">
{icon}<span class="ce-menu-trigger">{label}</span>
<div class="ce-menu-dropdown sub-items"></div>
</li>`,divider:'<li class="ce-menu-divider"></li>'},[Pe.selectionSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu selection-menu-sub" style="">
{icon}<span>{label}</span>
</a>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.shareListItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu list-item-hover-menu" style="">
{icon}<span>{label}</span>
</a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent share-list-item-hover-menu list-item-hover-menu">
{icon}<span class="ce-menu-trigger">{label}</span>
<div class="ce-menu-dropdown sub-items"></div>
</span>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.shareListItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu-sub list-item-hover-menu-sub" style="">
{icon}<span>{label}</span>
</a>`,divider:'<a class="ce-menu-divider"></a>'}};constructor(t){Object.assign(this,t);}async decideInject(t){return this.injectDecider?await this.injectDecider(this,t):true}async render(){if(!this.menuType)throw new Error("未指定菜单类型");const t=this.menuItemTemplates[this.menuType];if(!t)throw new Error(`未找到菜单模板:${this.menuType}`);if(this.isDivider){if(!t.divider)throw new Error("未定义模版的divider内容!");const r=document.createElement("div");return r.innerHTML=t.divider,r.firstElementChild}let n=t.body;if(this.subItems&&this.subItems.length>0){if(!t.bodyForMulti)throw new Error("未找到 bodyFormMulti 模版");n=t.bodyForMulti;}const o=document.createElement("div");let i="";this.icon&&this.showIcon&&(this.icon.match(/^(http|https|data:image)/)?i=`<img class="ce-menu-icon" src="${this.icon}" referrerpolicy="no-referrer" />`:this.icon.match(/^data-text:/)?i=`<i class="ce-menu-icon">${this.icon.replace(/^data-text:/,"")}</i>`:i=`<i class="ce-menu-icon ${this.icon}"></i>`),o.innerHTML=n.replace(/{key}/g,this.key).replace(/{label}/g,this.label).replace(/{icon}/g,i);const s=o.firstElementChild;if(i&&s.classList.add("ce-menu-has-icon"),s.setAttribute("title",this.title||""),this.onClick&&(s.addEventListener("click",async r=>{this.onClick&&this.onClick(this,r);}),s.addEventListener("auxclick",async r=>{this.onClick&&this.onClick(this,r);}),s.addEventListener("mousedown",r=>{r.stopPropagation();})),this.onMouseOver&&s.addEventListener("mouseover",async r=>{this.onMouseOver&&this.onMouseOver(this,r);}),this.onMouseOut&&s.addEventListener("mouseout",async r=>{this.onMouseOut&&this.onMouseOut(this,r);}),this.subItems&&this.subItems.length>0){const r=s.querySelector(".sub-items"),a=[];for(const l of this.subItems){const c=await l.render();a.push(c);}r?.append(...a);}return s}async closeMenu(){try{unsafeWindow.Core.FileMenu.HideRight();}catch(t){console.warn('[MenuItem.closeMenu] Failed to call "unsafeWindow.Core.FileMenu.HideRight()"',t);}document.dispatchEvent(new CustomEvent(yn.EVENT_CLOSE_MENU,{detail:{menu:this}}));}async decorateContainer(t){t.setAttribute("ce-done","");}}async function Ma(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),i=o.find(".ce-menu-dropdown");o.addClass("ce-menu-dropdown-opened"),i.addClass("ce-menu-dropdown-active");}async function Ba(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),i=o.find(".ce-menu-dropdown");o.removeClass("ce-menu-dropdown-opened"),i.removeClass("ce-menu-dropdown-active");}class pb extends yn{isDivider=true}class nr{items=[];siblingSelector="";position=vo.after;useObserver=true;observeTarget=document.body;disposeObserverAfterInjection=true;menuType=void 0;_observer;injectDecider;constructor(t){Object.assign(this,t),this.handleMessage();}async createObserver(){return new MutationObserver(async([n])=>{n.type==="childList"&&await this.handleChildListMutation(n);})}handleMessage(){window.addEventListener("message",async t=>{const{event:n,body:o={}}=t.data;if(n===ot.renderMenus&&o.type===this.menuType){const i=[];document.querySelectorAll("#js_data_list .list-contents > ul > li .file-opr:not([ce-done])").forEach(s=>{i.push(s);}),i.length&&await this.perform(i);}},false);}async observe(){if(this._observer=await this.createObserver(),!this._observer)return;const t=await this.getObserveTarget();t&&this.startObserver(t);}async startObserver(t){this._observer&&this._observer.observe(t,{childList:true});}async disposeObserver(){this.disposeObserverAfterInjection&&this._observer&&this._observer.disconnect();}async getObserveTarget(){return typeof this.observeTarget=="string"?await et(this.observeTarget,800,864e5*7):this.observeTarget}async isMutationMatch(t){const n=t.addedNodes[0];if(n&&n.nodeType!==Node.ELEMENT_NODE)return false;switch(this.menuType,Pe.dirContext,this.menuType){case Pe.listItemHover:case Pe.shareListItemHover:return true;case Pe.listItemContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="report"]');case Pe.selection:return true;case Pe.dirContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="upload"]');default:return false}}async handleChildListMutation(t){if(!await this.isMutationMatch(t))return;const n=await this.getContainersByMutation(t);await this.perform(n);}async perform(t){for(const n of t)await this.injectToContainer(n);}async getSibling(t){return t.querySelector(this.siblingSelector)}async getContainersByMutation(t){const n=t.addedNodes[0];return await this.getContainersByElement(n)}async getContainersByElement(t){let n=[];switch(this.menuType){case Pe.listItemHover:document.querySelectorAll("#js_data_list .list-contents > ul:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Pe.shareListItemHover:document.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Pe.listItemContext:n=[t];break;case Pe.selection:document.querySelectorAll("#js_top_panel_box #js_operate_box").forEach(o=>{n.push(o);});break;case Pe.dirContext:n=[t];break}return n}async shouldInjectMenuItem(t,n){return await n.decideInject(t)?await this.decideInject(n,t):false}async decideInject(t,n){return this.injectDecider?await this.injectDecider(t,n):true}async injectToContainer(t){const n=await this.getSibling(t);if(!n)return;let o=this.items.slice();this.position===vo.after&&(o=o.reverse());for(let i=0;i<o.length;i++){const s=o[i];if(!await this.shouldInjectMenuItem(t,s))continue;const r=await s.render();this.position===vo.before?n.insertAdjacentElement("beforebegin",r):n.insertAdjacentElement("afterend",r),await s.decorateContainer(t);}}async isFileContainer(t){return !!t.getAttribute("file_id")}async isDirContainer(t){return !!t.getAttribute("cate_id")}async inject(){if(!(!this.menuType||!this.items.length||!this.siblingSelector))if(this.useObserver)await this.observe();else {const t=await this.getObserveTarget();if(!t)return;await this.injectToContainer(t);}}}async function hb(e,t){return !!$(t).closest("li").attr("file_id")}async function oh(e,t){return !!$(t).closest("li").attr("cate_id")}async function mb(e,t){const n=$(t).closest("li");if(n.attr("cate_id")||n.attr("iv")==="1")return true;const o=n.attr("ico");return o?eh(o)||nh(o)||th(o):false}function or(e){return {copyFullName:true,copyPureName:true,copyId:true,copyPickCode:false,copySha1:true,copySha1WithName:true,copyUnixPath:true,copyWinPath:true,copyParentUnixPath:true,copyParentWinPath:true,viewInCloudDrive:true,...e}}function gb(e){return {enabled:true,rename:true,delete:true,play:true,copyNames:true,namePathConfig:or(),search:false,flattenSubfolders:false,move:true,copy:true,copyTo:true,viewProp:true,showSubFolderSize:true,showSubFolderSizeAndSort:false,exportList:false,viewInCloudDrive:true,topLevelMenus:["rename","delete","play"],...e}}class zt extends yn{menuType=Pe.dirContext;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class cc extends yn{menuType=Pe.dirContextSub}class wb extends nr{menuType=Pe.dirContext;useObserver=true;observeTarget=document.body;disposeObserverAfterInjection=true}function yb(e){return {enabled:true,copyNames:true,namePathConfig:or(),flattenSubfolders:false,viewInCloudDrive:true,...e}}class es extends yn{menuType=Pe.listItemContext;constructor(t){super(t);let n;const o=(r,a)=>{a.stopPropagation(),a.preventDefault(),clearTimeout(n);const l=a.target,c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown");c.addClass("ce-menu-dropdown-opened"),u.addClass("ce-menu-dropdown-active"),r.subItems&&r.subItemsLocator&&r.subItemsLocator(r,a);},i=(r,a)=>{a.stopPropagation(),a.preventDefault();const l=a.target;n=setTimeout(()=>{const c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown");c.removeClass("ce-menu-dropdown-opened"),u.removeClass("ce-menu-dropdown-active");},350);},s=(r,a)=>{const l=a.target;if(l.classList.contains("ce-menu-dropdown"))return;const c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown"),f=c[0].getBoundingClientRect();u.css({position:"fixed",left:f.right,top:f.top});};this.subItems?.length&&(this.onMouseOver=o,this.onMouseOut=i,this.subItemsLocator=s);}}class bb extends nr{menuType=Pe.listItemContext}/*!
* sweetalert2 v11.22.4
* Released under the MIT License.
*/function ih(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function vb(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Td(e,t){return e.get(ih(e,t))}function xb(e,t,n){vb(e,t),t.set(e,n);}function _b(e,t,n){return e.set(ih(e,t),n),n}const Cb=100,Ie={},kb=()=>{Ie.previousActiveElement instanceof HTMLElement?(Ie.previousActiveElement.focus(),Ie.previousActiveElement=null):document.body&&document.body.focus();},Sb=e=>new Promise(t=>{if(!e)return t();const n=window.scrollX,o=window.scrollY;Ie.restoreFocusTimeout=setTimeout(()=>{kb(),t();},Cb),window.scrollTo(n,o);}),sh="swal2-",$b=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error","draggable","dragging"],W=$b.reduce((e,t)=>(e[t]=sh+t,e),{}),Eb=["success","warning","info","question","error"],Qr=Eb.reduce((e,t)=>(e[t]=sh+t,e),{}),rh="SweetAlert2:",dc=e=>e.charAt(0).toUpperCase()+e.slice(1),Yt=e=>{console.warn(`${rh} ${typeof e=="object"?e.join(" "):e}`);},vi=e=>{console.error(`${rh} ${e}`);},Ld=[],Ab=e=>{Ld.includes(e)||(Ld.push(e),Yt(e));},ah=(e,t=null)=>{Ab(`"${e}" is deprecated and will be removed in the next major release.${t?` Use "${t}" instead.`:""}`);},Oa=e=>typeof e=="function"?e():e,fc=e=>e&&typeof e.toPromise=="function",ir=e=>fc(e)?e.toPromise():Promise.resolve(e),pc=e=>e&&Promise.resolve(e)===e,Qt=()=>document.body.querySelector(`.${W.container}`),sr=e=>{const t=Qt();return t?t.querySelector(e):null},bn=e=>sr(`.${e}`),Ge=()=>bn(W.popup),ts=()=>bn(W.icon),Pb=()=>bn(W["icon-content"]),lh=()=>bn(W.title),hc=()=>bn(W["html-container"]),uh=()=>bn(W.image),mc=()=>bn(W["progress-steps"]),Ra=()=>bn(W["validation-message"]),no=()=>sr(`.${W.actions} .${W.confirm}`),ns=()=>sr(`.${W.actions} .${W.cancel}`),xi=()=>sr(`.${W.actions} .${W.deny}`),Ib=()=>bn(W["input-label"]),os=()=>sr(`.${W.loader}`),rr=()=>bn(W.actions),ch=()=>bn(W.footer),Fa=()=>bn(W["timer-progress-bar"]),gc=()=>bn(W.close),Db=`
a[href],
area[href],
input:not([disabled]),
select:not([disabled]),
textarea:not([disabled]),
button:not([disabled]),
iframe,
object,
embed,
[tabindex="0"],
[contenteditable],
audio[controls],
video[controls],
summary
`,wc=()=>{const e=Ge();if(!e)return [];const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'),n=Array.from(t).sort((s,r)=>{const a=parseInt(s.getAttribute("tabindex")||"0"),l=parseInt(r.getAttribute("tabindex")||"0");return a>l?1:a<l?-1:0}),o=e.querySelectorAll(Db),i=Array.from(o).filter(s=>s.getAttribute("tabindex")!=="-1");return [...new Set(n.concat(i))].filter(s=>an(s))},yc=()=>bo(document.body,W.shown)&&!bo(document.body,W["toast-shown"])&&!bo(document.body,W["no-backdrop"]),Na=()=>{const e=Ge();return e?bo(e,W.toast):false},Tb=()=>{const e=Ge();return e?e.hasAttribute("data-loading"):false},vn=(e,t)=>{if(e.textContent="",t){const o=new DOMParser().parseFromString(t,"text/html"),i=o.querySelector("head");i&&Array.from(i.childNodes).forEach(r=>{e.appendChild(r);});const s=o.querySelector("body");s&&Array.from(s.childNodes).forEach(r=>{r instanceof HTMLVideoElement||r instanceof HTMLAudioElement?e.appendChild(r.cloneNode(true)):e.appendChild(r);});}},bo=(e,t)=>{if(!t)return false;const n=t.split(/\s+/);for(let o=0;o<n.length;o++)if(!e.classList.contains(n[o]))return false;return true},Lb=(e,t)=>{Array.from(e.classList).forEach(n=>{!Object.values(W).includes(n)&&!Object.values(Qr).includes(n)&&!Object.values(t.showClass||{}).includes(n)&&e.classList.remove(n);});},gn=(e,t,n)=>{if(Lb(e,t),!t.customClass)return;const o=t.customClass[n];if(o){if(typeof o!="string"&&!o.forEach){Yt(`Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"`);return}Ye(e,o);}},Ua=(e,t)=>{if(!t)return null;switch(t){case "select":case "textarea":case "file":return e.querySelector(`.${W.popup} > .${W[t]}`);case "checkbox":return e.querySelector(`.${W.popup} > .${W.checkbox} input`);case "radio":return e.querySelector(`.${W.popup} > .${W.radio} input:checked`)||e.querySelector(`.${W.popup} > .${W.radio} input:first-child`);case "range":return e.querySelector(`.${W.popup} > .${W.range} input`);default:return e.querySelector(`.${W.popup} > .${W.input}`)}},dh=e=>{if(e.focus(),e.type!=="file"){const t=e.value;e.value="",e.value=t;}},fh=(e,t,n)=>{!e||!t||(typeof t=="string"&&(t=t.split(/\s+/).filter(Boolean)),t.forEach(o=>{Array.isArray(e)?e.forEach(i=>{n?i.classList.add(o):i.classList.remove(o);}):n?e.classList.add(o):e.classList.remove(o);}));},Ye=(e,t)=>{fh(e,t,true);},An=(e,t)=>{fh(e,t,false);},To=(e,t)=>{const n=Array.from(e.children);for(let o=0;o<n.length;o++){const i=n[o];if(i instanceof HTMLElement&&bo(i,t))return i}},ri=(e,t,n)=>{n===`${parseInt(n)}`&&(n=parseInt(n)),n||parseInt(n)===0?e.style.setProperty(t,typeof n=="number"?`${n}px`:n):e.style.removeProperty(t);},It=(e,t="flex")=>{e&&(e.style.display=t);},Nt=e=>{e&&(e.style.display="none");},bc=(e,t="block")=>{e&&new MutationObserver(()=>{ar(e,e.innerHTML,t);}).observe(e,{childList:true,subtree:true});},Md=(e,t,n,o)=>{const i=e.querySelector(t);i&&i.style.setProperty(n,o);},ar=(e,t,n="flex")=>{t?It(e,n):Nt(e);},an=e=>!!(e&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),Mb=()=>!an(no())&&!an(xi())&&!an(ns()),cu=e=>e.scrollHeight>e.clientHeight,Bb=(e,t)=>{let n=e;for(;n&&n!==t;){if(cu(n))return true;n=n.parentElement;}return false},ph=e=>{const t=window.getComputedStyle(e),n=parseFloat(t.getPropertyValue("animation-duration")||"0"),o=parseFloat(t.getPropertyValue("transition-duration")||"0");return n>0||o>0},vc=(e,t=false)=>{const n=Fa();n&&an(n)&&(t&&(n.style.transition="none",n.style.width="100%"),setTimeout(()=>{n.style.transition=`width ${e/1e3}s linear`,n.style.width="0%";},10));},Ob=()=>{const e=Fa();if(!e)return;const t=parseInt(window.getComputedStyle(e).width);e.style.removeProperty("transition"),e.style.width="100%";const n=parseInt(window.getComputedStyle(e).width),o=t/n*100;e.style.width=`${o}%`;},Rb=()=>typeof window>"u"||typeof document>"u",Fb=`
<div aria-labelledby="${W.title}" aria-describedby="${W["html-container"]}" class="${W.popup}" tabindex="-1">
<button type="button" class="${W.close}"></button>
<ul class="${W["progress-steps"]}"></ul>
<div class="${W.icon}"></div>
<img class="${W.image}" />
<h2 class="${W.title}" id="${W.title}"></h2>
<div class="${W["html-container"]}" id="${W["html-container"]}"></div>
<input class="${W.input}" id="${W.input}" />
<input type="file" class="${W.file}" />
<div class="${W.range}">
<input type="range" />
<output></output>
</div>
<select class="${W.select}" id="${W.select}"></select>
<div class="${W.radio}"></div>
<label class="${W.checkbox}">
<input type="checkbox" id="${W.checkbox}" />
<span class="${W.label}"></span>
</label>
<textarea class="${W.textarea}" id="${W.textarea}"></textarea>
<div class="${W["validation-message"]}" id="${W["validation-message"]}"></div>
<div class="${W.actions}">
<div class="${W.loader}"></div>
<button type="button" class="${W.confirm}"></button>
<button type="button" class="${W.deny}"></button>
<button type="button" class="${W.cancel}"></button>
</div>
<div class="${W.footer}"></div>
<div class="${W["timer-progress-bar-container"]}">
<div class="${W["timer-progress-bar"]}"></div>
</div>
</div>
`.replace(/(^|\n)\s*/g,""),Nb=()=>{const e=Qt();return e?(e.remove(),An([document.documentElement,document.body],[W["no-backdrop"],W["toast-shown"],W["has-column"]]),true):false},Yo=()=>{Ie.currentInstance.resetValidationMessage();},Ub=()=>{const e=Ge(),t=To(e,W.input),n=To(e,W.file),o=e.querySelector(`.${W.range} input`),i=e.querySelector(`.${W.range} output`),s=To(e,W.select),r=e.querySelector(`.${W.checkbox} input`),a=To(e,W.textarea);t.oninput=Yo,n.onchange=Yo,s.onchange=Yo,r.onchange=Yo,a.oninput=Yo,o.oninput=()=>{Yo(),i.value=o.value;},o.onchange=()=>{Yo(),i.value=o.value;};},jb=e=>typeof e=="string"?document.querySelector(e):e,zb=e=>{const t=Ge();t.setAttribute("role",e.toast?"alert":"dialog"),t.setAttribute("aria-live",e.toast?"polite":"assertive"),e.toast||t.setAttribute("aria-modal","true");},Hb=e=>{window.getComputedStyle(e).direction==="rtl"&&Ye(Qt(),W.rtl);},Vb=e=>{const t=Nb();if(Rb()){vi("SweetAlert2 requires document to initialize");return}const n=document.createElement("div");n.className=W.container,t&&Ye(n,W["no-transition"]),vn(n,Fb),n.dataset.swal2Theme=e.theme;const o=jb(e.target);o.appendChild(n),e.topLayer&&(n.setAttribute("popover",""),n.showPopover()),zb(e),Hb(o),Ub();},xc=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):typeof e=="object"?qb(e,t):e&&vn(t,e);},qb=(e,t)=>{e.jquery?Wb(t,e):vn(t,e.toString());},Wb=(e,t)=>{if(e.textContent="",0 in t)for(let n=0;n in t;n++)e.appendChild(t[n].cloneNode(true));else e.appendChild(t.cloneNode(true));},Kb=(e,t)=>{const n=rr(),o=os();!n||!o||(!t.showConfirmButton&&!t.showDenyButton&&!t.showCancelButton?Nt(n):It(n),gn(n,t,"actions"),Gb(n,o,t),vn(o,t.loaderHtml||""),gn(o,t,"loader"));};function Gb(e,t,n){const o=no(),i=xi(),s=ns();!o||!i||!s||(El(o,"confirm",n),El(i,"deny",n),El(s,"cancel",n),Jb(o,i,s,n),n.reverseButtons&&(n.toast?(e.insertBefore(s,o),e.insertBefore(i,o)):(e.insertBefore(s,t),e.insertBefore(i,t),e.insertBefore(o,t))));}function Jb(e,t,n,o){if(!o.buttonsStyling){An([e,t,n],W.styled);return}Ye([e,t,n],W.styled),o.confirmButtonColor&&e.style.setProperty("--swal2-confirm-button-background-color",o.confirmButtonColor),o.denyButtonColor&&t.style.setProperty("--swal2-deny-button-background-color",o.denyButtonColor),o.cancelButtonColor&&n.style.setProperty("--swal2-cancel-button-background-color",o.cancelButtonColor),$l(e),$l(t),$l(n);}function $l(e){const t=window.getComputedStyle(e);if(t.getPropertyValue("--swal2-action-button-focus-box-shadow"))return;const n=t.backgroundColor.replace(/rgba?\((\d+), (\d+), (\d+).*/,"rgba($1, $2, $3, 0.5)");e.style.setProperty("--swal2-action-button-focus-box-shadow",t.getPropertyValue("--swal2-outline").replace(/ rgba\(.*/,` ${n}`));}function El(e,t,n){const o=dc(t);ar(e,n[`show${o}Button`],"inline-block"),vn(e,n[`${t}ButtonText`]||""),e.setAttribute("aria-label",n[`${t}ButtonAriaLabel`]||""),e.className=W[t],gn(e,n,`${t}Button`);}const Yb=(e,t)=>{const n=gc();n&&(vn(n,t.closeButtonHtml||""),gn(n,t,"closeButton"),ar(n,t.showCloseButton),n.setAttribute("aria-label",t.closeButtonAriaLabel||""));},Qb=(e,t)=>{const n=Qt();n&&(Xb(n,t.backdrop),Zb(n,t.position),ev(n,t.grow),gn(n,t,"container"));};function Xb(e,t){typeof t=="string"?e.style.background=t:t||Ye([document.documentElement,document.body],W["no-backdrop"]);}function Zb(e,t){t&&(t in W?Ye(e,W[t]):(Yt('The "position" parameter is not valid, defaulting to "center"'),Ye(e,W.center)));}function ev(e,t){t&&Ye(e,W[`grow-${t}`]);}var ct={innerParams:new WeakMap,domCache:new WeakMap};const tv=["input","file","range","select","radio","checkbox","textarea"],nv=(e,t)=>{const n=Ge();if(!n)return;const o=ct.innerParams.get(e),i=!o||t.input!==o.input;tv.forEach(s=>{const r=To(n,W[s]);r&&(sv(s,t.inputAttributes),r.className=W[s],i&&Nt(r));}),t.input&&(i&&ov(t),rv(t));},ov=e=>{if(!e.input)return;if(!bt[e.input]){vi(`Unexpected type of input! Expected ${Object.keys(bt).join(" | ")}, got "${e.input}"`);return}const t=hh(e.input);if(!t)return;const n=bt[e.input](t,e);It(t),e.inputAutoFocus&&setTimeout(()=>{dh(n);});},iv=e=>{for(let t=0;t<e.attributes.length;t++){const n=e.attributes[t].name;["id","type","value","style"].includes(n)||e.removeAttribute(n);}},sv=(e,t)=>{const n=Ge();if(!n)return;const o=Ua(n,e);if(o){iv(o);for(const i in t)o.setAttribute(i,t[i]);}},rv=e=>{if(!e.input)return;const t=hh(e.input);t&&gn(t,e,"input");},_c=(e,t)=>{!e.placeholder&&t.inputPlaceholder&&(e.placeholder=t.inputPlaceholder);},lr=(e,t,n)=>{if(n.inputLabel){const o=document.createElement("label"),i=W["input-label"];o.setAttribute("for",e.id),o.className=i,typeof n.customClass=="object"&&Ye(o,n.customClass.inputLabel),o.innerText=n.inputLabel,t.insertAdjacentElement("beforebegin",o);}},hh=e=>{const t=Ge();if(t)return To(t,W[e]||W.input)},Xr=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:pc(t)||Yt(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`);},bt={};bt.text=bt.email=bt.password=bt.number=bt.tel=bt.url=bt.search=bt.date=bt["datetime-local"]=bt.time=bt.week=bt.month=(e,t)=>(Xr(e,t.inputValue),lr(e,e,t),_c(e,t),e.type=t.input,e);bt.file=(e,t)=>(lr(e,e,t),_c(e,t),e);bt.range=(e,t)=>{const n=e.querySelector("input"),o=e.querySelector("output");return Xr(n,t.inputValue),n.type=t.input,Xr(o,t.inputValue),lr(n,e,t),e};bt.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const n=document.createElement("option");vn(n,t.inputPlaceholder),n.value="",n.disabled=true,n.selected=true,e.appendChild(n);}return lr(e,e,t),e};bt.radio=e=>(e.textContent="",e);bt.checkbox=(e,t)=>{const n=Ua(Ge(),"checkbox");n.value="1",n.checked=!!t.inputValue;const o=e.querySelector("span");return vn(o,t.inputPlaceholder||t.inputLabel),n};bt.textarea=(e,t)=>{Xr(e,t.inputValue),_c(e,t),lr(e,e,t);const n=o=>parseInt(window.getComputedStyle(o).marginLeft)+parseInt(window.getComputedStyle(o).marginRight);return setTimeout(()=>{if("MutationObserver"in window){const o=parseInt(window.getComputedStyle(Ge()).width),i=()=>{if(!document.body.contains(e))return;const s=e.offsetWidth+n(e);s>o?Ge().style.width=`${s}px`:ri(Ge(),"width",t.width);};new MutationObserver(i).observe(e,{attributes:true,attributeFilter:["style"]});}}),e};const av=(e,t)=>{const n=hc();n&&(bc(n),gn(n,t,"htmlContainer"),t.html?(xc(t.html,n),It(n,"block")):t.text?(n.textContent=t.text,It(n,"block")):Nt(n),nv(e,t));},lv=(e,t)=>{const n=ch();n&&(bc(n),ar(n,t.footer,"block"),t.footer&&xc(t.footer,n),gn(n,t,"footer"));},uv=(e,t)=>{const n=ct.innerParams.get(e),o=ts();if(!o)return;if(n&&t.icon===n.icon){Od(o,t),Bd(o,t);return}if(!t.icon&&!t.iconHtml){Nt(o);return}if(t.icon&&Object.keys(Qr).indexOf(t.icon)===-1){vi(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"`),Nt(o);return}It(o),Od(o,t),Bd(o,t),Ye(o,t.showClass&&t.showClass.icon),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",mh);},Bd=(e,t)=>{for(const[n,o]of Object.entries(Qr))t.icon!==n&&An(e,o);Ye(e,t.icon&&Qr[t.icon]),fv(e,t),mh(),gn(e,t,"icon");},mh=()=>{const e=Ge();if(!e)return;const t=window.getComputedStyle(e).getPropertyValue("background-color"),n=e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let o=0;o<n.length;o++)n[o].style.backgroundColor=t;},cv=e=>`
${e.animation?'<div class="swal2-success-circular-line-left"></div>':""}
<span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>
<div class="swal2-success-ring"></div>
${e.animation?'<div class="swal2-success-fix"></div>':""}
${e.animation?'<div class="swal2-success-circular-line-right"></div>':""}
`,dv=`
<span class="swal2-x-mark">
<span class="swal2-x-mark-line-left"></span>
<span class="swal2-x-mark-line-right"></span>
</span>
`,Od=(e,t)=>{if(!t.icon&&!t.iconHtml)return;let n=e.innerHTML,o="";t.iconHtml?o=Rd(t.iconHtml):t.icon==="success"?(o=cv(t),n=n.replace(/ style=".*?"/g,"")):t.icon==="error"?o=dv:t.icon&&(o=Rd({question:"?",warning:"!",info:"i"}[t.icon])),n.trim()!==o.trim()&&vn(e,o);},fv=(e,t)=>{if(t.iconColor){e.style.color=t.iconColor,e.style.borderColor=t.iconColor;for(const n of [".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])Md(e,n,"background-color",t.iconColor);Md(e,".swal2-success-ring","border-color",t.iconColor);}},Rd=e=>`<div class="${W["icon-content"]}">${e}</div>`,pv=(e,t)=>{const n=uh();if(n){if(!t.imageUrl){Nt(n);return}It(n,""),n.setAttribute("src",t.imageUrl),n.setAttribute("alt",t.imageAlt||""),ri(n,"width",t.imageWidth),ri(n,"height",t.imageHeight),n.className=W.image,gn(n,t,"image");}};let Cc=false,gh=0,wh=0,yh=0,bh=0;const hv=e=>{e.addEventListener("mousedown",Zr),document.body.addEventListener("mousemove",ea),e.addEventListener("mouseup",ta),e.addEventListener("touchstart",Zr),document.body.addEventListener("touchmove",ea),e.addEventListener("touchend",ta);},mv=e=>{e.removeEventListener("mousedown",Zr),document.body.removeEventListener("mousemove",ea),e.removeEventListener("mouseup",ta),e.removeEventListener("touchstart",Zr),document.body.removeEventListener("touchmove",ea),e.removeEventListener("touchend",ta);},Zr=e=>{const t=Ge();if(e.target===t||ts().contains(e.target)){Cc=true;const n=vh(e);gh=n.clientX,wh=n.clientY,yh=parseInt(t.style.insetInlineStart)||0,bh=parseInt(t.style.insetBlockStart)||0,Ye(t,"swal2-dragging");}},ea=e=>{const t=Ge();if(Cc){let{clientX:n,clientY:o}=vh(e);t.style.insetInlineStart=`${yh+(n-gh)}px`,t.style.insetBlockStart=`${bh+(o-wh)}px`;}},ta=()=>{const e=Ge();Cc=false,An(e,"swal2-dragging");},vh=e=>{let t=0,n=0;return e.type.startsWith("mouse")?(t=e.clientX,n=e.clientY):e.type.startsWith("touch")&&(t=e.touches[0].clientX,n=e.touches[0].clientY),{clientX:t,clientY:n}},gv=(e,t)=>{const n=Qt(),o=Ge();if(!(!n||!o)){if(t.toast){ri(n,"width",t.width),o.style.width="100%";const i=os();i&&o.insertBefore(i,ts());}else ri(o,"width",t.width);ri(o,"padding",t.padding),t.color&&(o.style.color=t.color),t.background&&(o.style.background=t.background),Nt(Ra()),wv(o,t),t.draggable&&!t.toast?(Ye(o,W.draggable),hv(o)):(An(o,W.draggable),mv(o));}},wv=(e,t)=>{const n=t.showClass||{};e.className=`${W.popup} ${an(e)?n.popup:""}`,t.toast?(Ye([document.documentElement,document.body],W["toast-shown"]),Ye(e,W.toast)):Ye(e,W.modal),gn(e,t,"popup"),typeof t.customClass=="string"&&Ye(e,t.customClass),t.icon&&Ye(e,W[`icon-${t.icon}`]);},yv=(e,t)=>{const n=mc();if(!n)return;const{progressSteps:o,currentProgressStep:i}=t;if(!o||o.length===0||i===void 0){Nt(n);return}It(n),n.textContent="",i>=o.length&&Yt("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((s,r)=>{const a=bv(s);if(n.appendChild(a),r===i&&Ye(a,W["active-progress-step"]),r!==o.length-1){const l=vv(t);n.appendChild(l);}});},bv=e=>{const t=document.createElement("li");return Ye(t,W["progress-step"]),vn(t,e),t},vv=e=>{const t=document.createElement("li");return Ye(t,W["progress-step-line"]),e.progressStepsDistance&&ri(t,"width",e.progressStepsDistance),t},xv=(e,t)=>{const n=lh();n&&(bc(n),ar(n,t.title||t.titleText,"block"),t.title&&xc(t.title,n),t.titleText&&(n.innerText=t.titleText),gn(n,t,"title"));},xh=(e,t)=>{gv(e,t),Qb(e,t),yv(e,t),uv(e,t),pv(e,t),xv(e,t),Yb(e,t),av(e,t),Kb(e,t),lv(e,t);const n=Ge();typeof t.didRender=="function"&&n&&t.didRender(n),Ie.eventEmitter.emit("didRender",n);},_v=()=>an(Ge()),_h=()=>{var e;return (e=no())===null||e===void 0?void 0:e.click()},Cv=()=>{var e;return (e=xi())===null||e===void 0?void 0:e.click()},kv=()=>{var e;return (e=ns())===null||e===void 0?void 0:e.click()},is=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),Ch=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=false);},Sv=(e,t,n)=>{Ch(e),t.toast||(e.keydownHandler=o=>Ev(t,o,n),e.keydownTarget=t.keydownListenerCapture?window:Ge(),e.keydownListenerCapture=t.keydownListenerCapture,e.keydownTarget.addEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=true);},du=(e,t)=>{var n;const o=wc();if(o.length){e=e+t,e===-2&&(e=o.length-1),e===o.length?e=0:e===-1&&(e=o.length-1),o[e].focus();return}(n=Ge())===null||n===void 0||n.focus();},kh=["ArrowRight","ArrowDown"],$v=["ArrowLeft","ArrowUp"],Ev=(e,t,n)=>{e&&(t.isComposing||t.keyCode===229||(e.stopKeydownPropagation&&t.stopPropagation(),t.key==="Enter"?Av(t,e):t.key==="Tab"?Pv(t):[...kh,...$v].includes(t.key)?Iv(t.key):t.key==="Escape"&&Dv(t,e,n)));},Av=(e,t)=>{if(!Oa(t.allowEnterKey))return;const n=Ua(Ge(),t.input);if(e.target&&n&&e.target instanceof HTMLElement&&e.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(t.input))return;_h(),e.preventDefault();}},Pv=e=>{const t=e.target,n=wc();let o=-1;for(let i=0;i<n.length;i++)if(t===n[i]){o=i;break}e.shiftKey?du(o,-1):du(o,1),e.stopPropagation(),e.preventDefault();},Iv=e=>{const t=rr(),n=no(),o=xi(),i=ns();if(!t||!n||!o||!i)return;const s=[n,o,i];if(document.activeElement instanceof HTMLElement&&!s.includes(document.activeElement))return;const r=kh.includes(e)?"nextElementSibling":"previousElementSibling";let a=document.activeElement;if(a){for(let l=0;l<t.children.length;l++){if(a=a[r],!a)return;if(a instanceof HTMLButtonElement&&an(a))break}a instanceof HTMLButtonElement&&a.focus();}},Dv=(e,t,n)=>{e.preventDefault(),Oa(t.allowEscapeKey)&&n(is.esc);};var Ki={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const Tv=()=>{const e=Qt();Array.from(document.body.children).forEach(n=>{n.contains(e)||(n.hasAttribute("aria-hidden")&&n.setAttribute("data-previous-aria-hidden",n.getAttribute("aria-hidden")||""),n.setAttribute("aria-hidden","true"));});},Sh=()=>{Array.from(document.body.children).forEach(t=>{t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")||""),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden");});},$h=typeof window<"u"&&!!window.GestureEvent,Lv=()=>{if($h&&!bo(document.body,W.iosfix)){const e=document.body.scrollTop;document.body.style.top=`${e*-1}px`,Ye(document.body,W.iosfix),Mv();}},Mv=()=>{const e=Qt();if(!e)return;let t;e.ontouchstart=n=>{t=Bv(n);},e.ontouchmove=n=>{t&&(n.preventDefault(),n.stopPropagation());};},Bv=e=>{const t=e.target,n=Qt(),o=hc();return !n||!o||Ov(e)||Rv(e)?false:t===n||!cu(n)&&t instanceof HTMLElement&&!Bb(t,o)&&t.tagName!=="INPUT"&&t.tagName!=="TEXTAREA"&&!(cu(o)&&o.contains(t))},Ov=e=>e.touches&&e.touches.length&&e.touches[0].touchType==="stylus",Rv=e=>e.touches&&e.touches.length>1,Fv=()=>{if(bo(document.body,W.iosfix)){const e=parseInt(document.body.style.top,10);An(document.body,W.iosfix),document.body.style.top="",document.body.scrollTop=e*-1;}},Nv=()=>{const e=document.createElement("div");e.className=W["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t};let Mi=null;const Uv=e=>{Mi===null&&(document.body.scrollHeight>window.innerHeight||e==="scroll")&&(Mi=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${Mi+Nv()}px`);},jv=()=>{Mi!==null&&(document.body.style.paddingRight=`${Mi}px`,Mi=null);};function Eh(e,t,n,o){Na()?Fd(e,o):(Sb(n).then(()=>Fd(e,o)),Ch(Ie)),$h?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),yc()&&(jv(),Fv(),Sh()),zv();}function zv(){An([document.documentElement,document.body],[W.shown,W["height-auto"],W["no-backdrop"],W["toast-shown"]]);}function Lo(e){e=Vv(e);const t=Ki.swalPromiseResolve.get(this),n=Hv(this);this.isAwaitingPromise?e.isDismissed||(ur(this),t(e)):n&&t(e);}const Hv=e=>{const t=Ge();if(!t)return false;const n=ct.innerParams.get(e);if(!n||bo(t,n.hideClass.popup))return false;An(t,n.showClass.popup),Ye(t,n.hideClass.popup);const o=Qt();return An(o,n.showClass.backdrop),Ye(o,n.hideClass.backdrop),qv(e,t,n),true};function Ah(e){const t=Ki.swalPromiseReject.get(this);ur(this),t&&t(e);}const ur=e=>{e.isAwaitingPromise&&(delete e.isAwaitingPromise,ct.innerParams.get(e)||e._destroy());},Vv=e=>typeof e>"u"?{isConfirmed:false,isDenied:false,isDismissed:true}:Object.assign({isConfirmed:false,isDenied:false,isDismissed:false},e),qv=(e,t,n)=>{var o;const i=Qt(),s=ph(t);typeof n.willClose=="function"&&n.willClose(t),(o=Ie.eventEmitter)===null||o===void 0||o.emit("willClose",t),s?Wv(e,t,i,n.returnFocus,n.didClose):Eh(e,i,n.returnFocus,n.didClose);},Wv=(e,t,n,o,i)=>{Ie.swalCloseEventFinishedCallback=Eh.bind(null,e,n,o,i);const s=function(r){if(r.target===t){var a;(a=Ie.swalCloseEventFinishedCallback)===null||a===void 0||a.call(Ie),delete Ie.swalCloseEventFinishedCallback,t.removeEventListener("animationend",s),t.removeEventListener("transitionend",s);}};t.addEventListener("animationend",s),t.addEventListener("transitionend",s);},Fd=(e,t)=>{setTimeout(()=>{var n;typeof t=="function"&&t.bind(e.params)(),(n=Ie.eventEmitter)===null||n===void 0||n.emit("didClose"),e._destroy&&e._destroy();});},Gi=e=>{let t=Ge();if(t||new q,t=Ge(),!t)return;const n=os();Na()?Nt(ts()):Kv(t,e),It(n),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus();},Kv=(e,t)=>{const n=rr(),o=os();!n||!o||(!t&&an(no())&&(t=no()),It(n),t&&(Nt(t),o.setAttribute("data-button-to-replace",t.className),n.insertBefore(o,t)),Ye([e,n],W.loading));},Gv=(e,t)=>{t.input==="select"||t.input==="radio"?Zv(e,t):["text","email","number","tel","textarea"].some(n=>n===t.input)&&(fc(t.inputValue)||pc(t.inputValue))&&(Gi(no()),e1(e,t));},Jv=(e,t)=>{const n=e.getInput();if(!n)return null;switch(t.input){case "checkbox":return Yv(n);case "radio":return Qv(n);case "file":return Xv(n);default:return t.inputAutoTrim?n.value.trim():n.value}},Yv=e=>e.checked?1:0,Qv=e=>e.checked?e.value:null,Xv=e=>e.files&&e.files.length?e.getAttribute("multiple")!==null?e.files:e.files[0]:null,Zv=(e,t)=>{const n=Ge();if(!n)return;const o=i=>{t.input==="select"?t1(n,na(i),t):t.input==="radio"&&n1(n,na(i),t);};fc(t.inputOptions)||pc(t.inputOptions)?(Gi(no()),ir(t.inputOptions).then(i=>{e.hideLoading(),o(i);})):typeof t.inputOptions=="object"?o(t.inputOptions):vi(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof t.inputOptions}`);},e1=(e,t)=>{const n=e.getInput();n&&(Nt(n),ir(t.inputValue).then(o=>{n.value=t.input==="number"?`${parseFloat(o)||0}`:`${o}`,It(n),n.focus(),e.hideLoading();}).catch(o=>{vi(`Error in inputValue promise: ${o}`),n.value="",It(n),n.focus(),e.hideLoading();}));};function t1(e,t,n){const o=To(e,W.select);if(!o)return;const i=(s,r,a)=>{const l=document.createElement("option");l.value=a,vn(l,r),l.selected=Ph(a,n.inputValue),s.appendChild(l);};t.forEach(s=>{const r=s[0],a=s[1];if(Array.isArray(a)){const l=document.createElement("optgroup");l.label=r,l.disabled=false,o.appendChild(l),a.forEach(c=>i(l,c[1],c[0]));}else i(o,a,r);}),o.focus();}function n1(e,t,n){const o=To(e,W.radio);if(!o)return;t.forEach(s=>{const r=s[0],a=s[1],l=document.createElement("input"),c=document.createElement("label");l.type="radio",l.name=W.radio,l.value=r,Ph(r,n.inputValue)&&(l.checked=true);const u=document.createElement("span");vn(u,a),u.className=W.label,c.appendChild(l),c.appendChild(u),o.appendChild(c);});const i=o.querySelectorAll("input");i.length&&i[0].focus();}const na=e=>{const t=[];return e instanceof Map?e.forEach((n,o)=>{let i=n;typeof i=="object"&&(i=na(i)),t.push([o,i]);}):Object.keys(e).forEach(n=>{let o=e[n];typeof o=="object"&&(o=na(o)),t.push([n,o]);}),t},Ph=(e,t)=>!!t&&t.toString()===e.toString(),o1=e=>{const t=ct.innerParams.get(e);e.disableButtons(),t.input?Ih(e,"confirm"):Sc(e,true);},i1=e=>{const t=ct.innerParams.get(e);e.disableButtons(),t.returnInputValueOnDeny?Ih(e,"deny"):kc(e,false);},s1=(e,t)=>{e.disableButtons(),t(is.cancel);},Ih=(e,t)=>{const n=ct.innerParams.get(e);if(!n.input){vi(`The "input" parameter is needed to be set when using returnInputValueOn${dc(t)}`);return}const o=e.getInput(),i=Jv(e,n);n.inputValidator?r1(e,i,t):o&&!o.checkValidity()?(e.enableButtons(),e.showValidationMessage(n.validationMessage||o.validationMessage)):t==="deny"?kc(e,i):Sc(e,i);},r1=(e,t,n)=>{const o=ct.innerParams.get(e);e.disableInput(),Promise.resolve().then(()=>ir(o.inputValidator(t,o.validationMessage))).then(s=>{e.enableButtons(),e.enableInput(),s?e.showValidationMessage(s):n==="deny"?kc(e,t):Sc(e,t);});},kc=(e,t)=>{const n=ct.innerParams.get(e||void 0);n.showLoaderOnDeny&&Gi(xi()),n.preDeny?(e.isAwaitingPromise=true,Promise.resolve().then(()=>ir(n.preDeny(t,n.validationMessage))).then(i=>{i===false?(e.hideLoading(),ur(e)):e.close({isDenied:true,value:typeof i>"u"?t:i});}).catch(i=>Dh(e||void 0,i))):e.close({isDenied:true,value:t});},Nd=(e,t)=>{e.close({isConfirmed:true,value:t});},Dh=(e,t)=>{e.rejectPromise(t);},Sc=(e,t)=>{const n=ct.innerParams.get(e||void 0);n.showLoaderOnConfirm&&Gi(),n.preConfirm?(e.resetValidationMessage(),e.isAwaitingPromise=true,Promise.resolve().then(()=>ir(n.preConfirm(t,n.validationMessage))).then(i=>{an(Ra())||i===false?(e.hideLoading(),ur(e)):Nd(e,typeof i>"u"?t:i);}).catch(i=>Dh(e||void 0,i))):Nd(e,t);};function oa(){const e=ct.innerParams.get(this);if(!e)return;const t=ct.domCache.get(this);Nt(t.loader),Na()?e.icon&&It(ts()):a1(t),An([t.popup,t.actions],W.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=false,t.denyButton.disabled=false,t.cancelButton.disabled=false;}const a1=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?It(t[0],"inline-block"):Mb()&&Nt(e.actions);};function Th(){const e=ct.innerParams.get(this),t=ct.domCache.get(this);return t?Ua(t.popup,e.input):null}function Lh(e,t,n){const o=ct.domCache.get(e);t.forEach(i=>{o[i].disabled=n;});}function Mh(e,t){const n=Ge();if(!(!n||!e))if(e.type==="radio"){const o=n.querySelectorAll(`[name="${W.radio}"]`);for(let i=0;i<o.length;i++)o[i].disabled=t;}else e.disabled=t;}function Bh(){Lh(this,["confirmButton","denyButton","cancelButton"],false);}function Oh(){Lh(this,["confirmButton","denyButton","cancelButton"],true);}function Rh(){Mh(this.getInput(),false);}function Fh(){Mh(this.getInput(),true);}function Nh(e){const t=ct.domCache.get(this),n=ct.innerParams.get(this);vn(t.validationMessage,e),t.validationMessage.className=W["validation-message"],n.customClass&&n.customClass.validationMessage&&Ye(t.validationMessage,n.customClass.validationMessage),It(t.validationMessage);const o=this.getInput();o&&(o.setAttribute("aria-invalid","true"),o.setAttribute("aria-describedby",W["validation-message"]),dh(o),Ye(o,W.inputerror));}function Uh(){const e=ct.domCache.get(this);e.validationMessage&&Nt(e.validationMessage);const t=this.getInput();t&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedby"),An(t,W.inputerror));}const Bi={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:false,draggable:false,animation:true,theme:"light",showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:{},target:"body",color:void 0,backdrop:true,heightAuto:true,allowOutsideClick:true,allowEscapeKey:true,allowEnterKey:true,stopKeydownPropagation:true,keydownListenerCapture:false,showConfirmButton:true,showDenyButton:false,showCancelButton:false,preConfirm:void 0,preDeny:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:true,reverseButtons:false,focusConfirm:true,focusDeny:false,focusCancel:false,returnFocus:true,showCloseButton:false,closeButtonHtml:"×",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:false,showLoaderOnDeny:false,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:false,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoFocus:true,inputAutoTrim:true,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:false,validationMessage:void 0,grow:false,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,willOpen:void 0,didOpen:void 0,didRender:void 0,willClose:void 0,didClose:void 0,didDestroy:void 0,scrollbarPadding:true,topLayer:false},l1=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","color","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","draggable","footer","hideClass","html","icon","iconColor","iconHtml","imageAlt","imageHeight","imageUrl","imageWidth","preConfirm","preDeny","progressSteps","returnFocus","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","theme","willClose"],u1={allowEnterKey:void 0},c1=["allowOutsideClick","allowEnterKey","backdrop","draggable","focusConfirm","focusDeny","focusCancel","returnFocus","heightAuto","keydownListenerCapture"],jh=e=>Object.prototype.hasOwnProperty.call(Bi,e),zh=e=>l1.indexOf(e)!==-1,Hh=e=>u1[e],d1=e=>{jh(e)||Yt(`Unknown parameter "${e}"`);},f1=e=>{c1.includes(e)&&Yt(`The parameter "${e}" is incompatible with toasts`);},p1=e=>{const t=Hh(e);t&&ah(e,t);},Vh=e=>{e.backdrop===false&&e.allowOutsideClick&&Yt('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),e.theme&&!["light","dark","auto","minimal","borderless","embed-iframe","bulma","bulma-light","bulma-dark"].includes(e.theme)&&Yt(`Invalid theme "${e.theme}"`);for(const t in e)d1(t),e.toast&&f1(t),p1(t);};function qh(e){const t=Qt(),n=Ge(),o=ct.innerParams.get(this);if(!n||bo(n,o.hideClass.popup)){Yt("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");return}const i=h1(e),s=Object.assign({},o,i);Vh(s),t.dataset.swal2Theme=s.theme,xh(this,s),ct.innerParams.set(this,s),Object.defineProperties(this,{params:{value:Object.assign({},this.params,e),writable:false,enumerable:true}});}const h1=e=>{const t={};return Object.keys(e).forEach(n=>{zh(n)?t[n]=e[n]:Yt(`Invalid parameter to update: ${n}`);}),t};function Wh(){const e=ct.domCache.get(this),t=ct.innerParams.get(this);if(!t){Kh(this);return}e.popup&&Ie.swalCloseEventFinishedCallback&&(Ie.swalCloseEventFinishedCallback(),delete Ie.swalCloseEventFinishedCallback),typeof t.didDestroy=="function"&&t.didDestroy(),Ie.eventEmitter.emit("didDestroy"),m1(this);}const m1=e=>{Kh(e),delete e.params,delete Ie.keydownHandler,delete Ie.keydownTarget,delete Ie.currentInstance;},Kh=e=>{e.isAwaitingPromise?(Al(ct,e),e.isAwaitingPromise=true):(Al(Ki,e),Al(ct,e),delete e.isAwaitingPromise,delete e.disableButtons,delete e.enableButtons,delete e.getInput,delete e.disableInput,delete e.enableInput,delete e.hideLoading,delete e.disableLoading,delete e.showValidationMessage,delete e.resetValidationMessage,delete e.close,delete e.closePopup,delete e.closeModal,delete e.closeToast,delete e.rejectPromise,delete e.update,delete e._destroy);},Al=(e,t)=>{for(const n in e)e[n].delete(t);};var g1=Object.freeze({__proto__:null,_destroy:Wh,close:Lo,closeModal:Lo,closePopup:Lo,closeToast:Lo,disableButtons:Oh,disableInput:Fh,disableLoading:oa,enableButtons:Bh,enableInput:Rh,getInput:Th,handleAwaitingPromise:ur,hideLoading:oa,rejectPromise:Ah,resetValidationMessage:Uh,showValidationMessage:Nh,update:qh});const w1=(e,t,n)=>{e.toast?y1(e,t,n):(v1(t),x1(t),_1(e,t,n));},y1=(e,t,n)=>{t.popup.onclick=()=>{e&&(b1(e)||e.timer||e.input)||n(is.close);};},b1=e=>!!(e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton);let ia=false;const v1=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=()=>{},t.target===e.container&&(ia=true);};};},x1=e=>{e.container.onmousedown=t=>{t.target===e.container&&t.preventDefault(),e.popup.onmouseup=function(n){e.popup.onmouseup=()=>{},(n.target===e.popup||n.target instanceof HTMLElement&&e.popup.contains(n.target))&&(ia=true);};};},_1=(e,t,n)=>{t.container.onclick=o=>{if(ia){ia=false;return}o.target===t.container&&Oa(e.allowOutsideClick)&&n(is.backdrop);};},C1=e=>typeof e=="object"&&e.jquery,Ud=e=>e instanceof Element||C1(e),k1=e=>{const t={};return typeof e[0]=="object"&&!Ud(e[0])?Object.assign(t,e[0]):["title","html","icon"].forEach((n,o)=>{const i=e[o];typeof i=="string"||Ud(i)?t[n]=i:i!==void 0&&vi(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`);}),t};function S1(...e){return new this(...e)}function $1(e){class t extends this{_main(o,i){return super._main(o,Object.assign({},e,i))}}return t}const E1=()=>Ie.timeout&&Ie.timeout.getTimerLeft(),Gh=()=>{if(Ie.timeout)return Ob(),Ie.timeout.stop()},Jh=()=>{if(Ie.timeout){const e=Ie.timeout.start();return vc(e),e}},A1=()=>{const e=Ie.timeout;return e&&(e.running?Gh():Jh())},P1=e=>{if(Ie.timeout){const t=Ie.timeout.increase(e);return vc(t,true),t}},I1=()=>!!(Ie.timeout&&Ie.timeout.isRunning());let jd=false;const fu={};function D1(e="data-swal-template"){fu[e]=this,jd||(document.body.addEventListener("click",T1),jd=true);}const T1=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const n in fu){const o=t.getAttribute(n);if(o){fu[n].fire({template:o});return}}};class L1{constructor(){this.events={};}_getHandlersByEventName(t){return typeof this.events[t]>"u"&&(this.events[t]=[]),this.events[t]}on(t,n){const o=this._getHandlersByEventName(t);o.includes(n)||o.push(n);}once(t,n){const o=(...i)=>{this.removeListener(t,o),n.apply(this,i);};this.on(t,o);}emit(t,...n){this._getHandlersByEventName(t).forEach(o=>{try{o.apply(this,n);}catch(i){console.error(i);}});}removeListener(t,n){const o=this._getHandlersByEventName(t),i=o.indexOf(n);i>-1&&o.splice(i,1);}removeAllListeners(t){this.events[t]!==void 0&&(this.events[t].length=0);}reset(){this.events={};}}Ie.eventEmitter=new L1;const M1=(e,t)=>{Ie.eventEmitter.on(e,t);},B1=(e,t)=>{Ie.eventEmitter.once(e,t);},O1=(e,t)=>{if(!e){Ie.eventEmitter.reset();return}t?Ie.eventEmitter.removeListener(e,t):Ie.eventEmitter.removeAllListeners(e);};var R1=Object.freeze({__proto__:null,argsToParams:k1,bindClickHandler:D1,clickCancel:kv,clickConfirm:_h,clickDeny:Cv,enableLoading:Gi,fire:S1,getActions:rr,getCancelButton:ns,getCloseButton:gc,getConfirmButton:no,getContainer:Qt,getDenyButton:xi,getFocusableElements:wc,getFooter:ch,getHtmlContainer:hc,getIcon:ts,getIconContent:Pb,getImage:uh,getInputLabel:Ib,getLoader:os,getPopup:Ge,getProgressSteps:mc,getTimerLeft:E1,getTimerProgressBar:Fa,getTitle:lh,getValidationMessage:Ra,increaseTimer:P1,isDeprecatedParameter:Hh,isLoading:Tb,isTimerRunning:I1,isUpdatableParameter:zh,isValidParameter:jh,isVisible:_v,mixin:$1,off:O1,on:M1,once:B1,resumeTimer:Jh,showLoading:Gi,stopTimer:Gh,toggleTimer:A1});class F1{constructor(t,n){this.callback=t,this.remaining=n,this.running=false,this.start();}start(){return this.running||(this.running=true,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.started&&this.running&&(this.running=false,clearTimeout(this.id),this.remaining-=new Date().getTime()-this.started.getTime()),this.remaining}increase(t){const n=this.running;return n&&this.stop(),this.remaining+=t,n&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const Yh=["swal-title","swal-html","swal-footer"],N1=e=>{const t=typeof e.template=="string"?document.querySelector(e.template):e.template;if(!t)return {};const n=t.content;return K1(n),Object.assign(U1(n),j1(n),z1(n),H1(n),V1(n),q1(n),W1(n,Yh))},U1=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach(o=>{fi(o,["name","value"]);const i=o.getAttribute("name"),s=o.getAttribute("value");!i||!s||(typeof Bi[i]=="boolean"?t[i]=s!=="false":typeof Bi[i]=="object"?t[i]=JSON.parse(s):t[i]=s);}),t},j1=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach(o=>{const i=o.getAttribute("name"),s=o.getAttribute("value");!i||!s||(t[i]=new Function(`return ${s}`)());}),t},z1=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach(o=>{fi(o,["type","color","aria-label"]);const i=o.getAttribute("type");!i||!["confirm","cancel","deny"].includes(i)||(t[`${i}ButtonText`]=o.innerHTML,t[`show${dc(i)}Button`]=true,o.hasAttribute("color")&&(t[`${i}ButtonColor`]=o.getAttribute("color")),o.hasAttribute("aria-label")&&(t[`${i}ButtonAriaLabel`]=o.getAttribute("aria-label")));}),t},H1=e=>{const t={},n=e.querySelector("swal-image");return n&&(fi(n,["src","width","height","alt"]),n.hasAttribute("src")&&(t.imageUrl=n.getAttribute("src")||void 0),n.hasAttribute("width")&&(t.imageWidth=n.getAttribute("width")||void 0),n.hasAttribute("height")&&(t.imageHeight=n.getAttribute("height")||void 0),n.hasAttribute("alt")&&(t.imageAlt=n.getAttribute("alt")||void 0)),t},V1=e=>{const t={},n=e.querySelector("swal-icon");return n&&(fi(n,["type","color"]),n.hasAttribute("type")&&(t.icon=n.getAttribute("type")),n.hasAttribute("color")&&(t.iconColor=n.getAttribute("color")),t.iconHtml=n.innerHTML),t},q1=e=>{const t={},n=e.querySelector("swal-input");n&&(fi(n,["type","label","placeholder","value"]),t.input=n.getAttribute("type")||"text",n.hasAttribute("label")&&(t.inputLabel=n.getAttribute("label")),n.hasAttribute("placeholder")&&(t.inputPlaceholder=n.getAttribute("placeholder")),n.hasAttribute("value")&&(t.inputValue=n.getAttribute("value")));const o=Array.from(e.querySelectorAll("swal-input-option"));return o.length&&(t.inputOptions={},o.forEach(i=>{fi(i,["value"]);const s=i.getAttribute("value");if(!s)return;const r=i.innerHTML;t.inputOptions[s]=r;})),t},W1=(e,t)=>{const n={};for(const o in t){const i=t[o],s=e.querySelector(i);s&&(fi(s,[]),n[i.replace(/^swal-/,"")]=s.innerHTML.trim());}return n},K1=e=>{const t=Yh.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(e.children).forEach(n=>{const o=n.tagName.toLowerCase();t.includes(o)||Yt(`Unrecognized element <${o}>`);});},fi=(e,t)=>{Array.from(e.attributes).forEach(n=>{t.indexOf(n.name)===-1&&Yt([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`,`${t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element."}`]);});},Qh=10,G1=e=>{const t=Qt(),n=Ge();typeof e.willOpen=="function"&&e.willOpen(n),Ie.eventEmitter.emit("willOpen",n);const i=window.getComputedStyle(document.body).overflowY;Q1(t,n,e),setTimeout(()=>{J1(t,n);},Qh),yc()&&(Y1(t,e.scrollbarPadding,i),Tv()),!Na()&&!Ie.previousActiveElement&&(Ie.previousActiveElement=document.activeElement),typeof e.didOpen=="function"&&setTimeout(()=>e.didOpen(n)),Ie.eventEmitter.emit("didOpen",n),An(t,W["no-transition"]);},sa=e=>{const t=Ge();if(e.target!==t)return;const n=Qt();t.removeEventListener("animationend",sa),t.removeEventListener("transitionend",sa),n.style.overflowY="auto";},J1=(e,t)=>{ph(t)?(e.style.overflowY="hidden",t.addEventListener("animationend",sa),t.addEventListener("transitionend",sa)):e.style.overflowY="auto";},Y1=(e,t,n)=>{Lv(),t&&n!=="hidden"&&Uv(n),setTimeout(()=>{e.scrollTop=0;});},Q1=(e,t,n)=>{Ye(e,n.showClass.backdrop),n.animation?(t.style.setProperty("opacity","0","important"),It(t,"grid"),setTimeout(()=>{Ye(t,n.showClass.popup),t.style.removeProperty("opacity");},Qh)):It(t,"grid"),Ye([document.documentElement,document.body],W.shown),n.heightAuto&&n.backdrop&&!n.toast&&Ye([document.documentElement,document.body],W["height-auto"]);};var zd={email:(e,t)=>/^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid email address"),url:(e,t)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid URL")};function X1(e){e.inputValidator||(e.input==="email"&&(e.inputValidator=zd.email),e.input==="url"&&(e.inputValidator=zd.url));}function Z1(e){(!e.target||typeof e.target=="string"&&!document.querySelector(e.target)||typeof e.target!="string"&&!e.target.appendChild)&&(Yt('Target parameter is not valid, defaulting to "body"'),e.target="body");}function e0(e){X1(e),e.showLoaderOnConfirm&&!e.preConfirm&&Yt(`showLoaderOnConfirm is set to true, but preConfirm is not defined.
showLoaderOnConfirm should be used together with preConfirm, see usage example:
https://sweetalert2.github.io/#ajax-request`),Z1(e),typeof e.title=="string"&&(e.title=e.title.split(`
`).join("<br />")),Vb(e);}let Kn;var $r=new WeakMap;class xt{constructor(...t){if(xb(this,$r,void 0),typeof window>"u")return;Kn=this;const n=Object.freeze(this.constructor.argsToParams(t));this.params=n,this.isAwaitingPromise=false,_b($r,this,this._main(Kn.params));}_main(t,n={}){if(Vh(Object.assign({},n,t)),Ie.currentInstance){const s=Ki.swalPromiseResolve.get(Ie.currentInstance),{isAwaitingPromise:r}=Ie.currentInstance;Ie.currentInstance._destroy(),r||s({isDismissed:true}),yc()&&Sh();}Ie.currentInstance=Kn;const o=n0(t,n);e0(o),Object.freeze(o),Ie.timeout&&(Ie.timeout.stop(),delete Ie.timeout),clearTimeout(Ie.restoreFocusTimeout);const i=o0(Kn);return xh(Kn,o),ct.innerParams.set(Kn,o),t0(Kn,i,o)}then(t){return Td($r,this).then(t)}finally(t){return Td($r,this).finally(t)}}const t0=(e,t,n)=>new Promise((o,i)=>{const s=r=>{e.close({isDismissed:true,dismiss:r});};Ki.swalPromiseResolve.set(e,o),Ki.swalPromiseReject.set(e,i),t.confirmButton.onclick=()=>{o1(e);},t.denyButton.onclick=()=>{i1(e);},t.cancelButton.onclick=()=>{s1(e,s);},t.closeButton.onclick=()=>{s(is.close);},w1(n,t,s),Sv(Ie,n,s),Gv(e,n),G1(n),i0(Ie,n,s),s0(t,n),setTimeout(()=>{t.container.scrollTop=0;});}),n0=(e,t)=>{const n=N1(e),o=Object.assign({},Bi,t,n,e);return o.showClass=Object.assign({},Bi.showClass,o.showClass),o.hideClass=Object.assign({},Bi.hideClass,o.hideClass),o.animation===false&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},o0=e=>{const t={popup:Ge(),container:Qt(),actions:rr(),confirmButton:no(),denyButton:xi(),cancelButton:ns(),loader:os(),closeButton:gc(),validationMessage:Ra(),progressSteps:mc()};return ct.domCache.set(e,t),t},i0=(e,t,n)=>{const o=Fa();Nt(o),t.timer&&(e.timeout=new F1(()=>{n("timer"),delete e.timeout;},t.timer),t.timerProgressBar&&(It(o),gn(o,t,"timerProgressBar"),setTimeout(()=>{e.timeout&&e.timeout.running&&vc(t.timer);})));},s0=(e,t)=>{if(!t.toast){if(!Oa(t.allowEnterKey)){ah("allowEnterKey"),l0();return}r0(e)||a0(e,t)||du(-1,1);}},r0=e=>{const t=Array.from(e.popup.querySelectorAll("[autofocus]"));for(const n of t)if(n instanceof HTMLElement&&an(n))return n.focus(),true;return false},a0=(e,t)=>t.focusDeny&&an(e.denyButton)?(e.denyButton.focus(),true):t.focusCancel&&an(e.cancelButton)?(e.cancelButton.focus(),true):t.focusConfirm&&an(e.confirmButton)?(e.confirmButton.focus(),true):false,l0=()=>{document.activeElement instanceof HTMLElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur();};xt.prototype.disableButtons=Oh;xt.prototype.enableButtons=Bh;xt.prototype.getInput=Th;xt.prototype.disableInput=Fh;xt.prototype.enableInput=Rh;xt.prototype.hideLoading=oa;xt.prototype.disableLoading=oa;xt.prototype.showValidationMessage=Nh;xt.prototype.resetValidationMessage=Uh;xt.prototype.close=Lo;xt.prototype.closePopup=Lo;xt.prototype.closeModal=Lo;xt.prototype.closeToast=Lo;xt.prototype.rejectPromise=Ah;xt.prototype.update=qh;xt.prototype._destroy=Wh;Object.assign(xt,R1);Object.keys(g1).forEach(e=>{xt[e]=function(...t){return Kn&&Kn[e]?Kn[e](...t):null};});xt.DismissReason=is;xt.version="11.22.4";const q=xt;q.default=q;typeof document<"u"&&(function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t;}catch{n.innerText=t;}})(document,':root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-container-padding: 0.625em;--swal2-backdrop: rgba(0, 0, 0, 0.4);--swal2-backdrop-transition: background-color 0.1s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: 0.3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show 0.3s;--swal2-hide-animation: swal2-hide 0.15s forwards;--swal2-icon-zoom: 1;--swal2-icon-animations: true;--swal2-title-padding: 0.8em 1em 0;--swal2-html-container-padding: 1em 1.6em 0.3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: 0.1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color 0.2s, box-shadow 0.2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px $swal2-outline-color;--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color 0.2s, box-shadow 0.2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: 0.25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: 0.25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: 0.25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show 0.5s;--swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.075), 0 1px 2px hsl(0deg 0% 0% / 0.075), 1px 2px 4px hsl(0deg 0% 0% / 0.075), 1px 3px 8px hsl(0deg 0% 0% / 0.075), 2px 4px 16px hsl(0deg 0% 0% / 0.075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}@media(prefers-color-scheme: dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem;container-name:swal2-popup}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:rgba(0,0,0,0);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:all}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}@container swal2-popup style(--swal2-icon-animations:true){.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}');const Xh=gt.clouddrive;var Mo=(e=>(e.windows="windows",e.macos="macos",e.linux="linux",e.android="android",e))(Mo||{}),pi=(e=>(e.unknown="unknown",e.classic="classic",e.modern="modern",e))(pi||{}),zo=(e=>(e.play="play",e.download="download",e))(zo||{});function $c(e){return {active:false,url:"http://localhost:19798",root:"/115",memo:"",platform:void 0,ver_lt_0816:false,...e}}async function Zh(){const e=[$c()],t=await Qe.get(Xh,e);return t||e}async function Hd(e){e.some(t=>t.active)||(e[0].active=true),await Qe.set(Xh,e);}async function Xt(){return (await Zh()).find(t=>t.active)||$c()}function u0(e){if(!document.execCommand)return false;const t=document.createElement("input");t.style.position="fixed",t.style.opacity="0",t.value=e,document.body.appendChild(t),t.select();try{return document.execCommand("Copy")}catch(n){console.warn("[copyViaCmd] execCommand",n);}finally{document.body.removeChild(t);}return false}function c0(e){prompt("请复制以下内容:",e);}function d0(e=navigator.userAgent){return e.indexOf("Safari")>-1&&e.indexOf("Chrome")<=-1}function ft(e){const t=()=>{u0(e)||(d0()?c0(e):Qy(e,"text/plain"));};navigator.clipboard?navigator.clipboard.writeText(e).then(()=>{}).catch(n=>{console.warn("[copyToClipboard] navigator.clipboard",n),t();}):t();}function ja(e="",t=""){return e+Date.now().toString()+Math.random().toString(36).substring(5)+t}function f0(e,t="NFD"){return e.normalize(t)}function p0(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function em(e,t){return e=e.replace(/^[\/]+/g,""),"/"+e}function tm(e){return e.startsWith("file://")}function h0(e){switch(e){case Mo.windows:return ["/","\\",":","*","?",'"',"<",">","|"];case Mo.macos:return ["/",":"];case Mo.linux:case Mo.android:return ["/","\0"];default:return ["/","\0"]}}function cn(e,t,n=true){const o=h0(e.platform||Mo.linux);let i=Array.from(t).map(s=>{if(o.includes(s)){const r=s.charCodeAt(0)+65248;return String.fromCharCode(r)}else return s==="\r"||s===`
`?" ":s}).join("");for(;i.endsWith(".")||i.endsWith(" ");)i.endsWith(".")?i=i.replace(/\.+$/,""):i=i.replace(/\s+$/,"");return n&&(i=Ec(e,i)),i}async function Ji(e,t,n=zo.play,o=true,i=""){Array.isArray(t)?t=[...t].map(f=>cn(e,f,true)).join("/"):t=Ec(e,t);let{url:s,root:r}=e;if(!s)throw new Error("未设置CloudDrive地址!");(s.startsWith("/")||s.startsWith("\\"))&&(s=`file:///${s}`),tm(s);const a=/^https?:\/\//.test(s);if(a&&!r)throw new Error("当协议为http/https时,必须设置CloudDrive资源根路径!");r&&(r=r.replace(/^(\/+)?/g,"/")),t=t.replace(/^(\/+)?/g,"/");const l=`${r}${t}`,c=n===zo.play?"True":"False";let u="";return s=s.replace(/\/+$/,""),a?u=`${s}/static/${s.replace("://","/")}/${c}/${encodeURIComponent(l)}`:u=`${s}${l}`,i&&(u+=i),o&&(u+="?check_expire=True"),console.log("[Cloud115 Enhancer] buildCloudDriveUrl",u),u}async function pu(e,t,n=true){let{url:o,root:i}=e;if(!o)throw new Error("未设置CloudDrive地址!");return tm(o)?await Ji(e,t,zo.play,n):await Ji(e,t,zo.play,n,".clfsplaylist.m3u")}async function m0(e,t,n=pi.classic){let{url:o}=e;if(!o)throw new Error("未设置CloudDrive地址!");return o.startsWith("http")||(o=`http://${o}`),o=o.replace(/\/+$/,""),t=e.root.replace(/\/+$/,"")+t,t=t.replace(/^(\/+)?/g,"/"),t=Ec(e,t),n===pi.modern?`${o}/?page=files&path=${encodeURIComponent(t)}`:`${o}/#${t}?a=1`}function Ec(e,t){return e.platform===Mo.macos?f0(t,e.ver_lt_0816?"NFD":"NFC"):t}const Oi=q.mixin({toast:true,position:"top-end",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:e=>{e.addEventListener("mouseenter",q.stopTimer),e.addEventListener("mouseleave",q.resumeTimer);},customClass:{popup:"swal-toast"}});async function g0(e,t){e.addEventListener("keydown",n=>{const o=n.target;if(!Qp(o))return;let i=false;n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(i=true),i&&q.clickConfirm();});}async function Q(e){return q.fire({toast:true,position:"top-right",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:t=>{t.addEventListener("mouseenter",q.stopTimer),t.addEventListener("mouseleave",q.resumeTimer);},...e})}async function w0(e,t,n=false){const o=new Map;if(!e.length)return o;t=t||await Xt();let i=new Map;n||(Q({text:"正在获取上级目录路径...",timer:0}),q.showLoading());try{i=await W0(e),n||q.close();}catch(s){return console.error(s),n||Q({text:`获取上级目录路径失败: ${s}`,timer:1200,icon:"error"}),o}finally{n||q.hideLoading();}if(i.size===0)return o;for(let s=0;s<e.length;s++){const r=i.get(e[s].parentId)?.slice(1).join("/"),a=e[s].name,l=em(r+"/"+a),c=e[s].isFile?await Ji(t,l,zo.play):await pu(t,l);o.set(l,c);}return console.log("[buildCloudDriveUrlsForFileItems] pathToUrl:",o),o}async function y0(e,t,n=false){return new Promise(async(o,i)=>{const s=await Ji(e,t,void 0,n);Ta({method:"HEAD",url:s,onload:r=>o(r.status===200),onerror:r=>i(r)});})}async function b0(e,t,n,o,i){const r=`waitFileExist_${ja()} path: ${t}`;console.time(r);async function a(l){const c=await y0(e,t,n);c&&l(c);}try{await Wo(a,o,i);}catch{throw new Error(`[waitFileExist] 检查文件存在超时!文件路径: ${t}`)}finally{console.timeEnd(r);}}function v0(e){return new Promise((t,n)=>{Ta({method:"HEAD",url:e.url,onload:o=>{parseInt(o.responseHeaders.match(/Content-Length:\s*(\d+)/i)?.[1]||"0")<5e3?t(pi.classic):t(pi.modern);},onerror:o=>{n(new Error(`获取CloudDrive页面版本失败: ${o.statusText}`));}});})}async function x0(e){let t=`#EXTM3U
`;for(const[n,o]of e)t+=`#EXTINF:0,${n}
${o}
`;return t}var Bo=(e=>(e.unix="/",e.windows="\\",e))(Bo||{});function ra(e,t="/"){return e.map((n,o)=>o===0?n:za(n,t)).join(t)}function za(e,t="/"){return e=e.replace(/[\\/]/g,t),t==="/"?e=e.replace(/\/+/g,t):e=e.replace(/\\+/g,t),e.length>1&&e.endsWith(t)&&(e=e.slice(0,-1)),e}function _0(e){return e.startsWith("/")}function C0(e){return e===""||e==="/"||e==="\\"}function hu(e,t,n="/"){if(_0(t))return t;const o=new URL(e,"http://example.com");o.pathname=k0(o.pathname,t);let i=decodeURIComponent(o.pathname);return za(i,n)}function k0(e,t){const n=e.endsWith("/")?e:e+"/",o=t.startsWith("/")?t.slice(1):t;return n+o}function nm(e,t=/^\w+$/){const n=e.lastIndexOf(".");if(n===-1)return "";const o=e.slice(n+1);return t&&!t.test(o)?"":o}function Ac(e){return JSON.parse(JSON.stringify(e))}function S0(e){return Object.prototype.toString.call(e)==="[object Object]"}function Vd(e){return S0(e)&&!Array.isArray(e)}function Pc(...e){const t={};for(const n of e)for(const o in n)Object.prototype.hasOwnProperty.call(n,o)&&(Vd(n[o])&&Vd(t[o])?t[o]=Pc(t[o],n[o]):t[o]=n[o]);return t}function $0(e){const t=new Map;for(const[n,o]of e)t.set(o,n);return t}function Ha(e){const t=new URLSearchParams;let n;for(n in e)t.append(n,e[n].toString());return t.toString()}function E0(e,t=false){const n=[];for(const o in e){let i=e[o].toString();i=t?encodeURIComponent(i):i,n.push(`${o}=${i}`);}return n.join("&")}function A0(e){const t=new FormData;let n;for(n in e)t.append(n,e[n].toString());return t}const om=gt.anxia;var Va=(e=>(e.anxia="v.anxia.com",e.vod="115vod.com",e))(Va||{});const im={"3G":"标清",SD:"高清",HD:"超清",UD:"1080P",BD:"4K",YH:"原画"};function P0(e){return {defaultWebFull:false,defaultOpenPlayList:false,defaultDefinition:"",...e}}async function sm(){const e=P0(),t=await Qe.get(om,e);return {...e,...t}}async function I0(e){await Qe.set(om,e);}let rm;function D0(e){rm=e;}function Bt(){return rm}async function Kt(e){const t=new URLSearchParams({cid:e});return (await Bt().get("https://webapi.115.com/category/get?"+t.toString(),{timeout:12e4,withCredentials:true})).data}async function T0(e){const t={path:e};return (await Bt().get("https://webapi.115.com/files/getid?"+Ha(t),{timeout:12e4,withCredentials:true})).data}async function qa(e,t){const n=new URLSearchParams({pid:e,ignore_warn:"1"});return t.forEach((i,s)=>{n.append(`fid[${s}]`,i);}),(await Bt().post("https://webapi.115.com/rb/delete",n,{timeout:12e4,withCredentials:true})).data}async function Pl(e,t,n=1150,o=1e3){let i=0,s=0;for(;;){const r=t.slice(i,i+n);if((await qa(e,r)).state&&(s+=r.length),i+=n,i>=t.length)break;await Et(o);}return s}async function am(e,t){const n=new URLSearchParams({pid:e,cname:t});return (await Bt().post("https://webapi.115.com/files/add",n,{timeout:12e4,withCredentials:true})).data}async function Ic(e,t){const n=new URLSearchParams({pid:e});return t.forEach((i,s)=>{n.append(`fid[${s}]`,i);}),(await Bt().post("https://webapi.115.com/files/move",n,{timeout:12e4,withCredentials:true})).data}var hn=(e=>(e[e.all=0]="all",e[e.video=4]="video",e[e.audio=3]="audio",e[e.image=2]="image",e[e.doc=1]="doc",e[e.app=6]="app",e[e.archive=5]="archive",e[e.file=99]="file",e))(hn||{}),on=(e=>(e.all="全部",e.video="视频",e.audio="音频",e.image="图片",e.doc="文档",e.app="应用",e.archive="压缩包",e.file="仅文件",e))(on||{}),Wa=(e=>(e.userPtime="user_ptime",e.fileName="file_name",e.fileSize="file_size",e.fileType="file_type",e))(Wa||{}),mu=(e=>(e[e.normal=0]="normal",e[e.violation=1]="violation",e[e.auditing=2]="auditing",e))(mu||{}),lm=(e=>(e.file="1",e.folder="0",e))(lm||{});async function L0(e){/^\d+$/.test(e.target)&&(e.target=`U_1_${e.target}`);const t=Ha(e);return (await Bt().post("https://uplb.115.com/3.0/sampleinitupload.php",t,{timeout:12e4,withCredentials:true})).data}async function M0(e,t){const n=await L0(t),o=new FormData;o.append("name",t.filename),o.append("key",n.object),o.append("policy",n.policy),o.append("OSSAccessKeyId",n.accessid),o.append("success_action_status","200"),o.append("callback",n.callback),o.append("signature",n.signature),o.append("file",e);const i=n.host.replace(/^http:/,"https:");return (await Bt().post(i,o,{timeout:18e5})).data}var Oo=(e=>(e[e.true=1]="true",e[e.false=0]="false",e))(Oo||{});class um extends Error{}class Dc extends um{constructor(t="搜索失败!"){super(t);}}class cm extends Dc{constructor(t="搜索请求响应内容为空!"){super(t);}}class Tc extends um{constructor(t="目录不存在!"){super(t);}}var dm=(e=>(e[e.exist=20004]="exist",e))(dm||{});const B0={10013:"超出任务大小限制",10018:"审核中...",10016:"文件内含违规内容"};async function Ut(e=true){const t=kt();let n=t.GetCurWangPanCid?t.GetCurWangPanCid():"";return n===0&&(n="0"),n==="0"&&e?(t.Core.MinMessage.Show({text:'不支持"根目录"!',timeout:1e3}),""):n}function fm(e={}){return {move:true,rename:true,delete:true,more:true,classList:"ce-temp-item",...e}}async function pm(e,t,n={}){const o=!t.sha1,i=o?"":nm(t.file_name),s=o?"folder":i.toLowerCase(),r=o?"文件夹":i.toUpperCase()+"文件",a=o?"cate_id":"file_id";let l=$(`li.temp-el[${a}="${e}"]`);if(!l.length){const f=[];f.push(o?`<a class="name" href="javascript:;" cate="1" menu="open" aid="1" cid="${e}" rel="view_folder">
<span>${t.file_name}</span>
</a>`:`<a class="name" href="javascript:;" menu="view_file_one" rel="file" field="file_name">
<span>${t.file_name}</span>
</a>`),n.star&&f.push(`<a href="javascript:;" class="icon-star ${t.is_mark==="1"?"i-star-active":""}" menu="star" start_point="1" is_star="${t.is_mark}" data_title="星标">星标</a>`),n.remark&&f.push('<a href="javascript:;" class="icon-remarks" style="display: none;" menu="remark"></a>'),n.scores&&f.push('<div class="score-stars" menu="file_score"></div>');const p=n.labels?`<div class="labels-text" style="display: none;" rel="label_box">
<span style="cursor: pointer; display: none;" class="ic-ellipsis" rel="more_label">...</span>
</div>`:"",g=[];n.setTop&&g.push(`<a href="javascript:;" menu="setTop" rel="setTop">
<i class="icon-operate ifo-filesettop" menu="setTop"></i>
<span menu="setTop">置顶</span>
</a>`),n.move&&g.push(`<a href="javascript:;" menu="move">
<i class="icon-operate ifo-move" menu="move"></i>
<span menu="move">移动</span>
</a>`),n.rename&&g.push(`<a href="javascript:;" menu="edit_name">
<i class="icon-operate ifo-rename" menu="edit_name"></i>
<span menu="edit_name">重命名</span>
</a>`),n.delete&&g.push(`<a href="javascript:;" menu="delete">
<i class="icon-operate ifo-remove" menu="delete"></i>
<span menu="delete">删除</span>
</a>`);const m=[`<div class="file-name-wrap">
<i class="file-type tp-${s}" folder-type="shared"></i>
<span class="file-name" rel="file_name">
<em>
${f.join(`
`)}
</em>
</span>
${p}
</div>`,`<div class="file-size"><span>${o?"":t.size}</span></div>`,`<div class="file-typename"><span>${r}</span></div>`,`<div class="file-modified">${new Date(Number(t.utime)*1e3).toLocaleString()}</div>`,'<div class="file-directory"></div>',`<div class="file-opr" rel="menu">
${g.join(`
`)}
</div>`],y=`
<li rel="item" class="temp-el" file_type="${o?0:1}">
<s class="drag-flag" data-rel="drag" style="cursor: pointer;"></s>
<textarea style="display: none;" field="desc"></textarea>
<textarea style="display: none;" field="ext3"></textarea>
<input type="checkbox" value="${e}"/>
<div class="checkbox" menu="file_check_one"></div>
${m.join(`
`)}
</li>
`;l=$(y);}l.find("a.name > span").text(t.file_name),n.classList&&l.addClass(n.classList);const c=t.paths[t.paths.length-1].file_id;let u={rel:"item",c:"0",hdf:"0",title:t.file_name,file_type:o?0:1,pick_code:t.pick_code,is_share:t.is_share||"0",shared:t.is_share||"0",area_id:"1",p_id:c,score:t.score};o?u={...u,cate_id:e,cate_name:t.file_name}:u={...u,file_id:e,cid:c,iv:t.play_long?"1":"0",ico:i,sha1:t.sha1};for(let f in u)l.attr(f,u[f]);return l}function dn(e){const t=Lc(e);return _i(t)}function Lc(e){(e instanceof HTMLElement||!e.jquery)&&(e=$(e));const t=e.attr("file_size"),n=e.attr("iv")==="1",o=oo(),i=e.attr("file_id")||"",s=!!i,r=e.attr("c")||"",a=e.attr("fvs")||"",l={n:e.attr("title")||"",s:t?parseInt(t):0,pc:e.attr("pick_code")||"",t:e.attr("user_ptime")||"",te:"",tp:"",ico:e.attr("ico")||"",sha:e.attr("sha1")||"",iv:n,c:r?parseInt(r):0,fuuid:e.attr("fuuid"),fvs:a?parseInt(a):0};let c={n:l.n};if(!o)c={fid:i,cid:(s?e.attr("cid"):e.attr("cate_id"))||"",pid:s?"":e.attr("p_id")||"",...l};else if(c={fid:i,cid:(s?e.attr("cid"):e.attr("cate_id"))||"",...l},!s){const u=e.find(".file-directory a[cid]");if(u.length)c.pid=u.attr("cid");else throw console.warn("无法获取上级目录ID!",e),new Error("无法获取上级目录ID!")}return {...c,...l}}async function jn(e){const t=N0(e);return hm(t)}function hm(e){const t=[];for(let n=0;n<e.length;n++){const o=_i(e[n]);t.push(o);}return t}function _i(e){const t=!!e.fid,n=e.iv===true||e.iv?.toString()==="1",o=t?fb(e.n):null,i={id:t?e.fid:e.cid,name:e.n,hash:e.sha,parentId:t?e.cid:e.pid,sizeRaw:e.s,sizeDesc:e.s?.toString(),sizeBytes:0,isFile:t,isDir:!t,transcoded:n,isVideo:n||o===uu.video,isImage:o===uu.image,pickCode:e.pc,playDuration:e.play_long};return typeof e.s=="number"?i.sizeBytes=e.s:typeof e.s=="string"&&/^\d+$/.test(e.s)&&(i.sizeBytes=parseInt(e.s)),i.sizeDesc=Wi(i.sizeBytes||0),i}function kt(){return unsafeWindow.TOP?unsafeWindow.TOP:unsafeWindow}function O0(){return unsafeWindow.top===unsafeWindow?unsafeWindow.Ext:unsafeWindow.top.Ext}async function R0(){const e=await Ut();return F0(e,fm({classList:"ce-temp-cur-dir"}))}async function F0(e,t={}){const n=await Kt(e);return await pm(e,n,t)}function ss(){return window.top!==window?$(document):$('iframe[name="wangpan"], .wrap-view iframe:eq(0)').contents()}function Ci(){return ss().find(".list-contents, .list-thumb")}function Mc(e){const t=Ci();return e?t.find("li.selected:not(.ce-temp-cur-dir)"):t.find("li:not(.ce-temp-cur-dir)")}function N0(e){const t=Mc(e),n=[];for(let o=0;o<t.length;o++){const i=t.eq(o),s=Lc(i);n.push(s);}return n}function gu(e="/"){const t=U0();return e+t.slice(1).join(e)}function U0(){const e=ss(),t=[];return e.find("#js_top_header_file_path_box .top-file-path > .file-path").children().each(function(){t.push($(this).text().trim().replace(/[›]$/,""));}),t}function mm(){return ss().find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last")}async function j0(){const e=await Ut();Ci().find("li.selected").each(function(){const n=$(this);n.attr("cate_id")!==e&&(n.find('input[type="checkbox"]').prop("checked",false),n.removeClass("selected"));});}async function So(e=false,t=0,n=true){const o=await Ut();if(!o)return null;const i=Ci(),s=await R0();return e||s.hide(),i.find(`li[cate_id="${o}"]`).length||(i.is("ul")?n?i.parent().prepend(s):i.append(s):n?i.prepend(s):i.find("ul").prepend(s)),t>0&&setTimeout(()=>{s.remove();},t),s}async function z0(e,t,n){await j0(),kt().Core.FileMenu.DoEvent([e],t,null);}function H0(e,t=""){return `https://115.com/?ct=preview&ac=location&pickcode=${e}&sha1=${t}`}function Bn(e){return `https://115.com/?${new URLSearchParams({cid:e}).toString()}&offset=0&mode=wangpan`}function xn(e=location.href){return e.includes("ac=userfile")}function oo(e=location.href){return e.includes("ac=search")}function wu(e=location.href){return /(115|anxia|115cdn)\.com\/s\/\w+/.test(e)||/share\.115\.com/.test(e)}function gm(e,t=""){const n={aid:"1",cid:e.cid||"0",old_cid:e.cid||"",old_cid_name:t,search_value:encodeURIComponent(e.search_value),ct:"file",ac:"search",is_wl_tpl:"1"};return "https://115.com/?url="+encodeURIComponent(`/?${E0(n)}`)+"&submode=wangpan&mode=search"}function wm(e,t=Va.vod){const n=new URLSearchParams({pickcode:e,share_id:"0"});return `https://${t}/?${n.toString()}`}function Bc(e){return /^https?:\/\//.test(e)&&(e=new URL(e).host),Object.values(Va).includes(e)}async function ym(e){unsafeWindow.Main.ReInstance({type:e.type,offset:0,o:Wa.userPtime,asc:Oo.false,star:e.star,suffix:e.suffix});}function V0(){return Ci().find("li.selected")}function q0(){const e=V0();return e?Lc(e):null}const Il=new Map;async function Ka(e,t=false){const n=e.name;if(t&&e.parentId&&Il.has(e.parentId)){const s=Il.get(e.parentId);if(s)return [...s,n]}const i=(await Kt(e.id)).paths.slice(1).map(s=>s.file_name);return e.parentId&&Il.set(e.parentId,i),[...i,n]}async function W0(e,t=100){const n=new Map;for(const s of e){const r=s.parentId;if(!r)throw new Error(`文件"${s.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(s):n.set(r,[s]);}const o=[];for(const s of n.values())o.push(s[0]);const i=new Map;for(const s of o){const r=await Kt(s.id);await Et(t),i.set(s.parentId,r.paths.map(a=>a.file_name));}return i}async function K0(e,t=100){const n=new Map;for(const s of e){const r=s.parentId;if(!r)throw new Error(`文件"${s.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(s):n.set(r,[s]);}const o=[];for(const s of n.values())o.push(s[0]);const i=new Map;for(const s of o){const r=await Kt(s.id);await Et(t),i.set(s.parentId,r.paths);}return i}async function G0(e,t){const n=new File([e],t.filename,{type:"text/plain"});return M0(n,t)}async function J0(e,t,n){const o=await w0(e),i=await x0(o);n=n||ja();let s=t;return /m3u8$/.test(n)||(n+=".m3u8"),await G0(i,{filename:n,target:s})}const Dl=new Map;async function Ri(e,t=false){if(e=za(e,Bo.unix),e=e.replace(/^[\/]+/,"").replace(/[\/]+$/,""),t&&Dl.has(e))return Dl.get(e);if(e===""||e==="/")return "0";const n=await T0(e);if(!n.state)throw new Error(`根据路径"${e}"获取目录ID失败: ${n.error}`);if(n.id&&n.id.toString()!=="0")return Dl.set(e,n.id.toString()),n.id.toString();throw new Tc(`根据路径"${e}"获取目录ID失败: 目录不存在!`)}async function Y0(e){e=e.replace(/^\//,"").replace(/\/$/,"");const t={id:"",created:false,pathToId:new Map};if(e===""||e==="/")return t.id="0",t;const n=e.split("/").filter(s=>s);let o="0",i="";for(const s of n){i+="/"+s;let r="";try{r=await Ri(i,!0),t.pathToId.set(i,r);}catch(a){if(a instanceof Tc){const l=await am(o,s);if(!l.state)throw new Error(`创建目录"${s}"失败: ${l.errno} - ${l.error}`);r=l.cid.toString();}else throw a}o=r,t.pathToId.set(i,r);}return t.id=o,t}async function Q0(e,t,n=true){let o="";const i=await am(t,e);if(i.state)o=i.cid.toString();else {if(i.errno===dm.exist&&n){const s=await Kt(t);if(!s.pick_code)throw new Error(`获取目录"${t}"属性失败: ${s.errno} - ${s.error}`);const r=[...s.paths.slice(1).map(a=>a.file_name),s.file_name,e].join("/");return await Ri(r,true)}throw new Error(`创建目录"${e}"失败: ${i.errno} - ${i.error}`)}return o}const Oc=typeof Buffer=="function";typeof TextDecoder=="function"&&new TextDecoder;const qd=typeof TextEncoder=="function"?new TextEncoder:void 0,X0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",vs=Array.prototype.slice.call(X0);(e=>{let t={};return e.forEach((n,o)=>t[n]=o),t})(vs);const qn=String.fromCharCode.bind(String);typeof Uint8Array.from=="function"&&Uint8Array.from.bind(Uint8Array);const Z0=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),ex=e=>{let t,n,o,i,s="";const r=e.length%3;for(let a=0;a<e.length;){if((n=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(i=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=n<<16|o<<8|i,s+=vs[t>>18&63]+vs[t>>12&63]+vs[t>>6&63]+vs[t&63];}return r?s.slice(0,r-3)+"===".substring(r):s},bm=typeof btoa=="function"?e=>btoa(e):Oc?e=>Buffer.from(e,"binary").toString("base64"):ex,tx=Oc?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let o=0,i=e.length;o<i;o+=4096)n.push(qn.apply(null,e.subarray(o,o+4096)));return bm(n.join(""))},nx=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?qn(192|t>>>6)+qn(128|t&63):qn(224|t>>>12&15)+qn(128|t>>>6&63)+qn(128|t&63)}else {var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return qn(240|t>>>18&7)+qn(128|t>>>12&63)+qn(128|t>>>6&63)+qn(128|t&63)}},ox=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ix=e=>e.replace(ox,nx),Wd=Oc?e=>Buffer.from(e,"utf8").toString("base64"):qd?e=>tx(qd.encode(e)):e=>bm(ix(e)),Kd=(e,t=false)=>t?Z0(Wd(e)):Wd(e);var Rc=(e=>(e.search="search",e.encode="encode",e.base64="base64",e.base64safe="base64safe",e.upper="upper",e.lower="lower",e.number="number",e.manual="manual",e))(Rc||{});const sx=[{label:"文件属性变量",items:[{key:"{dir_id}",label:"文件夹ID"},{key:"{file_id}",label:"文件ID"},{key:"{pick_code}",label:"提取码"},{key:"{pure_name}",label:"不含后缀的文件名"},{key:"{full_name}",label:"完整名称"},{key:"{file_suffix}",label:"文件后缀名"},{key:"{file_hash}",label:"文件hash"},{key:"{file_size}",label:"文件大小"},{key:"{file_path}",label:"文件路径"},{key:"{file_dir}",label:"文件目录路径"}]},{label:"高级变量",items:[{key:"{clouddrive_stream_url}",label:"CloudDrive链接(用于播放,目录链接是m3u)"},{key:"{clouddrive_down_url}",label:"CloudDrive文件链接"},{key:"{clouddrive_playlist_url}",label:"CloudDrive播放列表链接"},{key:"{user_agent}",label:"浏览器UA"}]},{label:"变量函数处理",memo:"支持多个函数,函数之间使用英文冒号分隔,如:{变量名:encode:base64}。调用顺序从左到右。",items:[{key:"{变量名:search}",label:"搜索链接"},{key:"{变量名:encode}",label:"url编码"},{key:"{变量名:base64}",label:"base64编码"},{key:"{变量名:base64safe}",label:"base64安全编码"},{key:"{变量名:upper}",label:"转大写"},{key:"{变量名:lower}",label:"转小写"},{key:"{变量名:number}",label:"转数字"},{key:"{变量名:manual}",label:"手动输入"}]}];var vm=(e=>(e.first="first",e.last="last",e))(vm||{});function rx(e,t,n){const{names:o,position:i}=t;let s=[];return i==="first"?s=[...o,...e]:s=[...e,...o],n?Array.from(new Set(s)):s}async function Rs(e,t,n,o,i=false){let s=t.url;const r={dir_id:"id",file_id:"id",pick_code:"pickCode",full_name:"name",file_suffix:"suffix",file_hash:"hash",file_size:"sizeBytes"},a=e.isFile,l=/{(\w+)(:\w+(:\w+)?)?}/g,c=s.match(l);if(c){const u=["file_path","file_dir","clouddrive_stream_url","clouddrive_down_url","clouddrive_playlist_url"];for(const f of c){const p=f.replace(/[{}]/g,"").split(":")[0],g=f.replace(/[{}]/g,"").replace(/^[^:]+:/,"");let m=e[r[p]]?.toString()||"",y="",x=[];switch(u.includes(p)&&(x=await Ka(e),i&&(x=x.map(k=>cn(n,k,true))),y=x.join("/")),p){case "pure_name":a?m=e.name.replace(/\.[^.]+$/,""):m=e.name;break;case "file_path":m=y;break;case "file_dir":m=y.replace(/\/[^/]+$/,"");break;case "clouddrive_stream_url":a?m=await Ji(n,x,zo.download):m=await pu(n,x);break;case "clouddrive_down_url":m=await Ji(n,x,zo.download);break;case "clouddrive_playlist_url":let k=[];a?k=x.slice(0,-1):k=x,m=await pu(n,k);break;case "user_agent":m=navigator.userAgent;break}if(m=m.toString(),g){let k=g.split(":");o&&(k=rx(k,o,false)),console.log(`[buildCustomUrl] functions: ${g}, after merge: ${k.join(":")}`);for(const I of k)switch(I){case "search":m=gm({search_value:m});break;case "encode":m=encodeURIComponent(m);break;case "base64":m=Kd(m);break;case "base64safe":m=Kd(m,true);break;case "upper":m=m.toUpperCase();break;case "lower":m=m.toLowerCase();break;case "number":m=m.replace(/\D/g,"");break;case "manual":m=await ax(m);break}}s=s.replace(f,m);}}return t.mutation?await lx(s,e,t,n):s}async function ax(e){let{isConfirmed:t,value:n}=await q.fire({title:"手动输入",html:`<div>按下「Ctrl + 回车」或「Command + 回车」确认</div><hr class="ce-hr"/><div><textarea readonly class="ce-textarea-trans" style="width:92%;">原始: ${e}</textarea></div>`,input:"textarea",inputValue:e,showCancelButton:true,inputValidator:o=>o?null:"输入不能为空!",didOpen:o=>{ib(o),g0(o);},customClass:{popup:"ce-swal-text-left"}});if(!t)throw new Error("已取消手动输入。");if(n=n?.trim()||"",n==="")throw new Error("输入不能为空!");return e=n,e}async function lx(e,t,n,o){return await(typeof n.mutation=="function"?n.mutation:new Function("payload",n.mutation))({url:e,file:t,customUrl:n,cloudDriveConfig:o})}var io=(e=>(e.search="search",e.play="play",e))(io||{});const ux=gt.menuCustomUrlsForSearch,cx=gt.menuCustomUrlsForPlay,xm={search:ux,play:cx};async function ki(e){return await Qe.get(xm[e],[])}async function _m(e,t){await Qe.set(xm[e],t);}function Ct(e){return {enabled:true,key:"",label:"",icon:"",memo:"",extraMemo:"",url:"",openInBackground:false,...e}}const Cm=gt.enabledCustomUrlsForSearch,km=gt.enabledCustomUrlsForPlay;async function dx(e){await Qe.set(Cm,e);}async function fx(e){await Qe.set(km,e);}async function px(){const e=bu,t=e.filter(i=>i.enabled).map(i=>i.key),n=await Qe.get(Cm,t),o=[];return e.forEach(i=>{n.includes(i.key)&&o.push(i.key);}),o}async function hx(){const e=yu,t=e.filter(i=>i.enabled).map(i=>i.key),n=await Qe.get(km,t),o=[];return e.forEach(i=>{n.includes(i.key)&&o.push(i.key);}),o}async function cr(){const e=await px();return bu.forEach(t=>{t.enabled=e.includes(t.key);}),bu}async function Sm(){const e=await hx();return yu.forEach(t=>{t.enabled=e.includes(t.key);}),yu}const Gd="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABu0lEQVRYhe2WsVXDMBCG/xNNSrFBmAB3tBEZIJkAmCBog9gbGLNAwgQwQJ5MSecNYASVaayjcBIrEDvye06V/JVs/777fJJOBi666NxFoUapzQiunAJiAmC4uV2AuACJxKbq5yQAUhsJxhzMuj0SpxsQ2xuA1EbCuRyg28B4BQSpLhCi9SljvpeckUOQgqBrm90TBCkAS++NCOzmocmBlgpIbYZw/O3RJDYbxwe9s1UMUJ24qkIeAtBcAVfWyYgWTckBwGbjGIw6oXPTkOTtABB16WmvzId1RUl9QZMeABBtB4HlLLzxsNHVAWAnqY085um6/UIA/MYSNbo2ktqMvMui0RgOwB+7YcnHt5Yrn3Zjoh4AhHivA2IkZ6YRonomHj1/0uT9q/ZOOFulAD3Xbl6AxNKmKt+siwglz0Goy8/I7eu96gdAGwnHBgFr4E/Y2GYqqAqtu8Cmylbtll+ORvIbEThum7JggC2EzcYagm5Q9X1/gf0A/AJBqio7e18dBhH8PxCqf+fCkem46htg/fWWD+4eCKDtwhwN7p6w/lp+HvIHdcKuqg6u/elo8p4E4D8EB/eFiy46P/0C5gmePG6KKVsAAAAASUVORK5CYII=",mx="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACAlJREFUaEPtmWuIXVcVx3/7vt9zJ5NOZ5JGkxQDEZroF7WxYGILGoWmLxXamtG0RUhoLSiW4hdFPxRFSytJLVpNRqTE2qq1WqiFGbWhNiCSIClU1EZj0ySTedz3uY+zZN19bjL3zn1NckcNeODAuTPn7L3/6/Ff/7W34Qq/zBW+fv4P4L/tweV4wAf4vVuf9V7O992wCuB6dw3QW3/3vPpZQODYsWM7t2zZ8nzP0Qb4wvHjx2/eunXri0C127C9AMRFJDfAdS17KGNMAsh3+rAbgKSIZJY94wp8YIxJAdl2Q3cCEBIRZwXWcslDGmPCQLl1gHYAzNTU1O3bt29/pr/ZNP8AEXvXRzRg9KFXhPY3g741PT39iR07djyrMy3+qt0MfVrfW7DU4LVHkX8cAX8QXBfExdxxGEwAfIMjq3ZeaAcgJSIL3W2ji3ehVoGnd0E0idQX6l3672oV3+rNsOMr4At4/7g8jxhjhoCmvGw34qiInOkKQK3uVuEHNyGRmAVSydu/GR8SjEIwDr4wUnHw3/1zC8JcnjeMMVcDZ3uF0DUi8s/OAMQutJSFgzuRWhmK8+DkkIpStoFQBOJpiK9GIkkQg/9j34CRTeDTWnhpnjDGrANO9QLwThF5szMAF6pleOJGyJ1BnBw4WSiVEVeTNwCuQDiEJNOQHoX4MAQimFAM3ycnPW8sP8mNMeuBk70AbBCRv3UEoOFTKcHXNuG8WSJ/tAiOgxEX/5oUiW0pqDgWWNBAMoUMj2CSV0EkAbUa/omfQiC87JAyxmwE/n75AJwCPLyOuRdKmFoVqdYsc0ZjpH/5ErUn7wF9x5kHKSPJGKRXwdAohNOIBPC/93Z877vTS/D+QmqAAPJkP7gWd76AiGA8atan9KtvgJNBfvUY7okjUJxDakWI+pHEECRHkdgI4o+CUyP8hefA31+CDxbADeOQL9TLilaWug0FkkdPWw8XFqCUofrtT9cBUVygpgJTKTc5AhpS4RRSFqJf/CFEV/VM8IECKHx4DMkXl6RK/NVZ8IcstZZykD1L9bE9yPw8bka9UUaCYdxkGpMahdgqYtcFYWgDfORbXUNqoABKH28B4LkhOj0PoZiVFRXH5kL2LPLX1yh//xHcbAa3qLrMhxsbwqRGSNy4GkwIYmvh1ic7ghgoAOe2MShZD9QlkJeH4V8rAC1iPisrlHIrRdBF52YoPHQn5PLUchncSgXxx0nfscqGkOuDPS9bhrpQvS86eaAAKnePQbFog3+RvAo+2wCgBcvTS7WqpV4nD5mzOI8/ROXPr1M7N0voHWWi74lAZBj8Mdj2eXj/HqurWgreQAFU93gAWrIg8HQDgOqfBjKt3lo/HCgXIDMDc6dwf3wXPpm1C/VHLID0RnhgGgIhr2tdIQ/U7hkDpyWEfOCfXAxgkbpTMPWQcmw4PXU95DKQX4CqCkM/KLWuvx4+9zMrR+pt9woBcO8bQ4rFeuw37Gz84DvYBYCG0us/gT9+F7LnYe4MZLJQrIIEIZSCh/8Aw2sguOIAxqFQuLg3obkQMPiemvOSuCGhG9K7Cs/fYjc1ijk4/xbMKACt2KZeoQlH4ctHITa08iHk7rsWk80gbgWMYFS8hQP49r+1CIAX+8UZmLoXVOwVsjD7NszOQEaFoA9CwxBKwt5nYHgdRJTFlARWKoQ0EX/xVeTlw5bnTQ3iUcz6a+GBF0H7AdX+KrtfeRDyp6BagfwczJ2F+TnIFMGNQGgEQgn47CSk19QrdZ2B2vQOg2EhlQPlEuTOIY/stDrGJ+CvYO5/AYbGrfuVdV66FQhCOQ+587BwDhYyUNA9qwSE0rD9Qdh4AwyNQThuv613d83W11QeHABNxlIesqctGL1CYUiOWeufOQInHrdtZ3EBFtTqs5DNQSUEgTQEEnDXJMRHIJq2rKOWv9BDL1WogwOgpbdRnCq60yEQCFpvTH3KVlGly/yMtXpmAXJlkBgEh2F0M3z065BQeR23i9eYv7CT0V5eDwiAmlt3Hjx2UW7XcKkW4JUJ63pVnzlNUg0ZTVQtVEMQTMGuJyA1DonVEIp6smFxr9y5N+gXwHoRaep6lnZnLRU2dxp+fy/4DJTm6/nBwhyoWq1ELEUGE3DbjzwZnbA8r17rYfWWQrYBaGp328Ht0RMvHtK18uC5bVYKaLLmz0M+A44mqoZHGq7bDZt31ZuZulINhm241a/+e+N+e+K1ItLU+Xftj5VSD38AnDKU5mxxcwMQ0pBJwi2TENNE1d9q9QbLNGzXXzvpsdA1wL969cRXiUjT3ktHAMrzCuB3X4KTv4VCHqpirZxYAzc9Cqmr7W+N9z4SteNclkZHgXO9ACREpO1O8JLBGzsUGvN/OgAnf2OF2Ye+CUPrIK5toyaqWn3xflD/Vm/JgSTQtN3fbqTAoUOHPrN79+7vdbOG/Z+qyKqtxsr3yj56aXOi9HgJidppzsnJyfsmJiYOth54tN2dBnR78e3eABpUqjRatmCUVTRBL1h9eYnaaU5jzJi3rdhzd1rHUIp4l4ic6A3CO8rSetBYa9P2+qWFS0vovBv4S7vjpm6j64HCJhE53htEk1EWvT6QxW8B3gDaHrj0mkEb0/H9+/ffvHfv3u/0BjK4Nw4cOHD/vn379GBRN5oqHUOrjykVpLZHaUD35/V5acPax0A9XtEYVGGl6lDPJ+a9507uvRixy5hbwTSESy/vLWPY+qu60MZ5cddFN+XHcmf5X3t/0Fb8j+O74gH8G0lHhV4uXv6RAAAAAElFTkSuQmCC",Jd="https://nplayer.com/assets/img/logo_main.png",yu=[Ct({enabled:true,key:"p_builtin_iina",label:"IINA",icon:"https://iina.io/images/iina-icon-60.png",memo:"调用IINA播放视频(使用CloudDrive链接)",url:"iina://weblink?url={clouddrive_stream_url:encode}"}),Ct({enabled:true,key:"p_builtin_vlc",label:"VLC",icon:"https://images.videolan.org/images/favicon.ico",memo:"调用VLC播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/northsea4/vlc-protocol" target="_blank" rel="noreferer">安装VLC协议</a>',url:"vlc://{clouddrive_stream_url}"}),Ct({enabled:true,key:"p_builtin_mpv",label:"MPV",icon:"https://mpv.io/images/mpv-logo-128-0baae5aa.png",memo:"调用MPV播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/akiirui/mpv-handler/blob/main/README.zh-Hans.md" target="_blank" rel="noreferer">安装MPV协议</a>',url:"mpv://{clouddrive_stream_url}"}),Ct({enabled:true,key:"p_builtin_potplayer",label:"PotPlayer",icon:"https://t1.daumcdn.net/potplayer/main/img/favicon.ico",memo:"调用PotPlayer播放视频(使用CloudDrive链接)",url:"potplayer://{clouddrive_stream_url}"}),Ct({enabled:true,key:"p_builtin_infuse",label:"Infuse",icon:mx,memo:"调用Infuse播放视频(使用CloudDrive链接)",url:"infuse://x-callback-url/play?url={clouddrive_stream_url:encode}"}),Ct({enabled:false,key:"p_builtin_nplayer_mac",label:"nPlayer-mac",icon:Jd,memo:"调用nPlayer(mac版)播放视频(使用CloudDrive链接)",url:"nplayer-mac://weblink?url={clouddrive_stream_url:encode}&new_window=1"}),Ct({enabled:false,key:"p_builtin_nplayer_win",label:"nPlayer-win",icon:Jd,memo:"调用nPlayer(非mac版)播放视频(使用CloudDrive链接)",url:"nplayer-{clouddrive_stream_url:encode}"}),Ct({enabled:true,key:"p_builtin_online",label:"在线播放",icon:"https://115.com/favicon.ico",memo:"115官方在线播放(转码)",url:"https://115vod.com/?pickcode={pick_code}&share_id=0"}),Ct({enabled:false,key:"p_builtin_115plus",label:"115plus",icon:"https://115.com/favicon.ico",memo:'调用"115+"脚本进行播放(Command/Ctrl播放全部层级)',extraMemo:'<a href="https://greasyfork.org/zh-CN/scripts/495474" target="_blank" rel="noreferer">安装"115+"脚本</a>'})],bu=[Ct({enabled:true,key:"s_builtin_115_pure_name",label:"115-不含后缀",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀)",url:"{pure_name:search}"}),Ct({enabled:false,key:"s_builtin_115_full_name",label:"115-完整名称",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(完整名称)",url:"{full_name:search}"}),Ct({enabled:true,key:"s_builtin_115_sha",label:"115-sha1",icon:"https://115.com/favicon.ico",memo:"使用115搜索sha1相同的文件(仅适用于文件)",url:"{file_hash:search}"}),Ct({enabled:true,key:"s_builtin_google_pure_name",label:"Google-不含后缀",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(不含后缀)",url:"https://www.google.com/search?q={pure_name:encode}"}),Ct({enabled:false,key:"s_builtin_google_full_name",label:"Google-完整名称",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(完整名称)",url:"https://www.google.com/search?q={full_name:encode}"}),Ct({enabled:true,key:"s_builtin_bing_pure_name",label:"Bing-不含后缀",icon:Gd,memo:"使用Bing搜索文件名(不含后缀)",url:"https://cn.bing.com/search?q={pure_name:encode}"}),Ct({enabled:false,key:"s_builtin_bing_full_name",label:"Bing-完整名称",icon:Gd,memo:"使用Bing搜索文件名(完整名称)",url:"https://cn.bing.com/search?q={full_name:encode}"}),Ct({enabled:true,key:"s_builtin_115_pure_name_manual",label:"115-不含后缀-手动",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀),手动编辑后搜索",url:"{pure_name:manual:search}"})],gx="p_builtin_online",dr="s_builtin_115_pure_name";function $m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Tl,Yd;function wx(){return Yd||(Yd=1,Tl=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix;}get points(){return this._points}set points(t){this._points=t>=0?t:4;}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t;}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t;}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?false:!!t;}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t;}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t;}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}),Tl}var Ll,Qd;function yx(){return Qd||(Qd=1,Ll=class{constructor(t,n,o=null){this.value=t,this.expiresAt=n,this.timeoutId=o;}get value(){return this._value}set value(t){this._value=parseInt(t);}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t;}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t;}}),Ll}var Ml,Xd;function Fc(){return Xd||(Xd=1,Ml=class{constructor(t,n,o,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof n>"u"?0:n,this.consumedPoints=typeof o>"u"?0:o,this.isFirstInDuration=typeof i>"u"?false:i;}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t;}_getDecoratedProperties(){return {remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}),Ml}var Bl,Zd;function bx(){if(Zd)return Bl;Zd=1;const e=yx(),t=Fc();return Bl=class{constructor(){this._storage={};}incrby(o,i,s){if(this._storage[o]){const r=this._storage[o].expiresAt?this._storage[o].expiresAt.getTime()-new Date().getTime():-1;return !this._storage[o].expiresAt||r>0?(this._storage[o].value=this._storage[o].value+i,new t(0,r,this._storage[o].value,false)):this.set(o,i,s)}return this.set(o,i,s)}set(o,i,s){const r=s*1e3;return this._storage[o]&&this._storage[o].timeoutId&&clearTimeout(this._storage[o].timeoutId),this._storage[o]=new e(i,r>0?new Date(Date.now()+r):null),r>0&&(this._storage[o].timeoutId=setTimeout(()=>{delete this._storage[o];},r),this._storage[o].timeoutId.unref&&this._storage[o].timeoutId.unref()),new t(0,r===0?-1:r,this._storage[o].value,true)}get(o){if(this._storage[o]){const i=this._storage[o].expiresAt?this._storage[o].expiresAt.getTime()-new Date().getTime():-1;return new t(0,i,this._storage[o].value,false)}return null}delete(o){return this._storage[o]?(this._storage[o].timeoutId&&clearTimeout(this._storage[o].timeoutId),delete this._storage[o],true):false}},Bl}var Ol,ef;function vx(){if(ef)return Ol;ef=1;const e=wx(),t=bx(),n=Fc();class o extends e{constructor(s={}){super(s),this._memoryStorage=new t;}consume(s,r=1,a={}){return new Promise((l,c)=>{const u=this.getKey(s),f=this._getKeySecDuration(a);let p=this._memoryStorage.incrby(u,r,f);if(p.remainingPoints=Math.max(this.points-p.consumedPoints,0),p.consumedPoints>this.points)this.blockDuration>0&&p.consumedPoints<=this.points+r&&(p=this._memoryStorage.set(u,p.consumedPoints,this.blockDuration)),c(p);else if(this.execEvenly&&p.msBeforeNext>0&&!p.isFirstInDuration){let g=Math.ceil(p.msBeforeNext/(p.remainingPoints+2));g<this.execEvenlyMinDelayMs&&(g=p.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(l,g,p);}else l(p);})}penalty(s,r=1,a={}){const l=this.getKey(s);return new Promise(c=>{const u=this._getKeySecDuration(a),f=this._memoryStorage.incrby(l,r,u);f.remainingPoints=Math.max(this.points-f.consumedPoints,0),c(f);})}reward(s,r=1,a={}){const l=this.getKey(s);return new Promise(c=>{const u=this._getKeySecDuration(a),f=this._memoryStorage.incrby(l,-r,u);f.remainingPoints=Math.max(this.points-f.consumedPoints,0),c(f);})}block(s,r){const a=r*1e3,l=this.points+1;return this._memoryStorage.set(this.getKey(s),l,r),Promise.resolve(new n(0,a===0?-1:a,l))}set(s,r,a){const l=(a>=0?a:this.duration)*1e3;return this._memoryStorage.set(this.getKey(s),r,a),Promise.resolve(new n(0,l===0?-1:l,r))}get(s){const r=this._memoryStorage.get(this.getKey(s));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(s){return Promise.resolve(this._memoryStorage.delete(this.getKey(s)))}}return Ol=o,Ol}var Rl,tf;function xx(){if(tf)return Rl;tf=1;const e=vx(),t=Fc();return Rl={RateLimiterMemory:e,RateLimiterRes:t},Rl}var Fs=xx();/**
* @vue/shared v3.5.18
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**//*! #__NO_SIDE_EFFECTS__ */function Nc(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const it={},Fi=[],Qn=()=>{},_x=()=>false,Ga=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Uc=e=>e.startsWith("onUpdate:"),jt=Object.assign,jc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1);},Cx=Object.prototype.hasOwnProperty,Xe=(e,t)=>Cx.call(e,t),$e=Array.isArray,Ni=e=>fr(e)==="[object Map]",rs=e=>fr(e)==="[object Set]",nf=e=>fr(e)==="[object Date]",Me=e=>typeof e=="function",wt=e=>typeof e=="string",Nn=e=>typeof e=="symbol",st=e=>e!==null&&typeof e=="object",zc=e=>(st(e)||Me(e))&&Me(e.then)&&Me(e.catch),Em=Object.prototype.toString,fr=e=>Em.call(e),kx=e=>fr(e).slice(8,-1),Am=e=>fr(e)==="[object Object]",Hc=e=>wt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ks=Nc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ja=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Sx=/-(\w)/g,Pn=Ja(e=>e.replace(Sx,(t,n)=>n?n.toUpperCase():"")),$x=/\B([A-Z])/g,Ko=Ja(e=>e.replace($x,"-$1").toLowerCase()),Ya=Ja(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fl=Ja(e=>e?`on${Ya(e)}`:""),Ro=(e,t)=>!Object.is(e,t),Ur=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t);},vu=(e,t,n,o=false)=>{Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:o,value:n});},aa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ex=e=>{const t=wt(e)?Number(e):NaN;return isNaN(t)?e:t};let of;const Qa=()=>of||(of=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xn(e){if($e(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],i=wt(o)?Dx(o):Xn(o);if(i)for(const s in i)t[s]=i[s];}return t}else if(wt(e)||st(e))return e}const Ax=/;(?![^(]*\))/g,Px=/:([^]+)/,Ix=/\/\*[^]*?\*\//g;function Dx(e){const t={};return e.replace(Ix,"").split(Ax).forEach(n=>{if(n){const o=n.split(Px);o.length>1&&(t[o[0].trim()]=o[1].trim());}}),t}function De(e){let t="";if(wt(e))t=e;else if($e(e))for(let n=0;n<e.length;n++){const o=De(e[n]);o&&(t+=o+" ");}else if(st(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function Tx(e){if(!e)return null;let{class:t,style:n}=e;return t&&!wt(t)&&(e.class=De(t)),n&&(e.style=Xn(n)),e}const Lx="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Mx=Nc(Lx);function Pm(e){return !!e||e===""}function Bx(e,t){if(e.length!==t.length)return false;let n=true;for(let o=0;n&&o<e.length;o++)n=hi(e[o],t[o]);return n}function hi(e,t){if(e===t)return true;let n=nf(e),o=nf(t);if(n||o)return n&&o?e.getTime()===t.getTime():false;if(n=Nn(e),o=Nn(t),n||o)return e===t;if(n=$e(e),o=$e(t),n||o)return n&&o?Bx(e,t):false;if(n=st(e),o=st(t),n||o){if(!n||!o)return false;const i=Object.keys(e).length,s=Object.keys(t).length;if(i!==s)return false;for(const r in e){const a=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(a&&!l||!a&&l||!hi(e[r],t[r]))return false}}return String(e)===String(t)}function Vc(e,t){return e.findIndex(n=>hi(n,t))}const Im=e=>!!(e&&e.__v_isRef===true),U=e=>wt(e)?e:e==null?"":$e(e)||st(e)&&(e.toString===Em||!Me(e.toString))?Im(e)?U(e.value):JSON.stringify(e,Dm,2):String(e),Dm=(e,t)=>Im(t)?Dm(e,t.value):Ni(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,i],s)=>(n[Nl(o,s)+" =>"]=i,n),{})}:rs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Nl(n))}:Nn(t)?Nl(t):st(t)&&!$e(t)&&!Am(t)?String(t):t,Nl=(e,t="")=>{var n;return Nn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
* @vue/reactivity v3.5.18
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let nn;class Ox{constructor(t=false){this.detached=t,this._active=true,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=false,this.parent=nn,!t&&nn&&(this.index=(nn.scopes||(nn.scopes=[])).push(this)-1);}get active(){return this._active}pause(){if(this._active){this._isPaused=true;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause();}}resume(){if(this._active&&this._isPaused){this._isPaused=false;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume();}}run(t){if(this._active){const n=nn;try{return nn=this,t()}finally{nn=n;}}}on(){++this._on===1&&(this.prevScope=nn,nn=this);}off(){this._on>0&&--this._on===0&&(nn=this.prevScope,this.prevScope=void 0);}stop(t){if(this._active){this._active=false;let n,o;for(n=0,o=this.effects.length;n<o;n++)this.effects[n].stop();for(this.effects.length=0,n=0,o=this.cleanups.length;n<o;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,o=this.scopes.length;n<o;n++)this.scopes[n].stop(true);this.scopes.length=0;}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index);}this.parent=void 0;}}}function Rx(){return nn}let at;const Ul=new WeakSet;class Tm{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,nn&&nn.active&&nn.effects.push(this);}pause(){this.flags|=64;}resume(){this.flags&64&&(this.flags&=-65,Ul.has(this)&&(Ul.delete(this),this.trigger()));}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Mm(this);}run(){if(!(this.flags&1))return this.fn();this.flags|=2,sf(this),Bm(this);const t=at,n=On;at=this,On=true;try{return this.fn()}finally{Om(this),at=t,On=n,this.flags&=-3;}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Kc(t);this.deps=this.depsTail=void 0,sf(this),this.onStop&&this.onStop(),this.flags&=-2;}}trigger(){this.flags&64?Ul.add(this):this.scheduler?this.scheduler():this.runIfDirty();}runIfDirty(){xu(this)&&this.run();}get dirty(){return xu(this)}}let Lm=0,Ss,$s;function Mm(e,t=false){if(e.flags|=8,t){e.next=$s,$s=e;return}e.next=Ss,Ss=e;}function qc(){Lm++;}function Wc(){if(--Lm>0)return;if($s){let t=$s;for($s=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n;}}let e;for(;Ss;){let t=Ss;for(Ss=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger();}catch(o){e||(e=o);}t=n;}}if(e)throw e}function Bm(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t;}function Om(e){let t,n=e.depsTail,o=n;for(;o;){const i=o.prevDep;o.version===-1?(o===n&&(n=i),Kc(o),Fx(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=i;}e.deps=t,e.depsTail=n;}function xu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Rm(t.dep.computed)||t.dep.version!==t.version))return true;return !!e._dirty}function Rm(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ns)||(e.globalVersion=Ns,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!xu(e))))return;e.flags|=2;const t=e.dep,n=at,o=On;at=e,On=true;try{Bm(e);const i=e.fn(e._value);(t.version===0||Ro(i,e._value))&&(e.flags|=128,e._value=i,t.version++);}catch(i){throw t.version++,i}finally{at=n,On=o,Om(e),e.flags&=-3;}}function Kc(e,t=false){const{dep:n,prevSub:o,nextSub:i}=e;if(o&&(o.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Kc(s,true);}!t&&!--n.sc&&n.map&&n.map.delete(n.key);}function Fx(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0);}let On=true;const Fm=[];function xo(){Fm.push(On),On=false;}function _o(){const e=Fm.pop();On=e===void 0?true:e;}function sf(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=at;at=void 0;try{t();}finally{at=n;}}}let Ns=0;class Nx{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0;}}class Gc{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=true;}track(t){if(!at||!On||at===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==at)n=this.activeLink=new Nx(at,this),at.deps?(n.prevDep=at.depsTail,at.depsTail.nextDep=n,at.depsTail=n):at.deps=at.depsTail=n,Nm(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=at.depsTail,n.nextDep=void 0,at.depsTail.nextDep=n,at.depsTail=n,at.deps===n&&(at.deps=o);}return n}trigger(t){this.version++,Ns++,this.notify(t);}notify(t){qc();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify();}finally{Wc();}}}function Nm(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)Nm(o);}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e;}}const la=new WeakMap,ai=Symbol(""),_u=Symbol(""),Us=Symbol("");function Ot(e,t,n){if(On&&at){let o=la.get(e);o||la.set(e,o=new Map);let i=o.get(n);i||(o.set(n,i=new Gc),i.map=o,i.key=n),i.track();}}function ho(e,t,n,o,i,s){const r=la.get(e);if(!r){Ns++;return}const a=l=>{l&&l.trigger();};if(qc(),t==="clear")r.forEach(a);else {const l=$e(e),c=l&&Hc(n);if(l&&n==="length"){const u=Number(o);r.forEach((f,p)=>{(p==="length"||p===Us||!Nn(p)&&p>=u)&&a(f);});}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),c&&a(r.get(Us)),t){case "add":l?c&&a(r.get("length")):(a(r.get(ai)),Ni(e)&&a(r.get(_u)));break;case "delete":l||(a(r.get(ai)),Ni(e)&&a(r.get(_u)));break;case "set":Ni(e)&&a(r.get(ai));break}}Wc();}function Ux(e,t){const n=la.get(e);return n&&n.get(t)}function Ii(e){const t=Je(e);return t===e?t:(Ot(t,"iterate",Us),$n(e)?t:t.map(Tt))}function Xa(e){return Ot(e=Je(e),"iterate",Us),e}const jx={__proto__:null,[Symbol.iterator](){return jl(this,Symbol.iterator,Tt)},concat(...e){return Ii(this).concat(...e.map(t=>$e(t)?Ii(t):t))},entries(){return jl(this,"entries",e=>(e[1]=Tt(e[1]),e))},every(e,t){return fo(this,"every",e,t,void 0,arguments)},filter(e,t){return fo(this,"filter",e,t,n=>n.map(Tt),arguments)},find(e,t){return fo(this,"find",e,t,Tt,arguments)},findIndex(e,t){return fo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return fo(this,"findLast",e,t,Tt,arguments)},findLastIndex(e,t){return fo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return fo(this,"forEach",e,t,void 0,arguments)},includes(...e){return zl(this,"includes",e)},indexOf(...e){return zl(this,"indexOf",e)},join(e){return Ii(this).join(e)},lastIndexOf(...e){return zl(this,"lastIndexOf",e)},map(e,t){return fo(this,"map",e,t,void 0,arguments)},pop(){return ms(this,"pop")},push(...e){return ms(this,"push",e)},reduce(e,...t){return rf(this,"reduce",e,t)},reduceRight(e,...t){return rf(this,"reduceRight",e,t)},shift(){return ms(this,"shift")},some(e,t){return fo(this,"some",e,t,void 0,arguments)},splice(...e){return ms(this,"splice",e)},toReversed(){return Ii(this).toReversed()},toSorted(e){return Ii(this).toSorted(e)},toSpliced(...e){return Ii(this).toSpliced(...e)},unshift(...e){return ms(this,"unshift",e)},values(){return jl(this,"values",Tt)}};function jl(e,t,n){const o=Xa(e),i=o[t]();return o!==e&&!$n(e)&&(i._next=i.next,i.next=()=>{const s=i._next();return s.value&&(s.value=n(s.value)),s}),i}const zx=Array.prototype;function fo(e,t,n,o,i,s){const r=Xa(e),a=r!==e&&!$n(e),l=r[t];if(l!==zx[t]){const f=l.apply(e,s);return a?Tt(f):f}let c=n;r!==e&&(a?c=function(f,p){return n.call(this,Tt(f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const u=l.call(r,c,o);return a&&i?i(u):u}function rf(e,t,n,o){const i=Xa(e);let s=n;return i!==e&&($n(e)?n.length>3&&(s=function(r,a,l){return n.call(this,r,a,l,e)}):s=function(r,a,l){return n.call(this,r,Tt(a),l,e)}),i[t](s,...o)}function zl(e,t,n){const o=Je(e);Ot(o,"iterate",Us);const i=o[t](...n);return (i===-1||i===false)&&Qc(n[0])?(n[0]=Je(n[0]),o[t](...n)):i}function ms(e,t,n=[]){xo(),qc();const o=Je(e)[t].apply(e,n);return Wc(),_o(),o}const Hx=Nc("__proto__,__v_isRef,__isVue"),Um=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nn));function Vx(e){Nn(e)||(e=String(e));const t=Je(this);return Ot(t,"has",e),t.hasOwnProperty(e)}class jm{constructor(t=false,n=false){this._isReadonly=t,this._isShallow=n;}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return !i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(i?s?e_:qm:s?Vm:Hm).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=$e(t);if(!i){let l;if(r&&(l=jx[n]))return l;if(n==="hasOwnProperty")return Vx}const a=Reflect.get(t,n,Pt(t)?t:o);return (Nn(n)?Um.has(n):Hx(n))||(i||Ot(t,"get",n),s)?a:Pt(a)?r&&Hc(n)?a:a.value:st(a)?i?Wm(a):Za(a):a}}class zm extends jm{constructor(t=false){super(false,t);}set(t,n,o,i){let s=t[n];if(!this._isShallow){const l=Ho(s);if(!$n(o)&&!Ho(o)&&(s=Je(s),o=Je(o)),!$e(t)&&Pt(s)&&!Pt(o))return l?false:(s.value=o,true)}const r=$e(t)&&Hc(n)?Number(n)<t.length:Xe(t,n),a=Reflect.set(t,n,o,Pt(t)?t:i);return t===Je(i)&&(r?Ro(o,s)&&ho(t,"set",n,o):ho(t,"add",n,o)),a}deleteProperty(t,n){const o=Xe(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&o&&ho(t,"delete",n,void 0),i}has(t,n){const o=Reflect.has(t,n);return (!Nn(n)||!Um.has(n))&&Ot(t,"has",n),o}ownKeys(t){return Ot(t,"iterate",$e(t)?"length":ai),Reflect.ownKeys(t)}}class qx extends jm{constructor(t=false){super(true,t);}set(t,n){return true}deleteProperty(t,n){return true}}const Wx=new zm,Kx=new qx,Gx=new zm(true);const Cu=e=>e,Er=e=>Reflect.getPrototypeOf(e);function Jx(e,t,n){return function(...o){const i=this.__v_raw,s=Je(i),r=Ni(s),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...o),u=n?Cu:t?ua:Tt;return !t&&Ot(s,"iterate",l?_u:ai),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:a?[u(f[0]),u(f[1])]:u(f),done:p}},[Symbol.iterator](){return this}}}}function Ar(e){return function(...t){return e==="delete"?false:e==="clear"?void 0:this}}function Yx(e,t){const n={get(i){const s=this.__v_raw,r=Je(s),a=Je(i);e||(Ro(i,a)&&Ot(r,"get",i),Ot(r,"get",a));const{has:l}=Er(r),c=t?Cu:e?ua:Tt;if(l.call(r,i))return c(s.get(i));if(l.call(r,a))return c(s.get(a));s!==r&&s.get(i);},get size(){const i=this.__v_raw;return !e&&Ot(Je(i),"iterate",ai),Reflect.get(i,"size",i)},has(i){const s=this.__v_raw,r=Je(s),a=Je(i);return e||(Ro(i,a)&&Ot(r,"has",i),Ot(r,"has",a)),i===a?s.has(i):s.has(i)||s.has(a)},forEach(i,s){const r=this,a=r.__v_raw,l=Je(a),c=t?Cu:e?ua:Tt;return !e&&Ot(l,"iterate",ai),a.forEach((u,f)=>i.call(s,c(u),c(f),r))}};return jt(n,e?{add:Ar("add"),set:Ar("set"),delete:Ar("delete"),clear:Ar("clear")}:{add(i){!t&&!$n(i)&&!Ho(i)&&(i=Je(i));const s=Je(this);return Er(s).has.call(s,i)||(s.add(i),ho(s,"add",i,i)),this},set(i,s){!t&&!$n(s)&&!Ho(s)&&(s=Je(s));const r=Je(this),{has:a,get:l}=Er(r);let c=a.call(r,i);c||(i=Je(i),c=a.call(r,i));const u=l.call(r,i);return r.set(i,s),c?Ro(s,u)&&ho(r,"set",i,s):ho(r,"add",i,s),this},delete(i){const s=Je(this),{has:r,get:a}=Er(s);let l=r.call(s,i);l||(i=Je(i),l=r.call(s,i)),a&&a.call(s,i);const c=s.delete(i);return l&&ho(s,"delete",i,void 0),c},clear(){const i=Je(this),s=i.size!==0,r=i.clear();return s&&ho(i,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=Jx(i,e,t);}),n}function Jc(e,t){const n=Yx(e,t);return (o,i,s)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?o:Reflect.get(Xe(n,i)&&i in o?n:o,i,s)}const Qx={get:Jc(false,false)},Xx={get:Jc(false,true)},Zx={get:Jc(true,false)};const Hm=new WeakMap,Vm=new WeakMap,qm=new WeakMap,e_=new WeakMap;function t_(e){switch(e){case "Object":case "Array":return 1;case "Map":case "Set":case "WeakMap":case "WeakSet":return 2;default:return 0}}function n_(e){return e.__v_skip||!Object.isExtensible(e)?0:t_(kx(e))}function Za(e){return Ho(e)?e:Yc(e,false,Wx,Qx,Hm)}function o_(e){return Yc(e,false,Gx,Xx,Vm)}function Wm(e){return Yc(e,true,Kx,Zx,qm)}function Yc(e,t,n,o,i){if(!st(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=n_(e);if(s===0)return e;const r=i.get(e);if(r)return r;const a=new Proxy(e,s===2?o:n);return i.set(e,a),a}function Ui(e){return Ho(e)?Ui(e.__v_raw):!!(e&&e.__v_isReactive)}function Ho(e){return !!(e&&e.__v_isReadonly)}function $n(e){return !!(e&&e.__v_isShallow)}function Qc(e){return e?!!e.__v_raw:false}function Je(e){const t=e&&e.__v_raw;return t?Je(t):e}function i_(e){return !Xe(e,"__v_skip")&&Object.isExtensible(e)&&vu(e,"__v_skip",true),e}const Tt=e=>st(e)?Za(e):e,ua=e=>st(e)?Wm(e):e;function Pt(e){return e?e.__v_isRef===true:false}function K(e){return s_(e,false)}function s_(e,t){return Pt(e)?e:new r_(e,t)}class r_{constructor(t,n){this.dep=new Gc,this.__v_isRef=true,this.__v_isShallow=false,this._rawValue=n?t:Je(t),this._value=n?t:Tt(t),this.__v_isShallow=n;}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||$n(t)||Ho(t);t=o?t:Je(t),Ro(t,n)&&(this._rawValue=t,this._value=o?t:Tt(t),this.dep.trigger());}}function te(e){return Pt(e)?e.value:e}const a_={get:(e,t,n)=>t==="__v_raw"?e:te(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const i=e[t];return Pt(i)&&!Pt(n)?(i.value=n,true):Reflect.set(e,t,n,o)}};function Km(e){return Ui(e)?e:new Proxy(e,a_)}function l_(e){const t=$e(e)?new Array(e.length):{};for(const n in e)t[n]=Gm(e,n);return t}class u_{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=true,this._value=void 0;}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t;}get dep(){return Ux(Je(this._object),this._key)}}class c_{constructor(t){this._getter=t,this.__v_isRef=true,this.__v_isReadonly=true,this._value=void 0;}get value(){return this._value=this._getter()}}function d_(e,t,n){return Pt(e)?e:Me(e)?new c_(e):st(e)&&arguments.length>1?Gm(e,t,n):K(e)}function Gm(e,t,n){const o=e[t];return Pt(o)?o:new u_(e,t,n)}class f_{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Gc(this),this.__v_isRef=true,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ns-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o;}notify(){if(this.flags|=16,!(this.flags&8)&&at!==this)return Mm(this,true),true}get value(){const t=this.dep.track();return Rm(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t);}}function p_(e,t,n=false){let o,i;return Me(e)?o=e:(o=e.get,i=e.set),new f_(o,i,n)}const Pr={},ca=new WeakMap;let ei;function h_(e,t=false,n=ei){if(n){let o=ca.get(n);o||ca.set(n,o=[]),o.push(e);}}function m_(e,t,n=it){const{immediate:o,deep:i,once:s,scheduler:r,augmentJob:a,call:l}=n,c=D=>i?D:$n(D)||i===false||i===0?mo(D,1):mo(D);let u,f,p,g,m=false,y=false;if(Pt(e)?(f=()=>e.value,m=$n(e)):Ui(e)?(f=()=>c(e),m=true):$e(e)?(y=true,m=e.some(D=>Ui(D)||$n(D)),f=()=>e.map(D=>{if(Pt(D))return D.value;if(Ui(D))return c(D);if(Me(D))return l?l(D,2):D()})):Me(e)?t?f=l?()=>l(e,2):e:f=()=>{if(p){xo();try{p();}finally{_o();}}const D=ei;ei=u;try{return l?l(e,3,[g]):e(g)}finally{ei=D;}}:f=Qn,t&&i){const D=f,B=i===true?1/0:i;f=()=>mo(D(),B);}const x=Rx(),k=()=>{u.stop(),x&&x.active&&jc(x.effects,u);};if(s&&t){const D=t;t=(...B)=>{D(...B),k();};}let I=y?new Array(e.length).fill(Pr):Pr;const E=D=>{if(!(!(u.flags&1)||!u.dirty&&!D))if(t){const B=u.run();if(i||m||(y?B.some((H,j)=>Ro(H,I[j])):Ro(B,I))){p&&p();const H=ei;ei=u;try{const j=[B,I===Pr?void 0:y&&I[0]===Pr?[]:I,g];I=B,l?l(t,3,j):t(...j);}finally{ei=H;}}}else u.run();};return a&&a(E),u=new Tm(f),u.scheduler=r?()=>r(E,false):E,g=D=>h_(D,false,u),p=u.onStop=()=>{const D=ca.get(u);if(D){if(l)l(D,4);else for(const B of D)B();ca.delete(u);}},t?o?E(true):I=u.run():r?r(E.bind(null,true),true):u.run(),k.pause=u.pause.bind(u),k.resume=u.resume.bind(u),k.stop=k,k}function mo(e,t=1/0,n){if(t<=0||!st(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Pt(e))mo(e.value,t,n);else if($e(e))for(let o=0;o<e.length;o++)mo(e[o],t,n);else if(rs(e)||Ni(e))e.forEach(o=>{mo(o,t,n);});else if(Am(e)){for(const o in e)mo(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&mo(e[o],t,n);}return e}/**
* @vue/runtime-core v3.5.18
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function pr(e,t,n,o){try{return o?e(...o):e()}catch(i){hr(i,t,n);}}function so(e,t,n,o){if(Me(e)){const i=pr(e,t,n,o);return i&&zc(i)&&i.catch(s=>{hr(s,t,n);}),i}if($e(e)){const i=[];for(let s=0;s<e.length;s++)i.push(so(e[s],t,n,o));return i}}function hr(e,t,n,o=true){const i=t?t.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||it;if(t){let a=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const u=a.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,l,c)===false)return}a=a.parent;}if(s){xo(),pr(s,null,10,[e,l,c]),_o();return}}g_(e,n,i,o,r);}function g_(e,t,n,o=true,i=false){if(i)throw e;console.error(e);}const Wt=[];let Wn=-1;const ji=[];let Po=null,Li=0;const Jm=Promise.resolve();let da=null;function mi(e){const t=da||Jm;return e?t.then(this?e.bind(this):e):t}function w_(e){let t=Wn+1,n=Wt.length;for(;t<n;){const o=t+n>>>1,i=Wt[o],s=js(i);s<e||s===e&&i.flags&2?t=o+1:n=o;}return t}function Xc(e){if(!(e.flags&1)){const t=js(e),n=Wt[Wt.length-1];!n||!(e.flags&2)&&t>=js(n)?Wt.push(e):Wt.splice(w_(t),0,e),e.flags|=1,Ym();}}function Ym(){da||(da=Jm.then(Xm));}function ku(e){$e(e)?ji.push(...e):Po&&e.id===-1?Po.splice(Li+1,0,e):e.flags&1||(ji.push(e),e.flags|=1),Ym();}function af(e,t,n=Wn+1){for(;n<Wt.length;n++){const o=Wt[n];if(o&&o.flags&2){if(e&&o.id!==e.uid)continue;Wt.splice(n,1),n--,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2);}}}function Qm(e){if(ji.length){const t=[...new Set(ji)].sort((n,o)=>js(n)-js(o));if(ji.length=0,Po){Po.push(...t);return}for(Po=t,Li=0;Li<Po.length;Li++){const n=Po[Li];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2;}Po=null,Li=0;}}const js=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Xm(e){try{for(Wn=0;Wn<Wt.length;Wn++){const t=Wt[Wn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),pr(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2));}}finally{for(;Wn<Wt.length;Wn++){const t=Wt[Wn];t&&(t.flags&=-2);}Wn=-1,Wt.length=0,Qm(),da=null,(Wt.length||ji.length)&&Xm();}}let Lt=null,el=null;function fa(e){const t=Lt;return Lt=e,el=e&&e.type.__scopeId||null,t}function y_(e){el=e;}function b_(){el=null;}const v_=e=>me;function me(e,t=Lt,n){if(!t||e._n)return e;const o=(...i)=>{o._d&&yf(-1);const s=fa(t);let r;try{r=e(...i);}finally{fa(s),o._d&&yf(1);}return r};return o._n=true,o._c=true,o._d=true,o}function J(e,t){if(Lt===null)return e;const n=il(Lt),o=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[s,r,a,l=it]=t[i];s&&(Me(s)&&(s={mounted:s,updated:s}),s.deep&&mo(r),o.push({dir:s,instance:n,value:r,oldValue:void 0,arg:a,modifiers:l}));}return e}function Qo(e,t,n,o){const i=e.dirs,s=t&&t.dirs;for(let r=0;r<i.length;r++){const a=i[r];s&&(a.oldValue=s[r].value);let l=a.dir[o];l&&(xo(),so(l,n,8,[e.el,a,e,t]),_o());}}const x_=Symbol("_vte"),__=e=>e.__isTeleport;function Zc(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Zc(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t;}/*! #__NO_SIDE_EFFECTS__ */function xe(e,t){return Me(e)?jt({name:e.name},t,{setup:e}):e}function Zm(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0];}function Es(e,t,n,o,i=false){if($e(e)){e.forEach((m,y)=>Es(m,t&&($e(t)?t[y]:t),n,o,i));return}if(zi(o)&&!i){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Es(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?il(o.component):o.el,r=i?null:s,{i:a,r:l}=e,c=t&&t.r,u=a.refs===it?a.refs={}:a.refs,f=a.setupState,p=Je(f),g=f===it?()=>false:m=>Xe(p,m);if(c!=null&&c!==l&&(wt(c)?(u[c]=null,g(c)&&(f[c]=null)):Pt(c)&&(c.value=null)),Me(l))pr(l,a,12,[r,u]);else {const m=wt(l),y=Pt(l);if(m||y){const x=()=>{if(e.f){const k=m?g(l)?f[l]:u[l]:l.value;i?$e(k)&&jc(k,s):$e(k)?k.includes(s)||k.push(s):m?(u[l]=[s],g(l)&&(f[l]=u[l])):(l.value=[s],e.k&&(u[e.k]=l.value));}else m?(u[l]=r,g(l)&&(f[l]=r)):y&&(l.value=r,e.k&&(u[e.k]=r));};r?(x.id=-1,pn(x,n)):x();}}}Qa().requestIdleCallback;Qa().cancelIdleCallback;const zi=e=>!!e.type.__asyncLoader,eg=e=>e.type.__isKeepAlive;function C_(e,t){tg(e,"a",t);}function k_(e,t){tg(e,"da",t);}function tg(e,t,n=Rt){const o=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent;}return e()});if(tl(t,o,n),n){let i=n.parent;for(;i&&i.parent;)eg(i.parent.vnode)&&S_(o,t,n,i),i=i.parent;}}function S_(e,t,n,o){const i=tl(t,e,o,true);Si(()=>{jc(o[t],i);},n);}function tl(e,t,n=Rt,o=false){if(n){const i=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{xo();const a=gi(n),l=so(t,n,e,r);return a(),_o(),l});return o?i.unshift(s):i.push(s),s}}const $o=e=>(t,n=Rt)=>{(!Hs||e==="sp")&&tl(e,(...o)=>t(...o),n);},St=$o("bm"),Ht=$o("m"),$_=$o("bu"),E_=$o("u"),ng=$o("bum"),Si=$o("um"),A_=$o("sp"),P_=$o("rtg"),I_=$o("rtc");function D_(e,t=Rt){tl("ec",e,t);}const ed="components",T_="directives";function Co(e,t){return td(ed,e,true,t)||e}const og=Symbol.for("v-ndc");function In(e){return wt(e)?td(ed,e,false)||e:e||og}function L_(e){return td(T_,e)}function td(e,t,n=true,o=false){const i=Lt||Rt;if(i){const s=i.type;if(e===ed){const a=CC(s,false);if(a&&(a===t||a===Pn(t)||a===Ya(Pn(t))))return s}const r=lf(i[e]||s[e],t)||lf(i.appContext[e],t);return !r&&o?s:r}}function lf(e,t){return e&&(e[t]||e[Pn(t)]||e[Ya(Pn(t))])}function Ue(e,t,n,o){let i;const s=n,r=$e(e);if(r||wt(e)){const a=r&&Ui(e);let l=false,c=false;a&&(l=!$n(e),c=Ho(e),e=Xa(e)),i=new Array(e.length);for(let u=0,f=e.length;u<f;u++)i[u]=t(l?c?ua(Tt(e[u])):Tt(e[u]):e[u],u,void 0,s);}else if(typeof e=="number"){i=new Array(e);for(let a=0;a<e;a++)i[a]=t(a+1,a,void 0,s);}else if(st(e))if(e[Symbol.iterator])i=Array.from(e,(a,l)=>t(a,l,void 0,s));else {const a=Object.keys(e);i=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];i[l]=t(e[u],u,l,s);}}else i=[];return i}function M_(e,t){for(let n=0;n<t.length;n++){const o=t[n];if($e(o))for(let i=0;i<o.length;i++)e[o[i].name]=o[i].fn;else o&&(e[o.name]=o.key?(...i)=>{const s=o.fn(...i);return s&&(s.key=o.key),s}:o.fn);}return e}function Ke(e,t,n={},o,i){if(Lt.ce||Lt.parent&&zi(Lt.parent)&&Lt.parent.ce)return t!=="default"&&(n.name=t),_(),nt(Se,null,[re("slot",n,o&&o())],64);let s=e[t];s&&s._c&&(s._d=false),_();const r=s&&ig(s(n)),a=n.key||r&&r.key,l=nt(Se,{key:(a&&!Nn(a)?a:`_${t}`)+(!r&&o?"_fb":"")},r||(o?o():[]),r&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=true),l}function ig(e){return e.some(t=>Qi(t)?!(t.type===Un||t.type===Se&&!ig(t.children)):true)?e:null}const Su=e=>e?Ig(e)?il(e):Su(e.parent):null,As=jt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Su(e.parent),$root:e=>Su(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>rg(e),$forceUpdate:e=>e.f||(e.f=()=>{Xc(e.update);}),$nextTick:e=>e.n||(e.n=mi.bind(e.proxy)),$watch:e=>tC.bind(e)}),Hl=(e,t)=>e!==it&&!e.__isScriptSetup&&Xe(e,t),B_={get({_:e},t){if(t==="__v_skip")return true;const{ctx:n,setupState:o,data:i,props:s,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return o[t];case 2:return i[t];case 4:return n[t];case 3:return s[t]}else {if(Hl(o,t))return r[t]=1,o[t];if(i!==it&&Xe(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Xe(c,t))return r[t]=3,s[t];if(n!==it&&Xe(n,t))return r[t]=4,n[t];$u&&(r[t]=0);}}const u=As[t];let f,p;if(u)return t==="$attrs"&&Ot(e.attrs,"get",""),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==it&&Xe(n,t))return r[t]=4,n[t];if(p=l.config.globalProperties,Xe(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:i,ctx:s}=e;return Hl(i,t)?(i[t]=n,true):o!==it&&Xe(o,t)?(o[t]=n,true):Xe(e.props,t)||t[0]==="$"&&t.slice(1)in e?false:(s[t]=n,true)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:i,propsOptions:s}},r){let a;return !!n[r]||e!==it&&Xe(e,r)||Hl(t,r)||(a=s[0])&&Xe(a,r)||Xe(o,r)||Xe(As,r)||Xe(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Xe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function uf(e){return $e(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Mt(e){const t=Pg();let n=e();return Du(),zc(n)&&(n=n.catch(o=>{throw gi(t),o})),[n,()=>gi(t)]}let $u=true;function O_(e){const t=rg(e),n=e.proxy,o=e.ctx;$u=false,t.beforeCreate&&cf(t.beforeCreate,e,"bc");const{data:i,computed:s,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:g,updated:m,activated:y,deactivated:x,beforeDestroy:k,beforeUnmount:I,destroyed:E,unmounted:D,render:B,renderTracked:H,renderTriggered:j,errorCaptured:ae,serverPrefetch:fe,expose:se,inheritAttrs:O,components:R,directives:G,filters:ce}=t;if(c&&R_(c,o,null),r)for(const _e in r){const ke=r[_e];Me(ke)&&(o[_e]=ke.bind(n));}if(i){const _e=i.call(n,n);st(_e)&&(e.data=Za(_e));}if($u=true,s)for(const _e in s){const ke=s[_e],Fe=Me(ke)?ke.bind(n,n):Me(ke.get)?ke.get.bind(n,n):Qn,dt=!Me(ke)&&Me(ke.set)?ke.set.bind(n):Qn,ge=We({get:Fe,set:dt});Object.defineProperty(o,_e,{enumerable:true,configurable:true,get:()=>ge.value,set:M=>ge.value=M});}if(a)for(const _e in a)sg(a[_e],o,n,_e);if(l){const _e=Me(l)?l.call(n):l;Reflect.ownKeys(_e).forEach(ke=>{_s(ke,_e[ke]);});}u&&cf(u,e,"c");function Ce(_e,ke){$e(ke)?ke.forEach(Fe=>_e(Fe.bind(n))):ke&&_e(ke.bind(n));}if(Ce(St,f),Ce(Ht,p),Ce($_,g),Ce(E_,m),Ce(C_,y),Ce(k_,x),Ce(D_,ae),Ce(I_,H),Ce(P_,j),Ce(ng,I),Ce(Si,D),Ce(A_,fe),$e(se))if(se.length){const _e=e.exposed||(e.exposed={});se.forEach(ke=>{Object.defineProperty(_e,ke,{get:()=>n[ke],set:Fe=>n[ke]=Fe,enumerable:true});});}else e.exposed||(e.exposed={});B&&e.render===Qn&&(e.render=B),O!=null&&(e.inheritAttrs=O),R&&(e.components=R),G&&(e.directives=G),fe&&Zm(e);}function R_(e,t,n=Qn){$e(e)&&(e=Eu(e));for(const o in e){const i=e[o];let s;st(i)?"default"in i?s=Ps(i.from||o,i.default,true):s=Ps(i.from||o):s=Ps(i),Pt(s)?Object.defineProperty(t,o,{enumerable:true,configurable:true,get:()=>s.value,set:r=>s.value=r}):t[o]=s;}}function cf(e,t,n){so($e(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n);}function sg(e,t,n,o){let i=o.includes(".")?bg(n,o):()=>n[o];if(wt(e)){const s=t[e];Me(s)&&ze(i,s);}else if(Me(e))ze(i,e.bind(n));else if(st(e))if($e(e))e.forEach(s=>sg(s,t,n,o));else {const s=Me(e.handler)?e.handler.bind(n):t[e.handler];Me(s)&&ze(i,s,e);}}function rg(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:i,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,a=s.get(t);let l;return a?l=a:!i.length&&!n&&!o?l=t:(l={},i.length&&i.forEach(c=>pa(l,c,r,true)),pa(l,t,r)),st(t)&&s.set(t,l),l}function pa(e,t,n,o=false){const{mixins:i,extends:s}=t;s&&pa(e,s,n,true),i&&i.forEach(r=>pa(e,r,n,true));for(const r in t)if(!(o&&r==="expose")){const a=F_[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r];}return e}const F_={data:df,props:ff,emits:ff,methods:xs,computed:xs,beforeCreate:qt,created:qt,beforeMount:qt,mounted:qt,beforeUpdate:qt,updated:qt,beforeDestroy:qt,beforeUnmount:qt,destroyed:qt,unmounted:qt,activated:qt,deactivated:qt,errorCaptured:qt,serverPrefetch:qt,components:xs,directives:xs,watch:U_,provide:df,inject:N_};function df(e,t){return t?e?function(){return jt(Me(e)?e.call(this,this):e,Me(t)?t.call(this,this):t)}:t:e}function N_(e,t){return xs(Eu(e),Eu(t))}function Eu(e){if($e(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function qt(e,t){return e?[...new Set([].concat(e,t))]:t}function xs(e,t){return e?jt(Object.create(null),e,t):t}function ff(e,t){return e?$e(e)&&$e(t)?[...new Set([...e,...t])]:jt(Object.create(null),uf(e),uf(t??{})):t}function U_(e,t){if(!e)return t;if(!t)return e;const n=jt(Object.create(null),e);for(const o in t)n[o]=qt(e[o],t[o]);return n}function ag(){return {app:null,config:{isNativeTag:_x,performance:false,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let j_=0;function z_(e,t){return function(o,i=null){Me(o)||(o=jt({},o)),i!=null&&!st(i)&&(i=null);const s=ag(),r=new WeakSet,a=[];let l=false;const c=s.app={_uid:j_++,_component:o,_props:i,_container:null,_context:s,_instance:null,version:$C,get config(){return s.config},set config(u){},use(u,...f){return r.has(u)||(u&&Me(u.install)?(r.add(u),u.install(c,...f)):Me(u)&&(r.add(u),u(c,...f))),c},mixin(u){return s.mixins.includes(u)||s.mixins.push(u),c},component(u,f){return f?(s.components[u]=f,c):s.components[u]},directive(u,f){return f?(s.directives[u]=f,c):s.directives[u]},mount(u,f,p){if(!l){const g=c._ceVNode||re(o,i);return g.appContext=s,p===true?p="svg":p===false&&(p=void 0),e(g,u,p),l=true,c._container=u,u.__vue_app__=c,il(g.component)}},onUnmount(u){a.push(u);},unmount(){l&&(so(a,c._instance,16),e(null,c._container),delete c._container.__vue_app__);},provide(u,f){return s.provides[u]=f,c},runWithContext(u){const f=Hi;Hi=c;try{return u()}finally{Hi=f;}}};return c}}let Hi=null;function _s(e,t){if(Rt){let n=Rt.provides;const o=Rt.parent&&Rt.parent.provides;o===n&&(n=Rt.provides=Object.create(o)),n[e]=t;}}function Ps(e,t,n=false){const o=Pg();if(o||Hi){let i=Hi?Hi._context.provides:o?o.parent==null||o.ce?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&Me(t)?t.call(o&&o.proxy):t}}const lg={},ug=()=>Object.create(lg),cg=e=>Object.getPrototypeOf(e)===lg;function H_(e,t,n,o=false){const i={},s=ug();e.propsDefaults=Object.create(null),dg(e,t,i,s);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=o?i:o_(i):e.type.props?e.props=i:e.props=s,e.attrs=s;}function V_(e,t,n,o){const{props:i,attrs:s,vnode:{patchFlag:r}}=e,a=Je(i),[l]=e.propsOptions;let c=false;if((o||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let f=0;f<u.length;f++){let p=u[f];if(nl(e.emitsOptions,p))continue;const g=t[p];if(l)if(Xe(s,p))g!==s[p]&&(s[p]=g,c=true);else {const m=Pn(p);i[m]=Au(l,a,m,g,e,false);}else g!==s[p]&&(s[p]=g,c=true);}}}else {dg(e,t,i,s)&&(c=true);let u;for(const f in a)(!t||!Xe(t,f)&&((u=Ko(f))===f||!Xe(t,u)))&&(l?n&&(n[f]!==void 0||n[u]!==void 0)&&(i[f]=Au(l,a,f,void 0,e,true)):delete i[f]);if(s!==a)for(const f in s)(!t||!Xe(t,f))&&(delete s[f],c=true);}c&&ho(e.attrs,"set","");}function dg(e,t,n,o){const[i,s]=e.propsOptions;let r=false,a;if(t)for(let l in t){if(ks(l))continue;const c=t[l];let u;i&&Xe(i,u=Pn(l))?!s||!s.includes(u)?n[u]=c:(a||(a={}))[u]=c:nl(e.emitsOptions,l)||(!(l in o)||c!==o[l])&&(o[l]=c,r=true);}if(s){const l=Je(n),c=a||it;for(let u=0;u<s.length;u++){const f=s[u];n[f]=Au(i,l,f,c[f],e,!Xe(c,f));}}return r}function Au(e,t,n,o,i,s){const r=e[n];if(r!=null){const a=Xe(r,"default");if(a&&o===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&Me(l)){const{propsDefaults:c}=i;if(n in c)o=c[n];else {const u=gi(i);o=c[n]=l.call(null,t),u();}}else o=l;i.ce&&i.ce._setProp(n,o);}r[0]&&(s&&!a?o=false:r[1]&&(o===""||o===Ko(n))&&(o=true));}return o}const q_=new WeakMap;function fg(e,t,n=false){const o=n?q_:t.propsCache,i=o.get(e);if(i)return i;const s=e.props,r={},a=[];let l=false;if(!Me(e)){const u=f=>{l=true;const[p,g]=fg(f,t,true);jt(r,p),g&&a.push(...g);};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u);}if(!s&&!l)return st(e)&&o.set(e,Fi),Fi;if($e(s))for(let u=0;u<s.length;u++){const f=Pn(s[u]);pf(f)&&(r[f]=it);}else if(s)for(const u in s){const f=Pn(u);if(pf(f)){const p=s[u],g=r[f]=$e(p)||Me(p)?{type:p}:jt({},p),m=g.type;let y=false,x=true;if($e(m))for(let k=0;k<m.length;++k){const I=m[k],E=Me(I)&&I.name;if(E==="Boolean"){y=true;break}else E==="String"&&(x=false);}else y=Me(m)&&m.name==="Boolean";g[0]=y,g[1]=x,(y||Xe(g,"default"))&&a.push(f);}}const c=[r,a];return st(e)&&o.set(e,c),c}function pf(e){return e[0]!=="$"&&!ks(e)}const nd=e=>e==="_"||e==="__"||e==="_ctx"||e==="$stable",od=e=>$e(e)?e.map(Dn):[Dn(e)],W_=(e,t,n)=>{if(t._n)return t;const o=me((...i)=>od(t(...i)),n);return o._c=false,o},pg=(e,t,n)=>{const o=e._ctx;for(const i in e){if(nd(i))continue;const s=e[i];if(Me(s))t[i]=W_(i,s,o);else if(s!=null){const r=od(s);t[i]=()=>r;}}},hg=(e,t)=>{const n=od(t);e.slots.default=()=>n;},mg=(e,t,n)=>{for(const o in t)(n||!nd(o))&&(e[o]=t[o]);},K_=(e,t,n)=>{const o=e.slots=ug();if(e.vnode.shapeFlag&32){const i=t.__;i&&vu(o,"__",i,true);const s=t._;s?(mg(o,t,n),n&&vu(o,"_",s,true)):pg(t,o);}else t&&hg(e,t);},G_=(e,t,n)=>{const{vnode:o,slots:i}=e;let s=true,r=it;if(o.shapeFlag&32){const a=t._;a?n&&a===1?s=false:mg(i,t,n):(s=!t.$stable,pg(t,i)),r=t;}else t&&(hg(e,t),r={default:1});if(s)for(const a in i)!nd(a)&&r[a]==null&&delete i[a];},pn=pC;function J_(e){return Y_(e)}function Y_(e,t){const n=Qa();n.__VUE__=true;const{insert:o,remove:i,patchProp:s,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:g=Qn,insertStaticContent:m}=e,y=(S,b,v,N=null,P=null,X=null,Z=void 0,ne=null,ue=!!b.dynamicChildren)=>{if(S===b)return;S&&!Do(S,b)&&(N=Vt(S),M(S,P,X,true),S=null),b.patchFlag===-2&&(ue=false,b.dynamicChildren=null);const{type:oe,ref:ve,shapeFlag:he}=b;switch(oe){case ol:x(S,b,v,N);break;case Un:k(S,b,v,N);break;case jr:S==null&&I(b,v,N,Z);break;case Se:R(S,b,v,N,P,X,Z,ne,ue);break;default:he&1?B(S,b,v,N,P,X,Z,ne,ue):he&6?G(S,b,v,N,P,X,Z,ne,ue):(he&64||he&128)&&oe.process(S,b,v,N,P,X,Z,ne,ue,_n);}ve!=null&&P?Es(ve,S&&S.ref,X,b||S,!b):ve==null&&S&&S.ref!=null&&Es(S.ref,null,X,S,true);},x=(S,b,v,N)=>{if(S==null)o(b.el=a(b.children),v,N);else {const P=b.el=S.el;b.children!==S.children&&c(P,b.children);}},k=(S,b,v,N)=>{S==null?o(b.el=l(b.children||""),v,N):b.el=S.el;},I=(S,b,v,N)=>{[S.el,S.anchor]=m(S.children,b,v,N,S.el,S.anchor);},E=({el:S,anchor:b},v,N)=>{let P;for(;S&&S!==b;)P=p(S),o(S,v,N),S=P;o(b,v,N);},D=({el:S,anchor:b})=>{let v;for(;S&&S!==b;)v=p(S),i(S),S=v;i(b);},B=(S,b,v,N,P,X,Z,ne,ue)=>{b.type==="svg"?Z="svg":b.type==="math"&&(Z="mathml"),S==null?H(b,v,N,P,X,Z,ne,ue):fe(S,b,P,X,Z,ne,ue);},H=(S,b,v,N,P,X,Z,ne)=>{let ue,oe;const{props:ve,shapeFlag:he,transition:ie,dirs:Ee}=S;if(ue=S.el=r(S.type,X,ve&&ve.is,ve),he&8?u(ue,S.children):he&16&&ae(S.children,ue,null,N,P,Vl(S,X),Z,ne),Ee&&Qo(S,null,N,"created"),j(ue,S,S.scopeId,Z,N),ve){for(const w in ve)w!=="value"&&!ks(w)&&s(ue,w,null,ve[w],X,N);"value"in ve&&s(ue,"value",null,ve.value,X),(oe=ve.onVnodeBeforeMount)&&Hn(oe,N,S);}Ee&&Qo(S,null,N,"beforeMount");const h=Q_(P,ie);h&&ie.beforeEnter(ue),o(ue,b,v),((oe=ve&&ve.onVnodeMounted)||h||Ee)&&pn(()=>{oe&&Hn(oe,N,S),h&&ie.enter(ue),Ee&&Qo(S,null,N,"mounted");},P);},j=(S,b,v,N,P)=>{if(v&&g(S,v),N)for(let X=0;X<N.length;X++)g(S,N[X]);if(P){let X=P.subTree;if(b===X||xg(X.type)&&(X.ssContent===b||X.ssFallback===b)){const Z=P.vnode;j(S,Z,Z.scopeId,Z.slotScopeIds,P.parent);}}},ae=(S,b,v,N,P,X,Z,ne,ue=0)=>{for(let oe=ue;oe<S.length;oe++){const ve=S[oe]=ne?Io(S[oe]):Dn(S[oe]);y(null,ve,b,v,N,P,X,Z,ne);}},fe=(S,b,v,N,P,X,Z)=>{const ne=b.el=S.el;let{patchFlag:ue,dynamicChildren:oe,dirs:ve}=b;ue|=S.patchFlag&16;const he=S.props||it,ie=b.props||it;let Ee;if(v&&Xo(v,false),(Ee=ie.onVnodeBeforeUpdate)&&Hn(Ee,v,b,S),ve&&Qo(b,S,v,"beforeUpdate"),v&&Xo(v,true),(he.innerHTML&&ie.innerHTML==null||he.textContent&&ie.textContent==null)&&u(ne,""),oe?se(S.dynamicChildren,oe,ne,v,N,Vl(b,P),X):Z||ke(S,b,ne,null,v,N,Vl(b,P),X,false),ue>0){if(ue&16)O(ne,he,ie,v,P);else if(ue&2&&he.class!==ie.class&&s(ne,"class",null,ie.class,P),ue&4&&s(ne,"style",he.style,ie.style,P),ue&8){const h=b.dynamicProps;for(let w=0;w<h.length;w++){const C=h[w],T=he[C],z=ie[C];(z!==T||C==="value")&&s(ne,C,T,z,P,v);}}ue&1&&S.children!==b.children&&u(ne,b.children);}else !Z&&oe==null&&O(ne,he,ie,v,P);((Ee=ie.onVnodeUpdated)||ve)&&pn(()=>{Ee&&Hn(Ee,v,b,S),ve&&Qo(b,S,v,"updated");},N);},se=(S,b,v,N,P,X,Z)=>{for(let ne=0;ne<b.length;ne++){const ue=S[ne],oe=b[ne],ve=ue.el&&(ue.type===Se||!Do(ue,oe)||ue.shapeFlag&198)?f(ue.el):v;y(ue,oe,ve,null,N,P,X,Z,true);}},O=(S,b,v,N,P)=>{if(b!==v){if(b!==it)for(const X in b)!ks(X)&&!(X in v)&&s(S,X,b[X],null,P,N);for(const X in v){if(ks(X))continue;const Z=v[X],ne=b[X];Z!==ne&&X!=="value"&&s(S,X,ne,Z,P,N);}"value"in v&&s(S,"value",b.value,v.value,P);}},R=(S,b,v,N,P,X,Z,ne,ue)=>{const oe=b.el=S?S.el:a(""),ve=b.anchor=S?S.anchor:a("");let{patchFlag:he,dynamicChildren:ie,slotScopeIds:Ee}=b;Ee&&(ne=ne?ne.concat(Ee):Ee),S==null?(o(oe,v,N),o(ve,v,N),ae(b.children||[],v,ve,P,X,Z,ne,ue)):he>0&&he&64&&ie&&S.dynamicChildren?(se(S.dynamicChildren,ie,v,P,X,Z,ne),(b.key!=null||P&&b===P.subTree)&&gg(S,b,true)):ke(S,b,v,ve,P,X,Z,ne,ue);},G=(S,b,v,N,P,X,Z,ne,ue)=>{b.slotScopeIds=ne,S==null?b.shapeFlag&512?P.ctx.activate(b,v,N,Z,ue):ce(b,v,N,P,X,Z,ue):ye(S,b,ue);},ce=(S,b,v,N,P,X,Z)=>{const ne=S.component=yC(S,N,P);if(eg(S)&&(ne.ctx.renderer=_n),bC(ne,false,Z),ne.asyncDep){if(P&&P.registerDep(ne,Ce,Z),!S.el){const ue=ne.subTree=re(Un);k(null,ue,b,v),S.placeholder=ue.el;}}else Ce(ne,S,b,v,P,X,Z);},ye=(S,b,v)=>{const N=b.component=S.component;if(aC(S,b,v))if(N.asyncDep&&!N.asyncResolved){_e(N,b,v);return}else N.next=b,N.update();else b.el=S.el,N.vnode=b;},Ce=(S,b,v,N,P,X,Z)=>{const ne=()=>{if(S.isMounted){let{next:he,bu:ie,u:Ee,parent:h,vnode:w}=S;{const Y=wg(S);if(Y){he&&(he.el=w.el,_e(S,he,Z)),Y.asyncDep.then(()=>{S.isUnmounted||ne();});return}}let C=he,T;Xo(S,false),he?(he.el=w.el,_e(S,he,Z)):he=w,ie&&Ur(ie),(T=he.props&&he.props.onVnodeBeforeUpdate)&&Hn(T,h,he,w),Xo(S,true);const z=mf(S),F=S.subTree;S.subTree=z,y(F,z,f(F.el),Vt(F),S,P,X),he.el=z.el,C===null&&id(S,z.el),Ee&&pn(Ee,P),(T=he.props&&he.props.onVnodeUpdated)&&pn(()=>Hn(T,h,he,w),P);}else {let he;const{el:ie,props:Ee}=b,{bm:h,m:w,parent:C,root:T,type:z}=S,F=zi(b);Xo(S,false),h&&Ur(h),!F&&(he=Ee&&Ee.onVnodeBeforeMount)&&Hn(he,C,b),Xo(S,true);{T.ce&&T.ce._def.shadowRoot!==false&&T.ce._injectChildStyle(z);const Y=S.subTree=mf(S);y(null,Y,v,N,S,P,X),b.el=Y.el;}if(w&&pn(w,P),!F&&(he=Ee&&Ee.onVnodeMounted)){const Y=b;pn(()=>Hn(he,C,Y),P);}(b.shapeFlag&256||C&&zi(C.vnode)&&C.vnode.shapeFlag&256)&&S.a&&pn(S.a,P),S.isMounted=true,b=v=N=null;}};S.scope.on();const ue=S.effect=new Tm(ne);S.scope.off();const oe=S.update=ue.run.bind(ue),ve=S.job=ue.runIfDirty.bind(ue);ve.i=S,ve.id=S.uid,ue.scheduler=()=>Xc(ve),Xo(S,true),oe();},_e=(S,b,v)=>{b.component=S;const N=S.vnode.props;S.vnode=b,S.next=null,V_(S,b.props,N,v),G_(S,b.children,v),xo(),af(S),_o();},ke=(S,b,v,N,P,X,Z,ne,ue=false)=>{const oe=S&&S.children,ve=S?S.shapeFlag:0,he=b.children,{patchFlag:ie,shapeFlag:Ee}=b;if(ie>0){if(ie&128){dt(oe,he,v,N,P,X,Z,ne,ue);return}else if(ie&256){Fe(oe,he,v,N,P,X,Z,ne,ue);return}}Ee&8?(ve&16&&Zt(oe,P,X),he!==oe&&u(v,he)):ve&16?Ee&16?dt(oe,he,v,N,P,X,Z,ne,ue):Zt(oe,P,X,true):(ve&8&&u(v,""),Ee&16&&ae(he,v,N,P,X,Z,ne,ue));},Fe=(S,b,v,N,P,X,Z,ne,ue)=>{S=S||Fi,b=b||Fi;const oe=S.length,ve=b.length,he=Math.min(oe,ve);let ie;for(ie=0;ie<he;ie++){const Ee=b[ie]=ue?Io(b[ie]):Dn(b[ie]);y(S[ie],Ee,v,null,P,X,Z,ne,ue);}oe>ve?Zt(S,P,X,true,false,he):ae(b,v,N,P,X,Z,ne,ue,he);},dt=(S,b,v,N,P,X,Z,ne,ue)=>{let oe=0;const ve=b.length;let he=S.length-1,ie=ve-1;for(;oe<=he&&oe<=ie;){const Ee=S[oe],h=b[oe]=ue?Io(b[oe]):Dn(b[oe]);if(Do(Ee,h))y(Ee,h,v,null,P,X,Z,ne,ue);else break;oe++;}for(;oe<=he&&oe<=ie;){const Ee=S[he],h=b[ie]=ue?Io(b[ie]):Dn(b[ie]);if(Do(Ee,h))y(Ee,h,v,null,P,X,Z,ne,ue);else break;he--,ie--;}if(oe>he){if(oe<=ie){const Ee=ie+1,h=Ee<ve?b[Ee].el:N;for(;oe<=ie;)y(null,b[oe]=ue?Io(b[oe]):Dn(b[oe]),v,h,P,X,Z,ne,ue),oe++;}}else if(oe>ie)for(;oe<=he;)M(S[oe],P,X,true),oe++;else {const Ee=oe,h=oe,w=new Map;for(oe=h;oe<=ie;oe++){const be=b[oe]=ue?Io(b[oe]):Dn(b[oe]);be.key!=null&&w.set(be.key,oe);}let C,T=0;const z=ie-h+1;let F=false,Y=0;const ee=new Array(z);for(oe=0;oe<z;oe++)ee[oe]=0;for(oe=Ee;oe<=he;oe++){const be=S[oe];if(T>=z){M(be,P,X,true);continue}let Le;if(be.key!=null)Le=w.get(be.key);else for(C=h;C<=ie;C++)if(ee[C-h]===0&&Do(be,b[C])){Le=C;break}Le===void 0?M(be,P,X,true):(ee[Le-h]=oe+1,Le>=Y?Y=Le:F=true,y(be,b[Le],v,null,P,X,Z,ne,ue),T++);}const le=F?X_(ee):Fi;for(C=le.length-1,oe=z-1;oe>=0;oe--){const be=h+oe,Le=b[be],Be=b[be+1],qe=be+1<ve?Be.el||Be.placeholder:N;ee[oe]===0?y(null,Le,v,qe,P,X,Z,ne,ue):F&&(C<0||oe!==le[C]?ge(Le,v,qe,2):C--);}}},ge=(S,b,v,N,P=null)=>{const{el:X,type:Z,transition:ne,children:ue,shapeFlag:oe}=S;if(oe&6){ge(S.component.subTree,b,v,N);return}if(oe&128){S.suspense.move(b,v,N);return}if(oe&64){Z.move(S,b,v,_n);return}if(Z===Se){o(X,b,v);for(let he=0;he<ue.length;he++)ge(ue[he],b,v,N);o(S.anchor,b,v);return}if(Z===jr){E(S,b,v);return}if(N!==2&&oe&1&&ne)if(N===0)ne.beforeEnter(X),o(X,b,v),pn(()=>ne.enter(X),P);else {const{leave:he,delayLeave:ie,afterLeave:Ee}=ne,h=()=>{S.ctx.isUnmounted?i(X):o(X,b,v);},w=()=>{he(X,()=>{h(),Ee&&Ee();});};ie?ie(X,h,w):w();}else o(X,b,v);},M=(S,b,v,N=false,P=false)=>{const{type:X,props:Z,ref:ne,children:ue,dynamicChildren:oe,shapeFlag:ve,patchFlag:he,dirs:ie,cacheIndex:Ee}=S;if(he===-2&&(P=false),ne!=null&&(xo(),Es(ne,null,v,S,true),_o()),Ee!=null&&(b.renderCache[Ee]=void 0),ve&256){b.ctx.deactivate(S);return}const h=ve&1&&ie,w=!zi(S);let C;if(w&&(C=Z&&Z.onVnodeBeforeUnmount)&&Hn(C,b,S),ve&6)rt(S.component,v,N);else {if(ve&128){S.suspense.unmount(v,N);return}h&&Qo(S,null,b,"beforeUnmount"),ve&64?S.type.remove(S,b,v,_n,N):oe&&!oe.hasOnce&&(X!==Se||he>0&&he&64)?Zt(oe,b,v,false,true):(X===Se&&he&384||!P&&ve&16)&&Zt(ue,b,v),N&&pe(S);}(w&&(C=Z&&Z.onVnodeUnmounted)||h)&&pn(()=>{C&&Hn(C,b,S),h&&Qo(S,null,b,"unmounted");},v);},pe=S=>{const{type:b,el:v,anchor:N,transition:P}=S;if(b===Se){tt(v,N);return}if(b===jr){D(S);return}const X=()=>{i(v),P&&!P.persisted&&P.afterLeave&&P.afterLeave();};if(S.shapeFlag&1&&P&&!P.persisted){const{leave:Z,delayLeave:ne}=P,ue=()=>Z(v,X);ne?ne(S.el,X,ue):ue();}else X();},tt=(S,b)=>{let v;for(;S!==b;)v=p(S),i(S),S=v;i(b);},rt=(S,b,v)=>{const{bum:N,scope:P,job:X,subTree:Z,um:ne,m:ue,a:oe,parent:ve,slots:{__:he}}=S;hf(ue),hf(oe),N&&Ur(N),ve&&$e(he)&&he.forEach(ie=>{ve.renderCache[ie]=void 0;}),P.stop(),X&&(X.flags|=8,M(Z,S,b,v)),ne&&pn(ne,b),pn(()=>{S.isUnmounted=true;},b),b&&b.pendingBranch&&!b.isUnmounted&&S.asyncDep&&!S.asyncResolved&&S.suspenseId===b.pendingId&&(b.deps--,b.deps===0&&b.resolve());},Zt=(S,b,v,N=false,P=false,X=0)=>{for(let Z=X;Z<S.length;Z++)M(S[Z],b,v,N,P);},Vt=S=>{if(S.shapeFlag&6)return Vt(S.component.subTree);if(S.shapeFlag&128)return S.suspense.next();const b=p(S.anchor||S.el),v=b&&b[x_];return v?p(v):b};let co=false;const Pi=(S,b,v)=>{S==null?b._vnode&&M(b._vnode,null,null,true):y(b._vnode||null,S,b,null,null,null,v),b._vnode=S,co||(co=true,af(),Qm(),co=false);},_n={p:y,um:M,m:ge,r:pe,mt:ce,mc:ae,pc:ke,pbc:se,n:Vt,o:e};return {render:Pi,hydrate:void 0,createApp:z_(Pi)}}function Vl({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Xo({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5);}function Q_(e,t){return (!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gg(e,t,n=false){const o=e.children,i=t.children;if($e(o)&&$e(i))for(let s=0;s<o.length;s++){const r=o[s];let a=i[s];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[s]=Io(i[s]),a.el=r.el),!n&&a.patchFlag!==-2&&gg(r,a)),a.type===ol&&(a.el=r.el),a.type===Un&&!a.el&&(a.el=r.el);}}function X_(e){const t=e.slice(),n=[0];let o,i,s,r,a;const l=e.length;for(o=0;o<l;o++){const c=e[o];if(c!==0){if(i=n[n.length-1],e[i]<c){t[o]=i,n.push(o);continue}for(s=0,r=n.length-1;s<r;)a=s+r>>1,e[n[a]]<c?s=a+1:r=a;c<e[n[s]]&&(s>0&&(t[o]=n[s-1]),n[s]=o);}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function wg(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:wg(t)}function hf(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8;}const Z_=Symbol.for("v-scx"),eC=()=>Ps(Z_);function ze(e,t,n){return yg(e,t,n)}function yg(e,t,n=it){const{immediate:o,deep:i,flush:s,once:r}=n,a=jt({},n),l=t&&o||!t&&s!=="post";let c;if(Hs){if(s==="sync"){const g=eC();c=g.__watcherHandles||(g.__watcherHandles=[]);}else if(!l){const g=()=>{};return g.stop=Qn,g.resume=Qn,g.pause=Qn,g}}const u=Rt;a.call=(g,m,y)=>so(g,u,m,y);let f=false;s==="post"?a.scheduler=g=>{pn(g,u&&u.suspense);}:s!=="sync"&&(f=true,a.scheduler=(g,m)=>{m?g():Xc(g);}),a.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,u&&(g.id=u.uid,g.i=u));};const p=m_(e,t,a);return Hs&&(c?c.push(p):l&&p()),p}function tC(e,t,n){const o=this.proxy,i=wt(e)?e.includes(".")?bg(o,e):()=>o[e]:e.bind(o,o);let s;Me(t)?s=t:(s=t.handler,n=t);const r=gi(this),a=yg(i,s.bind(o),n);return r(),a}function bg(e,t){const n=t.split(".");return ()=>{let o=e;for(let i=0;i<n.length&&o;i++)o=o[n[i]];return o}}const nC=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pn(t)}Modifiers`]||e[`${Ko(t)}Modifiers`];function oC(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||it;let i=n;const s=t.startsWith("update:"),r=s&&nC(o,t.slice(7));r&&(r.trim&&(i=n.map(u=>wt(u)?u.trim():u)),r.number&&(i=n.map(aa)));let a,l=o[a=Fl(t)]||o[a=Fl(Pn(t))];!l&&s&&(l=o[a=Fl(Ko(t))]),l&&so(l,e,6,i);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=true,so(c,e,6,i);}}function vg(e,t,n=false){const o=t.emitsCache,i=o.get(e);if(i!==void 0)return i;const s=e.emits;let r={},a=false;if(!Me(e)){const l=c=>{const u=vg(c,t,true);u&&(a=true,jt(r,u));};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l);}return !s&&!a?(st(e)&&o.set(e,null),null):($e(s)?s.forEach(l=>r[l]=null):jt(r,s),st(e)&&o.set(e,r),r)}function nl(e,t){return !e||!Ga(t)?false:(t=t.slice(2).replace(/Once$/,""),Xe(e,t[0].toLowerCase()+t.slice(1))||Xe(e,Ko(t))||Xe(e,t))}function mf(e){const{type:t,vnode:n,proxy:o,withProxy:i,propsOptions:[s],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:f,data:p,setupState:g,ctx:m,inheritAttrs:y}=e,x=fa(e);let k,I;try{if(n.shapeFlag&4){const D=i||o,B=D;k=Dn(c.call(B,D,u,f,g,p,m)),I=a;}else {const D=t;k=Dn(D.length>1?D(f,{attrs:a,slots:r,emit:l}):D(f,null)),I=t.props?a:sC(a);}}catch(D){Is.length=0,hr(D,e,1),k=re(Un);}let E=k;if(I&&y!==false){const D=Object.keys(I),{shapeFlag:B}=E;D.length&&B&7&&(s&&D.some(Uc)&&(I=rC(I,s)),E=Xi(E,I,false,true));}return n.dirs&&(E=Xi(E,null,false,true),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&Zc(E,n.transition),k=E,fa(x),k}function iC(e,t=true){let n;for(let o=0;o<e.length;o++){const i=e[o];if(Qi(i)){if(i.type!==Un||i.children==="v-if"){if(n)return;n=i;}}else return}return n}const sC=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ga(n))&&((t||(t={}))[n]=e[n]);return t},rC=(e,t)=>{const n={};for(const o in e)(!Uc(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function aC(e,t,n){const{props:o,children:i,component:s}=e,{props:r,children:a,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return true;if(n&&l>=0){if(l&1024)return true;if(l&16)return o?gf(o,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let f=0;f<u.length;f++){const p=u[f];if(r[p]!==o[p]&&!nl(c,p))return true}}}else return (i||a)&&(!a||!a.$stable)?true:o===r?false:o?r?gf(o,r,c):true:!!r;return false}function gf(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return true;for(let i=0;i<o.length;i++){const s=o[i];if(t[s]!==e[s]&&!nl(n,s))return true}return false}function id({vnode:e,parent:t},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.el=e.el),o===e)(e=t.vnode).el=n,t=t.parent;else break}}const xg=e=>e.__isSuspense;let Pu=0;const lC={name:"Suspense",__isSuspense:true,process(e,t,n,o,i,s,r,a,l,c){if(e==null)uC(t,n,o,i,s,r,a,l,c);else {if(s&&s.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}cC(e,t,n,o,i,r,a,l,c);}},hydrate:dC,normalize:fC},_g=lC;function zs(e,t){const n=e.props&&e.props[t];Me(n)&&n();}function uC(e,t,n,o,i,s,r,a,l){const{p:c,o:{createElement:u}}=l,f=u("div"),p=e.suspense=Cg(e,i,o,t,f,n,s,r,a,l);c(null,p.pendingBranch=e.ssContent,f,null,o,p,s,r),p.deps>0?(zs(e,"onPending"),zs(e,"onFallback"),c(null,e.ssFallback,t,n,o,null,s,r),Vi(p,e.ssFallback)):p.resolve(false,true);}function cC(e,t,n,o,i,s,r,a,{p:l,um:c,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const p=t.ssContent,g=t.ssFallback,{activeBranch:m,pendingBranch:y,isInFallback:x,isHydrating:k}=f;if(y)f.pendingBranch=p,Do(p,y)?(l(y,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0?f.resolve():x&&(k||(l(m,g,n,o,i,null,s,r,a),Vi(f,g)))):(f.pendingId=Pu++,k?(f.isHydrating=false,f.activeBranch=y):c(y,i,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),x?(l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0?f.resolve():(l(m,g,n,o,i,null,s,r,a),Vi(f,g))):m&&Do(p,m)?(l(m,p,n,o,i,f,s,r,a),f.resolve(true)):(l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0&&f.resolve()));else if(m&&Do(p,m))l(m,p,n,o,i,f,s,r,a),Vi(f,p);else if(zs(t,"onPending"),f.pendingBranch=p,p.shapeFlag&512?f.pendingId=p.component.suspenseId:f.pendingId=Pu++,l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0)f.resolve();else {const{timeout:I,pendingId:E}=f;I>0?setTimeout(()=>{f.pendingId===E&&f.fallback(g);},I):I===0&&f.fallback(g);}}function Cg(e,t,n,o,i,s,r,a,l,c,u=false){const{p:f,m:p,um:g,n:m,o:{parentNode:y,remove:x}}=c;let k;const I=hC(e);I&&t&&t.pendingBranch&&(k=t.pendingId,t.deps++);const E=e.props?Ex(e.props.timeout):void 0,D=s,B={vnode:e,parent:t,parentComponent:n,namespace:r,container:o,hiddenContainer:i,deps:0,pendingId:Pu++,timeout:typeof E=="number"?E:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:false,effects:[],resolve(H=false,j=false){const{vnode:ae,activeBranch:fe,pendingBranch:se,pendingId:O,effects:R,parentComponent:G,container:ce}=B;let ye=false;B.isHydrating?B.isHydrating=false:H||(ye=fe&&se.transition&&se.transition.mode==="out-in",ye&&(fe.transition.afterLeave=()=>{O===B.pendingId&&(p(se,ce,s===D?m(fe):s,0),ku(R));}),fe&&(y(fe.el)===ce&&(s=m(fe)),g(fe,G,B,true)),ye||p(se,ce,s,0)),Vi(B,se),B.pendingBranch=null,B.isInFallback=false;let Ce=B.parent,_e=false;for(;Ce;){if(Ce.pendingBranch){Ce.effects.push(...R),_e=true;break}Ce=Ce.parent;}!_e&&!ye&&ku(R),B.effects=[],I&&t&&t.pendingBranch&&k===t.pendingId&&(t.deps--,t.deps===0&&!j&&t.resolve()),zs(ae,"onResolve");},fallback(H){if(!B.pendingBranch)return;const{vnode:j,activeBranch:ae,parentComponent:fe,container:se,namespace:O}=B;zs(j,"onFallback");const R=m(ae),G=()=>{B.isInFallback&&(f(null,H,se,R,fe,null,O,a,l),Vi(B,H));},ce=H.transition&&H.transition.mode==="out-in";ce&&(ae.transition.afterLeave=G),B.isInFallback=true,g(ae,fe,null,true),ce||G();},move(H,j,ae){B.activeBranch&&p(B.activeBranch,H,j,ae),B.container=H;},next(){return B.activeBranch&&m(B.activeBranch)},registerDep(H,j,ae){const fe=!!B.pendingBranch;fe&&B.deps++;const se=H.vnode.el;H.asyncDep.catch(O=>{hr(O,H,0);}).then(O=>{if(H.isUnmounted||B.isUnmounted||B.pendingId!==H.suspenseId)return;H.asyncResolved=true;const{vnode:R}=H;Tu(H,O),se&&(R.el=se);const G=!se&&H.subTree.el;j(H,R,y(se||H.subTree.el),se?null:m(H.subTree),B,r,ae),G&&x(G),id(H,R.el),fe&&--B.deps===0&&B.resolve();});},unmount(H,j){B.isUnmounted=true,B.activeBranch&&g(B.activeBranch,n,H,j),B.pendingBranch&&g(B.pendingBranch,n,H,j);}};return B}function dC(e,t,n,o,i,s,r,a,l){const c=t.suspense=Cg(t,o,n,e.parentNode,document.createElement("div"),null,i,s,r,a,true),u=l(e,c.pendingBranch=t.ssContent,n,c,s,r);return c.deps===0&&c.resolve(false,true),u}function fC(e){const{shapeFlag:t,children:n}=e,o=t&32;e.ssContent=wf(o?n.default:n),e.ssFallback=o?wf(n.fallback):re(Un);}function wf(e){let t;if(Me(e)){const n=Yi&&e._c;n&&(e._d=false,_()),e=e(),n&&(e._d=true,t=rn,kg());}return $e(e)&&(e=iC(e)),e=Dn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function pC(e,t){t&&t.pendingBranch?$e(e)?t.effects.push(...e):t.effects.push(e):ku(e);}function Vi(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,o&&o.subTree===n&&(o.vnode.el=i,id(o,i));}function hC(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==false}const Se=Symbol.for("v-fgt"),ol=Symbol.for("v-txt"),Un=Symbol.for("v-cmt"),jr=Symbol.for("v-stc"),Is=[];let rn=null;function _(e=false){Is.push(rn=e?null:[]);}function kg(){Is.pop(),rn=Is[Is.length-1]||null;}let Yi=1;function yf(e,t=false){Yi+=e,e<0&&rn&&t&&(rn.hasOnce=true);}function Sg(e){return e.dynamicChildren=Yi>0?rn||Fi:null,kg(),Yi>0&&rn&&rn.push(e),e}function A(e,t,n,o,i,s){return Sg(d(e,t,n,o,i,s,true))}function nt(e,t,n,o,i){return Sg(re(e,t,n,o,i,true))}function Qi(e){return e?e.__v_isVNode===true:false}function Do(e,t){return e.type===t.type&&e.key===t.key}const $g=({key:e})=>e??null,zr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?wt(e)||Pt(e)||Me(e)?{i:Lt,r:e,k:t,f:!!n}:e:null);function d(e,t=null,n=null,o=0,i=null,s=e===Se?0:1,r=false,a=false){const l={__v_isVNode:true,__v_skip:true,type:e,props:t,key:t&&$g(t),ref:t&&zr(t),scopeId:el,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Lt};return a?(sd(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=wt(n)?8:16),Yi>0&&!r&&rn&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&rn.push(l),l}const re=mC;function mC(e,t=null,n=null,o=0,i=null,s=false){if((!e||e===og)&&(e=Un),Qi(e)){const a=Xi(e,t,true);return n&&sd(a,n),Yi>0&&!s&&rn&&(a.shapeFlag&6?rn[rn.indexOf(e)]=a:rn.push(a)),a.patchFlag=-2,a}if(kC(e)&&(e=e.__vccOpts),t){t=Eg(t);let{class:a,style:l}=t;a&&!wt(a)&&(t.class=De(a)),st(l)&&(Qc(l)&&!$e(l)&&(l=jt({},l)),t.style=Xn(l));}const r=wt(e)?1:xg(e)?128:__(e)?64:st(e)?4:Me(e)?2:0;return d(e,t,n,o,i,r,s,true)}function Eg(e){return e?Qc(e)||cg(e)?jt({},e):e:null}function Xi(e,t,n=false,o=false){const{props:i,ref:s,patchFlag:r,children:a,transition:l}=e,c=t?rd(i||{},t):i,u={__v_isVNode:true,__v_skip:true,type:e.type,props:c,key:c&&$g(c),ref:t&&t.ref?n&&s?$e(s)?s.concat(zr(t)):[s,zr(t)]:zr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xi(e.ssContent),ssFallback:e.ssFallback&&Xi(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Zc(u,l.clone(u)),u}function L(e=" ",t=0){return re(ol,null,e,t)}function Ag(e,t){const n=re(jr,null,e);return n.staticCount=t,n}function de(e="",t=false){return t?(_(),nt(Un,null,e)):re(Un,null,e)}function Dn(e){return e==null||typeof e=="boolean"?re(Un):$e(e)?re(Se,null,e.slice()):Qi(e)?Io(e):re(ol,null,String(e))}function Io(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xi(e)}function sd(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if($e(t))n=16;else if(typeof t=="object")if(o&65){const i=t.default;i&&(i._c&&(i._d=false),sd(e,i()),i._c&&(i._d=true));return}else {n=32;const i=t._;!i&&!cg(t)?t._ctx=Lt:i===3&&Lt&&(Lt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024));}else Me(t)?(t={default:t,_ctx:Lt},n=32):(t=String(t),o&64?(n=16,t=[L(t)]):n=8);e.children=t,e.shapeFlag|=n;}function rd(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const i in o)if(i==="class")t.class!==o.class&&(t.class=De([t.class,o.class]));else if(i==="style")t.style=Xn([t.style,o.style]);else if(Ga(i)){const s=t[i],r=o[i];r&&s!==r&&!($e(s)&&s.includes(r))&&(t[i]=s?[].concat(s,r):r);}else i!==""&&(t[i]=o[i]);}return t}function Hn(e,t,n,o=null){so(e,t,7,[n,o]);}const gC=ag();let wC=0;function yC(e,t,n){const o=e.type,i=(t?t.appContext:e.appContext)||gC,s={uid:wC++,vnode:e,type:o,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ox(true),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:fg(o,i),emitsOptions:vg(o,i),emit:null,emitted:null,propsDefaults:it,inheritAttrs:o.inheritAttrs,ctx:it,data:it,props:it,attrs:it,slots:it,refs:it,setupState:it,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:false,isMounted:false,isUnmounted:false,isDeactivated:false,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=t?t.root:s,s.emit=oC.bind(null,s),e.ce&&e.ce(s),s}let Rt=null;const Pg=()=>Rt||Lt;let ha,Iu;{const e=Qa(),t=(n,o)=>{let i;return (i=e[n])||(i=e[n]=[]),i.push(o),s=>{i.length>1?i.forEach(r=>r(s)):i[0](s);}};ha=t("__VUE_INSTANCE_SETTERS__",n=>Rt=n),Iu=t("__VUE_SSR_SETTERS__",n=>Hs=n);}const gi=e=>{const t=Rt;return ha(e),e.scope.on(),()=>{e.scope.off(),ha(t);}},Du=()=>{Rt&&Rt.scope.off(),ha(null);};function Ig(e){return e.vnode.shapeFlag&4}let Hs=false;function bC(e,t=false,n=false){t&&Iu(t);const{props:o,children:i}=e.vnode,s=Ig(e);H_(e,o,s,t),K_(e,i,n||t);const r=s?vC(e,t):void 0;return t&&Iu(false),r}function vC(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,B_);const{setup:o}=n;if(o){xo();const i=e.setupContext=o.length>1?_C(e):null,s=gi(e),r=pr(o,e,0,[e.props,i]),a=zc(r);if(_o(),s(),(a||e.sp)&&!zi(e)&&Zm(e),a){if(r.then(Du,Du),t)return r.then(l=>{Tu(e,l);}).catch(l=>{hr(l,e,0);});e.asyncDep=r;}else Tu(e,r);}else Dg(e);}function Tu(e,t,n){Me(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:st(t)&&(e.setupState=Km(t)),Dg(e);}function Dg(e,t,n){const o=e.type;e.render||(e.render=o.render||Qn);{const i=gi(e);xo();try{O_(e);}finally{_o(),i();}}}const xC={get(e,t){return Ot(e,"get",""),e[t]}};function _C(e){const t=n=>{e.exposed=n||{};};return {attrs:new Proxy(e.attrs,xC),slots:e.slots,emit:e.emit,expose:t}}function il(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Km(i_(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in As)return As[n](e)},has(t,n){return n in t||n in As}})):e.proxy}function CC(e,t=true){return Me(e)?e.displayName||e.name:e.name||t&&e.__name}function kC(e){return Me(e)&&"__vccOpts"in e}const We=(e,t)=>p_(e,t,Hs);function SC(e,t,n){const o=arguments.length;return o===2?st(t)&&!$e(t)?Qi(t)?re(e,null,[t]):re(e,t):re(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Qi(n)&&(n=[n]),re(e,t,n))}const $C="3.5.18";/**
* @vue/runtime-dom v3.5.18
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let Lu;const bf=typeof window<"u"&&window.trustedTypes;if(bf)try{Lu=bf.createPolicy("vue",{createHTML:e=>e});}catch{}const Tg=Lu?e=>Lu.createHTML(e):e=>e,EC="http://www.w3.org/2000/svg",AC="http://www.w3.org/1998/Math/MathML",po=typeof document<"u"?document:null,vf=po&&po.createElement("template"),PC={insert:(e,t,n)=>{t.insertBefore(e,n||null);},remove:e=>{const t=e.parentNode;t&&t.removeChild(e);},createElement:(e,t,n,o)=>{const i=t==="svg"?po.createElementNS(EC,e):t==="mathml"?po.createElementNS(AC,e):n?po.createElement(e,{is:n}):po.createElement(e);return e==="select"&&o&&o.multiple!=null&&i.setAttribute("multiple",o.multiple),i},createText:e=>po.createTextNode(e),createComment:e=>po.createComment(e),setText:(e,t)=>{e.nodeValue=t;},setElementText:(e,t)=>{e.textContent=t;},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>po.querySelector(e),setScopeId(e,t){e.setAttribute(t,"");},insertStaticContent(e,t,n,o,i,s){const r=n?n.previousSibling:t.lastChild;if(i&&(i===s||i.nextSibling))for(;t.insertBefore(i.cloneNode(true),n),!(i===s||!(i=i.nextSibling)););else {vf.innerHTML=Tg(o==="svg"?`<svg>${e}</svg>`:o==="mathml"?`<math>${e}</math>`:e);const a=vf.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l);}t.insertBefore(a,n);}return [r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},IC=Symbol("_vtc");function DC(e,t,n){const o=e[IC];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t;}const ma=Symbol("_vod"),Lg=Symbol("_vsh"),Gt={beforeMount(e,{value:t},{transition:n}){e[ma]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):gs(e,t);},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e);},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),gs(e,true),o.enter(e)):o.leave(e,()=>{gs(e,false);}):gs(e,t));},beforeUnmount(e,{value:t}){gs(e,t);}};function gs(e,t){e.style.display=t?e[ma]:"none",e[Lg]=!t;}const TC=Symbol(""),LC=/(^|;)\s*display\s*:/;function MC(e,t,n){const o=e.style,i=wt(n);let s=false;if(n&&!i){if(t)if(wt(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&Hr(o,a,"");}else for(const r in t)n[r]==null&&Hr(o,r,"");for(const r in n)r==="display"&&(s=true),Hr(o,r,n[r]);}else if(i){if(t!==n){const r=o[TC];r&&(n+=";"+r),o.cssText=n,s=LC.test(n);}}else t&&e.removeAttribute("style");ma in e&&(e[ma]=s?o.display:"",e[Lg]&&(o.display="none"));}const xf=/\s*!important$/;function Hr(e,t,n){if($e(n))n.forEach(o=>Hr(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else {const o=BC(e,t);xf.test(n)?e.setProperty(Ko(o),n.replace(xf,""),"important"):e[o]=n;}}const _f=["Webkit","Moz","ms"],ql={};function BC(e,t){const n=ql[t];if(n)return n;let o=Pn(t);if(o!=="filter"&&o in e)return ql[t]=o;o=Ya(o);for(let i=0;i<_f.length;i++){const s=_f[i]+o;if(s in e)return ql[t]=s}return t}const Cf="http://www.w3.org/1999/xlink";function kf(e,t,n,o,i,s=Mx(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Cf,t.slice(6,t.length)):e.setAttributeNS(Cf,t,n):n==null||s&&!Pm(n)?e.removeAttribute(t):e.setAttribute(t,s?"":Nn(n)?String(n):n);}function Sf(e,t,n,o,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Tg(n):n);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const a=s==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(a!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let r=false;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=Pm(n):n==null&&a==="string"?(n="",r=true):a==="number"&&(n=0,r=true);}try{e[t]=n;}catch{}r&&e.removeAttribute(i||t);}function go(e,t,n,o){e.addEventListener(t,n,o);}function OC(e,t,n,o){e.removeEventListener(t,n,o);}const $f=Symbol("_vei");function RC(e,t,n,o,i=null){const s=e[$f]||(e[$f]={}),r=s[t];if(o&&r)r.value=o;else {const[a,l]=FC(t);if(o){const c=s[t]=jC(o,i);go(e,a,c,l);}else r&&(OC(e,a,r,l),s[t]=void 0);}}const Ef=/(?:Once|Passive|Capture)$/;function FC(e){let t;if(Ef.test(e)){t={};let o;for(;o=e.match(Ef);)e=e.slice(0,e.length-o[0].length),t[o[0].toLowerCase()]=true;}return [e[2]===":"?e.slice(3):Ko(e.slice(2)),t]}let Wl=0;const NC=Promise.resolve(),UC=()=>Wl||(NC.then(()=>Wl=0),Wl=Date.now());function jC(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;so(zC(o,n.value),t,5,[o]);};return n.value=e,n.attached=UC(),n}function zC(e,t){if($e(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=true;},t.map(o=>i=>!i._stopped&&o&&o(i))}else return t}const Af=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,HC=(e,t,n,o,i,s)=>{const r=i==="svg";t==="class"?DC(e,o,r):t==="style"?MC(e,n,o):Ga(t)?Uc(t)||RC(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),true):t[0]==="^"?(t=t.slice(1),false):VC(e,t,o,r))?(Sf(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&kf(e,t,o,r,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!wt(o))?Sf(e,Pn(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),kf(e,t,o,r));};function VC(e,t,n,o){if(o)return !!(t==="innerHTML"||t==="textContent"||t in e&&Af(t)&&Me(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return false;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return false}return Af(t)&&wt(n)?false:t in e}const Vo=e=>{const t=e.props["onUpdate:modelValue"]||false;return $e(t)?n=>Ur(t,n):t};function qC(e){e.target.composing=true;}function Pf(e){const t=e.target;t.composing&&(t.composing=false,t.dispatchEvent(new Event("input")));}const En=Symbol("_assign"),He={created(e,{modifiers:{lazy:t,trim:n,number:o}},i){e[En]=Vo(i);const s=o||i.props&&i.props.type==="number";go(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=aa(a)),e[En](a);}),n&&go(e,"change",()=>{e.value=e.value.trim();}),t||(go(e,"compositionstart",qC),go(e,"compositionend",Pf),go(e,"change",Pf));},mounted(e,{value:t}){e.value=t??"";},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:i,number:s}},r){if(e[En]=Vo(r),e.composing)return;const a=(s||e.type==="number")&&!/^0\d/.test(e.value)?aa(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||i&&e.value.trim()===l)||(e.value=l));}},we={deep:true,created(e,t,n){e[En]=Vo(n),go(e,"change",()=>{const o=e._modelValue,i=Zi(e),s=e.checked,r=e[En];if($e(o)){const a=Vc(o,i),l=a!==-1;if(s&&!l)r(o.concat(i));else if(!s&&l){const c=[...o];c.splice(a,1),r(c);}}else if(rs(o)){const a=new Set(o);s?a.add(i):a.delete(i),r(a);}else r(Bg(e,s));});},mounted:If,beforeUpdate(e,t,n){e[En]=Vo(n),If(e,t,n);}};function If(e,{value:t,oldValue:n},o){e._modelValue=t;let i;if($e(t))i=Vc(t,o.props.value)>-1;else if(rs(t))i=t.has(o.props.value);else {if(t===n)return;i=hi(t,Bg(e,true));}e.checked!==i&&(e.checked=i);}const Mg={created(e,{value:t},n){e.checked=hi(t,n.props.value),e[En]=Vo(n),go(e,"change",()=>{e[En](Zi(e));});},beforeUpdate(e,{value:t,oldValue:n},o){e[En]=Vo(o),t!==n&&(e.checked=hi(t,o.props.value));}},wn={deep:true,created(e,{value:t,modifiers:{number:n}},o){const i=rs(t);go(e,"change",()=>{const s=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?aa(Zi(r)):Zi(r));e[En](e.multiple?i?new Set(s):s:s[0]),e._assigning=true,mi(()=>{e._assigning=false;});}),e[En]=Vo(o);},mounted(e,{value:t}){Df(e,t);},beforeUpdate(e,t,n){e[En]=Vo(n);},updated(e,{value:t}){e._assigning||Df(e,t);}};function Df(e,t){const n=e.multiple,o=$e(t);if(!(n&&!o&&!rs(t))){for(let i=0,s=e.options.length;i<s;i++){const r=e.options[i],a=Zi(r);if(n)if(o){const l=typeof a;l==="string"||l==="number"?r.selected=t.some(c=>String(c)===String(a)):r.selected=Vc(t,a)>-1;}else r.selected=t.has(a);else if(hi(Zi(r),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1);}}function Zi(e){return "_value"in e?e._value:e.value}function Bg(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const WC={created(e,t,n){Ir(e,t,n,null,"created");},mounted(e,t,n){Ir(e,t,n,null,"mounted");},beforeUpdate(e,t,n,o){Ir(e,t,n,o,"beforeUpdate");},updated(e,t,n,o){Ir(e,t,n,o,"updated");}};function KC(e,t){switch(e){case "SELECT":return wn;case "TEXTAREA":return He;default:switch(t){case "checkbox":return we;case "radio":return Mg;default:return He}}}function Ir(e,t,n,o,i){const r=KC(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,o);}const GC=["ctrl","shift","alt","meta"],JC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>GC.some(n=>e[`${n}Key`]&&!t.includes(n))},pt=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(i,...s)=>{for(let r=0;r<t.length;r++){const a=JC[t[r]];if(a&&a(i,t))return}return e(i,...s)})},YC={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Og=(e,t)=>{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=i=>{if(!("key"in i))return;const s=Ko(i.key);if(t.some(r=>r===s||YC[r]===s))return e(i)})},QC=jt({patchProp:HC},PC);let Tf;function XC(){return Tf||(Tf=J_(QC))}const uo=(...e)=>{const t=XC().createApp(...e),{mount:n}=t;return t.mount=o=>{const i=ek(o);if(!i)return;const s=t._component;!Me(s)&&!s.render&&!s.template&&(s.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const r=n(i,false,ZC(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function ZC(e){if(e instanceof SVGElement)return "svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return "mathml"}function ek(e){return wt(e)?document.querySelector(e):e}var Rg=(e=>(e.VideoPlay="VideoPlay",e))(Rg||{});const tk="https://greasyfork.org/zh-CN/scripts/495474",nk="115Plus";class ok{bc;_isInstalled=void 0;messageHandlers=new Set;constructor(){this.bc=new BroadcastChannel(nk),this.bc.addEventListener("message",this.handleMessage.bind(this));}handleMessage(t){this.messageHandlers.forEach(n=>n(t.data));}checkInstalled(){return kt().$('.top-side .n-button__content:contains("115+")').length>0}async checkInstalledAsync(){return await new Promise(t=>setTimeout(t,100)),this._isInstalled=this.checkInstalled(),this._isInstalled}get isInstalled(){return this._isInstalled}async refreshInstallStatus(){return this.checkInstalledAsync()}defaultHandleNotInstalled(){confirm("检测到未安装 115+ 脚本,是否现在安装?")&&window.open(tk,"_blank");}ensureInstalled(t){return this._isInstalled===void 0&&(this._isInstalled=this.checkInstalled()),[this._isInstalled,t||this.defaultHandleNotInstalled.bind(this)]}sendToPlus(t,n){this.bc.postMessage({type:t,data:JSON.stringify(n),url:window.top?.location.href});}onMessage(t){return this.messageHandlers.add(t),()=>{this.messageHandlers.delete(t);}}destroy(){this.bc.close(),this.messageHandlers.clear();}}const ik=new ok;function sk(){return ik}function rk(e){return new Fs.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}function Fg(e){return e.filter(t=>t.startsWith("https://115.com")).length}async function mr(e,t,n){if(e.length===1){Jr(e[0],{active:!t});return}const o=Fg(e);n=n||rk(o>0);const i="open_urls";let s=false;q.fire({html:"正在打开链接...",showConfirmButton:false,showDenyButton:true,denyButtonText:"停止打开",allowEscapeKey:false,allowOutsideClick:false}).then(l=>{l.isDenied&&(s=true,q.close());});const r=[],a=async()=>{const l=e.length-r.length,{isDenied:c}=await q.fire({html:`已成功打开 ${r.length} 个链接。`+(l>0?`有 ${l} 个链接未打开`:""),icon:"success",timer:18e5,showDenyButton:r.length>0,denyButtonText:"关闭本次打开的全部页面"});if(c)for(const u of r)u.closed||u.close();};q.showLoading();for(let l=0;l<e.length;l++){if(s){q.close(),await a();return}const c=e[l];q.update({html:`正在打开第 ${l+1} 个链接... 进度: ${l+1} / ${e.length}`});const u=Jr(c,{active:!t});if(r.push(u),l===0&&await n.consume(i,1),l<e.length-1){let f=o>0?500:200;try{const g=await n.consume(i,1);console.log("[openUrls] RateLimiterRes",g),!g.remainingPoints&&g.msBeforeNext>0&&(f=g.msBeforeNext);}catch(g){if(g instanceof Fs.RateLimiterRes)console.warn("[openUrls] RateLimiterRes",g),f=g.msBeforeNext;else throw console.error("[openUrls]",g),new Error(`批量打开链接出错: ${g.toString()}`)}const p=(f/1e3).toFixed(1);q.update({html:`将在 ${p} 秒后打开第 ${l+2} 个链接... 进度: ${l+1} / ${e.length}`}),await Et(f);}}q.hideLoading(),await a();}function Rn(e){return {aid:1,cid:"",o:Wa.userPtime,asc:Oo.false,offset:0,show_dir:Oo.true,limit:115,natsort:Oo.false,format:"json",...e}}async function ad(e){const t=Ha(e),o=(await Bt().get("https://webapi.115.com/files?"+t,{timeout:12e4,withCredentials:true})).data;if(o.state)return o;throw new Error(o.error)}async function Fo(e,t=50){let n=[],o=0;for(;;){e.offset=o;const i=await ad(e);if(!i.data||!i.data.length||(i.count>i.data.length&&e.limit!==i.data.length&&(console.warn(`[getFilesList] invalid limit(${e.limit}) detected! max limit is ${i.page_size}, correct it now!`),e.limit=i.page_size),n=[...n,...i.data],o+=e.limit,o>=i.count))break;await Et(t);}return n}async function ak(e){if(!(await Kt(e)).play_long)throw new Error("该目录下没有可以播放的媒体文件![by_attr]");const o=(await Fo(Rn({cid:e,limit:1150}))).find(i=>i.play_long&&i.play_long>0);if(!o)throw new Error("该目录下没有可以播放的媒体文件![by_files]");return _i(o)}let lk=[];function Mu(e,t){return t===Jn.alt&&e.altKey||t===Jn.ctrl&&e.ctrlKey||t===Jn.shift&&e.shiftKey||t===Jn.meta&&e.metaKey}function Lf(e){return e.includes("https://115.com")&&tr("mode",e)==="search"}function Ng(e,t){const{keyToTriggerManual:n,keyToTriggerSearchScope:o,auxClickTriggerManual:i}=e;let s=t||"";const r=[],a=[];return i&&a.push("鼠标中键"),n&&a.push(Jn[n]),a.length&&r.push(`${a.join("或")}辅助键改搜索内容`),o&&r.push(`${Jn[o]}辅助键选搜索目录`),r.length&&(s+=`
提示: ${r.join(" / ")}`),s}async function uk(){return new Promise((e,t)=>{kt().Core.FileSelectDG.Open((o,i)=>{const s=o[o.length-1];console.log("[selectSearchScope] folder",s),s&&s.cid?e(s):t(new Error("未选择有效的文件夹"));},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"在该目录下搜索",select_txt:"搜索"});})}async function sl(e,t,n=dn,o,i=void 0){const s=[],r=await ut();n=n||dn;for(const a of t){i=i!==void 0?i:a.openInBackground;const l=La(e,{key:`_ce_s_${a.key}`,label:a.label,icon:a.icon,title:Ng(r,a.memo),onClick:async(c,u)=>{u.stopPropagation(),u.preventDefault(),c instanceof cc&&await c.closeMenu(),await gr(c,a,u,r,n,o,i);}});s.push(l);}return s}async function gr(e,t,n,o,i=dn,s,r=void 0){try{const a=o.keyToTriggerManual,l=o.auxClickTriggerManual;let c;(a&&Mu(n,a)||l&&n.button===1)&&(c={names:[Rc.manual],position:o.injectManualFuncPosition});let f=!1,p=[];if(s&&[Pe.selection,Pe.selectionSub].includes(s))p=await jn(!0),f=!0;else {const I=$(n.target).closest("li");p.push(await i(I[0]));}if(!p.length)throw new Error("没有选中任何文件!");const g=await Xt(),m=[],y=[],x=async I=>{try{const E=await Rs(I,t,g,c);if(!E)y.push(`文件 id="${I.id}", name="${I.name}" 的链接构建失败: 无法构建有效的搜索链接!`);else return E}catch(E){return y.push(`文件 id="${I.id}", name="${I.name}" 的链接构建失败: ${E.message}`),""}};let k=0;for(const I of p){const E=await x(I);E&&(Lf(E)&&k++,m.push(E));}if(k>0){const I=o.keyToTriggerSearchScope;if(I&&Mu(n,I)){const E=await uk();if(E)for(let D=0;D<m.length;D++)Lf(m[D])&&(m[D]=m[D].replace(/(cid%3D)(\d+)/,"$1"+E.cid));else return}}if(console.warn("[search files] urls: %o, errors: %o",m,y),!m.length)throw new Error("没有有效的搜索链接!"+(y.length?`
错误信息:
${y.join(`
`)}`:""));await ck(m,!!r);}catch(a){console.error(a),Q({title:"搜索失败",text:a.toString(),icon:"error",timer:0,showCloseButton:true});}}async function ck(e,t){const n=Fg(e),o=dk(n>0);await mr(e,t,o);}function dk(e){return new Fs.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}async function Ug(e,t){if(console.log("[playDirOnAnxia]",e,t),!t)try{Q({title:"正在查找可播放的文件...",text:"请稍等...",icon:"info"}),q.showLoading(),t=await ak(e),console.log("[playDirOnAnxia] file",t);}catch(o){console.error(o),Q({title:"播放失败",text:o.toString(),icon:"error"});return}t||Q({title:"播放失败",text:"没有在该目录下找到可播放的文件![file_null]",icon:"error"});const n=wm(t.pickCode);window.open(n,"_blank","noopener noreferrer");}async function jg(e,t,n,o){o.stopPropagation(),o.preventDefault();const i=t.keyToTriggerManual,s=t.auxClickTriggerManual,r=i&&Mu(o,i)||s&&o.button===1;try{let a;r&&(a={names:[Rc.manual],position:t.injectManualFuncPosition});const l=$(o.target).closest("li"),c=dn(l),u=await Xt(),f=await Rs(c,e,u,a);if(c.isDir&&Bc(f)){Ug(c.id);return}if(e.key==="p_builtin_115plus"){if(c.isDir){const g=o.metaKey||o.ctrlKey;ga(void 0,c.id,g);}else ga([c]);return}if(/^(#|javascript:(?:;|void\(0\);?))$/.test(f))return;if(console.log("[play url]",f),!f)throw new Error("无法获取有效的播放链接!");window.open(f,"_blank","noopener noreferrer");}catch(a){console.error(a),Q({title:"播放失败",text:a.toString(),icon:"error"});}}async function ld(e){const t="_p_null_",n=[...await Sm(),...lk],o=n.filter(l=>l.enabled),i=[...o,...(await ki(io.play)).filter(l=>l.enabled)],s=(l,c)=>l.find(u=>u.key===c);let r=s(o,e.defaultPlayer||"p_builtin_online");r||(r=s(n,"p_builtin_online")),r||(console.warn("[play with dropdown] default player not found"),r=Ct({key:t,url:"#",label:"播放",memo:"播放菜单数据异常!",enabled:true})),r={...r},r.key==="p_builtin_online"&&(r.label="播放");const a=i.findIndex(l=>l.key===r.key);return a>-1&&i.splice(a,1),{keyNull:t,noRealDefault:r.key===t,defaultPlayer:r,customUrlItems:i}}async function fk(e,t){const n=[],o=await ut();for(const i of t){const s=La(e,{key:`_ce_p_${i.key}`,label:i.label,icon:i.icon,title:i.memo,onClick:async(r,a)=>{jg(i,o,r,a);}});n.push(s);}return n}async function ga(e,t,n=false){console.log("[playByPlus]",e,t,n);const o=sk(),[i,s]=o.ensureInstalled();if(!i){s();return}const r=l=>{Q({title:l||"没有可播放的视频",icon:"warning"});};if(!e||!e.length){if(!t){r("未指定视频文件和目录ID");return}if(n){if(t==="0"){r("根目录不支持递归获取视频文件");return}const{isConfirmed:u}=await q.fire({title:"播放目录下全部层级的视频",text:"即将递归获取目录下的视频文件(最多1150)并播放,是否继续?",icon:"warning",showCancelButton:true});if(!u)return}const l=Rn({cid:t,limit:1150});n&&(l.type=hn.video);const c=await ad(l);if(c.count)e=hm(c.data);else {r();return}}const a=e.filter(l=>l.transcoded).map(l=>({name:l.name,code:l.pickCode,size:l.sizeBytes,isDir:false}));if(!a.length){r();return}o.sendToPlus(Rg.VideoPlay,a);}var mt=(e=>(e[e.full=0]="full",e[e.pure=1]="pure",e[e.fullUnique=2]="fullUnique",e[e.pureUnique=3]="pureUnique",e[e.id=4]="id",e[e.pickCode=5]="pickCode",e[e.sha1=6]="sha1",e[e.sha1WithName=7]="sha1WithName",e))(mt||{});function wr(e,t,n){const o=[];for(const s of e){let r;switch(t){case 0:case 2:r=s.name;break;case 1:case 3:r=s.isDir?s.name:s.name.replace(/\.[^.]+$/,"");break;case 4:r=s.id;break;case 5:r=s.pickCode;break;case 6:r=s.hash;break;case 7:r=`${s.hash}//${s.name}`;break}r&&o.push(n?n(r):r);}return [2,3,6,7].includes(t)?Array.from(new Set(o)):o}var Ln=(e=>(e[e.unixPath=0]="unixPath",e[e.winPath=1]="winPath",e[e.unixParentPath=2]="unixParentPath",e[e.winParentPath=3]="winParentPath",e))(Ln||{});async function rl(e,t,n){const o=n===1||n===3;let s=n===2||n===3?t.replace(/\/[^/]+$/,""):t;return s.startsWith("/")||(s="/"+s),o&&(s=s.replace(/\//g,"\\")),s}async function pk(e){return async(t,n)=>{const o=await Ut(),r=ss()[0].querySelectorAll("li[file_id].selected");if(!r.length){Q({title:"文件移动到同名目录",text:"当前目录没有选中文件",icon:"warning"});return}let a=`当前已选中${r.length}个文件,是否继续?`;a+=`<br><div style="text-align:left">
<b>处理逻辑:</b>
<p>0.「同名目录」取自纯文件名(不带后缀名)。</p>
<p>1.如果同名目录已存在,会直接使用已存在的目录。</p>
<p>2.同名目录相同的文件,会被移动到同一个目录里面。</p>
<p class="text-primary">示例: <span>movie.mp4</span> 的同名目录为 <span>movie</span></p>
</div>`;const{value:l}=await q.fire({title:"文件移动到同名目录",html:a,icon:"warning",showCancelButton:true,confirmButtonText:"继续",cancelButtonText:"取消"});if(l){q.fire({title:"文件移动到同名目录",html:"正在处理...",didOpen:()=>{q.showLoading();}});for(let c=0;c<r.length;c++){const u=r[c],f=dn($(u));if(!f.isFile)continue;const p=f.name,g=p.replace(/\.[^\.]+$/,""),m=`${c+1} / ${r.length} - `+Math.round(c/r.length*100)+"%";q.update({html:`${m} 正在为文件「${p}」创建目录「${g}」`});const y=await Q0(g,o,true);q.update({html:`创建目录「${g}」成功。id=${y}`}),q.update({html:`${m} 正在移动文件「${p}」到目录「${g}」`}),await Ic(y,[f.id]),await Et(500);}q.hideLoading(),q.update({html:"处理完成。刷新列表后查看最新的文件数据。",icon:"success"});}}}function hk(e,t){const n=[];for(let o=1;o<e.length;o++)n.push(e[o].file_name);return n}async function zg(e,t,n){const o=await K0(e),i=[];for(let s=0;s<e.length;s++){e[s].name=n?n(e[s].name):e[s].name;const r=o.get(e[s].parentId);if(!r)throw new Error(`无法获取文件 "${e[s].name}" 的上级目录路径!`);const a=hk(r).map(c=>n?n(c):c),l=ra([...a,e[s].name],Bo.unix);i.push(await rl(e[s],l,t));}return i}let Kl=pi.unknown;async function wa(e){const t=await Xt();Kl===pi.unknown&&(Kl=await v0(t));let n="";if(e.id==="0")n="/";else {let i=await Ka(e,true);i=i.map(s=>cn(t,s)),n=await rl(e,i.join("/"),e.isDir?0:2);}const o=await m0(t,n,Kl);console.log("url: ",o),window.open(o,"_blank","noopener noreferrer"),Q({title:"在CloudDrive2中查看",text:`已打开CloudDrive2链接: ${o}`,icon:"success"});}async function al(e){const t=`
<div style="text-align:left">
<p>将要处理 ${e.length} 个目录,是否继续?</p>
<br>
<b>处理逻辑:</b>
<p>1. 遍历选中目录下的所有子目录</p>
<p>2. 将所有子目录中的文件移动到父目录(选中的目录)</p>
<p>3. 删除所有已经为空的子目录</p>
<br>
<p class="text-danger">注意:此操作不可撤销,请谨慎操作!</p>
</div>
`,{isConfirmed:n}=await q.fire({title:"解散子目录",html:t,icon:"warning",showCancelButton:true,confirmButtonText:"继续",cancelButtonText:"取消",width:600});if(!n)return;q.fire({title:"解散子目录",html:"正在处理...",didOpen:()=>{q.showLoading();}});let o=0,i=0;try{for(let s=0;s<e.length;s++){const r=e[s],a=`[${s+1}/${e.length}]`;q.update({html:`${a} 正在处理目录「${r.name}」...`});const c=(await Fo(Rn({cid:r.id,show_dir:1,limit:1150}))).filter(g=>!g.fid);if(!c.length){q.update({html:`${a} 目录「${r.name}」没有子目录,跳过`}),await Et(300);continue}q.update({html:`${a} 目录「${r.name}」共有 ${c.length} 个子目录`});const u=await Fo(Rn({cid:r.id,type:hn.file,limit:1150}));let f=[];u.length&&(f=u.filter(g=>g.cid!==r.id).map(g=>g.fid),q.update({html:`${a} 正在移动 ${f.length} 个文件到「${r.name}」...`}),await Ic(r.id,f),o+=f.length),q.update({html:`${a} 正在删除「${r.name}」下的 ${c.length} 个空目录...`});const p=c.map(g=>g.cid);await qa(r.id,p),i+=p.length,q.update({html:`${a} 目录「${r.name}」处理完成,移动了 ${f.length} 个文件,删除了 ${p.length} 个空目录`}),s<e.length-1&&await Et(1e3);}q.hideLoading(),q.update({html:`
<div style="text-align:left">
<p>处理完成!</p>
<br>
<p>共处理 ${e.length} 个目录</p>
<p>移动了 ${o} 个文件</p>
<p>删除了 ${i} 个空目录</p>
<br>
<p class="text-info">刷新页面后查看最新的文件数据</p>
</div>
`,icon:"success"});}catch(s){console.error("[flattenSubfolders] error:",s),q.hideLoading(),q.update({html:`处理失败:${s.message||s}`,icon:"error"});}}class _t{constructor(){this._dataLength=0,this._bufferLength=0,this._state=new Int32Array(4),this._buffer=new ArrayBuffer(68),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start();}static hashStr(t,n=false){return this.onePassHasher.start().appendStr(t).end(n)}static hashAsciiStr(t,n=false){return this.onePassHasher.start().appendAsciiStr(t).end(n)}static _hex(t){const n=_t.hexChars,o=_t.hexOut;let i,s,r,a;for(a=0;a<4;a+=1)for(s=a*8,i=t[a],r=0;r<8;r+=2)o[s+1+r]=n.charAt(i&15),i>>>=4,o[s+0+r]=n.charAt(i&15),i>>>=4;return o.join("")}static _md5cycle(t,n){let o=t[0],i=t[1],s=t[2],r=t[3];o+=(i&s|~i&r)+n[0]-680876936|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[1]-389564586|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[2]+606105819|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[3]-1044525330|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[4]-176418897|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[5]+1200080426|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[6]-1473231341|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[7]-45705983|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[8]+1770035416|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[9]-1958414417|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[10]-42063|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[11]-1990404162|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[12]+1804603682|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[13]-40341101|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[14]-1502002290|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[15]+1236535329|0,i=(i<<22|i>>>10)+s|0,o+=(i&r|s&~r)+n[1]-165796510|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[6]-1069501632|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[11]+643717713|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[0]-373897302|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[5]-701558691|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[10]+38016083|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[15]-660478335|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[4]-405537848|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[9]+568446438|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[14]-1019803690|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[3]-187363961|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[8]+1163531501|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[13]-1444681467|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[2]-51403784|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[7]+1735328473|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[12]-1926607734|0,i=(i<<20|i>>>12)+s|0,o+=(i^s^r)+n[5]-378558|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[8]-2022574463|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[11]+1839030562|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[14]-35309556|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[1]-1530992060|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[4]+1272893353|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[7]-155497632|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[10]-1094730640|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[13]+681279174|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[0]-358537222|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[3]-722521979|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[6]+76029189|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[9]-640364487|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[12]-421815835|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[15]+530742520|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[2]-995338651|0,i=(i<<23|i>>>9)+s|0,o+=(s^(i|~r))+n[0]-198630844|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[7]+1126891415|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[14]-1416354905|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[5]-57434055|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[12]+1700485571|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[3]-1894986606|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[10]-1051523|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[1]-2054922799|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[8]+1873313359|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[15]-30611744|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[6]-1560198380|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[13]+1309151649|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[4]-145523070|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[11]-1120210379|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[2]+718787259|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[9]-343485551|0,i=(i<<21|i>>>11)+s|0,t[0]=o+t[0]|0,t[1]=i+t[1]|0,t[2]=s+t[2]|0,t[3]=r+t[3]|0;}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(_t.stateIdentity),this}appendStr(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r;for(r=0;r<t.length;r+=1){if(s=t.charCodeAt(r),s<128)n[i++]=s;else if(s<2048)n[i++]=(s>>>6)+192,n[i++]=s&63|128;else if(s<55296||s>56319)n[i++]=(s>>>12)+224,n[i++]=s>>>6&63|128,n[i++]=s&63|128;else {if(s=(s-55296)*1024+(t.charCodeAt(++r)-56320)+65536,s>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");n[i++]=(s>>>18)+240,n[i++]=s>>>12&63|128,n[i++]=s>>>6&63|128,n[i++]=s&63|128;}i>=64&&(this._dataLength+=64,_t._md5cycle(this._state,o),i-=64,o[0]=o[16]);}return this._bufferLength=i,this}appendAsciiStr(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r=0;for(;;){for(s=Math.min(t.length-r,64-i);s--;)n[i++]=t.charCodeAt(r++);if(i<64)break;this._dataLength+=64,_t._md5cycle(this._state,o),i=0;}return this._bufferLength=i,this}appendByteArray(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r=0;for(;;){for(s=Math.min(t.length-r,64-i);s--;)n[i++]=t[r++];if(i<64)break;this._dataLength+=64,_t._md5cycle(this._state,o),i=0;}return this._bufferLength=i,this}getState(){const t=this._state;return {buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}}setState(t){const n=t.buffer,o=t.state,i=this._state;let s;for(this._dataLength=t.length,this._bufferLength=t.buflen,i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=o[3],s=0;s<n.length;s+=1)this._buffer8[s]=n.charCodeAt(s);}end(t=false){const n=this._bufferLength,o=this._buffer8,i=this._buffer32,s=(n>>2)+1;this._dataLength+=n;const r=this._dataLength*8;if(o[n]=128,o[n+1]=o[n+2]=o[n+3]=0,i.set(_t.buffer32Identity.subarray(s),s),n>55&&(_t._md5cycle(this._state,i),i.set(_t.buffer32Identity)),r<=4294967295)i[14]=r;else {const a=r.toString(16).match(/(.*?)(.{0,8})$/);if(a===null)return;const l=parseInt(a[2],16),c=parseInt(a[1],16)||0;i[14]=l,i[15]=c;}return _t._md5cycle(this._state,i),t?this._state:_t._hex(this._state)}}_t.stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);_t.buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);_t.hexChars="0123456789abcdef";_t.hexOut=[];_t.onePassHasher=new _t;if(_t.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");var Gl={exports:{}},Mf;function mk(){return Mf||(Mf=1,(function(e){var t=(function(n){var o=1e7,i=7,s=9007199254740992,r=m(s),a="0123456789abcdefghijklmnopqrstuvwxyz",l=typeof BigInt=="function";function c(h,w,C,T){return typeof h>"u"?c[0]:typeof w<"u"?+w==10&&!C?ie(h):X(h,w,C,T):ie(h)}function u(h,w){this.value=h,this.sign=w,this.isSmall=false;}u.prototype=Object.create(c.prototype);function f(h){this.value=h,this.sign=h<0,this.isSmall=true;}f.prototype=Object.create(c.prototype);function p(h){this.value=h;}p.prototype=Object.create(c.prototype);function g(h){return -s<h&&h<s}function m(h){return h<1e7?[h]:h<1e14?[h%1e7,Math.floor(h/1e7)]:[h%1e7,Math.floor(h/1e7)%1e7,Math.floor(h/1e14)]}function y(h){x(h);var w=h.length;if(w<4&&dt(h,r)<0)switch(w){case 0:return 0;case 1:return h[0];case 2:return h[0]+h[1]*o;default:return h[0]+(h[1]+h[2]*o)*o}return h}function x(h){for(var w=h.length;h[--w]===0;);h.length=w+1;}function k(h){for(var w=new Array(h),C=-1;++C<h;)w[C]=0;return w}function I(h){return h>0?Math.floor(h):Math.ceil(h)}function E(h,w){var C=h.length,T=w.length,z=new Array(C),F=0,Y=o,ee,le;for(le=0;le<T;le++)ee=h[le]+w[le]+F,F=ee>=Y?1:0,z[le]=ee-F*Y;for(;le<C;)ee=h[le]+F,F=ee===Y?1:0,z[le++]=ee-F*Y;return F>0&&z.push(F),z}function D(h,w){return h.length>=w.length?E(h,w):E(w,h)}function B(h,w){var C=h.length,T=new Array(C),z=o,F,Y;for(Y=0;Y<C;Y++)F=h[Y]-z+w,w=Math.floor(F/z),T[Y]=F-w*z,w+=1;for(;w>0;)T[Y++]=w%z,w=Math.floor(w/z);return T}u.prototype.add=function(h){var w=ie(h);if(this.sign!==w.sign)return this.subtract(w.negate());var C=this.value,T=w.value;return w.isSmall?new u(B(C,Math.abs(T)),this.sign):new u(D(C,T),this.sign)},u.prototype.plus=u.prototype.add,f.prototype.add=function(h){var w=ie(h),C=this.value;if(C<0!==w.sign)return this.subtract(w.negate());var T=w.value;if(w.isSmall){if(g(C+T))return new f(C+T);T=m(Math.abs(T));}return new u(B(T,Math.abs(C)),C<0)},f.prototype.plus=f.prototype.add,p.prototype.add=function(h){return new p(this.value+ie(h).value)},p.prototype.plus=p.prototype.add;function H(h,w){var C=h.length,T=w.length,z=new Array(C),F=0,Y=o,ee,le;for(ee=0;ee<T;ee++)le=h[ee]-F-w[ee],le<0?(le+=Y,F=1):F=0,z[ee]=le;for(ee=T;ee<C;ee++){if(le=h[ee]-F,le<0)le+=Y;else {z[ee++]=le;break}z[ee]=le;}for(;ee<C;ee++)z[ee]=h[ee];return x(z),z}function j(h,w,C){var T;return dt(h,w)>=0?T=H(h,w):(T=H(w,h),C=!C),T=y(T),typeof T=="number"?(C&&(T=-T),new f(T)):new u(T,C)}function ae(h,w,C){var T=h.length,z=new Array(T),F=-w,Y=o,ee,le;for(ee=0;ee<T;ee++)le=h[ee]+F,F=Math.floor(le/Y),le%=Y,z[ee]=le<0?le+Y:le;return z=y(z),typeof z=="number"?(C&&(z=-z),new f(z)):new u(z,C)}u.prototype.subtract=function(h){var w=ie(h);if(this.sign!==w.sign)return this.add(w.negate());var C=this.value,T=w.value;return w.isSmall?ae(C,Math.abs(T),this.sign):j(C,T,this.sign)},u.prototype.minus=u.prototype.subtract,f.prototype.subtract=function(h){var w=ie(h),C=this.value;if(C<0!==w.sign)return this.add(w.negate());var T=w.value;return w.isSmall?new f(C-T):ae(T,Math.abs(C),C>=0)},f.prototype.minus=f.prototype.subtract,p.prototype.subtract=function(h){return new p(this.value-ie(h).value)},p.prototype.minus=p.prototype.subtract,u.prototype.negate=function(){return new u(this.value,!this.sign)},f.prototype.negate=function(){var h=this.sign,w=new f(-this.value);return w.sign=!h,w},p.prototype.negate=function(){return new p(-this.value)},u.prototype.abs=function(){return new u(this.value,false)},f.prototype.abs=function(){return new f(Math.abs(this.value))},p.prototype.abs=function(){return new p(this.value>=0?this.value:-this.value)};function fe(h,w){var C=h.length,T=w.length,z=C+T,F=k(z),Y=o,ee,le,be,Le,Be;for(be=0;be<C;++be){Le=h[be];for(var qe=0;qe<T;++qe)Be=w[qe],ee=Le*Be+F[be+qe],le=Math.floor(ee/Y),F[be+qe]=ee-le*Y,F[be+qe+1]+=le;}return x(F),F}function se(h,w){var C=h.length,T=new Array(C),z=o,F=0,Y,ee;for(ee=0;ee<C;ee++)Y=h[ee]*w+F,F=Math.floor(Y/z),T[ee]=Y-F*z;for(;F>0;)T[ee++]=F%z,F=Math.floor(F/z);return T}function O(h,w){for(var C=[];w-- >0;)C.push(0);return C.concat(h)}function R(h,w){var C=Math.max(h.length,w.length);if(C<=30)return fe(h,w);C=Math.ceil(C/2);var T=h.slice(C),z=h.slice(0,C),F=w.slice(C),Y=w.slice(0,C),ee=R(z,Y),le=R(T,F),be=R(D(z,T),D(Y,F)),Le=D(D(ee,O(H(H(be,ee),le),C)),O(le,2*C));return x(Le),Le}function G(h,w){return -0.012*h-.012*w+15e-6*h*w>0}u.prototype.multiply=function(h){var w=ie(h),C=this.value,T=w.value,z=this.sign!==w.sign,F;if(w.isSmall){if(T===0)return c[0];if(T===1)return this;if(T===-1)return this.negate();if(F=Math.abs(T),F<o)return new u(se(C,F),z);T=m(F);}return G(C.length,T.length)?new u(R(C,T),z):new u(fe(C,T),z)},u.prototype.times=u.prototype.multiply;function ce(h,w,C){return h<o?new u(se(w,h),C):new u(fe(w,m(h)),C)}f.prototype._multiplyBySmall=function(h){return g(h.value*this.value)?new f(h.value*this.value):ce(Math.abs(h.value),m(Math.abs(this.value)),this.sign!==h.sign)},u.prototype._multiplyBySmall=function(h){return h.value===0?c[0]:h.value===1?this:h.value===-1?this.negate():ce(Math.abs(h.value),this.value,this.sign!==h.sign)},f.prototype.multiply=function(h){return ie(h)._multiplyBySmall(this)},f.prototype.times=f.prototype.multiply,p.prototype.multiply=function(h){return new p(this.value*ie(h).value)},p.prototype.times=p.prototype.multiply;function ye(h){var w=h.length,C=k(w+w),T=o,z,F,Y,ee,le;for(Y=0;Y<w;Y++){ee=h[Y],F=0-ee*ee;for(var be=Y;be<w;be++)le=h[be],z=2*(ee*le)+C[Y+be]+F,F=Math.floor(z/T),C[Y+be]=z-F*T;C[Y+w]=F;}return x(C),C}u.prototype.square=function(){return new u(ye(this.value),false)},f.prototype.square=function(){var h=this.value*this.value;return g(h)?new f(h):new u(ye(m(Math.abs(this.value))),false)},p.prototype.square=function(h){return new p(this.value*this.value)};function Ce(h,w){var C=h.length,T=w.length,z=o,F=k(w.length),Y=w[T-1],ee=Math.ceil(z/(2*Y)),le=se(h,ee),be=se(w,ee),Le,Be,qe,fn,en,kl,Sl;for(le.length<=C&&le.push(0),be.push(0),Y=be[T-1],Be=C-T;Be>=0;Be--){for(Le=z-1,le[Be+T]!==Y&&(Le=Math.floor((le[Be+T]*z+le[Be+T-1])/Y)),qe=0,fn=0,kl=be.length,en=0;en<kl;en++)qe+=Le*be[en],Sl=Math.floor(qe/z),fn+=le[Be+en]-(qe-Sl*z),qe=Sl,fn<0?(le[Be+en]=fn+z,fn=-1):(le[Be+en]=fn,fn=0);for(;fn!==0;){for(Le-=1,qe=0,en=0;en<kl;en++)qe+=le[Be+en]-z+be[en],qe<0?(le[Be+en]=qe+z,qe=0):(le[Be+en]=qe,qe=1);fn+=qe;}F[Be]=Le;}return le=ke(le,ee)[0],[y(F),y(le)]}function _e(h,w){for(var C=h.length,T=w.length,z=[],F=[],Y=o,ee,le,be,Le,Be;C;){if(F.unshift(h[--C]),x(F),dt(F,w)<0){z.push(0);continue}le=F.length,be=F[le-1]*Y+F[le-2],Le=w[T-1]*Y+w[T-2],le>T&&(be=(be+1)*Y),ee=Math.ceil(be/Le);do{if(Be=se(w,ee),dt(Be,F)<=0)break;ee--;}while(ee);z.push(ee),F=H(F,Be);}return z.reverse(),[y(z),y(F)]}function ke(h,w){var C=h.length,T=k(C),z=o,F,Y,ee,le;for(ee=0,F=C-1;F>=0;--F)le=ee*z+h[F],Y=I(le/w),ee=le-Y*w,T[F]=Y|0;return [T,ee|0]}function Fe(h,w){var C,T=ie(w);if(l)return [new p(h.value/T.value),new p(h.value%T.value)];var z=h.value,F=T.value,Y;if(F===0)throw new Error("Cannot divide by zero");if(h.isSmall)return T.isSmall?[new f(I(z/F)),new f(z%F)]:[c[0],h];if(T.isSmall){if(F===1)return [h,c[0]];if(F==-1)return [h.negate(),c[0]];var ee=Math.abs(F);if(ee<o){C=ke(z,ee),Y=y(C[0]);var le=C[1];return h.sign&&(le=-le),typeof Y=="number"?(h.sign!==T.sign&&(Y=-Y),[new f(Y),new f(le)]):[new u(Y,h.sign!==T.sign),new f(le)]}F=m(ee);}var be=dt(z,F);if(be===-1)return [c[0],h];if(be===0)return [c[h.sign===T.sign?1:-1],c[0]];z.length+F.length<=200?C=Ce(z,F):C=_e(z,F),Y=C[0];var Le=h.sign!==T.sign,Be=C[1],qe=h.sign;return typeof Y=="number"?(Le&&(Y=-Y),Y=new f(Y)):Y=new u(Y,Le),typeof Be=="number"?(qe&&(Be=-Be),Be=new f(Be)):Be=new u(Be,qe),[Y,Be]}u.prototype.divmod=function(h){var w=Fe(this,h);return {quotient:w[0],remainder:w[1]}},p.prototype.divmod=f.prototype.divmod=u.prototype.divmod,u.prototype.divide=function(h){return Fe(this,h)[0]},p.prototype.over=p.prototype.divide=function(h){return new p(this.value/ie(h).value)},f.prototype.over=f.prototype.divide=u.prototype.over=u.prototype.divide,u.prototype.mod=function(h){return Fe(this,h)[1]},p.prototype.mod=p.prototype.remainder=function(h){return new p(this.value%ie(h).value)},f.prototype.remainder=f.prototype.mod=u.prototype.remainder=u.prototype.mod,u.prototype.pow=function(h){var w=ie(h),C=this.value,T=w.value,z,F,Y;if(T===0)return c[1];if(C===0)return c[0];if(C===1)return c[1];if(C===-1)return w.isEven()?c[1]:c[-1];if(w.sign)return c[0];if(!w.isSmall)throw new Error("The exponent "+w.toString()+" is too large.");if(this.isSmall&&g(z=Math.pow(C,T)))return new f(I(z));for(F=this,Y=c[1];T&true&&(Y=Y.times(F),--T),T!==0;)T/=2,F=F.square();return Y},f.prototype.pow=u.prototype.pow,p.prototype.pow=function(h){var w=ie(h),C=this.value,T=w.value,z=BigInt(0),F=BigInt(1),Y=BigInt(2);if(T===z)return c[1];if(C===z)return c[0];if(C===F)return c[1];if(C===BigInt(-1))return w.isEven()?c[1]:c[-1];if(w.isNegative())return new p(z);for(var ee=this,le=c[1];(T&F)===F&&(le=le.times(ee),--T),T!==z;)T/=Y,ee=ee.square();return le},u.prototype.modPow=function(h,w){if(h=ie(h),w=ie(w),w.isZero())throw new Error("Cannot take modPow with modulus 0");var C=c[1],T=this.mod(w);for(h.isNegative()&&(h=h.multiply(c[-1]),T=T.modInv(w));h.isPositive();){if(T.isZero())return c[0];h.isOdd()&&(C=C.multiply(T).mod(w)),h=h.divide(2),T=T.square().mod(w);}return C},p.prototype.modPow=f.prototype.modPow=u.prototype.modPow;function dt(h,w){if(h.length!==w.length)return h.length>w.length?1:-1;for(var C=h.length-1;C>=0;C--)if(h[C]!==w[C])return h[C]>w[C]?1:-1;return 0}u.prototype.compareAbs=function(h){var w=ie(h),C=this.value,T=w.value;return w.isSmall?1:dt(C,T)},f.prototype.compareAbs=function(h){var w=ie(h),C=Math.abs(this.value),T=w.value;return w.isSmall?(T=Math.abs(T),C===T?0:C>T?1:-1):-1},p.prototype.compareAbs=function(h){var w=this.value,C=ie(h).value;return w=w>=0?w:-w,C=C>=0?C:-C,w===C?0:w>C?1:-1},u.prototype.compare=function(h){if(h===1/0)return -1;if(h===-1/0)return 1;var w=ie(h),C=this.value,T=w.value;return this.sign!==w.sign?w.sign?1:-1:w.isSmall?this.sign?-1:1:dt(C,T)*(this.sign?-1:1)},u.prototype.compareTo=u.prototype.compare,f.prototype.compare=function(h){if(h===1/0)return -1;if(h===-1/0)return 1;var w=ie(h),C=this.value,T=w.value;return w.isSmall?C==T?0:C>T?1:-1:C<0!==w.sign?C<0?-1:1:C<0?1:-1},f.prototype.compareTo=f.prototype.compare,p.prototype.compare=function(h){if(h===1/0)return -1;if(h===-1/0)return 1;var w=this.value,C=ie(h).value;return w===C?0:w>C?1:-1},p.prototype.compareTo=p.prototype.compare,u.prototype.equals=function(h){return this.compare(h)===0},p.prototype.eq=p.prototype.equals=f.prototype.eq=f.prototype.equals=u.prototype.eq=u.prototype.equals,u.prototype.notEquals=function(h){return this.compare(h)!==0},p.prototype.neq=p.prototype.notEquals=f.prototype.neq=f.prototype.notEquals=u.prototype.neq=u.prototype.notEquals,u.prototype.greater=function(h){return this.compare(h)>0},p.prototype.gt=p.prototype.greater=f.prototype.gt=f.prototype.greater=u.prototype.gt=u.prototype.greater,u.prototype.lesser=function(h){return this.compare(h)<0},p.prototype.lt=p.prototype.lesser=f.prototype.lt=f.prototype.lesser=u.prototype.lt=u.prototype.lesser,u.prototype.greaterOrEquals=function(h){return this.compare(h)>=0},p.prototype.geq=p.prototype.greaterOrEquals=f.prototype.geq=f.prototype.greaterOrEquals=u.prototype.geq=u.prototype.greaterOrEquals,u.prototype.lesserOrEquals=function(h){return this.compare(h)<=0},p.prototype.leq=p.prototype.lesserOrEquals=f.prototype.leq=f.prototype.lesserOrEquals=u.prototype.leq=u.prototype.lesserOrEquals,u.prototype.isEven=function(){return (this.value[0]&1)===0},f.prototype.isEven=function(){return (this.value&1)===0},p.prototype.isEven=function(){return (this.value&BigInt(1))===BigInt(0)},u.prototype.isOdd=function(){return (this.value[0]&1)===1},f.prototype.isOdd=function(){return (this.value&1)===1},p.prototype.isOdd=function(){return (this.value&BigInt(1))===BigInt(1)},u.prototype.isPositive=function(){return !this.sign},f.prototype.isPositive=function(){return this.value>0},p.prototype.isPositive=f.prototype.isPositive,u.prototype.isNegative=function(){return this.sign},f.prototype.isNegative=function(){return this.value<0},p.prototype.isNegative=f.prototype.isNegative,u.prototype.isUnit=function(){return false},f.prototype.isUnit=function(){return Math.abs(this.value)===1},p.prototype.isUnit=function(){return this.abs().value===BigInt(1)},u.prototype.isZero=function(){return false},f.prototype.isZero=function(){return this.value===0},p.prototype.isZero=function(){return this.value===BigInt(0)},u.prototype.isDivisibleBy=function(h){var w=ie(h);return w.isZero()?false:w.isUnit()?true:w.compareAbs(2)===0?this.isEven():this.mod(w).isZero()},p.prototype.isDivisibleBy=f.prototype.isDivisibleBy=u.prototype.isDivisibleBy;function ge(h){var w=h.abs();if(w.isUnit())return false;if(w.equals(2)||w.equals(3)||w.equals(5))return true;if(w.isEven()||w.isDivisibleBy(3)||w.isDivisibleBy(5))return false;if(w.lesser(49))return true}function M(h,w){for(var C=h.prev(),T=C,z=0,F,Y,ee;T.isEven();)T=T.divide(2),z++;e:for(Y=0;Y<w.length;Y++)if(!h.lesser(w[Y])&&(ee=t(w[Y]).modPow(T,h),!(ee.isUnit()||ee.equals(C)))){for(F=z-1;F!=0;F--){if(ee=ee.square().mod(h),ee.isUnit())return false;if(ee.equals(C))continue e}return false}return true}u.prototype.isPrime=function(h){var w=ge(this);if(w!==n)return w;var C=this.abs(),T=C.bitLength();if(T<=64)return M(C,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var z=Math.log(2)*T.toJSNumber(),F=Math.ceil(h===true?2*Math.pow(z,2):z),Y=[],ee=0;ee<F;ee++)Y.push(t(ee+2));return M(C,Y)},p.prototype.isPrime=f.prototype.isPrime=u.prototype.isPrime,u.prototype.isProbablePrime=function(h,w){var C=ge(this);if(C!==n)return C;for(var T=this.abs(),z=h===n?5:h,F=[],Y=0;Y<z;Y++)F.push(t.randBetween(2,T.minus(2),w));return M(T,F)},p.prototype.isProbablePrime=f.prototype.isProbablePrime=u.prototype.isProbablePrime,u.prototype.modInv=function(h){for(var w=t.zero,C=t.one,T=ie(h),z=this.abs(),F,Y,ee;!z.isZero();)F=T.divide(z),Y=w,ee=T,w=C,T=z,C=Y.subtract(F.multiply(C)),z=ee.subtract(F.multiply(z));if(!T.isUnit())throw new Error(this.toString()+" and "+h.toString()+" are not co-prime");return w.compare(0)===-1&&(w=w.add(h)),this.isNegative()?w.negate():w},p.prototype.modInv=f.prototype.modInv=u.prototype.modInv,u.prototype.next=function(){var h=this.value;return this.sign?ae(h,1,this.sign):new u(B(h,1),this.sign)},f.prototype.next=function(){var h=this.value;return h+1<s?new f(h+1):new u(r,false)},p.prototype.next=function(){return new p(this.value+BigInt(1))},u.prototype.prev=function(){var h=this.value;return this.sign?new u(B(h,1),true):ae(h,1,this.sign)},f.prototype.prev=function(){var h=this.value;return h-1>-s?new f(h-1):new u(r,true)},p.prototype.prev=function(){return new p(this.value-BigInt(1))};for(var pe=[1];2*pe[pe.length-1]<=o;)pe.push(2*pe[pe.length-1]);var tt=pe.length,rt=pe[tt-1];function Zt(h){return Math.abs(h)<=o}u.prototype.shiftLeft=function(h){var w=ie(h).toJSNumber();if(!Zt(w))throw new Error(String(w)+" is too large for shifting.");if(w<0)return this.shiftRight(-w);var C=this;if(C.isZero())return C;for(;w>=tt;)C=C.multiply(rt),w-=tt-1;return C.multiply(pe[w])},p.prototype.shiftLeft=f.prototype.shiftLeft=u.prototype.shiftLeft,u.prototype.shiftRight=function(h){var w,C=ie(h).toJSNumber();if(!Zt(C))throw new Error(String(C)+" is too large for shifting.");if(C<0)return this.shiftLeft(-C);for(var T=this;C>=tt;){if(T.isZero()||T.isNegative()&&T.isUnit())return T;w=Fe(T,rt),T=w[1].isNegative()?w[0].prev():w[0],C-=tt-1;}return w=Fe(T,pe[C]),w[1].isNegative()?w[0].prev():w[0]},p.prototype.shiftRight=f.prototype.shiftRight=u.prototype.shiftRight;function Vt(h,w,C){w=ie(w);for(var T=h.isNegative(),z=w.isNegative(),F=T?h.not():h,Y=z?w.not():w,ee=0,le=0,be=null,Le=null,Be=[];!F.isZero()||!Y.isZero();)be=Fe(F,rt),ee=be[1].toJSNumber(),T&&(ee=rt-1-ee),Le=Fe(Y,rt),le=Le[1].toJSNumber(),z&&(le=rt-1-le),F=be[0],Y=Le[0],Be.push(C(ee,le));for(var qe=C(T?1:0,z?1:0)!==0?t(-1):t(0),fn=Be.length-1;fn>=0;fn-=1)qe=qe.multiply(rt).add(t(Be[fn]));return qe}u.prototype.not=function(){return this.negate().prev()},p.prototype.not=f.prototype.not=u.prototype.not,u.prototype.and=function(h){return Vt(this,h,function(w,C){return w&C})},p.prototype.and=f.prototype.and=u.prototype.and,u.prototype.or=function(h){return Vt(this,h,function(w,C){return w|C})},p.prototype.or=f.prototype.or=u.prototype.or,u.prototype.xor=function(h){return Vt(this,h,function(w,C){return w^C})},p.prototype.xor=f.prototype.xor=u.prototype.xor;var co=1<<30,Pi=(o&-o)*(o&-o)|co;function _n(h){var w=h.value,C=typeof w=="number"?w|co:typeof w=="bigint"?w|BigInt(co):w[0]+w[1]*o|Pi;return C&-C}function hs(h,w){if(w.compareTo(h)<=0){var C=hs(h,w.square(w)),T=C.p,z=C.e,F=T.multiply(w);return F.compareTo(h)<=0?{p:F,e:z*2+1}:{p:T,e:z*2}}return {p:t(1),e:0}}u.prototype.bitLength=function(){var h=this;return h.compareTo(t(0))<0&&(h=h.negate().subtract(t(1))),h.compareTo(t(0))===0?t(0):t(hs(h,t(2)).e).add(t(1))},p.prototype.bitLength=f.prototype.bitLength=u.prototype.bitLength;function S(h,w){return h=ie(h),w=ie(w),h.greater(w)?h:w}function b(h,w){return h=ie(h),w=ie(w),h.lesser(w)?h:w}function v(h,w){if(h=ie(h).abs(),w=ie(w).abs(),h.equals(w))return h;if(h.isZero())return w;if(w.isZero())return h;for(var C=c[1],T,z;h.isEven()&&w.isEven();)T=b(_n(h),_n(w)),h=h.divide(T),w=w.divide(T),C=C.multiply(T);for(;h.isEven();)h=h.divide(_n(h));do{for(;w.isEven();)w=w.divide(_n(w));h.greater(w)&&(z=w,w=h,h=z),w=w.subtract(h);}while(!w.isZero());return C.isUnit()?h:h.multiply(C)}function N(h,w){return h=ie(h).abs(),w=ie(w).abs(),h.divide(v(h,w)).multiply(w)}function P(h,w,C){h=ie(h),w=ie(w);var T=C||Math.random,z=b(h,w),F=S(h,w),Y=F.subtract(z).add(1);if(Y.isSmall)return z.add(Math.floor(T()*Y));for(var ee=ue(Y,o).value,le=[],be=true,Le=0;Le<ee.length;Le++){var Be=be?ee[Le]+(Le+1<ee.length?ee[Le+1]/o:0):o,qe=I(T()*Be);le.push(qe),qe<ee[Le]&&(be=false);}return z.add(c.fromArray(le,o,false))}var X=function(h,w,C,T){C=C||a,h=String(h),T||(h=h.toLowerCase(),C=C.toLowerCase());var z=h.length,F,Y=Math.abs(w),ee={};for(F=0;F<C.length;F++)ee[C[F]]=F;for(F=0;F<z;F++){var le=h[F];if(le!=="-"&&le in ee&&ee[le]>=Y){if(le==="1"&&Y===1)continue;throw new Error(le+" is not a valid digit in base "+w+".")}}w=ie(w);var be=[],Le=h[0]==="-";for(F=Le?1:0;F<h.length;F++){var le=h[F];if(le in ee)be.push(ie(ee[le]));else if(le==="<"){var Be=F;do F++;while(h[F]!==">"&&F<h.length);be.push(ie(h.slice(Be+1,F)));}else throw new Error(le+" is not a valid character")}return Z(be,w,Le)};function Z(h,w,C){var T=c[0],z=c[1],F;for(F=h.length-1;F>=0;F--)T=T.add(h[F].times(z)),z=z.times(w);return C?T.negate():T}function ne(h,w){return w=w||a,h<w.length?w[h]:"<"+h+">"}function ue(h,w){if(w=t(w),w.isZero()){if(h.isZero())return {value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(w.equals(-1)){if(h.isZero())return {value:[0],isNegative:false};if(h.isNegative())return {value:[].concat.apply([],Array.apply(null,Array(-h.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:false};var C=Array.apply(null,Array(h.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return C.unshift([1]),{value:[].concat.apply([],C),isNegative:false}}var T=false;if(h.isNegative()&&w.isPositive()&&(T=true,h=h.abs()),w.isUnit())return h.isZero()?{value:[0],isNegative:false}:{value:Array.apply(null,Array(h.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:T};for(var z=[],F=h,Y;F.isNegative()||F.compareAbs(w)>=0;){Y=F.divmod(w),F=Y.quotient;var ee=Y.remainder;ee.isNegative()&&(ee=w.minus(ee).abs(),F=F.next()),z.push(ee.toJSNumber());}return z.push(F.toJSNumber()),{value:z.reverse(),isNegative:T}}function oe(h,w,C){var T=ue(h,w);return (T.isNegative?"-":"")+T.value.map(function(z){return ne(z,C)}).join("")}u.prototype.toArray=function(h){return ue(this,h)},f.prototype.toArray=function(h){return ue(this,h)},p.prototype.toArray=function(h){return ue(this,h)},u.prototype.toString=function(h,w){if(h===n&&(h=10),h!==10||w)return oe(this,h,w);for(var C=this.value,T=C.length,z=String(C[--T]),F="0000000",Y;--T>=0;)Y=String(C[T]),z+=F.slice(Y.length)+Y;var ee=this.sign?"-":"";return ee+z},f.prototype.toString=function(h,w){return h===n&&(h=10),h!=10||w?oe(this,h,w):String(this.value)},p.prototype.toString=f.prototype.toString,p.prototype.toJSON=u.prototype.toJSON=f.prototype.toJSON=function(){return this.toString()},u.prototype.valueOf=function(){return parseInt(this.toString(),10)},u.prototype.toJSNumber=u.prototype.valueOf,f.prototype.valueOf=function(){return this.value},f.prototype.toJSNumber=f.prototype.valueOf,p.prototype.valueOf=p.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function ve(h){if(g(+h)){var w=+h;if(w===I(w))return l?new p(BigInt(w)):new f(w);throw new Error("Invalid integer: "+h)}var C=h[0]==="-";C&&(h=h.slice(1));var T=h.split(/e/i);if(T.length>2)throw new Error("Invalid integer: "+T.join("e"));if(T.length===2){var z=T[1];if(z[0]==="+"&&(z=z.slice(1)),z=+z,z!==I(z)||!g(z))throw new Error("Invalid integer: "+z+" is not a valid exponent.");var F=T[0],Y=F.indexOf(".");if(Y>=0&&(z-=F.length-Y-1,F=F.slice(0,Y)+F.slice(Y+1)),z<0)throw new Error("Cannot include negative exponent part for integers");F+=new Array(z+1).join("0"),h=F;}var ee=/^([0-9][0-9]*)$/.test(h);if(!ee)throw new Error("Invalid integer: "+h);if(l)return new p(BigInt(C?"-"+h:h));for(var le=[],be=h.length,Le=i,Be=be-Le;be>0;)le.push(+h.slice(Be,be)),Be-=Le,Be<0&&(Be=0),be-=Le;return x(le),new u(le,C)}function he(h){if(l)return new p(BigInt(h));if(g(h)){if(h!==I(h))throw new Error(h+" is not an integer.");return new f(h)}return ve(h.toString())}function ie(h){return typeof h=="number"?he(h):typeof h=="string"?ve(h):typeof h=="bigint"?new p(h):h}for(var Ee=0;Ee<1e3;Ee++)c[Ee]=ie(Ee),Ee>0&&(c[-Ee]=ie(-Ee));return c.one=c[1],c.zero=c[0],c.minusOne=c[-1],c.max=S,c.min=b,c.gcd=v,c.lcm=N,c.isInstance=function(h){return h instanceof u||h instanceof f||h instanceof p},c.randBetween=P,c.fromArray=function(h,w,C){return Z(h.map(ie),ie(w||10),C)},c})();e.hasOwnProperty("exports")&&(e.exports=t);})(Gl)),Gl.exports}var gk=mk();const Dr=$m(gk);class wk{n;e;constructor(){this.n=Dr("8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683",16),this.e=Dr("10001",16);}a2hex(t){let n="",o;for(let i=0;i<t.length;i++)o=t[i].toString(16),o.length<2&&(o="0"+o),n+=o;return n}hex2a(t){let n="";for(let o=0;o<t.length;o+=2)n+=String.fromCharCode(parseInt(t.substr(o,2),16));return n}pkcs1pad2(t,n){if(n<t.length+11)return null;let o=[],i=t.length-1;for(;i>=0&&n>0;)o[--n]=t.charCodeAt(i--);for(o[--n]=0;n>2;)o[--n]=255;o[--n]=2,o[--n]=0;let s=this.a2hex(o);return Dr(s,16)}pkcs1unpad2(t){let n=t.toString(16);n.length%2!==0&&(n="0"+n);let o=this.hex2a(n),i=1;for(;o.charCodeAt(i)!==0;)i++;return o.slice(i+1)}encrypt(t){let i=this.pkcs1pad2(t,128)?.modPow(this.e,this.n)?.toString(16)||"";for(;i.length<256;)i="0"+i;return i}decrypt(t){const n=[];let o=0;for(;o<t.length;)n[o]=t.charCodeAt(o),o+=1;const s=Dr(this.a2hex(n),16).modPow(this.e,this.n);return this.pkcs1unpad2(s)}}class yk{rsa;kts;keyS;keyL;constructor(){this.rsa=new wk,this.kts=[240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245],this.keyS=[41,35,33,94],this.keyL=[120,6,173,76,51,134,93,24,76,1,63,70];}xor115Enc(t,n,o,i){let s,r,a,l,c,u,f,p;if(l=n%4,p=[],l!==0)for(s=r=0,c=l;c>=0?r<c:r>c;s=c>=0?++r:--r)p.push(t[s]^o[s%i]);for(s=a=u=l,f=n;u<=f?a<f:a>f;s=u<=f?++a:--a)p.push(t[s]^o[(s-l)%i]);return p}getkey(t,n){let o;return n!=null?(()=>{let i,s,r;for(r=[],o=i=0,s=t;s>=0?i<s:i>s;o=s>=0?++i:--i)r.push(n[o]+this.kts[t*o]&255^this.kts[t*(t-1-o)]);return r})():t===12?this.keyL.slice(0):this.keyS.slice(0)}asymEncode(t,n){let o,i,s,r,a;for(s=117,a="",o=i=0,r=Math.floor((n+s-1)/s);r>=0?i<r:i>r;o=r>=0?++i:--i)a+=this.rsa.encrypt(this.bytesToString(t.slice(o*s,Math.min((o+1)*s,n))));return window.btoa(this.rsa.hex2a(a))}asymDecode(t,n){let o,i,s,r,a;for(s=128,a="",o=i=0,r=Math.floor((n+s-1)/s);r>=0?i<r:i>r;o=r>=0?++i:--i)a+=this.rsa.decrypt(this.bytesToString(t.slice(o*s,Math.min((o+1)*s,n))));return this.stringToBytes(a)}symEncode(t,n,o,i){let s,r,a;return s=this.getkey(4,o),r=this.getkey(12,i),a=this.xor115Enc(t,n,s,4),a.reverse(),a=this.xor115Enc(a,n,r,12),a}symDecode(t,n,o,i){let s,r,a;return s=this.getkey(4,o),r=this.getkey(12,i),a=this.xor115Enc(t,n,r,12),a.reverse(),a=this.xor115Enc(a,n,s,4),a}bytesToString(t){let n,o,i,s;for(s="",o=0,i=t.length;o<i;o++)n=t[o],s+=String.fromCharCode(n);return s}stringToBytes(t){let n,o,i;for(i=[],n=0,o=t.length;n<o;n++)i.push(t.charCodeAt(n));return i}encode(t,n){const o=this.stringToBytes(_t.hashStr(`!@###@#${n}DFDR@#@#`));let i=this.stringToBytes(t);return i=this.symEncode(i,i.length,o,null),i=o.slice(0,16).concat(i),{data:this.asymEncode(i,i.length),key:o}}decode(t,n){let o=this.stringToBytes(window.atob(t));return o=this.asymDecode(o,o.length),this.bytesToString(this.symDecode(o.slice(16),o.length-16,n,o.slice(0,16)))}}async function bk(e){return new Promise((t,n)=>{const o=JSON.stringify({pickcode:e}),i=Math.floor(Date.now()).toString(),s=new yk,{data:r,key:a}=s.encode(o,i);Ta({method:"POST",url:`https://proapi.115.com/app/chrome/downurl?t=${i}`,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","User-Agent":navigator.userAgent,Accept:"application/json, text/javascript, */*; q=0.01"},data:`data=${encodeURIComponent(r)}`,responseType:"json",onload:l=>{const c=JSON.parse(l.responseText);if(c.state){const u=s.decode(c.data,a);if(u){const f=JSON.parse(u),p=Object.keys(f)[0],g=f[p];g.file_id=p;const m=l.responseHeaders.split(/[\r\n]+/).filter(y=>y.match(/set-cookie/i));m.length&&(m.forEach((y,x)=>{m[x]=y.replace(/set-cookie:[\s]*/i,"").split(";")[0];}),g.cookie=m.join("; ")),t(g);}else n({state:false,error:"解密失败"});}else n(c);},onerror:l=>{n(l);}});})}async function vk(e){return (await Bt().get(`https://webapi.115.com/files/get_repeat_sha?file_id=${e}`,{timeout:12e4,withCredentials:true})).data}function xk(e){return `https://115.com/?tab=sha1_repeat&select=1&file_id=${e}&mode=wangpan`}let _k=[];async function Hg(e){if(!oo()||!e.enableInSearch)return;const t=await et("#js_data_list"),n='<a href="javascript:;" menu="{key}" style=""><i class="{icon}" menu="{key}"></i><span menu="{key}">{label}</span></a>',o=(l,c,u)=>n.replace(/\{key\}/g,l).replace(/\{label\}/g,c).replace(/\{icon\}/g,u),i=[{label:"移动",body:o("move","移动","icon-operate ifo-move"),enabled:true},{label:"重命名",body:o("edit_name","重命名","icon-operate ifo-rename"),enabled:true},{label:"删除",body:o("delete","删除","icon-operate ifo-remove"),enabled:true},{label:"属性",body:o("attribute","属性","icon-operate ifo-property"),enabled:true}],s=l=>{let c="";for(const u of l)u.enabled&&(c+=u.body);return c},r=()=>{const l="ce-menu-init",c=document.querySelectorAll(`li[rel="item"]:not(.${l})`),u=s(i);for(let f=0;f<c.length;f++){const p=c[f];if(p.querySelector(".file-opr"))continue;const g=je('<div class="file-opr" rel="menu"></div>');g.innerHTML=u,p.classList.add(l),p.appendChild(g);}};r(),new MutationObserver(async([l])=>{l.type==="childList"&&r();}).observe(t,{childList:true});}async function Ck(){const e=await ut(),t=await ld(e);return new as({key:"_play_with_x_d",label:t.defaultPlayer.label,icon:t.defaultPlayer?.icon||"",injectDecider:mb,title:t.defaultPlayer.memo,onClick:async(n,o)=>{t.noRealDefault||jg(t.defaultPlayer,e,n,o);},subItems:[...await fk(ls,t.customUrlItems)]})}function $i(e){const t=$(e.target).closest("li"),n=dn(t);return !n||!n.id?(Q({text:"无法获取当前文件信息",timer:1200}),null):n}async function kk(e){const t=[...(await cr()).filter(o=>o.enabled),..._k.filter(o=>o.enabled),...(await ki(io.search)).filter(o=>o.enabled)];let n=t.find(o=>o.key===e.defaultSearch);return n||(n=t.find(o=>o.key===dr)),new as({key:"_search_with_name_d",label:"搜索",icon:n?.icon||"",title:Ng(e,n?.memo||"使用名称搜索"),onClick:async(o,i)=>{i.stopPropagation(),i.preventDefault(),n&&await gr(o,n,i,e,void 0,Pe.listItemHover);},subItems:[...await sl(ls,t)]})}async function Sk(){return new ls({key:"_lh_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=$i(t);n&&await wa(n);}})}async function $k(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Tr("完整名称",mt.full)),t.copyPureName&&n.push(await Tr("不含后缀名称",mt.pure)),t.copyId&&n.push(await Tr("ID",mt.id)),t.copyPickCode&&n.push(await Tr("PickCode",mt.pickCode)),t.copySha1&&n.push(await Bf(false)),t.copySha1WithName&&n.push(await Bf(true)),t.copyUnixPath&&n.push(await Lr("路径(Unix)",Ln.unixPath)),t.copyWinPath&&n.push(await Lr("路径(Windows)",Ln.winPath)),t.copyParentUnixPath&&n.push(await Lr("上级路径(Unix)",Ln.unixParentPath)),t.copyParentWinPath&&n.push(await Lr("上级路径(Windows)",Ln.winParentPath)),t.viewInCloudDrive&&n.push(await Sk()),new as({key:"_lh_copy_name_path",label:"名称路径",title:"复制文件名称路径",onClick:async(o,i)=>{},subItems:n})}async function Bf(e=true){return new ls({key:"_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=$i(n);if(!o)return;if(o.isDir){Q({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=o.hash+(e?`//${o.name}`:"");ft(i),Q({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function Tr(e,t){return new ls({key:`_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=$i(o);if(!i)return;const s=await ut(),r=await Xt(),l=wr([i],t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Q({title:`复制${e}`,text:`已复制选中文件信息,复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Lr(e,t){return new ls({key:`_lh_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:e,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=$i(o);if(!i)return;const s=await ut(),r=await Xt();let a=await Ka(i);s.cloudDriveFormalization&&(a=a.map(u=>cn(r,u,true)),i.name=cn(r,i.name,true));let l=a.join("/");const c=await rl(i,l,t);ft(c),Q({title:"复制路径",text:`已复制选中路径,复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Ek(){return new as({injectDecider:oh,key:"_open_in_new_tab",label:"新标签页",icon:"",title:"在新标签页打开",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=$i(t);if(!n)return;const o=Bn(n.id);window.open(o,"_blank","noopener noreferrer");}})}async function ud(e){q.fire({title:"查找重复文件",html:`正在查找文件:${e.name},请稍候...`,icon:"info",showConfirmButton:false,allowOutsideClick:false}),q.showLoading();try{const t=await vk(e.id);t.state?t.data.length>1?(q.update({html:"查找成功,将打开结果页面",icon:"success",showConfirmButton:!0}),Jr(xk(e.id),{active:!0}),Et(5e3).then(()=>{q.close();})):q.update({html:"没有重复文件",icon:"warning",showConfirmButton:!0}):q.update({html:`查找失败!${t.code} - ${t.message}`,icon:"error",showConfirmButton:!0});}catch(t){q.update({html:`查找失败!${t.message}`,icon:"error",showConfirmButton:true});}finally{q.hideLoading();}}async function Ak(e){return new as({injectDecider:hb,key:"_lh_find_repeat",label:"重复文件",icon:"",title:"查找重复文件,找到后会在新标签页中打开处理页面",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=$i(n);o&&await ud(o);}})}async function Pk(e){return new as({injectDecider:oh,key:"_lh_flatten_subfolders",label:"解散子目录",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=$i(n);if(o){if(!o.isDir){Q({text:"请先选择一个目录",icon:"error"});return}await al([o]);}}})}function Ik(e){return {enabled:true,openInNewTab:true,search:true,play:true,getDownloadUrl:true,copyNames:true,namePathConfig:or(),flattenSubfolders:false,findRepeat:false,exportList:false,viewInCloudDrive:true,...e}}class as extends yn{menuType=Pe.listItemHover;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class ls extends yn{menuType=Pe.listItemHoverSub}class Dk extends nr{menuType=Pe.listItemHover;useObserver=true;observeTarget="#js_data_list";disposeObserverAfterInjection=false;constructor(t){super(t),this.handleLoadAll();}async inject(){const t=document.querySelector("#js_data_list");if(t){const n=t.querySelectorAll(".list-contents > ul:not([ce-done]) > li .file-opr");n.length&&await this.perform(Array.from(n));}super.inject();}async handleLoadAll(){if(window.top===window.self)return;const t=document.querySelector("#js_pagination_box");if(!t){console.warn("[ListItemHoverMenuInjector.handleLoadAll] 未找到「#js_pagination_box」元素");return}function n(o){const i=document.querySelector("#js_data_list .list-contents > ul > li");i&&(i.querySelector(".ce-menu")||o(true));}t.addEventListener("click",async o=>{o.preventDefault(),o.stopPropagation();const i=o.target;let s=false;if((i.getAttribute("menu")==="load_all_file"||i.closest('[menu="load_all_file"]'))&&(s=true),!s)return;console.log("[ListItemHoverMenuInjector.handleLoadAll] 点击了「加载全部」按钮"),await Wo(n,500,3e5),document.querySelector("#js_data_list .list-contents > ul")?.removeAttribute("ce-done");const a=document.querySelector("#js_data_list");if(a){const l=".list-contents > ul:not([ce-done]) > li .file-opr";if(!document.querySelector(l)){const u=await ut();await Hg(u);}const c=a.querySelectorAll(l);c.length&&await this.perform(Array.from(c));}});}async perform(t){await super.perform(t),document.querySelector("#js_data_list .list-contents > ul")?.setAttribute("ce-done","");}}var Bu=(e=>(e.background="background",e.active="active",e.undefined="undefined",e))(Bu||{});const Tk={background:"后台打开",active:"激活页面",undefined:"根据菜单定义"};function Lk(e){return {enabled:true,moveToSelfNameDir:true,flattenSubfolders:true,openInNewTab:true,openParent:true,copyNames:true,namePathConfig:or(),play:true,search:false,searchOpenType:"background",...e}}class ll extends yn{menuType=Pe.selection;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class ro extends yn{menuType=Pe.selectionSub}class Mk extends pb{}class Bk extends nr{menuType=Pe.selection;useObserver=true;observeTarget="#js_top_panel_box #js_operate_box";disposeObserverAfterInjection=false}function Vg(e){return {enabled:false,search:true,copyNames:true,namePathConfig:or({copyWinPath:false,copyUnixPath:false,copyParentUnixPath:false,copyParentWinPath:false,viewInCloudDrive:false}),...e}}class qg extends yn{menuType=Pe.shareListItemHover;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class cd extends yn{menuType=Pe.shareListItemHoverSub}class Ok extends nr{menuType=Pe.shareListItemHover;useObserver=true;observeTarget="#js-list";disposeObserverAfterInjection=false;async inject(){const t=document.querySelector("#js-list");if(t){const n=t.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr");n.length&&await this.perform(Array.from(n));}super.inject();}}var Pe=(e=>(e.listItemHover="listItemHover",e.listItemHoverSub="listItemHoverSub",e.listItemContext="listItemContext",e.listItemContextSub="listItemContextSub",e.selection="selection",e.selectionSub="selectionSub",e.dirContext="dirContext",e.dirContextSub="dirContextSub",e.shareListItemHover="shareListItemHover",e.shareListItemHoverSub="shareListItemHoverSub",e))(Pe||{}),wi=(e=>(e.listItemHover="列表项悬浮菜单",e.listItemHoverSub="列表项悬浮子菜单",e.listItemContext="列表项右键菜单",e.listItemContextSub="列表项右键子菜单",e.selection="选中项菜单",e.selectionSub="选中项子菜单",e.dirContext="当前目录右键菜单",e.dirContextSub="当前目录右键子菜单",e.shareListItemHover="分享列表项悬浮菜单",e.shareListItemHoverSub="分享列表项悬浮子菜单",e))(wi||{}),vo=(e=>(e[e.after=0]="after",e[e.before=1]="before",e))(vo||{}),Jn=(e=>(e.none="none",e.alt="alt",e.ctrl="ctrl",e.shift="shift",e.meta="meta",e))(Jn||{});const Wg=gt.menu;function Rk(e){return {enabled:true,hideSelectionMenuLabel:false,enableInSearch:true,manageOfficialMenus:false,keyToTriggerManual:"none",auxClickTriggerManual:false,injectManualFuncPosition:vm.first,m3u8TempDir:".ce-m3u8-temp",defaultPlayer:gx,defaultSearch:dr,cloudDriveFormalization:false,listItemHover:Ik(e?.listItemHover),listItemContext:yb(e?.listItemContext),selection:Lk(e?.selection),dirContext:gb(e?.dirContext),shareListItemHover:Vg(e?.shareListItemHover),...e}}async function ut(){const e=Rk(),t=await Qe.get(Wg,e);return Pc(e,t)}async function ya(e){await Qe.set(Wg,e);}const Fk=["top","right","bottom","left"],Of=["start","end"],Rf=Fk.reduce((e,t)=>e.concat(t,t+"-"+Of[0],t+"-"+Of[1]),[]),Vs=Math.min,ti=Math.max,Nk={left:"right",right:"left",bottom:"top",top:"bottom"},Uk={start:"end",end:"start"};function Ou(e,t,n){return ti(e,Vs(t,n))}function Ei(e,t){return typeof e=="function"?e(t):e}function ao(e){return e.split("-")[0]}function Fn(e){return e.split("-")[1]}function Kg(e){return e==="x"?"y":"x"}function dd(e){return e==="y"?"height":"width"}const jk=new Set(["top","bottom"]);function yo(e){return jk.has(ao(e))?"y":"x"}function fd(e){return Kg(yo(e))}function Gg(e,t,n){n===void 0&&(n=false);const o=Fn(e),i=fd(e),s=dd(i);let r=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=va(r)),[r,va(r)]}function zk(e){const t=va(e);return [ba(e),t,ba(t)]}function ba(e){return e.replace(/start|end/g,t=>Uk[t])}const Ff=["left","right"],Nf=["right","left"],Hk=["top","bottom"],Vk=["bottom","top"];function qk(e,t,n){switch(e){case "top":case "bottom":return n?t?Nf:Ff:t?Ff:Nf;case "left":case "right":return t?Hk:Vk;default:return []}}function Wk(e,t,n,o){const i=Fn(e);let s=qk(ao(e),n==="start",o);return i&&(s=s.map(r=>r+"-"+i),t&&(s=s.concat(s.map(ba)))),s}function va(e){return e.replace(/left|right|bottom|top/g,t=>Nk[t])}function Kk(e){return {top:0,right:0,bottom:0,left:0,...e}}function Jg(e){return typeof e!="number"?Kk(e):{top:e,right:e,bottom:e,left:e}}function Ds(e){const{x:t,y:n,width:o,height:i}=e;return {width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function Uf(e,t,n){let{reference:o,floating:i}=e;const s=yo(t),r=fd(t),a=dd(r),l=ao(t),c=s==="y",u=o.x+o.width/2-i.width/2,f=o.y+o.height/2-i.height/2,p=o[a]/2-i[a]/2;let g;switch(l){case "top":g={x:u,y:o.y-i.height};break;case "bottom":g={x:u,y:o.y+o.height};break;case "right":g={x:o.x+o.width,y:f};break;case "left":g={x:o.x-i.width,y:f};break;default:g={x:o.x,y:o.y};}switch(Fn(t)){case "start":g[r]-=p*(n&&c?-1:1);break;case "end":g[r]+=p*(n&&c?-1:1);break}return g}const Gk=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:s=[],platform:r}=n,a=s.filter(Boolean),l=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:f}=Uf(c,o,l),p=o,g={},m=0;for(let y=0;y<a.length;y++){const{name:x,fn:k}=a[y],{x:I,y:E,data:D,reset:B}=await k({x:u,y:f,initialPlacement:o,placement:p,strategy:i,middlewareData:g,rects:c,platform:r,elements:{reference:e,floating:t}});u=I??u,f=E??f,g={...g,[x]:{...g[x],...D}},B&&m<=50&&(m++,typeof B=="object"&&(B.placement&&(p=B.placement),B.rects&&(c=B.rects===true?await r.getElementRects({reference:e,floating:t,strategy:i}):B.rects),{x:u,y:f}=Uf(c,p,l)),y=-1);}return {x:u,y:f,placement:p,strategy:i,middlewareData:g}};async function ul(e,t){var n;t===void 0&&(t={});const{x:o,y:i,platform:s,rects:r,elements:a,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:p=false,padding:g=0}=Ei(t,e),m=Jg(g),x=a[p?f==="floating"?"reference":"floating":f],k=Ds(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(x)))==null||n?x:x.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),I=f==="floating"?{x:o,y:i,width:r.floating.width,height:r.floating.height}:r.reference,E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),D=await(s.isElement==null?void 0:s.isElement(E))?await(s.getScale==null?void 0:s.getScale(E))||{x:1,y:1}:{x:1,y:1},B=Ds(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:I,offsetParent:E,strategy:l}):I);return {top:(k.top-B.top+m.top)/D.y,bottom:(B.bottom-k.bottom+m.bottom)/D.y,left:(k.left-B.left+m.left)/D.x,right:(B.right-k.right+m.right)/D.x}}const Jk=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:s,platform:r,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=Ei(e,t)||{};if(c==null)return {};const f=Jg(u),p={x:n,y:o},g=fd(i),m=dd(g),y=await r.getDimensions(c),x=g==="y",k=x?"top":"left",I=x?"bottom":"right",E=x?"clientHeight":"clientWidth",D=s.reference[m]+s.reference[g]-p[g]-s.floating[m],B=p[g]-s.reference[g],H=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c));let j=H?H[E]:0;(!j||!await(r.isElement==null?void 0:r.isElement(H)))&&(j=a.floating[E]||s.floating[m]);const ae=D/2-B/2,fe=j/2-y[m]/2-1,se=Vs(f[k],fe),O=Vs(f[I],fe),R=se,G=j-y[m]-O,ce=j/2-y[m]/2+ae,ye=Ou(R,ce,G),Ce=!l.arrow&&Fn(i)!=null&&ce!==ye&&s.reference[m]/2-(ce<R?se:O)-y[m]/2<0,_e=Ce?ce<R?ce-R:ce-G:0;return {[g]:p[g]+_e,data:{[g]:ye,centerOffset:ce-ye-_e,...Ce&&{alignmentOffset:_e}},reset:Ce}}});function Yk(e,t,n){return (e?[...n.filter(i=>Fn(i)===e),...n.filter(i=>Fn(i)!==e)]:n.filter(i=>ao(i)===i)).filter(i=>e?Fn(i)===e||(t?ba(i)!==i:false):true)}const Qk=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,o,i;const{rects:s,middlewareData:r,placement:a,platform:l,elements:c}=t,{crossAxis:u=false,alignment:f,allowedPlacements:p=Rf,autoAlignment:g=true,...m}=Ei(e,t),y=f!==void 0||p===Rf?Yk(f||null,g,p):p,x=await ul(t,m),k=((n=r.autoPlacement)==null?void 0:n.index)||0,I=y[k];if(I==null)return {};const E=Gg(I,s,await(l.isRTL==null?void 0:l.isRTL(c.floating)));if(a!==I)return {reset:{placement:y[0]}};const D=[x[ao(I)],x[E[0]],x[E[1]]],B=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:I,overflows:D}],H=y[k+1];if(H)return {data:{index:k+1,overflows:B},reset:{placement:H}};const j=B.map(se=>{const O=Fn(se.placement);return [se.placement,O&&u?se.overflows.slice(0,2).reduce((R,G)=>R+G,0):se.overflows[0],se.overflows]}).sort((se,O)=>se[1]-O[1]),fe=((i=j.filter(se=>se[2].slice(0,Fn(se[0])?2:3).every(O=>O<=0))[0])==null?void 0:i[0])||j[0][0];return fe!==a?{data:{index:k+1,overflows:B},reset:{placement:fe}}:{}}}},Xk=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:i,middlewareData:s,rects:r,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=true,crossAxis:f=true,fallbackPlacements:p,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:y=true,...x}=Ei(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return {};const k=ao(i),I=yo(a),E=ao(a)===a,D=await(l.isRTL==null?void 0:l.isRTL(c.floating)),B=p||(E||!y?[va(a)]:zk(a)),H=m!=="none";!p&&H&&B.push(...Wk(a,y,m,D));const j=[a,...B],ae=await ul(t,x),fe=[];let se=((o=s.flip)==null?void 0:o.overflows)||[];if(u&&fe.push(ae[k]),f){const ce=Gg(i,r,D);fe.push(ae[ce[0]],ae[ce[1]]);}if(se=[...se,{placement:i,overflows:fe}],!fe.every(ce=>ce<=0)){var O,R;const ce=(((O=s.flip)==null?void 0:O.index)||0)+1,ye=j[ce];if(ye&&(!(f==="alignment"?I!==yo(ye):false)||se.every(ke=>yo(ke.placement)===I?ke.overflows[0]>0:true)))return {data:{index:ce,overflows:se},reset:{placement:ye}};let Ce=(R=se.filter(_e=>_e.overflows[0]<=0).sort((_e,ke)=>_e.overflows[1]-ke.overflows[1])[0])==null?void 0:R.placement;if(!Ce)switch(g){case "bestFit":{var G;const _e=(G=se.filter(ke=>{if(H){const Fe=yo(ke.placement);return Fe===I||Fe==="y"}return true}).map(ke=>[ke.placement,ke.overflows.filter(Fe=>Fe>0).reduce((Fe,dt)=>Fe+dt,0)]).sort((ke,Fe)=>ke[1]-Fe[1])[0])==null?void 0:G[0];_e&&(Ce=_e);break}case "initialPlacement":Ce=a;break}if(i!==Ce)return {reset:{placement:Ce}}}return {}}}},Zk=new Set(["left","top"]);async function e2(e,t){const{placement:n,platform:o,elements:i}=e,s=await(o.isRTL==null?void 0:o.isRTL(i.floating)),r=ao(n),a=Fn(n),l=yo(n)==="y",c=Zk.has(r)?-1:1,u=s&&l?-1:1,f=Ei(t,e);let{mainAxis:p,crossAxis:g,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof m=="number"&&(g=a==="end"?m*-1:m),l?{x:g*u,y:p*c}:{x:p*c,y:g*u}}const t2=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:i,y:s,placement:r,middlewareData:a}=t,l=await e2(t,e);return r===((n=a.offset)==null?void 0:n.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:i+l.x,y:s+l.y,data:{...l,placement:r}}}}},n2=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:s=true,crossAxis:r=false,limiter:a={fn:x=>{let{x:k,y:I}=x;return {x:k,y:I}}},...l}=Ei(e,t),c={x:n,y:o},u=await ul(t,l),f=yo(ao(i)),p=Kg(f);let g=c[p],m=c[f];if(s){const x=p==="y"?"top":"left",k=p==="y"?"bottom":"right",I=g+u[x],E=g-u[k];g=Ou(I,g,E);}if(r){const x=f==="y"?"top":"left",k=f==="y"?"bottom":"right",I=m+u[x],E=m-u[k];m=Ou(I,m,E);}const y=a.fn({...t,[p]:g,[f]:m});return {...y,data:{x:y.x-n,y:y.y-o,enabled:{[p]:s,[f]:r}}}}}},o2=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:i,rects:s,platform:r,elements:a}=t,{apply:l=()=>{},...c}=Ei(e,t),u=await ul(t,c),f=ao(i),p=Fn(i),g=yo(i)==="y",{width:m,height:y}=s.floating;let x,k;f==="top"||f==="bottom"?(x=f,k=p===(await(r.isRTL==null?void 0:r.isRTL(a.floating))?"start":"end")?"left":"right"):(k=f,x=p==="end"?"top":"bottom");const I=y-u.top-u.bottom,E=m-u.left-u.right,D=Vs(y-u[x],I),B=Vs(m-u[k],E),H=!t.middlewareData.shift;let j=D,ae=B;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(ae=E),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(j=I),H&&!p){const se=ti(u.left,0),O=ti(u.right,0),R=ti(u.top,0),G=ti(u.bottom,0);g?ae=m-2*(se!==0||O!==0?se+O:ti(u.left,u.right)):j=y-2*(R!==0||G!==0?R+G:ti(u.top,u.bottom));}await l({...t,availableWidth:ae,availableHeight:j});const fe=await r.getDimensions(a.floating);return m!==fe.width||y!==fe.height?{reset:{rects:true}}:{}}}};function Sn(e){var t;return ((t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Zn(e){return Sn(e).getComputedStyle(e)}const jf=Math.min,Ts=Math.max,xa=Math.round;function Yg(e){const t=Zn(e);let n=parseFloat(t.width),o=parseFloat(t.height);const i=e.offsetWidth,s=e.offsetHeight,r=xa(n)!==i||xa(o)!==s;return r&&(n=i,o=s),{width:n,height:o,fallback:r}}function qo(e){return Xg(e)?(e.nodeName||"").toLowerCase():""}let Mr;function Qg(){if(Mr)return Mr;const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?(Mr=e.brands.map((t=>t.brand+"/"+t.version)).join(" "),Mr):navigator.userAgent}function eo(e){return e instanceof Sn(e).HTMLElement}function No(e){return e instanceof Sn(e).Element}function Xg(e){return e instanceof Sn(e).Node}function zf(e){return typeof ShadowRoot>"u"?false:e instanceof Sn(e).ShadowRoot||e instanceof ShadowRoot}function cl(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=Zn(e);return /auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(i)}function i2(e){return ["table","td","th"].includes(qo(e))}function Ru(e){const t=/firefox/i.test(Qg()),n=Zn(e),o=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!=="none"||n.perspective!=="none"||!!o&&o!=="none"||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"||["transform","perspective"].some((i=>n.willChange.includes(i)))||["paint","layout","strict","content"].some((i=>{const s=n.contain;return s!=null&&s.includes(i)}))}function Zg(){return !/^((?!chrome|android).)*safari/i.test(Qg())}function pd(e){return ["html","body","#document"].includes(qo(e))}function ew(e){return No(e)?e:e.contextElement}const tw={x:1,y:1};function qi(e){const t=ew(e);if(!eo(t))return tw;const n=t.getBoundingClientRect(),{width:o,height:i,fallback:s}=Yg(t);let r=(s?xa(n.width):n.width)/o,a=(s?xa(n.height):n.height)/i;return r&&Number.isFinite(r)||(r=1),a&&Number.isFinite(a)||(a=1),{x:r,y:a}}function qs(e,t,n,o){var i,s;t===void 0&&(t=false),n===void 0&&(n=false);const r=e.getBoundingClientRect(),a=ew(e);let l=tw;t&&(o?No(o)&&(l=qi(o)):l=qi(e));const c=a?Sn(a):window,u=!Zg()&&n;let f=(r.left+(u&&((i=c.visualViewport)==null?void 0:i.offsetLeft)||0))/l.x,p=(r.top+(u&&((s=c.visualViewport)==null?void 0:s.offsetTop)||0))/l.y,g=r.width/l.x,m=r.height/l.y;if(a){const y=Sn(a),x=o&&No(o)?Sn(o):o;let k=y.frameElement;for(;k&&o&&x!==y;){const I=qi(k),E=k.getBoundingClientRect(),D=getComputedStyle(k);E.x+=(k.clientLeft+parseFloat(D.paddingLeft))*I.x,E.y+=(k.clientTop+parseFloat(D.paddingTop))*I.y,f*=I.x,p*=I.y,g*=I.x,m*=I.y,f+=E.x,p+=E.y,k=Sn(k).frameElement;}}return {width:g,height:m,top:p,right:f+g,bottom:p+m,left:f,x:f,y:p}}function Uo(e){return ((Xg(e)?e.ownerDocument:e.document)||window.document).documentElement}function dl(e){return No(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function nw(e){return qs(Uo(e)).left+dl(e).scrollLeft}function Ws(e){if(qo(e)==="html")return e;const t=e.assignedSlot||e.parentNode||zf(e)&&e.host||Uo(e);return zf(t)?t.host:t}function ow(e){const t=Ws(e);return pd(t)?t.ownerDocument.body:eo(t)&&cl(t)?t:ow(t)}function _a(e,t){var n;t===void 0&&(t=[]);const o=ow(e),i=o===((n=e.ownerDocument)==null?void 0:n.body),s=Sn(o);return i?t.concat(s,s.visualViewport||[],cl(o)?o:[]):t.concat(o,_a(o))}function Hf(e,t,n){return t==="viewport"?Ds((function(o,i){const s=Sn(o),r=Uo(o),a=s.visualViewport;let l=r.clientWidth,c=r.clientHeight,u=0,f=0;if(a){l=a.width,c=a.height;const p=Zg();(p||!p&&i==="fixed")&&(u=a.offsetLeft,f=a.offsetTop);}return {width:l,height:c,x:u,y:f}})(e,n)):No(t)?Ds((function(o,i){const s=qs(o,true,i==="fixed"),r=s.top+o.clientTop,a=s.left+o.clientLeft,l=eo(o)?qi(o):{x:1,y:1};return {width:o.clientWidth*l.x,height:o.clientHeight*l.y,x:a*l.x,y:r*l.y}})(t,n)):Ds((function(o){const i=Uo(o),s=dl(o),r=o.ownerDocument.body,a=Ts(i.scrollWidth,i.clientWidth,r.scrollWidth,r.clientWidth),l=Ts(i.scrollHeight,i.clientHeight,r.scrollHeight,r.clientHeight);let c=-s.scrollLeft+nw(o);const u=-s.scrollTop;return Zn(r).direction==="rtl"&&(c+=Ts(i.clientWidth,r.clientWidth)-a),{width:a,height:l,x:c,y:u}})(Uo(e)))}function Vf(e){return eo(e)&&Zn(e).position!=="fixed"?e.offsetParent:null}function qf(e){const t=Sn(e);let n=Vf(e);for(;n&&i2(n)&&Zn(n).position==="static";)n=Vf(n);return n&&(qo(n)==="html"||qo(n)==="body"&&Zn(n).position==="static"&&!Ru(n))?t:n||(function(o){let i=Ws(o);for(;eo(i)&&!pd(i);){if(Ru(i))return i;i=Ws(i);}return null})(e)||t}function s2(e,t,n){const o=eo(t),i=Uo(t),s=qs(e,true,n==="fixed",t);let r={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(o||!o&&n!=="fixed")if((qo(t)!=="body"||cl(i))&&(r=dl(t)),eo(t)){const l=qs(t,true);a.x=l.x+t.clientLeft,a.y=l.y+t.clientTop;}else i&&(a.x=nw(i));return {x:s.left+r.scrollLeft-a.x,y:s.top+r.scrollTop-a.y,width:s.width,height:s.height}}const r2={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const s=n==="clippingAncestors"?(function(c,u){const f=u.get(c);if(f)return f;let p=_a(c).filter((x=>No(x)&&qo(x)!=="body")),g=null;const m=Zn(c).position==="fixed";let y=m?Ws(c):c;for(;No(y)&&!pd(y);){const x=Zn(y),k=Ru(y);(m?k||g:k||x.position!=="static"||!g||!["absolute","fixed"].includes(g.position))?g=x:p=p.filter((I=>I!==y)),y=Ws(y);}return u.set(c,p),p})(t,this._c):[].concat(n),r=[...s,o],a=r[0],l=r.reduce(((c,u)=>{const f=Hf(t,u,i);return c.top=Ts(f.top,c.top),c.right=jf(f.right,c.right),c.bottom=jf(f.bottom,c.bottom),c.left=Ts(f.left,c.left),c}),Hf(t,a,i));return {width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:o}=e;const i=eo(n),s=Uo(n);if(n===s)return t;let r={scrollLeft:0,scrollTop:0},a={x:1,y:1};const l={x:0,y:0};if((i||!i&&o!=="fixed")&&((qo(n)!=="body"||cl(s))&&(r=dl(n)),eo(n))){const c=qs(n);a=qi(n),l.x=c.x+n.clientLeft,l.y=c.y+n.clientTop;}return {width:t.width*a.x,height:t.height*a.y,x:t.x*a.x-r.scrollLeft*a.x+l.x,y:t.y*a.y-r.scrollTop*a.y+l.y}},isElement:No,getDimensions:function(e){return eo(e)?Yg(e):e.getBoundingClientRect()},getOffsetParent:qf,getDocumentElement:Uo,getScale:qi,async getElementRects(e){let{reference:t,floating:n,strategy:o}=e;const i=this.getOffsetParent||qf,s=this.getDimensions;return {reference:s2(t,await i(n),o),floating:{x:0,y:0,...await s(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>Zn(e).direction==="rtl"},a2=(e,t,n)=>{const o=new Map,i={platform:r2,...n},s={...i.platform,_c:o};return Gk(e,t,{...i,platform:s})},li={disabled:false,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:false,disposeTimeout:150,popperTriggers:[],strategy:"absolute",preventOverflow:true,flip:true,shift:true,overflowPadding:0,arrowPadding:0,arrowOverflow:true,autoHideOnMousedown:false,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:e=>[...e,"click"],delay:{show:200,hide:0},handleResize:false,html:false,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:true,autoHide:true},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover"],delay:{show:0,hide:400}}}};function Ks(e,t){let n=li.themes[e]||{},o;do o=n[t],typeof o>"u"?n.$extend?n=li.themes[n.$extend]||{}:(n=null,o=li[t]):n=null;while(n);return o}function l2(e){const t=[e];let n=li.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=li.themes[n.$extend]||{}):n=null;while(n);return t.map(o=>`v-popper--theme-${o}`)}function Wf(e){const t=[e];let n=li.themes[e]||{};do n.$extend?(t.push(n.$extend),n=li.themes[n.$extend]||{}):n=null;while(n);return t}let Gs=false;if(typeof window<"u"){Gs=false;try{const e=Object.defineProperty({},"passive",{get(){Gs=!0;}});window.addEventListener("test",null,e);}catch{}}let iw=false;typeof window<"u"&&typeof navigator<"u"&&(iw=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const sw=["auto","top","bottom","left","right"].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),Kf={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart",pointer:"pointerdown"},Gf={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend",pointer:"pointerup"};function Jf(e,t){const n=e.indexOf(t);n!==-1&&e.splice(n,1);}function Jl(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e);}))}const Tn=[];let Zo=null;const Yf={};function Qf(e){let t=Yf[e];return t||(t=Yf[e]=[]),t}let Fu=function(){};typeof window<"u"&&(Fu=window.Element);function Ve(e){return function(t){return Ks(t.theme,e)}}const Yl="__floating-vue__popper",rw=()=>xe({name:"VPopper",provide(){return {[Yl]:{parentPopper:this}}},inject:{[Yl]:{default:null}},props:{theme:{type:String,required:true},targetNodes:{type:Function,required:true},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:true},shown:{type:Boolean,default:false},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Ve("disabled")},positioningDisabled:{type:Boolean,default:Ve("positioningDisabled")},placement:{type:String,default:Ve("placement"),validator:e=>sw.includes(e)},delay:{type:[String,Number,Object],default:Ve("delay")},distance:{type:[Number,String],default:Ve("distance")},skidding:{type:[Number,String],default:Ve("skidding")},triggers:{type:Array,default:Ve("triggers")},showTriggers:{type:[Array,Function],default:Ve("showTriggers")},hideTriggers:{type:[Array,Function],default:Ve("hideTriggers")},popperTriggers:{type:Array,default:Ve("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:Ve("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:Ve("popperHideTriggers")},container:{type:[String,Object,Fu,Boolean],default:Ve("container")},boundary:{type:[String,Fu],default:Ve("boundary")},strategy:{type:String,validator:e=>["absolute","fixed"].includes(e),default:Ve("strategy")},autoHide:{type:[Boolean,Function],default:Ve("autoHide")},handleResize:{type:Boolean,default:Ve("handleResize")},instantMove:{type:Boolean,default:Ve("instantMove")},eagerMount:{type:Boolean,default:Ve("eagerMount")},popperClass:{type:[String,Array,Object],default:Ve("popperClass")},computeTransformOrigin:{type:Boolean,default:Ve("computeTransformOrigin")},autoMinSize:{type:Boolean,default:Ve("autoMinSize")},autoSize:{type:[Boolean,String],default:Ve("autoSize")},autoMaxSize:{type:Boolean,default:Ve("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:Ve("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:Ve("preventOverflow")},overflowPadding:{type:[Number,String],default:Ve("overflowPadding")},arrowPadding:{type:[Number,String],default:Ve("arrowPadding")},arrowOverflow:{type:Boolean,default:Ve("arrowOverflow")},flip:{type:Boolean,default:Ve("flip")},shift:{type:Boolean,default:Ve("shift")},shiftCrossAxis:{type:Boolean,default:Ve("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:Ve("noAutoFocus")},disposeTimeout:{type:Number,default:Ve("disposeTimeout")}},emits:{show:()=>true,hide:()=>true,"update:shown":e=>true,"apply-show":()=>true,"apply-hide":()=>true,"close-group":()=>true,"close-directive":()=>true,"auto-hide":()=>true,resize:()=>true},data(){return {isShown:false,isMounted:false,skipTransition:false,classes:{showFrom:false,showTo:false,hideFrom:false,hideTo:true},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join("_")}`,shownChildren:new Set,lastAutoHide:true,pendingHide:false,containsGlobalTarget:false,isDisposed:true,mouseDownContains:false}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return {popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){var e;return (e=this[Yl])==null?void 0:e.parentPopper},hasPopperShowTriggerHover(){var e,t;return ((e=this.popperTriggers)==null?void 0:e.includes("hover"))||((t=this.popperShowTriggers)==null?void 0:t.includes("hover"))}},watch:{shown:"$_autoShowHide",disabled(e){e?this.dispose():this.init();},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition());},triggers:{handler:"$_refreshListeners",deep:true},positioningDisabled:"$_refreshListeners",...["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((e,t)=>(e[t]="$_computePosition",e),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.");},mounted(){this.init(),this.$_detachPopperNode();},activated(){this.$_autoShowHide();},deactivated(){this.hide();},beforeUnmount(){this.dispose();},methods:{show({event:e=null,skipDelay:t=false,force:n=false}={}){var o,i;(o=this.parentPopper)!=null&&o.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=false,(n||!this.disabled)&&(((i=this.parentPopper)==null?void 0:i.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit("show"),this.$_showFrameLocked=true,requestAnimationFrame(()=>{this.$_showFrameLocked=false;})),this.$emit("update:shown",true));},hide({event:e=null,skipDelay:t=false}={}){var n;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=true;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null);},1e3));return}((n=this.parentPopper)==null?void 0:n.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.pendingHide=false,this.$_scheduleHide(e,t),this.$emit("hide"),this.$emit("update:shown",false);}},init(){var e;this.isDisposed&&(this.isDisposed=false,this.isMounted=false,this.$_events=[],this.$_preventShow=false,this.$_referenceNode=((e=this.referenceNode)==null?void 0:e.call(this))??this.$el,this.$_targetNodes=this.targetNodes().filter(t=>t.nodeType===t.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show());},dispose(){this.isDisposed||(this.isDisposed=true,this.$_removeEventListeners(),this.hide({skipDelay:true}),this.$_detachPopperNode(),this.isMounted=false,this.isShown=false,this.$_updateParentShownChildren(false),this.$_swapTargetAttrs("data-original-title","title"));},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"));},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(t2({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");if(t?e.middleware.push(Qk({alignment:this.placement.split("-")[1]??""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(n2({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(Xk({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(Jk({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:o,rects:i,middlewareData:s})=>{let r;const{centerOffset:a}=s.arrow;return o.startsWith("top")||o.startsWith("bottom")?r=Math.abs(a)>i.reference.width/2:r=Math.abs(a)>i.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){const o=this.autoSize?this.autoSize:this.autoMinSize?"min":null;e.middleware.push({name:"autoSize",fn:({rects:i,placement:s,middlewareData:r})=>{var a;if((a=r.autoSize)!=null&&a.skip)return {};let l,c;return s.startsWith("top")||s.startsWith("bottom")?l=i.reference.width:c=i.reference.height,this.$_innerNode.style[o==="min"?"minWidth":o==="max"?"maxWidth":"width"]=l!=null?`${l}px`:null,this.$_innerNode.style[o==="min"?"minHeight":o==="max"?"maxHeight":"height"]=c!=null?`${c}px`:null,{data:{skip:true},reset:{rects:true}}}});}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(o2({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:o,availableHeight:i})=>{this.$_innerNode.style.maxWidth=o!=null?`${o}px`:null,this.$_innerNode.style.maxHeight=i!=null?`${i}px`:null;}})));const n=await a2(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}});},$_scheduleShow(e,t=false){if(this.$_updateParentShownChildren(true),this.$_hideInProgress=false,clearTimeout(this.$_scheduleTimer),Zo&&this.instantMove&&Zo.instantMove&&Zo!==this.parentPopper){Zo.$_applyHide(true),this.$_applyShow(true);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"));},$_scheduleHide(e,t=false){if(this.shownChildren.size>0){this.pendingHide=true;return}this.$_updateParentShownChildren(false),this.$_hideInProgress=true,clearTimeout(this.$_scheduleTimer),this.isShown&&(Zo=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"));},$_computeDelay(e){const t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=false){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Jl(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([..._a(this.$_referenceNode),..._a(this.$_popperNode)],"scroll",()=>{this.$_computePosition();}));},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),o=n.parentNode.getBoundingClientRect(),i=t.x+t.width/2-(o.left+n.offsetLeft),s=t.y+t.height/2-(o.top+n.offsetTop);this.result.transformOrigin=`${i}px ${s}px`;}this.isShown=true,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const e=this.showGroup;if(e){let t;for(let n=0;n<Tn.length;n++)t=Tn[n],t.showGroup!==e&&(t.hide(),t.$emit("close-group"));}Tn.push(this),document.body.classList.add("v-popper--some-open");for(const t of Wf(this.theme))Qf(t).push(this),document.body.classList.add(`v-popper--some-open--${t}`);this.$emit("apply-show"),this.classes.showFrom=true,this.classes.showTo=false,this.classes.hideFrom=false,this.classes.hideTo=false,await Jl(),this.classes.showFrom=false,this.classes.showTo=true,this.noAutoFocus||this.$_popperNode.focus();},async $_applyHide(e=false){if(this.shownChildren.size>0){this.pendingHide=true,this.$_hideInProgress=false;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,Jf(Tn,this),Tn.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of Wf(this.theme)){const o=Qf(n);Jf(o,this),o.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`);}Zo===this&&(Zo=null),this.isShown=false,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const t=this.disposeTimeout;t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=false);},t)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=false,this.classes.showTo=false,this.classes.hideFrom=true,this.classes.hideTo=false,await Jl(),this.classes.hideFrom=false,this.classes.hideTo=true;},$_autoShowHide(){this.shown?this.show():this.hide();},$_ensureTeleport(){if(this.isDisposed)return;let e=this.container;if(typeof e=="string"?e=window.document.querySelector(e):e===false&&(e=this.$_targetNodes[0].parentNode),!e)throw new Error("No container for popover: "+this.container);e.appendChild(this.$_popperNode),this.isMounted=true;},$_addEventListeners(){const e=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=true,!this.$_preventShow&&this.show({event:n}));};this.$_registerTriggerListeners(this.$_targetNodes,Kf,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Kf,this.popperTriggers,this.popperShowTriggers,e);const t=n=>{n.usedByTooltip||this.hide({event:n});};this.$_registerTriggerListeners(this.$_targetNodes,Gf,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],Gf,this.popperTriggers,this.popperHideTriggers,t);},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(o=>o.addEventListener(t,n,Gs?{passive:true}:void 0));},$_registerTriggerListeners(e,t,n,o,i){let s=n;o!=null&&(s=typeof o=="function"?o(s):o),s.forEach(r=>{const a=t[r];a&&this.$_registerEventListeners(e,a,i);});},$_removeEventListeners(e){const t=[];this.$_events.forEach(n=>{const{targetNodes:o,eventType:i,handler:s}=n;!e||e===i?o.forEach(r=>r.removeEventListener(i,s)):t.push(n);}),this.$_events=t;},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners());},$_handleGlobalClose(e,t=false){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),t&&(this.$_preventShow=true,setTimeout(()=>{this.$_preventShow=false;},300)));},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode);},$_swapTargetAttrs(e,t){for(const n of this.$_targetNodes){const o=n.getAttribute(e);o&&(n.removeAttribute(e),n.setAttribute(t,o));}},$_applyAttrsToTarget(e){for(const t of this.$_targetNodes)for(const n in e){const o=e[n];o==null?t.removeAttribute(n):t.setAttribute(n,o);}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.pendingHide&&t.hide()),t=t.parentPopper;},$_isAimingPopper(){const e=this.$_referenceNode.getBoundingClientRect();if(Ls>=e.left&&Ls<=e.right&&Ms>=e.top&&Ms<=e.bottom){const t=this.$_popperNode.getBoundingClientRect(),n=Ls-Eo,o=Ms-Ao,i=t.left+t.width/2-Eo+(t.top+t.height/2)-Ao+t.width+t.height,s=Eo+n*i,r=Ao+o*i;return Br(Eo,Ao,s,r,t.left,t.top,t.left,t.bottom)||Br(Eo,Ao,s,r,t.left,t.top,t.right,t.top)||Br(Eo,Ao,s,r,t.right,t.top,t.right,t.bottom)||Br(Eo,Ao,s,r,t.left,t.bottom,t.right,t.bottom)}return false}},render(){return this.$slots.default(this.slotData)}});if(typeof document<"u"&&typeof window<"u"){if(iw){const e=Gs?{passive:true,capture:true}:true;document.addEventListener("touchstart",t=>Xf(t),e),document.addEventListener("touchend",t=>Zf(t,true),e);}else window.addEventListener("mousedown",e=>Xf(e),true),window.addEventListener("click",e=>Zf(e,false),true);window.addEventListener("resize",d2);}function Xf(e,t){for(let n=0;n<Tn.length;n++){const o=Tn[n];try{o.mouseDownContains=o.popperNode().contains(e.target);}catch{}}}function Zf(e,t){u2(e,t);}function u2(e,t){const n={};for(let o=Tn.length-1;o>=0;o--){const i=Tn[o];try{const s=i.containsGlobalTarget=i.mouseDownContains||i.popperNode().contains(e.target);i.pendingHide=!1,requestAnimationFrame(()=>{if(i.pendingHide=!1,!n[i.randomId]&&ep(i,s,e)){if(i.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&s){let a=i.parentPopper;for(;a;)n[a.randomId]=!0,a=a.parentPopper;return}let r=i.parentPopper;for(;r&&ep(r,r.containsGlobalTarget,e);)r.$_handleGlobalClose(e,t),r=r.parentPopper;}});}catch{}}}function ep(e,t,n){return n.closeAllPopover||n.closePopover&&t||c2(e,n)&&!t}function c2(e,t){if(typeof e.autoHide=="function"){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function d2(){for(let e=0;e<Tn.length;e++)Tn[e].$_computePosition();}let Eo=0,Ao=0,Ls=0,Ms=0;typeof window<"u"&&window.addEventListener("mousemove",e=>{Eo=Ls,Ao=Ms,Ls=e.clientX,Ms=e.clientY;},Gs?{passive:true}:void 0);function Br(e,t,n,o,i,s,r,a){const l=((r-i)*(t-s)-(a-s)*(e-i))/((a-s)*(n-e)-(r-i)*(o-t)),c=((n-e)*(t-s)-(o-t)*(e-i))/((a-s)*(n-e)-(r-i)*(o-t));return l>=0&&l<=1&&c>=0&&c<=1}const f2={extends:rw()},fl=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n};function p2(e,t,n,o,i,s){return _(),A("div",{ref:"reference",class:De(["v-popper",{"v-popper--shown":e.slotData.isShown}])},[Ke(e.$slots,"default",Tx(Eg(e.slotData)))],2)}const h2=fl(f2,[["render",p2]]);function m2(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var o=e.indexOf("rv:");return parseInt(e.substring(o+3,e.indexOf(".",o)),10)}var i=e.indexOf("Edge/");return i>0?parseInt(e.substring(i+5,e.indexOf(".",i)),10):-1}let Vr;function Nu(){Nu.init||(Nu.init=true,Vr=m2()!==-1);}var pl={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:false},ignoreWidth:{type:Boolean,default:false},ignoreHeight:{type:Boolean,default:false}},emits:["notify"],mounted(){Nu(),mi(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize();});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",Vr&&this.$el.appendChild(e),e.data="about:blank",Vr||this.$el.appendChild(e);},beforeUnmount(){this.removeResizeHandlers();},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize());},emitSize(){this.$emit("notify",{width:this._w,height:this._h});},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify();},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!Vr&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null);}}};const g2=v_();y_("data-v-b329ee4c");const w2={class:"resize-observer",tabindex:"-1"};b_();const y2=g2((e,t,n,o,i,s)=>(_(),nt("div",w2)));pl.render=y2;pl.__scopeId="data-v-b329ee4c";pl.__file="src/components/ResizeObserver.vue";const aw=(e="theme")=>({computed:{themeClass(){return l2(this[e])}}}),b2=xe({name:"VPopperContent",components:{ResizeObserver:pl},mixins:[aw()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(e){return e!=null&&!isNaN(e)?`${e}px`:null}}}),v2=["id","aria-hidden","tabindex","data-popper-placement"],x2={ref:"inner",class:"v-popper__inner"},_2=d("div",{class:"v-popper__arrow-outer"},null,-1),C2=d("div",{class:"v-popper__arrow-inner"},null,-1),k2=[_2,C2];function S2(e,t,n,o,i,s){const r=Co("ResizeObserver");return _(),A("div",{id:e.popperId,ref:"popover",class:De(["v-popper__popper",[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}]]),style:Xn(e.result?{position:e.result.strategy,transform:`translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`}:void 0),"aria-hidden":e.shown?"false":"true",tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0,onKeyup:t[2]||(t[2]=Og(a=>e.autoHide&&e.$emit("hide"),["esc"]))},[d("div",{class:"v-popper__backdrop",onClick:t[0]||(t[0]=a=>e.autoHide&&e.$emit("hide"))}),d("div",{class:"v-popper__wrapper",style:Xn(e.result?{transformOrigin:e.result.transformOrigin}:void 0)},[d("div",x2,[e.mounted?(_(),A(Se,{key:0},[d("div",null,[Ke(e.$slots,"default")]),e.handleResize?(_(),nt(r,{key:0,onNotify:t[1]||(t[1]=a=>e.$emit("resize",a))})):de("",true)],64)):de("",true)],512),d("div",{ref:"arrow",class:"v-popper__arrow-container",style:Xn(e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0)},k2,4)],4)],46,v2)}const lw=fl(b2,[["render",S2]]),uw={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}};let Uu=function(){};typeof window<"u"&&(Uu=window.Element);const $2=xe({name:"VPopperWrapper",components:{Popper:h2,PopperContent:lw},mixins:[uw,aw("finalTheme")],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:false},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,Uu,Boolean],default:void 0},boundary:{type:[String,Uu],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>true,hide:()=>true,"update:shown":e=>true,"apply-show":()=>true,"apply-hide":()=>true,"close-group":()=>true,"close-directive":()=>true,"auto-hide":()=>true,resize:()=>true},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(e=>e!==this.$refs.popperContent.$el)}}});function E2(e,t,n,o,i,s){const r=Co("PopperContent"),a=Co("Popper");return _(),nt(a,rd({ref:"popper"},e.$props,{theme:e.finalTheme,"target-nodes":e.getTargetNodes,"popper-node":()=>e.$refs.popperContent.$el,class:[e.themeClass],onShow:t[0]||(t[0]=()=>e.$emit("show")),onHide:t[1]||(t[1]=()=>e.$emit("hide")),"onUpdate:shown":t[2]||(t[2]=l=>e.$emit("update:shown",l)),onApplyShow:t[3]||(t[3]=()=>e.$emit("apply-show")),onApplyHide:t[4]||(t[4]=()=>e.$emit("apply-hide")),onCloseGroup:t[5]||(t[5]=()=>e.$emit("close-group")),onCloseDirective:t[6]||(t[6]=()=>e.$emit("close-directive")),onAutoHide:t[7]||(t[7]=()=>e.$emit("auto-hide")),onResize:t[8]||(t[8]=()=>e.$emit("resize"))}),{default:me(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,show:g,hide:m,handleResize:y,onResize:x,classes:k,result:I})=>[Ke(e.$slots,"default",{shown:c,show:g,hide:m}),re(r,{ref:"popperContent","popper-id":l,theme:e.finalTheme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":y,classes:k,result:I,onHide:m,onResize:x},{default:me(()=>[Ke(e.$slots,"popper",{shown:c,hide:m})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:3},16,["theme","target-nodes","popper-node","class"])}const hd=fl($2,[["render",E2]]),A2={...hd,name:"VDropdown",vPopperTheme:"dropdown"};({...hd});({...hd});const P2=xe({name:"VTooltipDirective",components:{Popper:rw(),PopperContent:lw},mixins:[uw],inheritAttrs:false,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:e=>Ks(e.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>Ks(e.theme,"loadingContent")},targetNodes:{type:Function,required:true}},data(){return {asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(true);},immediate:true},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize();}},created(){this.$_fetchId=0;},methods:{fetchContent(e){if(typeof this.content=="function"&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=true;const t=++this.$_fetchId,n=this.content(this);n.then?n.then(o=>this.onResult(t,o)):this.onResult(t,n);}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=false,this.asyncContent=t);},onShow(){this.$_isShown=true,this.fetchContent();},onHide(){this.$_isShown=false;}}}),I2=["innerHTML"],D2=["textContent"];function T2(e,t,n,o,i,s){const r=Co("PopperContent"),a=Co("Popper");return _(),nt(a,rd({ref:"popper"},e.$attrs,{theme:e.theme,"target-nodes":e.targetNodes,"popper-node":()=>e.$refs.popperContent.$el,onApplyShow:e.onShow,onApplyHide:e.onHide}),{default:me(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,hide:g,handleResize:m,onResize:y,classes:x,result:k})=>[re(r,{ref:"popperContent",class:De({"v-popper--tooltip-loading":e.loading}),"popper-id":l,theme:e.theme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":m,classes:x,result:k,onHide:g,onResize:y},{default:me(()=>[e.html?(_(),A("div",{key:0,innerHTML:e.finalContent},null,8,I2)):(_(),A("div",{key:1,textContent:U(e.finalContent)},null,8,D2))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","target-nodes","popper-node","onApplyShow","onApplyHide"])}const L2=fl(P2,[["render",T2]]),cw="v-popper--has-tooltip";function M2(e,t){let n=e.placement;if(!n&&t)for(const o of sw)t[o]&&(n=o);return n||(n=Ks(e.theme||"tooltip","placement")),n}function dw(e,t,n){let o;const i=typeof t;return i==="string"?o={content:t}:t&&i==="object"?o=t:o={content:false},o.placement=M2(o,n),o.targetNodes=()=>[e],o.referenceNode=()=>e,o}let Ql,Js,B2=0;function O2(){if(Ql)return;Js=K([]),Ql=uo({name:"VTooltipDirectiveApp",setup(){return {directives:Js}},render(){return this.directives.map(t=>SC(L2,{...t.options,shown:t.shown||t.options.shown,key:t.id}))},devtools:{hide:true}});const e=document.createElement("div");document.body.appendChild(e),Ql.mount(e);}function R2(e,t,n){O2();const o=K(dw(e,t,n)),i=K(false),s={id:B2++,options:o,shown:i};return Js.value.push(s),e.classList&&e.classList.add(cw),e.$_popper={options:o,item:s,show(){i.value=true;},hide(){i.value=false;}}}function fw(e){if(e.$_popper){const t=Js.value.indexOf(e.$_popper.item);t!==-1&&Js.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget;}e.classList&&e.classList.remove(cw);}function tp(e,{value:t,modifiers:n}){const o=dw(e,t,n);if(!o.content||Ks(o.theme||"tooltip","disabled"))fw(e);else {let i;e.$_popper?(i=e.$_popper,i.options.value=o):i=R2(e,t,n),typeof t.shown<"u"&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?i.show():i.hide());}}const F2={beforeMount:tp,updated:tp,beforeUnmount(e){fw(e);}},md=F2,Ai=A2,N2={key:0,class:"ce-custom-url-help"},U2={class:"ce-custom-url-help-body"},j2={key:0},z2={class:"pure-table pure-table-bordered"},H2=["onClick"],V2=xe({__name:"CustomUrlHelp",setup(e){const t=K(sx),n=K(false);Ht(async()=>{window.addEventListener("message",i=>{const{event:s}=i.data;s==="customUrlHelp"&&(n.value=true);},false);});async function o(i){ft(i.key),Q({text:"已复制到剪贴板",icon:"success",timer:1e3});}return (i,s)=>n.value?(_(),A("div",N2,[d("div",U2,[d("h1",null,[s[1]||(s[1]=L(" 自定义菜单变量说明 ",-1)),d("a",{href:"javascript:void(0)",onClick:s[0]||(s[0]=r=>n.value=false)},"关闭")]),s[3]||(s[3]=d("hr",null,null,-1)),(_(true),A(Se,null,Ue(t.value,(r,a)=>(_(),A("div",{key:a},[d("h2",null,U(r.label),1),r.memo?(_(),A("p",j2,U(r.memo),1)):de("",true),d("table",z2,[s[2]||(s[2]=d("thead",null,[d("tr",null,[d("th",{width:"50%"},"变量"),d("th",{width:"50%"},"说明")])],-1)),d("tbody",null,[(_(true),A(Se,null,Ue(r.items,(l,c)=>(_(),A("tr",{key:c},[d("td",null,[d("span",{class:"ce-variable",onClick:u=>o(l)},U(l.key),9,H2)]),d("td",null,U(l.label),1)]))),128))])])]))),128))])])):de("",true)}}),Ae=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n},q2=Ae(V2,[["__file","CustomUrlHelp.vue"]]),W2='@charset "UTF-8";.ce-menu:not(.sub-item){background:#fffcea}.ce-menu img.ce-menu-icon{float:left;width:12px;height:12px;margin-right:4px}.ce-menu.list-item-hover-menu i.ce-menu-icon.icon-operate{scale:.75;margin-top:-4px}.ce-menu.list-item-hover-menu.ce-menu-parent{position:relative;float:left;cursor:pointer}.ce-menu.list-item-hover-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-trigger{padding:0 12px;color:#2777f8}.ce-menu.list-item-hover-menu.ce-menu-parent.ce-menu-has-icon .ce-menu-trigger{padding:0 12px 0 4px}.ce-menu.list-item-hover-menu.ce-menu-parent.ce-menu-has-icon>.ce-menu-icon{margin-right:0;margin-top:3px;width:16px;height:16px;margin-left:6px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;left:0;padding:4px;border-radius:4px;display:none;text-align:center;width:160px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub{margin:2px 0;background:#eee;color:#2877f8;width:100%;border-radius:4px;padding:6px 12px;line-height:12px;box-sizing:border-box}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:hover{background-color:#f3e882}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:after{display:none}.ce-menu.selection-menu.ce-menu-parent{position:relative;float:left;cursor:pointer;padding:0 8px}.ce-menu.selection-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.selection-menu.ce-menu-parent .ce-menu-trigger{color:#2777f8}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon{padding:0 10px 0 0}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon .ce-menu-trigger{padding:0}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon>.ce-menu-icon{margin-right:4px;margin-top:7px;width:16px;height:16px;margin-left:6px}.ce-menu.selection-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#fff}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:30px;left:0;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding-left:4px;padding-right:4px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub span{font-weight:400;float:inherit}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub .ce-menu-icon:not(.icon-operate){float:unset}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu>a img.ce-menu-icon{float:none;width:18px;height:18px;position:absolute;top:50%;left:14px;margin-top:-10px}.ce-menu.dir-context-menu>img.ce-menu-icon{position:absolute;left:14px;top:8px}.ce-menu.dir-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.dir-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-icon{width:18px;height:18px;margin-right:8px}.ce-menu.list-item-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.list-item-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub:hover{background-color:#f3e882}.ce-menu-divider{height:1px!important;display:block!important;background-color:#edeeef!important}.ce-menu-divider:after{display:none!important}.list-item-hover-menu .ce-menu-divider{height:6px!important;background-color:transparent!important}div#js_operate_box.only-icon li[menu] span{display:none}div#js_operate_box.only-icon [menu=delete] i.icon-operate{filter:hue-rotate(120deg)}.list-contents{padding-bottom:300px}.header-name a.ce-open-dir-context-menu{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#1890ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir{cursor:pointer;color:#4622ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir i{width:16px;height:16px;margin-right:4px;vertical-align:sub}.header-size a.ce-size-sort{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#8c97a0;margin-left:10px}.header-size a.ce-size-sort i{display:none}.header-size a.ce-size-sort.by-desc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-desc i.icon-sort-desc{display:inline-block}.header-size a.ce-size-sort.by-asc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-asc i.icon-sort-asc{display:inline-block}.header-size a.ce-size-sort.ce-size-sort-ing{cursor:no-drop}.ce-label-open-cfg i{opacity:.5}.ce-label-open-cfg:hover i{opacity:1}';At(W2);const K2={label:"当前目录右键菜单",key:"dcontext",hiddenStyles:[{selector:"div.context-menu.menu-upward#js_float_content li[val={key}]",css:"display: none !important;"}],items:[{label:"上传文件",key:"upload"},{label:"新建文件夹",key:"add_dir"}]},G2={label:"选中项菜单",key:"selection",hiddenStyles:[{selector:"div.list-operate.lo-right li[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"下载",key:"download"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"批量标签",key:"batch_edit_file_label"},{label:"重命名",key:"edit_name"},{label:"编辑",key:"file_edit"},{label:"备注",key:"edit"},{label:"星标",key:"star"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"}]},J2={label:"列表项右键菜单",key:"context",hiddenStyles:[{selector:"div.context-menu.menu-upward li[val={key}] a",css:"display: none !important;"}],items:[{label:"打开文件",key:"view"},{label:"打开文件夹",key:"open_dir"},{label:"下载文件",key:"download"},{label:"下载文件夹",key:"download_dir"},{label:"打包下载",key:"bale_download"},{label:"刷新",key:"refresh"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"显示时长",key:"show_play_long"},{label:"取消时长",key:"hide_play_long"},{label:"添加到我听",key:"listen"},{label:"美化",key:"magic"},{label:"修改封面",key:"cover"},{label:"删除封面",key:"del_cover"},{label:"一键排重",key:"same"},{label:"移动",key:"move"},{label:"重命名",key:"edit_name"},{label:"备注",key:"edit"},{label:"显示属性",key:"attribute"},{label:"删除",key:"delete"},{label:"播放器播放",key:"player"},{label:"转存到相册",key:"trans_to_album"},{label:"举报",key:"report"}]},Y2={label:"列表项悬浮菜单",key:"hover",hiddenStyles:[{selector:"div.file-opr[rel=menu] a[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important;"},{selector:"div.context-menu li[menu={key}] a",css:"display: none !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"星标",key:"star"},{label:"下载文件",key:"download_one"},{label:"下载文件夹",key:"download_dir_one"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"重命名",key:"edit_name"},{label:"编辑",key:"file_edit"},{label:"备注",key:"edit"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"}]},pw=gt.hiddenOfficialMenuKeys;async function hw(){return await Qe.get(pw,[])}async function Q2(e,t=false){await Qe.set(pw,e),t&&(unsafeWindow.postMessage({event:ot.officialMenuStyleChange},"*"),unsafeWindow.frames.wangpan?.postMessage({event:ot.officialMenuStyleChange},"*"));}async function X2(e){const t=[];return e.forEach(n=>{n.items.forEach(o=>{o.hidden&&t.push(`${n.key}_${o.key}`);});}),t}async function mw(){const e=[G2,J2,Y2,K2],t=await hw();return e.forEach(n=>{n.items.forEach(o=>{const i=`${n.key}_${o.key}`;t.includes(i)?o.hidden=true:o.hidden=false;});}),e}async function Z2(){const e=await mw(),t=[];return e.forEach(n=>{n.hiddenStyles.forEach(o=>{const i=[];n.items.forEach(s=>{s.hidden&&i.push(o.selector.replace("{key}",s.key));}),i.length&&t.push(i.join(`,
`)+" { "+o.css+" }");});}),t.join(`
`)}async function np(){const e="cloud115EnhancerOfficialMenuStyle",t=await Z2();let n=document.getElementById(e);if(n){n.innerHTML=t;return}n=document.createElement("style"),n.id=e,n.innerHTML=t,document.body.appendChild(n);}const gw=gt.list;var ww=(e=>(e.view="view",e.list="list",e.default="_",e))(ww||{});function eS(e){return {sizeSorter:true,sizeSorterDirAttrInterval:100,showFolderSizeButton:true,hoverShowFolderSize:false,showQuickViewButton:true,hoverShowQuickView:false,showInfoOnQuickView:true,showBatchFolderSizeButton:false,showSha1:false,clickSha1WithCtrlToFindRepeat:false,showOpenDirContextMenu:true,hoverShowDirContextMenu:false,showCreateDirButton:false,hideTopCreateButton:false,showCopyButtonOnPathBar:false,showGotoButtonOnPathBar:false,noUpdateDirAfterRename:false,noReloadAfterMove:false,claimSelectedAfterCreateDir:false,noGotoAfterCreateDir:false,fileSelectorDefaultView:"_",followHistoryState:false,showOnlyFileFilter:false,fileFilterExtensions:"",fixShortcut:false,enhanceLocationLinks:true,enhanceRenameInput:false,dragToQuickEntry:false,quickEntryAvoidCovered:false,hideSelectionMenuOnDrag:false,makeMoreImageViewable:false,...e}}async function us(){const e=eS(),t=await Qe.get(gw,e);return {...e,...t}}async function tS(e){await Qe.set(gw,e);}var Mn=(e=>(e[e.asc=0]="asc",e[e.desc=1]="desc",e))(Mn||{});const yw=`
== 基础操作 ==
快捷键 功能 说明
---------- ---------- -----------------------------------
C 重命名 选中文件后按C,选中多个文件时,只应用到第一个文件
D 删除 选中文件后按D
X 或 M 移动 选中文件后按X或M
S 分享 选中文件后按S
T 标签 选中文件后按T
B 备注 选中文件后按B
Esc 取消 取消选择或关闭右键菜单
Backspace 返回上级目录 需在未选择文件时按Backspace
Delete 删除 与D键功能相同
== 特殊操作 ==
快捷键 功能 macOS下的对应键位
---------- ---------- ------------------
Alt + P 打开传输 Control + P
Alt + I 打开星标 Control + I
Alt + O 打开云下载 Control + O
Alt + D 快捷星标 Control + D
Ctrl + A 全选 Command + A
Ctrl + C 复制到 Command + C
Alt + 左箭头 浏览器历史后退 Option + 左箭头
Alt + 右箭头 浏览器历史前进 Option + 右箭头
== 删除操作详解 ==
快捷键 功能 macOS下的对应键位
---------- ---------- ------------------
D 或 Delete 普通删除 D 或 Delete
Alt + Backspace 免提示删除 Control + Backspace/Delete
== 鼠标操作 ==
[以下快捷键不需要修复也可以使用,这里仅列出供参考]
Shift + 单击 区域选择
Alt + 单击 显示属性弹窗
`;async function nS(){if(window!==window.top)return;async function e(t){const n=kt();n&&n.Core?.FileConfig?.DataAPI&&t(true);}try{return await Wo(e,250,3e4)}catch(t){throw new Error(`awaitDataAPI failed:${t.toString()}`)}}async function oS(e){if(!e.showOnlyFileFilter&&!e.fileFilterExtensions)return;const t=xn(),n=oo();!t&&!n||(iS(e,t),sS(e,t,n));}async function iS(e,t,n){if(!e.showOnlyFileFilter)return;const o=hn.file,i=je(`
<a href="javascript:;" menu="filter" val="${o}">
<i class="iofl-max"></i><span>仅文件</span>
</a>
`),r=await et(t?'#js_filter_box a[val="other"]':'#js_search_filter_popup a[val="other"]');r.parentNode?.insertBefore(i,r);}async function sS(e,t,n){const o=e.fileFilterExtensions.split(/\s*[,,]+\s*/).map(f=>f.trim().toLowerCase()).filter(f=>f!=="");if(!o.length)return;const i=await Gn("#js_filter_box, #js_search_filter_popup"),s=$('<div class="ce-filter-ext-wrap"></div>');let r,a;const l=f=>{r=new Promise(p=>{a=p;}).then(()=>{i.find(".selected")?.removeClass("selected"),s.find(`a[val="${f}"]`)?.addClass("selected");const p=Ne("#js_filter_type");p&&(p.textContent=`扩展名: ${f}`);});},c=async f=>{f.stopPropagation(),f.preventDefault();const g=f.currentTarget.getAttribute("val")||"";g&&(l(g),await ym(Rn({show_dir:Oo.false,suffix:g})));},u=f=>{const p=je(`
<a href="javascript:;" val="${f}" title="筛选扩展名: ${f}">${f}</a>
`);return p.addEventListener("click",c),p};window.addEventListener("message",async f=>{if(f.data.event===ot.listRendered){if(!r||!a)return;await ob(r)?i.find(".selected[menu]").length&&s.find(".selected")?.removeClass("selected"):a();}});for(const f of o){const p=u(f);s.append(p);}t?i.append(s):n&&i.find(".list-filter").append(s);}async function rS(e){if(window!==window.top||!e.fixShortcut)return;const t="js-main_mode";await uc('a[data-nav="file"]');let n=Ne("#"+t);if(n){console.warn(`[fixShortcut] #${t} found, skip`);return}n=je(`
<div id="${t}" style="display:none;"><a data-nav="file" class="hover"></a></div>
`),document.body.appendChild(n),window.addEventListener("message",async o=>{if(o.data.event===ot.topDomChanged){const s=Ne("div.dialog-box.window-current > div.dialog-header > h3");if(s&&s.textContent?.includes("快捷键说明")){const r=Ne(".shortkey-info-dialog");if(!r){console.warn("[fixShortcut] .shortkey-info-dialog not found");return}if(r.classList.contains("ce-sid"))return;const a=r.innerHTML,l=je(`
<pre>${yw.replace(/==/g,"=".repeat(28))}</pre>
`),c=je(`
<button class="pure-button button-mini button-warning" style="margin-left: 10px;">
切换到官方快捷键说明
</button>
`);c.addEventListener("click",u=>{u.stopPropagation(),u.preventDefault(),r.classList.toggle("ce-sid-active"),r.classList.contains("ce-sid-active")?(c.textContent="切换到官方快捷键说明",r.replaceChildren(l)):(c.textContent="切换到增强版快捷键说明",r.innerHTML=a);}),s.appendChild(c),r.classList.add("ce-sid","ce-sid-active"),r.replaceChildren(l);}}});}async function aS(e){if(window!==window.top||!e.followHistoryState)return;const t=async n=>{const o=tr("cid"),i=await Ut(false);o!==i&&kt().wangpan.Main.Action.Handlers.GotoDir({cid:o});};window.addEventListener("popstate",t);}async function lS(e){Ne("div#js_data_list")?.addEventListener("mousedown",n=>{n.target.classList.contains("ce-inj")&&n.stopPropagation();});}async function uS(e){xn()&&e.dragToQuickEntry&&(op(),rb("#js_file_category_box",lt(op,200),{childList:true,subtree:true}),cS(e));}async function op(){const t=(await et("#js_file_category_box")).querySelectorAll("#js_file_category_box a[cid]");for(let n=0;n<t.length;n++){const o=t[n];o.setAttribute("rel","item"),o.setAttribute("file_type","0"),o.setAttribute("title","可拖动文件到此目录进行移动操作");}}async function cS(e){const t=kt().wangpan?.Main;if(!t)return;const n="ce-show-quick-entry";if(e.hideSelectionMenuOnDrag||document.body.addEventListener("keydown",i=>{i.ctrlKey&&Ne("#js_operate_box")?.classList.toggle(n);}),e.hideSelectionMenuOnDrag){let i=0;const s=500;document.body.addEventListener("mousemove",r=>{const a=Date.now();if(a-i<s)return;i=a;const l=Ne(".popup-move-hint");l&&l.style.display!=="none"?Ne("#js_operate_box")?.classList.add(n):Ne("#js_operate_box")?.classList.remove(n);});}const o=t.List.WriteSelectText;t.List.WriteSelectText=i=>{o(i),Ne("#js_operate_box")?.classList.remove(n);};}async function dS(e){if(!e.makeMoreImageViewable)return;const t=["webp","tiff"],n=kt();n.UPLOAD_CONFIG&&n.UPLOAD_CONFIG[3].upload_type_limit.push(...t);}async function fS(e){if(!e.showCreateDirButton||!xn())return;if(e.hideTopCreateButton){const o=Ne('[data-dropdown-tab="create_new_add_dir"]');o&&(o.style.display="none");}const t=Ne(".header-name");if(!t||t.querySelector(".ce-btn-create-dir"))return;const n=je(`
<a href="javascript:;" class="ce-btn-create-dir" menu="add_dir">
<i class="file-type tp-folder"></i><span>新建文件夹</span>
</a>
`);t.appendChild(n);}async function pS(e){if(xn()){const t="ce-list-page";document.body.classList.add(t),parent.document.body.classList.add(t);}}function hS(e,t=""){return `${t}code=${e.code} ${e.message}`}async function mS(e){gd(e.fileSelectorDefaultView);}function gS(){return unsafeWindow.localStorage.getItem("FS_view")||"_"}function gd(e){let t=gS();console.log(`[performSetSelectorView] 当前视图: ${t},目标视图: ${e}`);const n=()=>{gd(t),console.warn(`[performSetSelectorView] 回滚到之前的视图: ${t}`);};return unsafeWindow.localStorage.setItem("FS_view",e),n}async function wS(e){if(!e.enhanceRenameInput)return;const t=$("div.dialog-box.window-current");t.addClass("ce-rename-dlg");const n=t.find('input[rel="file_name"]');if(!n.length){console.warn('[enhanceRename] [rel="file_name"] not found');return}let o=t.find('textarea[rel="ce_file_name"]');o.length||(o=$('<textarea rel="ce_file_name" rows="3"></textarea>'),n.after(o));const i=t.find('a[rel="clear_name"]');let s=t.find(".ce-btn-clear");s.length||(s=$('<a href="javascript:;" class="btn-clear ce-btn-clear"><s>清空</s></a>'),i.after(s));const r=n.val();o.val(r),n.hide(),i.hide(),$.data(s,"events")||s.on("click",c=>(c.preventDefault(),c.stopPropagation(),o.val(""),o.trigger("input"),o.focus(),false));const a=c=>{let u=o.val();u=u.trim(),u=u.replace(/[\r\n]+/g," "),n.val(u),n.trigger(c);};$.data(o,"events")||(o.on("input",a),o.on("keydown",c=>{n.trigger(c);}),o.removeClass("ce-inited"));const l=$('[rel="show_old_name"]');(l.length===0||!l.is(":visible"))&&o.select();}async function yS(e){if(window!==window.top)return;const{noUpdateDirAfterRename:t,enhanceRenameInput:n}=e;if(!t&&!n)return;let o=t,i="",s=false;const r=kt(),a=Core.FileReNameDG.Show;r.Core.FileReNameDG.__Show=a;const l=r.Core.Dir.Rename;r.Core.Dir.__Rename=l;const c=r.Core.FileConfig.DataAPI.UpdateDir;r.Core.Dir.__UpdateDir=c,r.Core.FileReNameDG.Show=async(...u)=>{i=u[0],s=true,a(...u);},r.Core.Dir.Rename=async(...u)=>{i=u[1],s=false,l(...u);},r.Core.FileConfig.DataAPI.UpdateDir=async u=>{if(o){const f=ss();let p=`li[file_id="${i}"]`;const g=await Ut(),m=u&&u.cid&&g===u.cid;s||(p=`li[cate_id="${i}"]`);const y=async()=>{console.warn("[list handleNoUpdateDirAfterRename] $file is ce-temp-cur-dir"),Q({icon:"warning",text:"重命名的是当前目录,忽略「重命名后不刷新列表」选项"}),mm().attr("titletext",u.dir_name).find("span").text(u.dir_name);};if(m){await y();return}const x=f.find(p);if(x.length){if(x.hasClass("ce-temp-cur-dir")){await y();return}if(Q({icon:"info",text:"启用了「重命名后不刷新列表」选项,不会刷新文件列表"}),x.find(".file-modified span").text("刚刚"),!s){x.attr("cate_name",u.dir_name),x.attr("title",u.dir_name);const k=x.find(".file-name a.name");k.length?(k.attr("title",u.dir_name).text(u.dir_name),k.text(u.dir_name)):console.warn("[list handleNoUpdateDirAfterRename] $name not found");}}else console.warn("[list handleNoUpdateDirAfterRename] $file not found");}else c(u);},window.addEventListener("message",async u=>{if(u.data.event!==ot.topDomChanged)return;const p=Ne("div.dialog-box.window-current > div.dialog-header > h3"),g=p?.textContent.trim()||"";if(!p||!g.includes("重命名"))return;g==="重命名文件"&&wS(e);const m=Ne("div.dialog-box.window-current .file-rename");if(!m){console.warn("[list handleNoUpdateDirAfterRename] .file-rename not found");return}let y=Ne("#cbNoUpdateDir");if(y)return;const x=je(`
<div style="padding: 0px 20px;">
<label style="font-size: 18px; color: #1890ff;">
<input id="cbNoUpdateDir" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 重命名后不刷新列表
</label>
<p style="font-size: 12px; color: #ff4949;">在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。</p>
</div>`);m.insertAdjacentElement("afterend",x),y=Ne("#cbNoUpdateDir"),y&&(y.checked=o,y.addEventListener("change",()=>{o=y.checked;}));});}async function bS(e){if(!e.noReloadAfterMove||window!==window.top)return;let t=true,n=[];const o=kt(),i=o.Core.FileMenu.DoEvent,s=o.Core.FileConfig.DataAPI.Reload;o.Core.FileConfig.DataAPI.Reload=async(...r)=>{const a=r.length>=2&&n&&n.length>0;if(t&&a){Q({icon:"info",text:"启用了「移动后不刷新文件列表」选项,不会刷新文件列表"});for(let l=0;l<n.length;l++)Xp(n[l][0]);await Et(500),o.wangpan.Main.List.RecheckFiles([]),o.wangpan.Main.List.updateDataListDom("");}else s(...r);},o.Core.FileMenu.DoEvent=async(...r)=>{n=r[0],i(...r);},window.addEventListener("message",async r=>{if(r.data.event!==ot.topDomChanged)return;const l="ce-no-update-dir-after-move",c=Ne("div.dialog-box.window-current > div.dialog-header > h3");if(!c||!c.textContent?.includes("打开要移动")){const p=Ne(`.${l}`);p&&(p.style.display="none");return}const u=Ne("div.dialog-box.window-current .select-footer");if(!u){console.warn("[list handleNoUpdateDirAfterMove] .select-footer not found");return}let f=Ne("#cbNoReload");if(f){const p=Ne(`.${l}`);p&&(p.style.display="block");}else {const p=je(`<div class="${l}"/>`),g=`
<div style="padding: 6px 30px 0;">
<label style="font-size: 18px; color: #1890ff;">
<input id="cbNoReload" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 移动后不刷新列表
</label>
<p style="font-size: 14px; color: #ff4949;">启用该功能并且执行过移动操作后,会影响列表的全选功能,此时如需全选,请先手动刷新列表!</p>
</div>`;p.innerHTML=g,u.insertAdjacentElement("afterend",p),f=Ne("#cbNoReload"),f&&(f.checked=t,f.addEventListener("change",()=>{t=f.checked;}));}});}async function vS(e){if(window!==window.top)return;let t=e.claimSelectedAfterCreateDir,n=e.noGotoAfterCreateDir;const o=kt(),i=o.Core.Dir.Create;o.Core.Dir.Create=async(a,l,c)=>{const u=await jn(true);u.length,r(u);const f=async p=>{const g=di().toString(),m={file_name:p.file_name,utime:g,size:"",pick_code:"",file_category:lm.folder,paths:[{file_id:l,file_name:""}]},y=await pm(p.cid,m,fm()),x=Mc(true);if(x.length===0){const k=Ci();if(k.is("ul"))k.append(y);else {let I=k.find("ul");I.length||(I=$("<ul></ul>"),k.append(I),k.find(".page-center-empty").remove()),I.append(y);}}else for(let k=0;k<x.length;k++)k?x.eq(k).remove():x.eq(k).replaceWith(y);await Et(500),await s(y,p);};i(a,l,async p=>{if(t&&u.length){const g=u.map(m=>m.id);try{const m=await Ic(p.cid,g);console.log("[list handleCreateDir] moveFiles result:",m),m.state?Q({icon:"success",text:"移动选中的文件到新文件夹成功"}):q.fire({icon:"error",html:`移动选中的文件到新文件夹失败: ${hS(m)}`});}catch(m){console.error("[list handleCreateDir] moveFiles error:",m),q.fire({icon:"error",html:`移动选中文件到新文件夹时出错: ${m.toString()}`});}}c?c(p):n?(await f(p),await Et(500),o.wangpan.Main.List.RecheckFiles([]),o.wangpan.Main.List.updateDataListDom("")):o.wangpan.Main.GotoDir(1,p.cid,0,"");});};const s=async(a,l)=>{kt().wangpan?.postMessage({event:ot.renderMenus,body:{type:Pe.listItemHover}});const u={id:l.cid,name:l.cname,isDir:true};await bw(e,a,u);},r=async a=>{const l=await et("div.dialog-box.window-current > div.dialog-header > h3");if(!l||!l.textContent?.includes("新建文件夹"))return;const c=Ne("div.dialog-box.window-current .dialog-action");if(!c){console.warn("[list handleCreateDir] .dialog-action not found");return}const u="cbClaim",f="cbBehavior";let p=Ne(`#${u}`),g=Ne(`#${f}`);if(!p||!g){const m=document.createElement("div"),y=`
<div class="ce-handle-create-dir">
<div style="${a.length?"":"display: none;"}">
<label style="color: #1890ff;">
<input id="${u}" type="checkbox" /> 移动选中文件到新文件夹
</label>
<p>创建新文件夹成功后,自动移动当前选中的文件或文件夹到该新文件夹下。</p>
</div>
<div>
<label style="color: #2164d0;">
<input id="${f}" type="checkbox" /> 不跳转到新文件夹
</label>
</div>
</div>`;m.innerHTML=y,c.insertAdjacentElement("beforebegin",m),p=Ne(`#${u}`),p&&(p.checked=t,p.addEventListener("change",()=>{t=p.checked;})),g=Ne(`#${f}`),g&&(g.checked=n,g.addEventListener("change",()=>{n=g.checked;}));}};}async function xS(e){if(!e.enhanceLocationLinks)return;const n=[{pattern:/ac=sha1_repeat/,list:"#js-list",item:'li[rel="item"]',link:'[menu="toFileLocaltion"]',dirIdSrc:"item",dirIdAttr:"parentid",removeAttrs:["menu"],memo:"SHA1查重结果页"},{pattern:/ac=same_start/,list:"#exsame_list_content",item:'li[rel="repeat_list_item"]',link:'[btn="file_path"]',dirIdSrc:"item",dirIdAttr:"parent_id",removeAttrs:["btn"],memo:"一键去重详情页",defaultAction:1},{pattern:/ac=search/,list:"#js_data_list",item:'li[rel="item"]',link:'[menu="open"]',dirIdSrc:"link",dirIdAttr:"cid",removeAttrs:["menu"],memo:"搜索结果页"},{pattern:/ct=rb/,list:"#js_data_list",item:'li[rel="item"]',link:'[menu="toFileLocaltion"]',dirIdSrc:"item",dirIdAttr:"file_id",removeAttrs:["menu"],memo:"回收站"},{pattern:/ac=offline_new_tpl&offline=0/,list:"ul#js-warp",item:"li",link:'[task_popup="goto"] a',dirIdSrc:"item",dirIdAttr:"cid",memo:"最近上传"},{pattern:/ct=public_share&ac=save/,list:"#js-list",item:'li[rel="item"]',link:'[btn="openFileLocaltion"]',dirIdSrc:"link",dirIdAttr:"to_cid",removeAttrs:["btn"],memo:"最近接收"},{pattern:/\/lifetime/,list:"#js-warp",item:".lifefile-wrap",link:'a[btn="path-btn"]',getDirId:(a,l)=>l.closest(a.item).find(".file-name-info").attr(a.dirIdAttr),dirIdAttr:"parent_id",removeAttrs:["btn"],memo:"最近操作"}].find(a=>a.pattern.test(location.href));if(!n)return;console.log("[enhanceLocationLinks]",n,location.href);const o=await Gn(n.list),i="ce-url-done",s=a=>n.getDirId?n.getDirId(n,a):n.dirIdSrc==="link"?a.attr(n.dirIdAttr):a.closest(n.item).attr(n.dirIdAttr),r=a=>{if(a.hasClass(i))return;let l=s(a);l&&(a.attr("href",Bn(l)),a.addClass(i),n.removeAttrs&&n.removeAttrs.map(c=>{a.removeAttr(c);}));};o.on("mouseover",n.link,a=>{const l=$(a.currentTarget);r(l);}),o.on("click",`.${i}`,a=>{const c=$(a.currentTarget).attr("href");if(!c)return true;if(a.preventDefault(),a.stopPropagation(),a.ctrlKey||a.metaKey)Jr(c,{active:false});else {const{defaultAction:u=2}=n,f=kt();u===1?f.open(c,"_blank"):u===2&&(f.location.href=c);}return false});}async function _S(e,t,n){if(!e.showSha1||!n.hash)return;t.addClass("ce-show-sha1");const o=t.find(".file-name"),i="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),s=je(`
<span class="ce-file-sha1 ce-inj" title="${i}">${n.hash}</span>
`),r=()=>{ft(n.hash),Q({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};s.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?ud(n):r();}),o.append(s);}async function bw(e,t,n){const o=[],i=await CS(e,t,n);i&&o.push(i);const s=await kS(e,t,n);if(s&&o.push(s),o.length){const r=t.find(".file-size");if(!r.length){console.warn("[injectToSizeCell] 未找到文件大小元素,跳过:",n,t);return}r.append(...o);}}async function CS(e,t,n){if(!e.showFolderSizeButton||!n.isDir)return null;const o=t.find(".file-size"),i=(e.hoverShowFolderSize?"点击或鼠标悬浮":"点击")+"获取该文件夹大小",s=je(`
<span class="ce-btn-folder-size ce-inj" title="${i}">大小</span>
`);let r;const a=async l=>{l.preventDefault(),l.stopPropagation();try{const c=await Kt(n.id);o.find("span:eq(0)").text(c.size);const{folder_count:u=0,count:f=0}=c;let p=u>0?`目录${u}`:"";if(p+=f>0?(p!==""?",":"")+`文件${f}`:"",p!==""){let g=o.find(".ce-s-d");g.length||(g=$('<div class="ce-s-d"></div>'),o.append(g)),g.text(p);}t.addClass("ce-size-got"),Q({title:"获取大小",text:"已获取文件夹大小",icon:"success",timer:1500});}catch(c){console.error(c),Q({title:"获取大小失败",text:c.toString(),icon:"error"});return}};return s.addEventListener("click",async l=>{r&&clearTimeout(r),await a(l);}),e.hoverShowFolderSize&&(s.addEventListener("mouseenter",async l=>{r&&clearTimeout(r),r=setTimeout(async()=>{await a(l);},200);}),s.addEventListener("mouseleave",()=>{r&&clearTimeout(r);})),s}let Bs;async function ip(e,t,n,o){Bs&&clearTimeout(Bs),o.preventDefault(),o.stopPropagation();const i=gd(ww.list),r='快速查看 <span class="ce-label ce-label-warning">只读</span><a id="ce-qv-open" href="javascript:void(0)" style="font-size: 12px; margin-left: 10px; color: #00f; font-weight: normal;">新页面打开</a>',a=kt(),l=a.Core;l.FileSelectDG.Open(c=>{i();},{nf:0,title:r,init_cid:n.id,show_record:1,show_copy:1,btn_txt:"关闭",select_txt:"查看",not_select_file:"xxx"});try{(await et("#ce-qv-open",200,3e4,a.window.document)).addEventListener("click",()=>{const u=l.FileSelectDG.GetBackPaths(),f=u[u.length-1].cid;window.open(Bn(f),"_blank");});}catch(c){Q({icon:"error",text:`未找到"新页面打开"按钮!${c.toString()}`});}}async function kS(e,t,n){if(!e.showQuickViewButton||!n.isDir)return null;const o=je(`
<span class="ce-btn-folder-size ce-inj" title="快速查看该目录子文件列表">查看</span>
`);return o.addEventListener("click",i=>{ip(e,t,n,i);}),e.hoverShowQuickView&&(o.addEventListener("mouseenter",async i=>{Bs=setTimeout(async()=>{await ip(e,t,n,i);},300);}),o.addEventListener("mouseleave",()=>{Bs&&clearTimeout(Bs);})),o}async function SS(e){if(!e.showBatchFolderSizeButton)return;const t="ce-injected-s",n="ce-s-ing",o=Ne(".header-size");if(!o||o.classList.contains(t))return;const i=o,s=je(`
<a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小">
<span>大小</span>
</a>
`);s.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),!s.classList.contains(n))try{s.classList.add(n),await wd(!1,!1,!1);}catch(a){console.error(a),Q({title:"获取子文件夹大小失败",text:a.toString(),icon:"error"});}finally{s.classList.remove(n);}}),i.appendChild(s),i.classList.add(t);}async function $S(e){if(!e.sizeSorter)return;const t="ce-injected",n="ce-size-sort-ing",o=Ne(".header-size");if(!o||o.classList.contains(t))return;const i=o,s=je(`
<a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小,然后按大小排序">
<span>排序</span>
<i icon_rel="file_size" class="icon-sort-asc"></i>
<i icon_rel="file_size" class="icon-sort-desc"></i>
</a>
`);s.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),s.classList.contains("el-size-sort-ing"))return;const a="by-desc",l="by-asc";try{s.classList.add(n);let c=Mn.desc;s.classList.contains(a)?c=Mn.asc:c=Mn.desc;const u=await Ut(!1);await Ca(u,c,!1,!1),c===Mn.asc?(s.classList.remove(a),s.classList.add(l)):(s.classList.remove(l),s.classList.add(a));}catch(c){console.error(c),Q({title:"排序失败",text:c.toString(),icon:"error"});}finally{s.classList.remove(n);}}),i.appendChild(s),i.classList.add(t);}async function wd(e,t,n=false){await us();const o=await Ut(false),i=Ci(),s=await jn(false);console.log("[items]",s),Q({html:"正在获取子文件夹大小...",icon:"info",position:"top-end",timer:0}),q.showLoading();for(let r=0;r<s.length;r++){const a=s[r];if(!a.isDir)continue;const l=i.find(`li[cate_id="${a.id}"]`);if(!l.length)continue;const c=l.find(".file-size");if(!c.length){console.warn("[prepareItemSize] 未找到文件大小元素,跳过:",a);continue}const u=c.find("span:eq(0)");if(u.text()!==""&&!n)continue;const f=await Kt(a.id);q.update({html:`[${r+1} / ${s.length}] 正在获取子文件夹大小:${a.name}`}),u.text(f.size);const{folder_count:p=0,count:g=0}=f;let m=p>0?`目录${p}`:"";if(m+=g>0?(m!==""?",":"")+`文件${g}`:"",m!==""){let y=c.find(".ce-s-d");y.length||(y=$('<div class="ce-s-d"></div>'),c.append(y)),y.text(m);}l.addClass("ce-size-got");}return q.hideLoading(),e?await ES(o):Q({html:"已获取子文件夹大小",icon:"success",timer:1500,position:"top-end"}),o}async function Ca(e,t,n,o){const i=Ci();i.find('li[file_type="0"]:not(.ce-size-got)').length>0&&await wd(n,o,false);const r=i.is("ul")?i:i.find("ul"),a=r.children("li").toArray();a.sort(function(c,u){const f=$(c),p=$(u),g=Dd(f.find(".file-size span:eq(0)").text()),m=Dd(p.find(".file-size span:eq(0)").text());return t===Mn.asc?g-m:m-g});const l=$("<ul></ul>");$.each(a,function(c,u){l.append(u);}),r.replaceWith(l),n?q.update({title:"排序完成",html:`已完成排序: ${t===Mn.asc?"小 > 大":"大 > 小"}`,icon:"success"}):Q({html:`已完成排序: ${t===Mn.asc?"小 > 大":"大 > 小"}`,icon:"success",timer:1500,position:"top-end"});}async function ES(e){q.fire({toast:true,title:"获取子文件夹大小",html:"获取子文件夹大小完成",icon:"success",showConfirmButton:true,confirmButtonText:"大 > 小",confirmButtonColor:"#3085d6",showDenyButton:true,denyButtonText:"小 > 大",denyButtonColor:"#d33",position:"top-end",showCloseButton:true,closeButtonAriaLabel:"关闭",preConfirm:async()=>(console.log("preConfirm"),Ca(e,Mn.desc,true,true),false),preDeny:async()=>(console.log("preDeny"),Ca(e,Mn.asc,true,true),false)});}async function AS(){const e=await us();e.sizeSorter&&e.showBatchFolderSizeButton&&Gy(".list-header .header-size { min-width: 142px !important;}"),await ju();const t=await et("#js_data_list");PS(),new MutationObserver(async([o])=>{o.type==="childList"&&(window.postMessage({event:ot.listRendered}),await ju());}).observe(t,{childList:true});}async function PS(){if(window.top===window.self)return;const e=Ne("#js_pagination_box");if(!e){console.warn("[list.handleLoadAll] 未找到「#js_pagination_box」元素");return}function t(n){Ne("#js_data_list .list-contents > ul > li")&&n(true);}e.addEventListener("click",async n=>{n.preventDefault(),n.stopPropagation();const o=n.target;let i=false;if((o.getAttribute("menu")==="load_all_file"||o.closest('[menu="load_all_file"]'))&&(i=true),!i)return;console.log("[list.handleLoadAll] 点击了「加载全部」按钮"),await Wo(t,500,3e5);const s=Ne("#js_data_list .list-contents > ul");s?.removeAttribute("ce-done2");const r=Ne("#js_data_list");r&&r.querySelectorAll(".list-contents > ul:not([ce-done2]) > li").length&&(s?.setAttribute("ce-done2",""),await ju());});}async function ju(){const e=await us();$S(e),SS(e),fS(e),DS(e),oo();const t=Mc(false);for(let n=0;n<t.length;n++){const o=t.eq(n),i=dn(o);await IS(e,o,i);}}async function IS(e,t,n,o){await _S(e,t,n),await bw(e,t,n);}async function DS(e){if(!e.showOpenDirContextMenu||await Ut(false)===""||oo())return;const n=Ne(".header-name");if(!n||n.classList.contains("ce-injected"))return;const o=n,i=document.createElement("a");i.classList.add("ce-open-dir-context-menu"),i.title="打开当前目录的功能菜单",i.innerHTML="<span>目录功能菜单</span>";let s;const r=async a=>{s&&clearTimeout(s),a.preventDefault(),a.stopPropagation();try{const l=kt(),c=await Ut(!1),u=i.getBoundingClientRect();l.Core.FileMenu.FileRight("1",c,!1,u.x,u.y+8,void 0,!1);}catch(l){console.error(l);}};i.addEventListener("click",r),e.hoverShowDirContextMenu&&(i.addEventListener("mouseenter",async a=>{s=setTimeout(async()=>{await r(a);},300);}),i.addEventListener("mouseleave",()=>{s&&clearTimeout(s);})),o.appendChild(i),o.classList.add("ce-injected");}let TS=[];async function vw(e,t,n){n.stopPropagation(),n.preventDefault();try{const o=await So(!1,1e3);if(!o)return;const i=dn(o),s=await Xt(),r=await Rs(i,e,s);if(e.key==="p_builtin_115plus"){const a=n.metaKey||n.ctrlKey;ga(void 0,i.id,a);return}if(Bc(r)){const l=(await jn(!1)).find(c=>c.playDuration&&c.playDuration>0);Ug(i.id,l);return}if(console.log("[play url]",r),!r)throw new Error("无法获取有效的播放链接!");window.open(r,"_blank","noopener noreferrer");}catch(o){console.error(o),Q({title:"播放失败",text:o.toString(),icon:"error"});}}async function LS(e,t){const n=[];for(const o of t){const i=La(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:"播放当前目录"+(o.memo?` - ${o.memo}`:""),onClick:async(s,r)=>{vw(o,s,r);}});n.push(i);}return n}async function MS(){const e=await ut(),t=await ld(e),{memo:n=""}=t.defaultPlayer;return new zt({key:"_play_with_x",label:t.defaultPlayer.label,icon:t.noRealDefault?"icon-operate ifo-video-play":t.defaultPlayer.icon,title:"播放当前目录"+(n?` - ${n}`:""),onClick:async(o,i)=>{await o.closeMenu(),!t.noRealDefault&&vw(t.defaultPlayer,o,i);},subItems:[...await LS(cc,t.customUrlItems)]})}async function BS(){return new zt({key:"_rename_dir",label:"重命名文件夹",icon:"icon-operate ifo-rename",title:'重命名当前目录,支持"高级模式"',onClick:async(e,t)=>{await e.closeMenu();const n=await Ut(true);if(!n)return;const i=mm().attr("titletext")?.trim();if(!i){Q({icon:"error",text:"无法获取当前目录名称"});return}unsafeWindow.Core.Dir.Rename("1",n,i);}})}async function OS(){return new zt({key:"_dc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault(),await e.closeMenu();const n=await Ut(false);if(!n||n==="0"){await wa({id:"0",name:"根目录",isDir:true});return}const o=await So(false,1e3);if(!o)return;const i=dn(o);await wa(i);}})}async function RS(){return new zt({key:"_move_dir",label:"移动文件夹",icon:"icon-operate ifo-move",title:"移动当前文件夹到其他位置",onClick:yd("move")})}async function FS(){return new zt({key:"_del_dir",label:"删除文件夹",icon:"icon-operate ifo-remove",title:"删除当前文件夹",onClick:async(e,t)=>{await e.closeMenu();const n=await So();if(!n)return;const o=ss();unsafeWindow.Core.FileAPI.DeleteFile([n],i=>{n.remove(),o.find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last").prev()[0].click();},true);}})}function yd(e,t){return async(n,o)=>{await n.closeMenu();const i=await So();i&&await z0(i,e);}}async function NS(){return new zt({key:"_copy_dir",label:"复制文件夹",icon:"icon-operate ifo-copy",title:"复制当前文件夹",onClick:yd("set_copy")})}async function US(){return new zt({key:"_copy_dir_to",label:"复制文件夹到",icon:"icon-operate ifo-copyto",title:"复制当前文件夹到其他位置",onClick:yd("copy_list")})}async function jS(e){const{namePathConfig:t}=e,n=[{b:t.copyFullName,v:()=>Xl("完整名称",mt.full)},{b:t.copyId,v:()=>Xl("ID",mt.id)},{b:t.copyPickCode,v:()=>Xl("PickCode",mt.pickCode)},{b:t.copyUnixPath,v:()=>sp("路径(Unix)",Ln.unixPath)},{b:t.copyWinPath,v:()=>sp("路径(Windows)",Ln.winPath)},{b:t.viewInCloudDrive,v:()=>OS()}],o=await Promise.all(n.filter(i=>i.b).map(i=>i.v()));return new zt({key:"_dir_copy_names",label:"名称路径",icon:"icon-operate ifo-copy",title:"获取当前目录的名称、路径等信息",subItems:o})}async function zS(e,t){const n=[...(await cr()).filter(s=>s.enabled),...TS.filter(s=>s.enabled),...(await ki(io.search)).filter(s=>s.enabled)];let o=n.find(s=>s.key===t.defaultSearch);o||(o=n.find(s=>s.key===dr));const i=async s=>{const r=await So(false,1e3);if(!r)throw new Error("无法获取当前目录项");return dn(r)};return new zt({key:"_d_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"使用名称搜索",onClick:async(s,r)=>{r.stopPropagation(),r.preventDefault(),await s.closeMenu(),o&&await gr(s,o,r,t,i,Pe.dirContextSub);},subItems:[...await sl(cc,n,i,Pe.dirContextSub)]})}async function HS(){return new zt({key:"view_dir_attribute",label:"查看属性",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu();const n=await So();n&&kt().Core.FileAPI.getAttribute(n,{showPlayLongChange:function(o,i,s){O0().CACHE.FileMain.List.ResetPlayLongText(o,i,s);}},function(){console.log("查看属性 ok");});}})}async function Xl(e,t){return new zt({key:`_d_copy_self_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制当前目录的${e}`,onClick:async(n,o)=>{await n.closeMenu();const i=await So(false,1e3);if(!i)return;const s=dn(i),r=await ut(),a=await Xt(),c=wr([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Q({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function sp(e,t){return new zt({key:`_d_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制当前目录路径",onClick:async(n,o)=>{await n.closeMenu();const i=await So(false,1e3);if(!i)return;const s=dn(i),r=await ut(),a=await Xt(),c=await zg([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Q({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function VS(){return new zt({key:"show_sub_folder_size",label:"子文件夹大小",title:"显示当前目录下已加载的所有子文件夹的大小",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await wd(false,false,false);}})}async function qS(){return new zt({key:"show_sub_folder_size_sort",label:"子文件夹大小+排序",title:"显示当前目录下已加载的所有子文件夹的大小,并进行排序",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await Ca("",Mn.desc,true,true);}})}async function WS(){return new zt({key:"_dc_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(e,t)=>{await e.closeMenu();const n=await So(false,1e3);if(!n)return;const o=dn(n);await al([o]);}})}async function KS(e){const{[Pe.dirContext]:t}=e;if(!t.enabled)return;const n=[...t.topLevelMenus,"play","copyNames","search"],o=[],i=[],s=new Map;t.rename&&s.set("rename",await BS()),t.delete&&s.set("delete",await FS()),t.play&&s.set("play",await MS()),t.copyNames&&s.set("copyNames",await jS(t)),t.search&&s.set("search",await zS(t,e)),t.flattenSubfolders&&s.set("flattenSubfolders",await WS()),t.move&&s.set("move",await RS()),t.viewProp&&s.set("viewProp",await HS()),t.showSubFolderSize&&s.set("showSubFolderSize",await VS()),t.showSubFolderSizeAndSort&&s.set("showSubFolderSizeAndSort",await qS()),t.copy&&s.set("copy",await NS()),t.copyTo&&s.set("copyTo",await US());const r=s.keys();for(const l of r){const c=s.get(l);c&&(n.includes(l)?o.push(c):i.push(c));}i.length>1?o.push(new zt({key:"_dir_more",label:"更多",icon:"icon-operate ifo-open",subItems:i})):i.length===1&&o.push(i[0]),await new wb({items:o,siblingSelector:'[val="upload"]',position:vo.before}).inject(),$(".ce-menu-parent .ce-menu-trigger").on("mouseover",function(){$(this).find(".ce-menu-dropdown").show();}).on("mouseout",function(){$(this).find(".ce-menu-dropdown").hide();});}async function GS(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Di("完整名称",mt.full)),t.copyPureName&&n.push(await Di("不含后缀名称",mt.pure)),t.copyFullName&&n.push(await Di("完整名称(去重)",mt.fullUnique)),t.copyPureName&&n.push(await Di("不含后缀名称(去重)",mt.pureUnique)),t.copyId&&n.push(await Di("ID",mt.id)),t.copyPickCode&&n.push(await Di("PickCode",mt.pickCode)),t.copySha1&&n.push(await ap(false)),t.copySha1WithName&&n.push(await ap(true)),t.copyUnixPath&&n.push(await rp("路径(Unix)",Ln.unixPath)),t.copyWinPath&&n.push(await rp("路径(Windows)",Ln.winPath)),t.viewInCloudDrive&&n.push(await JS()),new es({key:"_lc_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制文件的名称路径",subItems:n})}function yr(){const e=q0();return !e||!e.n?(Q({text:"无法获取当前文件信息",timer:1200}),null):_i(e)}async function Di(e,t){return new es({key:`_lc_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{await n.closeMenu();const i=yr();if(!i)return;const s=await ut(),r=await Xt(),l=wr([i],t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Q({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function rp(e,t){return new es({key:`_lc_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制路径",onClick:async(n,o)=>{await n.closeMenu();const i=yr();if(!i)return;const s=await ut(),r=await Xt();let a=await Ka(i);s.cloudDriveFormalization&&(a=a.map(u=>cn(r,u,true)),i.name=cn(r,i.name,true));let l=a.join("/");const c=await rl(i,l,t);ft(c),Q({title:"复制路径",text:`已复制文件路径,CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function ap(e){return new es({key:"_lc_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{await t.closeMenu();const o=yr();if(!o)return;if(o.isDir){Q({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=o.hash+(e?`//${o.name}`:"");ft(i),Q({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function JS(){return new es({key:"_lc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{await e.closeMenu();const n=yr();n&&await wa(n);}})}async function YS(){return new es({key:"_lc_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(e,t)=>{await e.closeMenu();const n=yr();if(n){if(!n.isDir){Q({text:"请先选择一个目录",icon:"error"});return}await al([n]);}}})}async function QS(e){const{[Pe.listItemContext]:t}=e;if(!t.enabled)return;const n=[];t.copyNames&&n.push(await GS(t)),t.flattenSubfolders&&n.push(await YS()),new bb({items:n,position:vo.after,siblingSelector:'[val="refresh"]',useObserver:true,observeTarget:document.body,disposeObserverAfterInjection:false}).inject();}async function XS(e){const{[Pe.listItemHover]:t}=e;if(!t.enabled)return;const n=[];t.openInNewTab&&n.push(await Ek()),t.search&&n.push(await kk(e)),t.play&&n.push(await Ck()),t.copyNames&&n.push(await $k(t)),t.flattenSubfolders&&n.push(await Pk()),t.findRepeat&&n.push(await Ak()),new Dk({items:n,position:vo.after,siblingSelector:'[menu="move"], [menu="delete"]'}).inject();}let ZS=[];async function e$(e){const t=[];return !oo()&&e.moveToSelfNameDir&&t.push(await t$()),!oo()&&e.flattenSubfolders&&t.push(await n$()),e.openInNewTab&&t.push(await o$()),e.openParent&&t.push(await i$()),t.length?new ll({key:"_s_batch",label:"批量操作",icon:"icon-operate ifo-batch",title:"对选中的文件进行批量操作",subItems:t}):null}async function t$(){return new ro({key:"_s_smart_mkdir",label:"同名目录",icon:"icon-operate ifo-move",title:"将选中的文件移动到同名目录",onClick:await pk()})}async function n$(){return new ro({key:"_s_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将选中目录中所有子目录的文件移动到选中目录,并删除空的子目录",onClick:async(e,t)=>{const n=(await jn(true)).filter(o=>o.isDir);if(!n.length){Q({text:"请选择需要解散的目录",icon:"error"});return}await al(n);}})}async function o$(){return new ro({key:"_s_open_in_new_tab",label:"打开目录",icon:"icon-operate ifo-opendir",title:"批量打开选中的目录",onClick:async(e,t)=>{const n=(await jn(true)).filter(i=>i.isDir);if(!n.length){Q({title:"请选择目录",icon:"error"});return}const o=n.map(i=>Bn(i.id));await mr(o,true);}})}async function i$(){return new ro({key:"_s_open_parent",label:"打开所在目录",icon:"icon-operate ifo-opendir",title:"批量打开选中文件的所在目录",onClick:async(e,t)=>{const n=await jn(true);if(!n.length){Q({title:"请选择文件",icon:"error"});return}const o=new Set;for(const s of n)s.parentId&&o.add(s.parentId);const i=Array.from(o).map(s=>Bn(s));await mr(i,true);}})}async function s$(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Ti("完整名称",mt.full)),t.copyPureName&&n.push(await Ti("不含后缀名称",mt.pure)),t.copyFullName&&n.push(await Ti("完整名称(去重)",mt.fullUnique)),t.copyPureName&&n.push(await Ti("不含后缀名称(去重)",mt.pureUnique)),t.copyId&&n.push(await Ti("ID",mt.id)),t.copyPickCode&&n.push(await Ti("PickCode",mt.pickCode)),t.copySha1&&(n.push(await lp(false)),n.push(await lp(true))),t.copyUnixPath&&n.push(await up("路径(Unix)",Ln.unixPath)),t.copyWinPath&&n.push(await up("路径(Windows)",Ln.winPath)),new ll({key:"_s_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制选中文件的名称路径",onClick:async(o,i)=>{},subItems:n})}async function lp(e,t){return new ro({key:"_s_copy_sha1"+(e?"_u":""),label:"📋 文件sha1"+(e?",去重":""),icon:"icon-operate ifo-copy",showIcon:false,title:"复制文件sha1。格式为 xxx//yyy,xxx为sha1,yyy为文件名",onClick:async(n,o)=>{const i=await jn(true),s=new Set,r=[];for(const a of i)a.hash&&(e&&s.has(a.hash)||(s.add(a.hash),r.push(a.hash+`//${a.name}`)));ft(r.join(`
`)),Q({title:"复制文件sha1",text:`已复制选中文件sha1。数量:${r.length}`,icon:"success",timer:1e3});}})}async function Ti(e,t){return new ro({key:`_s_copy_info_${t}`,label:`📋 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:`复制${e}`,onClick:async(n,o)=>{const i=await jn(true);if(!i.length)return;const s=await ut(),r=await Xt(),l=wr(i,t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Q({title:`复制${e}`,text:`已复制选中文件信息。数量:${l.length},复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function up(e,t){return new ro({key:`_s_copy_path_${t}`,label:`📂 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:e,onClick:async(n,o)=>{const i=await jn(true);if(!i.length)return;let s=[];Q({text:"正在获取已选文件路径...",timer:0}),q.showLoading();const r=await ut();try{const a=await Xt(),l=r.cloudDriveFormalization?c=>cn(a,c):c=>c;s=await zg(i,t,l),q.close();}catch(a){console.error(a),Q({text:`获取已选文件路径失败: ${a}`,timer:6e4,icon:"error"});return}finally{q.hideLoading();}ft(s.join(`
`)),Q({title:"复制路径",text:`已复制选中文件的路径。数量:${s.length},复制类型:${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function r$(e,t=Va.vod){if(e=e.filter(s=>s.transcoded),!e.length){Q({title:"没有可播放的视频",icon:"error"});return}const n=Date.now().toString(),o=unsafeWindow.open(wm("xxx",t),n);await Et(1e3);let i=10;for(;i>0;)o?.postMessage({event:"play",body:{id:n,files:e}},`https://${t}`),await Et(1e3),i--;}async function a$(){const e=await ut(),t=await ld(e);return new ll({key:"_s_play_with_x_d",label:t.defaultPlayer.label,icon:t.defaultPlayer?.icon||"",title:t.defaultPlayer.memo,onClick:async(n,o)=>{console.log("[selectionMenuPlayWithDropdown] me",n),!t.noRealDefault&&xw(t.defaultPlayer,n,o);},subItems:[...await u$(ro,t.customUrlItems),new Mk({}),new ro({label:"关于选中播放",onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault(),Q({title:"关于选中播放",html:`
<p>点「在线播放」会打开115播放页面播放选中的视频。</p><br>
<p>如果是点击调用本地播放器播放:<p>
<p>原理: 生成m3u8文件,上传m3u8文件到115,调用播放该m3u8的CloudDrive2直链。<p>
<p>设定: m3u8默认放在网盘根目录下的「.ce-m3u8-temp」目录下,不会自动清理。<p>
<p>作为使用者需做的: 在CloudDrive2里设置「.ce-m3u8-temp」目录缓存时间为1秒。</p>
<p class="text-info" style="font-size:12px;">这个目录会在首次播放时自动创建,如果想提前设置目录缓存时间,可以自己创建。另外,可以在「设置 - 菜单设置 - 全局设置」中修改「M3U8临时目录」以设置目录位置。</p>
<br><p class="text-danger">导致播放失败的可能: CloudDrive2目录缓存工作异常,导致请求不到m3u8文件。</p>
`,showConfirmButton:true,width:600,timer:18e5});},icon:"data-text:❓"})]})}async function l$(e){if(e=e.trim(),!e)throw new Error("m3u8临时目录路径为空!");const t=await Y0(e);if(t.id)return console.log("[ensureM3u8TempDir] result:",t),t.id;throw new Error("创建m3u8临时目录失败!")}async function xw(e,t,n){n.stopPropagation(),n.preventDefault();const o=await ut();try{let i=await jn(!0);if(t.key==="_ce_p_p_builtin_online"||e.key==="p_builtin_online"){await r$(i);return}if(e.key==="p_builtin_115plus")return ga(i);if(i=i.filter(p=>p.isDir||p.isVideo),i.length===0){Q({title:"播放失败",text:"没有可以播放的目录或媒体文件!",icon:"error",timer:2e3});return}const s=await Xt();if(i.length===1){const p=await Rs(i[0],e,s);window.open(p,"_blank","noopener noreferrer");return}const r=await l$(o.m3u8TempDir),a=await J0(i,r);console.log("[selection.buildPlayMenuItems generatePlaylistOn115]",a);const l=a.data,c={id:l.file_id,name:l.file_name,parentId:l.cid,sizeBytes:l.file_size,pickCode:l.pick_code,isDir:!1,isFile:!0},u=ra([o.m3u8TempDir,c.name],Bo.unix);Q({title:"检查m3u8文件",text:"正在检查m3u8文件是否已准备就绪...",icon:"info",timer:0}),q.showLoading(),await b0(s,u,!0,1e3,6e4),Q({icon:"success",text:"m3u8文件已准备就绪,即将开始播放..."});const f=await Rs(c,e,s);window.open(f,"_blank","noopener noreferrer");}catch(i){console.error(i),Q({title:"播放失败",text:i.toString(),icon:"error",timer:6e4,showConfirmButton:true});}finally{q.hideLoading();}}async function u$(e,t){const n=[];for(const o of t){const i=La(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:o.memo,onClick:async(s,r)=>{xw(o,s,r);}});n.push(i);}return n}async function c$(e,t){const n=[...(await cr()).filter(s=>s.enabled),...ZS.filter(s=>s.enabled),...(await ki(io.search)).filter(s=>s.enabled)];let o=n.find(s=>s.key===t.defaultSearch);o||(o=n.find(s=>s.key===dr));let i;return e.searchOpenType!==Bu.undefined&&(i=e.searchOpenType===Bu.background),new ll({key:"_s_search_d",label:"搜索",icon:o?.icon||"",title:"批量搜索"+(o?.memo?" - "+o.memo:""),onClick:async(s,r)=>{r.stopPropagation(),r.preventDefault(),o&&await gr(s,o,r,t,void 0,Pe.selection,i);},subItems:[...await sl(ro,n,void 0,Pe.selectionSub,i)]})}async function d$(e){if(!e.hideSelectionMenuLabel)return;const t=await et("#js_operate_box");new MutationObserver(async([o])=>{if(o.type==="childList"){const i=t.querySelectorAll("li[menu]");for(let s=0;s<i.length;s++){const r=i[s],a=r.textContent;r.setAttribute("title",a||"");}}}).observe(t,{childList:true}),t.classList.add("only-icon");}async function f$(e){const{[Pe.selection]:t}=e;if(!t.enabled)return;const n=[],o=await e$(t);o&&n.push(o),t.copyNames&&n.push(await s$(t)),t.play&&n.push(await a$()),t.search&&n.push(await c$(t,e)),new Bk({items:n,position:vo.before,siblingSelector:"ul li"}).inject();}async function p$(e,t){if(t||(t=await ut()),!t||!t[Pe.shareListItemHover]?.enabled)return;const i=(r=>{let a="";for(const l of r)l.enabled&&(a+=l.body);return a})([{label:"_",body:'<a href="javascript:;" menu="_s_null_" style="display:none"><span>_</span></a>',enabled:true}]);(()=>{const r="ce-menu-init",a=ab(`#js-list li:not(.${r})`);for(let l=0;l<a.length;l++){const c=a[l];let u=c.querySelector(".file-opr");u?(c.classList.add(r),u.innerHTML+=i):(u=je(`<div class="file-opr ${r}" rel="menu"></div>`),u.innerHTML=i,c.appendChild(u));}})();}async function _w(e){let t=e.pageWidth.trim();const n="ce-share-page-width";let o=sb(`#${n}`,`<style id="${n}"></style>`);t=/^\d+$/.test(t)?`${t}px`:t,o.innerHTML=t?`div.wrap-sharing { width: ${t} !important; }`:"",document.contains(o)||document.head.appendChild(o);const i=!!t&&!/px$/.test(t);h$(i);}function Cw(){const e=Ne(".top-vflow");if(!e)return;const t=Ne('a[btn="save"]');if(!t)return;const n=t.getBoundingClientRect(),o=Ne("#save_directly");o&&(o.style.left=n.left-e.getBoundingClientRect().left+"px");}const cp=lt(Cw,200);let Or=false;function h$(e){setTimeout(Cw,500),e&&!Or?(window.addEventListener("resize",cp),Or=true):!e&&Or&&(window.removeEventListener("resize",cp),Or=false);}async function m$(e){if(!e.autoConfirmPassword)return;let t=tr("password");if(!t||(t=t.replace(/(\?.*)?$/,""),(await et(".form-decode .form-item input")).value!==t))return;(await et(".form-decode .submit a.button")).click(),Q({icon:"success",text:"自动确定访问码",timer:1e3,position:"top-right"});}async function g$(e){const t=await et("#js-list"),n=await ut(),o=s=>{Zl(e),p$(e,n);};new MutationObserver(o).observe(t,{childList:true}),t.addEventListener("mousedown",lt(s=>{Zl(e);},200));try{(await et('[btn="check_all"]')).addEventListener("mousedown",lt(r=>{Zl(e);},200));}catch(s){console.error(s);}}function Ys(e){e instanceof HTMLElement||(e=e[0]);const t=e.getAttribute("fid"),n=e.getAttribute("cid"),o=!!t;return {id:t||n,name:e.getAttribute("file_name"),sizeBytes:parseInt(e.getAttribute("file_size")||"0"),isFile:o,isDir:!o,snapId:e.getAttribute("snap_id"),parentId:o?n:"",hash:e.getAttribute("sha1")||"",checked:e.classList.contains("selected")}}function w$(e){const t={num:0,filesNum:0,filesSize:0,foldersNum:0,selectedNum:0,selectedFilesNum:0,selectedFilesSize:0,selectedFoldersNum:0};for(const n of e)t.num+=1,n.isFile?(t.filesNum+=1,t.filesSize+=n.sizeBytes):t.foldersNum+=1,n.checked&&(t.selectedNum+=1,n.isFile?(t.selectedFilesNum+=1,t.selectedFilesSize+=n.sizeBytes):t.selectedFoldersNum+=1);return t}async function Zl(e){if(!e.showListSummary)return;const t=await et(".list-header"),o=(await et("ul#js-list")).querySelectorAll("li"),i=Array.from(o).map(Ys),s=w$(i),r=t.querySelector(".header-name"),a=[];s.num&&a.push(`共${s.num}项`),s.filesNum&&a.push(`${s.filesNum}个文件,合计${Wi(s.filesSize)}`),s.foldersNum&&a.push(`${s.foldersNum}个目录`);const l=[];s.selectedNum&&(s.selectedFilesNum&&l.push(`${s.selectedFilesNum}个文件,合计${Wi(s.selectedFilesSize)}`),s.selectedFoldersNum&&l.push(`${s.selectedFoldersNum}个目录`));const c=`
<span class="ce-list-summary">
${a.join(", ")}
${l.length?`。已选中${l.join(",")}`:""}
</span>
`;let u=r.querySelector(".ce-list-summary");u?u.outerHTML=c:(u=je(c),r.appendChild(u));}async function kw(e){const t="ce-share-page";document.body.classList.add(t),parent.document.body.classList.add(t);const n="ce-share-fresh";e.freshMode?document.body.classList.add(n):document.body.classList.remove(n);}async function y$(){window.addEventListener("message",async e=>{const t=e.data.event,n=e.data.body;t===ot.shareConfigChange&&(_w(n),kw(n));});}let b$=[];async function v$(e,t){const n=[...(await cr()).filter(i=>i.enabled),...b$.filter(i=>i.enabled),...(await ki(io.search)).filter(i=>i.enabled)];let o=n.find(i=>i.key===t.defaultSearch);return o||(o=n.find(i=>i.key===dr)),new qg({key:"_s_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"搜索",onClick:async(i,s)=>{s.stopPropagation(),s.preventDefault(),o&&await gr(i,o,s,t,Ys,Pe.shareListItemHover);},subItems:[...await sl(cd,n,Ys)]})}async function Rr(e,t){return new cd({key:`_s_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=$(o.target).closest("li"),s=Ys(i[0]),r=await ut(),a=await Xt(),c=wr([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Q({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function dp(e){return new cd({key:"_s_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=$(n.target).closest("li"),i=Ys(o[0]);if(i.isDir){Q({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const s=i.hash+(e?`//${i.name}`:"");ft(s),Q({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function x$(e){const t=Vg().namePathConfig,{namePathConfig:n=t}=e,o=[];return n.copyFullName&&o.push(await Rr("完整名称",mt.full)),n.copyPureName&&o.push(await Rr("不含后缀名称",mt.pure)),n.copyId&&o.push(await Rr("ID",mt.id)),n.copyPickCode&&o.push(await Rr("PickCode",mt.pickCode)),n.copySha1&&o.push(await dp(false)),n.copySha1WithName&&o.push(await dp(true)),new qg({key:"_s_lh_copy_name_path",label:"名称",title:"复制文件名称",subItems:o})}async function _$(e){const{[Pe.shareListItemHover]:t}=e;if(!t.enabled)return;const n=[];t.search&&n.push(await v$(t,e)),t.copyNames&&n.push(await x$(t)),new Ok({items:n,position:vo.after,siblingSelector:'[menu="_s_null_"], [btn="prosecute"]'}).inject();}async function C$(){const{host:e}=location;if(!e.includes("115.com")&&!wu())return;console.log("[Cloud115 Enhancer - menu] running..."),k$(),document.addEventListener(yn.EVENT_CLOSE_MENU,n=>{$("#"+n.detail.menu.key).closest(".context-menu").hide();});const t=await ut();t.enabled&&(S$(t),await Hg(t),window.top===window.self&&KS(t),QS(t),(xn()||oo())&&(XS(t),f$(t),d$(t)),wu()&&_$(t));}async function k$(){const e="ceCustomUrlHelp",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=uo(q2);n.component("VDropdown",Ai),n.mount(`#${e}`);}async function S$(e){e.manageOfficialMenus&&(np(),window.addEventListener("message",async t=>{t.data.event===ot.officialMenuStyleChange&&(console.log("[Cloud115 Enhancer - menu] officialMenuStyleChange",location.href),await Et(1e3),console.log(await hw()),np());}));}var sn=(e=>(e[e.any=-999]="any",e[e.failed=-1]="failed",e[e.illegal=0]="illegal",e[e.ing=1]="ing",e[e.success=2]="success",e))(sn||{});const $$={[-1]:"失败",0:"违规",1:"下载中",2:"成功"};var tn=(e=>(e.all="all",e.failed="failed",e.success="success",e.magnet="magnet",e.magnetEd2k="magnetEd2k",e))(tn||{});const Sw=gt.offline;var qr=(e=>(e.name="name",e.nameRegex="nameRegex",e.infoHash="infoHash",e.url="url",e))(qr||{});const E$={name:"名称",nameRegex:"名称正则",infoHash:"哈希",url:"链接"};var yi=(e=>(e.selection="ce-offline-selection",e.configChanged="ce-offline-config-changed",e.searchPageChanged="ce-offline-search-page-changed",e))(yi||{});function A$(e){return {onlyMagnetEd2k:false,enableOptimization:true,reqInterval:500,maxPage:0,showInfoHash:true,enableListManagement:true,fixGotoPage:false,enableSearcher:true,searchMaxPage:5,searchKeywordType:"name",searchStatus:sn.any,searchStopOnFound:false,searchReqInterval:10,noGotoTaskPage:true,batchDeleteHttpFtp:false,...e}}async function to(){const e=A$(),t=await Qe.get(Sw,e);return {...e,...t}}async function $w(e){await Qe.set(Sw,e),window.postMessage({event:"ce-offline-config-changed",body:JSON.parse(JSON.stringify(e))},"*");}async function zu(e,t,n){const o=new URLSearchParams({page:e.toString(),uid:n.toString(),sign:t,time:di().toString()});return (await Bt().post("https://115.com/web/lixian/?ct=lixian&ac=task_lists",o,{withCredentials:true,timeout:6e4})).data}async function Ew(){return (await Bt().get(`https://115.com/?ct=offline&ac=space&_=${Date.now()}`,{timeout:3e4,withCredentials:true})).data}async function Hu(e,t,n,o){const i={uid:o.toString(),sign:t.sign,time:di().toString()};n&&(i.flag="1");const s=A0(i);return e.forEach((a,l)=>{s.append(`hash[${l}]`,a);}),(await Bt().post("https://115.com/web/lixian/?ct=lixian&ac=task_del",s,{timeout:12e4,withCredentials:true})).data}var P$={name:"115不大助手"};async function I$(e){const t=await et("#js-warp"),n=t.querySelectorAll("li[complete]");if(n.length>0)for(const i of Array.from(n))await fp(i,e);M$(e),new MutationObserver(async([i])=>{if(i.type==="childList"){i.addedNodes.forEach(async a=>{await fp(a,e);});const s=document.querySelector(".ce-checkbox-all input"),r=await hl();if(!r.length)s.checked=false,s.indeterminate=false;else {const a=t.querySelectorAll("li[complete]");s.checked=r.length===a.length,s.indeterminate=!s.checked;}await ml(r);}}).observe(t,{childList:true});}async function D$(e){const t=e;return {complete:t.getAttribute("complete"),cate_id:t.getAttribute("cate_id"),delete_id:t.getAttribute("delete_id"),status:t.getAttribute("status"),suffix:t.getAttribute("suffix"),name:t.getAttribute("name"),hash:t.getAttribute("hash")}}async function fp(e,t){const n=e,o=await D$(e);B$(n,t,o),T$(n,t,o),L$(n,t,o);}async function T$(e,t,n){if(!t.showInfoHash||e.querySelector(".info-hash"))return;const o=e.querySelector(".file-name"),i=je(`
<div class="info-hash" title="点击复制${n.hash}">${n.hash}</div>
`);o.after(i),i.addEventListener("click",()=>{ft(n.hash),Q({text:"已复制",icon:"success",timer:800});});const s=e.querySelector(".desc-tips");s&&s.style.display!=="none"&&e.classList.add("ce-task-trouble");}async function L$(e,t,n){const o=e.querySelector(".file-operate");if(o.querySelector(".ce-buttons"))return;const i=je('<span class="ce-buttons"></span>'),s=je(`
<a target="_blank" class="pure-button button-mini button-info">打开</a>
`);s.href=Bn(n.cate_id),s.title="在新标签页打开目录",i.append(s),o.prepend(i);}async function M$(e){if(!e.enableListManagement)return;const t=await et("#js-main .header-name");let n=t.querySelector(".ce-checkbox-all");n||(n=je(`
<div class="ce-checkbox ce-checkbox-all">
<input type="checkbox"/>
</div>
`),t.prepend(n)),n.addEventListener("click",()=>{const o=n.querySelector("input").checked;document.querySelectorAll("#js-warp li").forEach(s=>{const r=s.querySelector("input");r.checked=o,s.classList.toggle("ce-selected",o);}),hl().then(s=>{ml(s);});});}async function B$(e,t,n){if(!t.enableListManagement||e.querySelector(".ce-checkbox"))return;const o=e.querySelector(".file-name-wrap"),i=je(`
<div class="ce-checkbox">
<input type="checkbox" data-id="${n.hash}" />
</div>
`);o.prepend(i),e.classList.add("ce-show-checkbox"),i.addEventListener("click",async s=>{s.shiftKey?await R$(s,e):await O$(s,e);});}async function O$(e,t){t.classList.toggle("ce-selected");const n=document.querySelector(".ce-checkbox-all input"),o=await Pw();let i=0;for(const r of o)r.classList.contains("ce-selected")&&i++;const s=i===o.length;n.checked=s,n.indeterminate=!s&&i>0,hl().then(r=>{ml(r);});}async function R$(e,t){const n=await Pw(),o=n.indexOf(t);let i=-1;for(let u=0;u<o;u++)if(n[u].classList.contains("ce-selected")){i=u;break}if(i===-1){for(let u=n.length-1;u>o;u--)if(n[u].classList.contains("ce-selected")){i=u;break}}i=i===-1?o:i;const s=Math.min(i,o),r=Math.max(i,o);let a=0;for(let u=0;u<n.length;u++){const f=n[u],p=f.querySelector(".ce-checkbox input"),g=u>=s&&u<=r;p.checked=g,g&&a++,f.classList.toggle("ce-selected",g);}const l=s===0&&r===n.length-1,c=document.querySelector(".ce-checkbox-all input");c.checked=l,c.indeterminate=!l&&a>0,hl().then(u=>{ml(u);});}async function Aw(e){const t={info_hash:e.getAttribute("hash"),status:Number(e.getAttribute("status")),name:e.getAttribute("name"),file_id:e.getAttribute("cate_id"),delete_file_id:e.getAttribute("delete_id"),url:e.querySelector(".file-operate [cp_href]")?.getAttribute("cp_href")||""};return t.name||(t.name=e.querySelector(".file-name").textContent.trim()),t}async function Pw(e){const t=document.querySelectorAll("#js-warp li"),n=[];return t.forEach(async o=>{const i=o;n.push(i);}),n}async function hl(){const e=document.querySelectorAll("#js-warp li"),t=[];return e.forEach(async n=>{const o=n;if(o.classList.contains("ce-selected")){const i=await Aw(o);t.push(i);}}),t}async function ml(e){window.postMessage({event:yi.selection,body:e},"*");}async function Vu(e){document.querySelectorAll("#js-warp li").forEach(async n=>{const o=n,i=o.getAttribute("hash");e.includes(i)&&Xp(o);});}async function F$(e,t,n,o){const i=[],s=n.maxPage||5;let r="",a=null,l="",c="",u="";n.name!==void 0&&(r=n.caseSensitive?n.name:n.name.toLowerCase()),n.nameRegex!==void 0&&(a=new RegExp(n.nameRegex)),n.infoHash!==void 0&&(l=n.caseSensitive?n.infoHash:n.infoHash.toLowerCase()),n.url!==void 0&&(c=n.caseSensitive?n.url:n.url.toLowerCase()),n.status!==void 0&&n.status!==sn.any&&n.status.toString()!==""&&(u=n.status.toString());let f=n.stopOnFound||false;(l||c)&&(f=true);let p=-1;for(let g=1;g<=s&&!(p>-1&&g>p);g++){window.postMessage({event:yi.searchPageChanged,body:g},"*");const m=await zu(g,e,t);p===-1&&(p=m.page_count);const y=m.tasks;for(const x of y){const k=n.caseSensitive?x.name:x.name.toLowerCase(),I=n.caseSensitive?x.info_hash:x.info_hash.toLowerCase(),E=n.caseSensitive?x.url:x.url?.toLowerCase(),D=r&&n.fuzzyName?k.includes(r):false,B=a?a.test(k):false,H=l&&I===l,j=c&&E===c;if((u?u===x.status.toString():true)&&(D||B||H||j)&&(i.push(x),f))break}if(f&&i.length)break}return i}async function N$(){if(!(await to()).fixGotoPage)return;const t=await et("#js-page");if(!t){console.warn("[fixGotoPage] 找不到`#js-page`");return}const n=async r=>{if(r.key!=="Enter")return;const a=r.target,l=parseInt(a.value);if(isNaN(l)){a.select();return}parent.window.Core.OFFL5Plug.ChangePage(l);},o=async(r=false)=>{const a=t.querySelector('input[rel="page_jump"]');if(!a)return;const l=je(`
<input rel="page_jump" type="text" style="background-color: #fefcea;" />
`);l.title=`这是 ${P$.name} 替换的输入框,如果想恢复原有的输入框,请在「离线设置」中关闭「修复输入页码跳转」选项`,l.addEventListener("keydown",n),a.insertAdjacentElement("beforebegin",l),a.remove(),r&&l.focus();},i=lt(async r=>{o(true);},50),s=new MutationObserver(async([r])=>{r.type==="childList"&&i(r);});o(false),s.observe(t,{childList:true});}async function U$(e){const t=kt();if(!e.noGotoTaskPage||window!==window.top||t.Core.OFFL5Plug)return;async function n(o){t.Core&&o(true);}try{await Wo(n,250,3e4),t.Core.OFFL5Plug||t.$.getScript("https://cdnres.115.com/site/static/plug/offline_wl/offline5.0.js",()=>{t.Core.OFFL5Plug.AddClient({});});}catch(o){throw new Error(`[disableGotoTaskPage] wait Core failed:${o.message}`)}}const j$={class:"ce-config ce-offline-config"},z$={class:"pure-control-group"},H$={class:"pure-control-group"},V$={class:"pure-control-group"},q$={class:"pure-control-group"},W$={class:"pure-control-group"},K$={class:"pure-control-group"},G$={class:"pure-control-group"},J$={class:"pure-control-group"},Y$=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>to()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await $w(i),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(i,s)=>(_(),A("div",j$,[d("form",{class:"pure-form pure-form-aligned offline-exporter-config-form",onSubmit:s[8]||(s[8]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("div",z$,[s[9]||(s[9]=d("label",{for:"noGotoTaskPage"},"添加任务后不跳转",-1)),J(d("input",{id:"noGotoTaskPage",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.noGotoTaskPage=r)},null,512),[[we,o.value.noGotoTaskPage]]),s[10]||(s[10]=d("div",{class:"pure-form-message text-success"}," 官方的添加离线任务在添加任务后可能会跳转到任务列表页,开启此选项可以避免跳转。 ",-1))]),d("div",H$,[s[11]||(s[11]=d("label",{for:"enableListManagement"},"启用批量管理",-1)),J(d("input",{id:"enableListManagement",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.enableListManagement=r)},null,512),[[we,o.value.enableListManagement]]),s[12]||(s[12]=d("div",{class:"pure-form-message text-success"}," 可以选中多个任务进行操作,支持shift多选。 ",-1))]),d("div",V$,[s[13]||(s[13]=d("label",{for:"showInfoHash"},"显示链接哈希",-1)),J(d("input",{id:"showInfoHash",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.showInfoHash=r)},null,512),[[we,o.value.showInfoHash]]),s[14]||(s[14]=d("div",{class:"pure-form-message text-success"}," 显示离线任务的哈希文本,点击可以复制。 ",-1))]),d("div",q$,[s[15]||(s[15]=d("label",{for:"fixGotoPage"},"修复输入页码跳转",-1)),J(d("input",{id:"fixGotoPage",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>o.value.fixGotoPage=r)},null,512),[[we,o.value.fixGotoPage]]),s[16]||(s[16]=d("div",{class:"pure-form-message text-success"}," 如果官方的输入页码跳转功能异常,可开启此选项。 ",-1))]),d("div",W$,[s[17]||(s[17]=d("label",{for:"batchDeleteHttpFtp"},"批量删除http(s)/ftp任务",-1)),J(d("input",{id:"batchDeleteHttpFtp",type:"checkbox","onUpdate:modelValue":s[4]||(s[4]=r=>o.value.batchDeleteHttpFtp=r)},null,512),[[we,o.value.batchDeleteHttpFtp]]),s[18]||(s[18]=d("div",{class:"pure-form-message text-success"},[L(' "根据链接删除"功能支持http,https,ftp链接。'),d("b",{class:"text-danger"},"请注意,需要先查找到对应的任务才能删除"),L("。 ")],-1))]),s[25]||(s[25]=d("div",{class:"ce-tips"},"以下是导出链接相关选项",-1)),d("div",K$,[s[19]||(s[19]=d("label",{for:"onlyMagnetEd2k"},"只取磁力和ED2K链接",-1)),J(d("input",{id:"onlyMagnetEd2k",type:"checkbox","onUpdate:modelValue":s[5]||(s[5]=r=>o.value.onlyMagnetEd2k=r)},null,512),[[we,o.value.onlyMagnetEd2k]]),s[20]||(s[20]=d("div",{class:"pure-form-message text-success"}," 导出链接时,只取磁力和ED2K链接,其他比如http链接会被略过。 ",-1))]),d("div",G$,[s[21]||(s[21]=d("label",{for:"enableOptimization"},"启用导出优化",-1)),J(d("input",{id:"enableOptimization",type:"checkbox","onUpdate:modelValue":s[6]||(s[6]=r=>o.value.enableOptimization=r)},null,512),[[we,o.value.enableOptimization]]),s[22]||(s[22]=d("div",{class:"pure-form-message text-success"}," 据观察,离线记录列表是将未完成的记录放在最前面的。如果只需导出未完成链接, 当获取到一个已完成的记录时,便可以停止继续获取后面的记录,节省时间。 ",-1))]),d("div",J$,[s[23]||(s[23]=d("label",{for:"maxPage"},"最多导出页数",-1)),J(d("input",{id:"maxPage",type:"number","onUpdate:modelValue":s[7]||(s[7]=r=>o.value.maxPage=r),min:0},null,512),[[He,o.value.maxPage]]),s[24]||(s[24]=d("div",{class:"pure-form-message text-success"}," 0表示不限制,否则表示最多导出的页数。 ",-1))])])],32)]))}}),Iw=Ae(Y$,[["__file","Config.vue"]]);function pp(e){return /^magnet:\?xt=urn:btih/.test(e)}function hp(e){return /^ed2k:\/\/\|file\|/.test(e)}function Q$(e){return /^https?:\/\//.test(e)}function X$(e){return /^ftp:\/\//.test(e)}function mp(e){return `magnet:?xt=urn:btih:${e.toUpperCase()}`}function Dw(e){const t=e.match(/([a-z\d]{32,40})/i);return t?t[1]:""}function Z$(e,t=true){return (t?/^([a-z\d]{32})$|^([a-z\d]{40})$/i:/^[a-z\d]{32,40}$/i).test(e)}async function Tw(){const t=(await Bt().get("https://my.115.com/?ct=ajax&ac=nav",{timeout:3e4,withCredentials:true})).data;if(t.state)return t.data;throw new Error(t.error)}const eE={class:"ce-offline-exporter"},tE={key:0},ws=`\r
`,nE=xe({__name:"OflineExporter",setup(e){let t,n;const o=K([]);let i={};Ht(async()=>{i=await to(),t=await Tw(),console.log("[profile]",t),n=await Ew(),console.log("[space]",n),s(),await I$(i);});async function s(){window.addEventListener("message",x=>{const{event:k,body:I}=x.data;switch(k){case yi.selection:o.value=I;break;case yi.configChanged:i=I;break}},false);}async function r(x=false,k=""){const I=await to(),{isConfirmed:E,value:D}=await q.fire({title:"根据链接删除离线任务",html:`
<div>每行一个链接,支持磁力链接和ED2K链接</div>
<div>
<label class="swal2-checkbox">
<input type="checkbox" id="swalDeleteFile">
<span class="swal2-label text-danger">同时删除文件</span>
</label>
</div>
<div>
<label class="swal2-checkbox">
<input type="checkbox" id="swalBatchDeleteHttpFtp" ${I.batchDeleteHttpFtp?"checked":""}>
<span class="swal2-label">支持http(s)/ftp链接(<span class="text-danger">需逐个查找后删除!</span>)</span>
</label>
</div>
<div>
<textarea id="swalUrls" aria-label="每行一个链接" class="swal2-textarea" placeholder="每行一个链接" style="width:80%;"></textarea>
</div>
`,focusConfirm:false,didOpen:()=>{const O=document.getElementById("swalDeleteFile");O.checked=x;const R=document.getElementById("swalUrls");R.value=k,R.focus();},preConfirm:()=>{const O=document.getElementById("swalUrls");if(!(O?O.value.trim():""))return q.showValidationMessage("请输入链接!"),O.select(),false;const G=document.getElementById("swalDeleteFile"),ce=document.getElementById("swalBatchDeleteHttpFtp");return {deleteFile:G?G.checked:false,batchDeleteHttpFtp:ce?ce.checked:false,urls:O?O.value.trim():""}},width:620,inputPlaceholder:"每行一个",inputAttributes:{"aria-label":"每行一个"},showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消",customClass:{popup:"ce-swal-text-left"}});if(!E)return;if(!D||!D.urls){Q({icon:"error",title:"请输入链接!"});return}console.log("[value]",D);const B=new Set,H=new Set,j=D.urls.trim().split(`
`);for(let O=0;O<j.length;O++){const R=j[O].trim();if(pp(R)||hp(R)){const G=Dw(R);G&&H.add(G.toLowerCase());}(Q$(R)||X$(R))&&B.add(R);}const ae=[`共有 ${j.length} 行链接,`];let fe=0;if(H.size&&(fe+=H.size,ae.push(`其中 ${H.size} 个是 magnet/ed2k 链接,`)),B.size&&(fe+=B.size,ae.push(`其中 ${B.size} 个是 http(s)/ftp 链接,`)),!fe){Q({icon:"error",title:"没有有效链接"});return}if(H.size){const O=await a(Array.from(H),D.deleteFile);O&&ae.push(`删除 magnet/ed2k 任务结果: ${O}`);}let se={};if(B.size&&D.batchDeleteHttpFtp){const{issue:O,missingUrls:R=[]}=await l(Array.from(B),D.deleteFile,true);O&&ae.push(`删除 http(s)/ftp 任务结果: ${O}`),R.length&&(ae.push(`有 ${R.length} 个 http(s)/ftp 链接未找到对应任务,具体请点击"复制未找到链接"按钮查看。`),se={showDenyButton:true,denyButtonText:"复制未找到链接",preDeny:async()=>(ft(R.join(ws)),Q({icon:"success",title:"已复制到剪贴板",timer:800,position:"top-end"}),false)});}q.fire({title:"操作完成",icon:"info",html:ae.join("<br>"),customClass:{popup:"ce-swal-text-left"},...se});}async function a(x,k){if(!x.length)return null;q.fire({html:`正在删除 ${x.length} 个任务...`}),q.showLoading();try{await Hu(x,n,k,t.user_id);}catch(I){console.error(I);const E=I.message||I.toString();return q.fire({title:"删除失败",icon:"error",html:E}),E}try{await Vu(x);}catch(I){console.error(I);}return `成功删除 ${x.length} 个任务`}async function l(x,k,I=false){if(!x.length)return {issue:null};const E=await to();if(!I&&!E.batchDeleteHttpFtp)return {issue:null};x=Array.from(new Set(x));let D=0;q.fire({html:`开始查找 ${x.length} 个 http(s)/ftp 任务...`}),q.showLoading();const B=()=>{const R=D?`,已找到 ${D} 个`:"";q.update({html:`正在查找 ${x.length} 个 http(s)/ftp 任务...${R}`});},H=new Map;let j=1;const ae=E.maxPage>0?E.maxPage:9999;for(;;){B();const R=await zu(j,n.sign,t.user_id);if(!R.tasks||!R.tasks.length)break;for(const G of R.tasks)!G.url||!G.info_hash||x.includes(G.url)&&!H.has(G.url)&&(H.set(G.url,G.info_hash),D++,B());if(j>=ae||j>=R.page_count)break;j++;}if(!H.size)return {issue:"未找到符合条件的 http(s)/ftp 任务"};const fe=x.filter(R=>!H.has(R)),se=Array.from(H.values()),O=await a(se,k);return O?{issue:O,missingUrls:fe}:{issue:null,missingUrls:fe}}async function c(){const x=o.value.map(D=>D.info_hash);if(!x.length)return;const{isConfirmed:k,value:I}=await q.fire({title:"批量删除",icon:"warning",html:`确定要删除选中的 ${x.length} 个离线记录吗?`,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件",showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"});if(!k)return;const E=!!I;q.showLoading(),q.update({html:"正在删除..."}),await Hu(x,n,E,t.user_id),Q({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Vu(x),o.value=[];}async function u(x){const k=[x];i.onlyMagnetEd2k&&k.push(tn.magnetEd2k),console.log("[filters]",k),await y(n.sign,t.user_id,k);}function f(x,k){if(!k.length||k.length===1&&k[0]==="all")return x;const I={[sn.failed]:tn.failed,[sn.illegal]:tn.failed,[sn.ing]:tn.failed,[sn.success]:tn.success};return x=x.filter(E=>{if(!E.url&&!E.info_hash)return false;const D=I[E.status];return k.includes(tn.all)||D&&k.includes(D)?!(k.includes(tn.magnetEd2k)&&(!Z$(E.info_hash)||E.url&&!pp(E.url)&&!hp(E.url))):false}),x}async function p(x,k,I){let E=[],D=1,B=0;for(;;){q.update({html:`正在导出... 进度:第 ${D} 页`+(B?` / ${B}`:""),allowOutsideClick:false});const H=await zu(D,x,k);if(!H.tasks||!H.tasks.length)break;if(B===0&&i.maxPage>0?B=Math.min(H.page_count,i.maxPage):B=H.page_count,E=[...E,...f(H.tasks,I)],i.enableOptimization&&I.includes(tn.failed)&&g(H.tasks)){console.warn("由于开启了导出优化,且检测到已获取的记录中至少有一个「已完成」的记录,将不再获取剩下的记录");break}if(D>=B)break;D++;}return E}function g(x){for(const k of x)if(k.status===sn.success)return true;return false}async function m(){const x=[tn.all];i.onlyMagnetEd2k&&x.push(tn.magnetEd2k),console.log("[filters]",x);const k=o.value;if(!k.length)return;const I=[];k.forEach(E=>{!E.url&&E.info_hash&&(E.url=mp(E.info_hash)),I.push(E.url);}),I.length&&(ft(I.join(ws)),console.log("[links]",I),await q.fire({title:"导出成功",icon:"success",html:`成功导出 ${I.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Yr(I.join(ws),`115离线链接_数量${I.length}_${di()}.txt`),false)}));}async function y(x,k,I){q.fire({title:"导出离线链接",html:"正在导出...",didOpen:()=>{q.showLoading();}});const E=await p(x,k,I);if(q.hideLoading(),!E.length){await q.fire({title:"导出失败",icon:"error",html:"查询不到符合条件的离线记录!"});return}const D=[];if(E.forEach(B=>{!B.url&&B.info_hash&&(B.url=mp(B.info_hash)),D.push(B.url);}),!D.length){await q.fire({title:"导出失败",icon:"error",html:"未完成的离线记录中没有磁力或HTTP链接!"});return}ft(D.join(ws)),console.log("[links]",D),await q.fire({title:"导出成功",icon:"success",html:`成功导出 ${D.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Yr(D.join(ws),`115离线链接_数量${D.length}_${di()}.txt`),false)});}return (x,k)=>{const I=Co("VDropdown");return _(),A("span",eE,[o.value.length?(_(),A("span",tE,[d("button",{type:"button",class:"pure-button button-small button-error",onClick:c},[k[4]||(k[4]=L("删除(",-1)),d("span",null,U(o.value.length),1),k[5]||(k[5]=L(")",-1))]),k[6]||(k[6]=L(" ",-1))])):de("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:k[0]||(k[0]=E=>r(false,"")),title:"填写链接以删除对应的离线任务"},"根据链接删除"),k[9]||(k[9]=L(" ",-1)),o.value.length?(_(),A("button",{key:1,type:"button",class:"pure-button button-mini button-warning",onClick:m,title:"导出选中任务的链接"},[k[7]||(k[7]=L("导出已选",-1)),d("span",null,"("+U(o.value.length)+")",1)])):de("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:k[1]||(k[1]=E=>u(te(tn).failed)),title:"导出未完成链接"},"导出未完成"),d("button",{type:"button",class:"pure-button button-mini button-success",onClick:k[2]||(k[2]=E=>u(te(tn).success)),title:"导出已完成链接"},"导出已完成"),d("button",{type:"button",class:"pure-button button-mini button-warning",onClick:k[3]||(k[3]=E=>u(te(tn).all)),title:"导出全部链接"},"导出全部"),k[10]||(k[10]=L(" ",-1)),re(I,{distance:5,"arrow-padding":10},{popper:me(()=>[(_(),nt(_g,null,{default:me(()=>[re(Iw)]),_:1}))]),default:me(()=>[k[8]||(k[8]=d("button",{type:"button",class:"pure-button button-mini"},"设置",-1))]),_:1,__:[8]})])}}}),oE=Ae(nE,[["__file","OflineExporter.vue"]]),iE=["cate_id","delete_id","status","hash"],sE={class:"file-name-wrap"},rE={class:"file-name"},aE={task_popup:"goto",href:"javascript:;",class:"name"},lE={rel:"name"},uE={class:"desc-tips",rel:"file_down_violations"},cE={class:"txt-red",rel:"file_down_tips"},dE=["filename"],fE={class:"file-size"},pE={class:"file-process"},hE={rel:"progress"},mE={class:"file-operate",rel:"opt"},gE=["cp_href"],wE=xe({__name:"OfflineItem",props:{item:{},space:{},profile:{}},setup(e){const t=We(()=>s.item.percentDone?parseInt(s.item.percentDone.toString()):0),n=We(()=>{const{name:r,del_path:a}=s.item;let l=r.replace(/^.*\./,"");return a&&/\/$/.test(a)&&(l="folder"),/^[a-z\d]+$/i.test(l)||(l="unknown"),l}),o=We(()=>{const{err:r}=s.item;return r?B0[r]:""}),i=We(()=>s.item.can_appeal===1),s=e;return (r,a)=>(_(),A("li",{complete:"",cate_id:r.item.file_id,delete_id:r.item.delete_file_id,status:r.item.status,hash:r.item.info_hash},[d("div",sE,[d("i",{class:De(["file-type",`tp-${n.value}`])},null,2),d("div",rE,[d("em",null,[d("a",aE,[d("span",lE,U(r.item.name),1)])])]),J(d("div",uE,[d("span",cE,U(o.value),1),J(d("a",{href:"javascript:;",class:"btn-link",filename:r.item.name,rel:"violations_down_btn"},"去申诉",8,dE),[[Gt,i.value]])],512),[[Gt,o.value]])]),d("div",fE,[d("span",null,U(te(Wi)(r.item.size)),1)]),d("div",pE,[r.item.status===te(sn).failed?(_(),A(Se,{key:0},[a[0]||(a[0]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[1]||(a[1]=d("span",{rel:"progress"},"下载失败",-1))],64)):r.item.status===te(sn).success?(_(),A(Se,{key:1},[a[2]||(a[2]=d("i",{class:"icon-file-status ifst-success"},null,-1)),a[3]||(a[3]=d("span",{rel:"progress"},"下载成功",-1))],64)):r.item.status===te(sn).ing?(_(),A(Se,{key:2},[a[4]||(a[4]=d("i",{class:"icon-file-status ifst-downing"},null,-1)),d("span",hE,U(t.value)+"%",1)],64)):r.item.status===te(sn).illegal?(_(),A(Se,{key:3},[a[5]||(a[5]=d("i",{class:"icon-file-status ifst-violation"},null,-1)),a[6]||(a[6]=d("span",{rel:"progress"},"违规",-1))],64)):(_(),A(Se,{key:4},[a[7]||(a[7]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[8]||(a[8]=d("span",{rel:"progress"},"[未知]",-1))],64))]),d("div",mE,[a[10]||(a[10]=d("a",{href:"javascript:;",task_popup:"goto"},[d("i",{class:"icon-operate ifo-opendir"}),d("s",null,"跳转到目录")],-1)),d("a",{href:"javascript:;",cp_href:r.item.url,task_popup:"copy"},a[9]||(a[9]=[d("i",{class:"icon-operate ifo-copy"},null,-1),d("s",null,"复制",-1)]),8,gE),a[11]||(a[11]=d("a",{href:"javascript:;",class:"btn-delete-offline"},[d("i",{class:"icon-operate ifo-remove"}),d("s",null,"删除")],-1))])],8,iE))}}),yE=Ae(wE,[["__file","OfflineItem.vue"]]),bE={class:"ce-offline-list"},vE=xe({__name:"OfflineList",props:{items:{},space:{},profile:{}},setup(e){return (t,n)=>(_(),A("div",bE,[d("ul",null,[(_(true),A(Se,null,Ue(t.items,(o,i)=>(_(),nt(yE,{Key:i,item:o,space:t.space,profile:t.profile},null,8,["Key","item","space","profile"]))),256))])]))}}),xE=Ae(vE,[["__file","OfflineList.vue"]]),_E={class:"form-item",label:"关键词"},CE=["value"],kE={class:"form-item"},SE={class:"form-item",label:"状态"},$E=["value"],EE=["value"],AE={class:"form-item",label:"页数"},PE={class:"form-item"},IE={key:0,title:"根据「名称/名称正则」查找时,是否在找到一个结果时停止继续查找"},DE={key:0,class:"search-tips"},TE={class:"tips-body"},LE={key:0},ME=xe({__name:"OfflineSearcher",setup(e){let t,n;const o=K(),i=K({KeywordType:qr.name,keyword:"",status:sn.any,maxPage:5,stopOnFound:false});let s={...i.value};const r=K(null),a=K(false),l=K([]),c=K(null),u=K({content:"",subContent:"",visible:false});Ht(async()=>{t=await Tw(),n=await Ew(),o.value=await to(),i.value.KeywordType=o.value.searchKeywordType,i.value.status=o.value.searchStatus,i.value.maxPage=o.value.searchMaxPage,i.value.stopOnFound=o.value.searchStopOnFound,s={...i.value},document.body.addEventListener("click",H=>{D(H);}),f();}),ze(i,lt(async H=>{console.log("[searchParams changed]",Ac(H)),g();},200),{deep:true});async function f(){window.addEventListener("message",H=>{const{event:j,body:ae}=H.data;switch(j){case yi.searchPageChanged:p(ae);break;case yi.configChanged:o.value={...ae};break}},false);}async function p(H){console.log("[handleSearchPageChanged]",H),await B({subContent:`正在搜索第 ${H} 页...`,visible:true});}async function g(){const H=await to();let j=0;s.KeywordType!==i.value.KeywordType&&(H.searchKeywordType=i.value.KeywordType,j++),s.status!==i.value.status&&(H.searchStatus=i.value.status,j++),s.maxPage!==i.value.maxPage&&(H.searchMaxPage=i.value.maxPage,j++),s.stopOnFound!==i.value.stopOnFound&&(H.searchStopOnFound=i.value.stopOnFound,j++),j&&(await $w(H),console.log("[handleSearchParamsChange]",H),o.value={...H}),s={...i.value};}async function m(H){r.value?.select();}async function y(H){i.value.keyword="",r.value?.focus();}async function x(){l.value=[],i.value.keyword="",s={...i.value},await B({visible:false}),await I(false);try{parent.window.Core.OFFL5Plug.ChangePage(1);}catch(H){console.error(H);}}async function k(){l.value=[];let{keyword:H}=i.value;if(H=H.trim(),H===""){await mi(),r.value?.select(),Oi.fire({icon:"warning",title:"关键词不能为空!"});return}a.value=true,await B({content:"正在搜索...",subContent:"",visible:true});try{const j={status:i.value.status,maxPage:i.value.maxPage,fuzzyName:!0,caseSensitive:!1,stopOnFound:i.value.stopOnFound};j[i.value.KeywordType]=i.value.keyword,j.infoHash&&(j.infoHash=Dw(j.infoHash)),console.log("[search filter]",j);const ae=await F$(n.sign,t.user_id,j,o.value);l.value=ae,console.log("[search result]",ae),ae.length>0?await B({visible:!1}):await B({content:"没有符合条件的离线任务",subContent:"",visible:!0}),await I(!0);}catch(j){console.warn("[search error]",j),Oi.fire({icon:"error",title:j.toString()}),await B({content:"搜索失败!",subContent:j.toString(),visible:true});}finally{a.value=false;}}async function I(H=true){!l.value.length&&H&&Oi.fire({icon:"warning",html:"没有符合条件的离线任务"}),await mi();const j=c.value?.querySelector("ul");if(!j)return;const ae=document.querySelector("ul#js-warp");ae&&(ae.innerHTML=j.innerHTML),await E(),r.value?.focus();}async function E(){const H=l.value.length,j=document.querySelector("#js-page");if(!j)return;const ae=j.querySelector(".left-bvf span");ae.textContent=`共搜索到 ${H} 个结果`;const fe=j.querySelector(".pagination .con");fe.style.display="none";}async function D(H){let j=H.target;if(j.classList.contains("ifo-remove")&&(j=j.closest("a")),!j.classList.contains("btn-delete-offline"))return;const ae=j.closest("li"),fe=await Aw(ae),se=[fe.info_hash];let O={title:"删除离线记录",icon:"warning",html:`确定要删除「${fe.name}」吗?`,showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"};fe.delete_file_id&&(O={...O,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件"});const{isConfirmed:R,value:G}=await q.fire(O);if(!R)return;const ce=!!G;q.showLoading(),q.update({html:"正在删除..."}),await Hu(se,n,ce,t.user_id),Q({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Vu(se);}async function B(H){u.value={...u.value,...H};}return (H,j)=>(_(),A("div",{class:De(["ce-offline-searcher",{loading:a.value}])},[d("form",{inline:"",class:"pure-form search-form",size:"small",onSubmit:j[5]||(j[5]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("div",_E,[J(d("select",{"onUpdate:modelValue":j[0]||(j[0]=ae=>i.value.KeywordType=ae),size:"small",onChange:m},[(_(true),A(Se,null,Ue(te(E$),(ae,fe)=>(_(),A("option",{key:fe,value:fe},U(ae),9,CE))),128))],544),[[wn,i.value.KeywordType]])]),d("div",kE,[d("div",{class:De(["clearable-wrap",{"is-empty":i.value.keyword===""}])},[J(d("input",{ref_key:"refKeyword",ref:r,"onUpdate:modelValue":j[1]||(j[1]=ae=>i.value.keyword=ae),placeholder:"请输入关键词",clearable:"",onKeyup:Og(k,["enter"])},null,544),[[He,i.value.keyword]]),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall btn-clear",onClick:y},"×")],2)]),d("div",SE,[J(d("select",{"onUpdate:modelValue":j[2]||(j[2]=ae=>i.value.status=ae),placeholder:"请选择",clearable:"",style:{width:"90px"}},[d("option",{value:te(sn).any},"-状态-",8,$E),(_(true),A(Se,null,Ue(te($$),(ae,fe)=>(_(),A("option",{key:fe,value:fe},U(ae),9,EE))),128))],512),[[wn,i.value.status]])]),d("div",AE,[J(d("input",{type:"number","onUpdate:modelValue":j[3]||(j[3]=ae=>i.value.maxPage=ae),min:1,max:1e5,title:"最多查找页数"},null,512),[[He,i.value.maxPage]]),j[6]||(j[6]=d("small",null,"页",-1))]),d("div",PE,[[te(qr).name,te(qr).nameRegex].includes(i.value.KeywordType)?(_(),A("label",IE,[J(d("input",{type:"checkbox","onUpdate:modelValue":j[4]||(j[4]=ae=>i.value.stopOnFound=ae),class:"stop-on-found"},null,512),[[we,i.value.stopOnFound]]),j[7]||(j[7]=L(" 找到即停 ",-1))])):de("",true),d("button",{type:"button",class:"pure-button pure-button-primary button-small",onClick:k},"查找"),j[8]||(j[8]=L(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall",onClick:x,title:"清空关键词;重置列表到非查找状态"},"重置")])])],32),d("div",{ref_key:"refList",ref:c,class:"list"},[re(xE,{items:l.value,space:te(n),profile:te(t)},null,8,["items","space","profile"])],512),u.value.visible?(_(),A("div",DE,[d("div",TE,[d("h2",null,U(u.value.content),1),u.value.subContent?(_(),A("p",LE,U(u.value.subContent),1)):de("",true)])])):de("",true)],2))}}),BE=Ae(ME,[["__file","OfflineSearcher.vue"]]),OE='@charset "UTF-8";.cloud115-page-offline.ce-list-m .list-contents .file-name-wrap .desc-tips{left:75px}.cloud115-page-offline.ce-list-m li.ce-task-trouble .info-hash{left:210px!important}.cloud115-page-offline li .ce-buttons{float:left;margin-right:6px}.cloud115-page-offline .ce-checkbox{width:30px}.cloud115-page-offline .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp .info-hash{position:absolute;left:47px;top:25px;color:#ababab;cursor:pointer}.cloud115-page-offline #js-warp .info-hash.hover{color:#6ab2ff}.cloud115-page-offline #js-warp li.ce-selected:before{background:#ffe296!important}.cloud115-page-offline #js-warp li.ce-show-checkbox .info-hash{left:60px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-name{margin-left:15px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-type{left:25px!important}.cloud115-page-offline #js-warp li .ce-checkbox{width:30px;position:absolute;left:0}.cloud115-page-offline #js-warp li .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp li .desc-tips{position:absolute;left:60px;top:25px}.cloud115-page-offline.ce-offline-in-dialog .ce-offline-searcher,.cloud115-page-offline.ce-offline-in-dialog .ce-offline-exporter{left:100px}';At(OE);async function RE(){const e=await to(),{host:t,search:n}=location;t==="115.com"&&U$(e),!(t!=="115.com"||!n.includes("offline=1"))&&(n.includes("file_dialog_iframe")&&document.body.classList.add("ce-offline-in-dialog"),await FE(),await NE(),N$());}async function FE(){console.log("[Cloud115 Enhancer] Injecting offline exporter...");const e="cloud115OfflineExporter",t=await to();document.body.classList.add("cloud115-page-offline"),t.enableListManagement&&document.body.classList.add("ce-list-m"),$("body").append(`<div id="${e}"/>`);const n=uo(oE);n.component("VDropdown",Ai),n.mount(`#${e}`);}async function NE(){console.log("[Cloud115 Enhancer] Injecting offline searcher...");const e="cloud115OfflineSearcher",t=await to();document.body.classList.add("cloud115-page-offline"),t.enableSearcher&&document.body.classList.add("ce-list-s"),$("body").append(`<div id="${e}"/>`);const n=uo(BE);n.component("VDropdown",Ai),n.mount(`#${e}`);}var Jt=(e=>(e.UNKNOWN="unknown",e.OPEN_CLEANER="openCleaner",e.CLOSE_CLEANER="closeCleaner",e.CLEANER_OPENED="cleanerOpened",e.INVOKE_FILTER="invokeFilter",e.OPEN_EMPTY_CLEANER="openEmptyCleaner",e.CLOSE_EMPTY_CLEANER="closeEmptyCleaner",e.EMPTY_CLEANER_OPENED="emptyCleanerOpened",e))(Jt||{});const UE={class:"cloud115-eh-cleaner-trigger"},jE=xe({__name:"Trigger",setup(e){K(false);const t=K(true);async function n(a){switch(a.data.type){case Jt.INVOKE_FILTER:await ym(a.data.payload);break;case Jt.CLEANER_OPENED:await r(a.data.payload);break}}Ht(async()=>{console.log("[CleanerTrigger onMounted]"),window.addEventListener("message",n);}),Si(()=>{console.log("[CleanerTrigger onUnmounted]"),window.removeEventListener("message",n);});async function o(){await s(),ci({type:Jt.OPEN_CLEANER},window.parent);}let i;async function s(){const a=tr("cid");!a||a==="0"||(clearTimeout(i),i=setTimeout(async()=>{Q({icon:"error",text:"打开清理工具失败!"});},1e3));}async function r(a){console.log("成功打开Cleaner"),clearTimeout(i);}return (a,l)=>J((_(),A("span",UE,[Ke(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理文件工具"},l[0]||(l[0]=[d("span",null,"清理文件",-1)]))])],512)),[[Gt,t.value]])}}),zE=Ae(jE,[["__file","Trigger.vue"]]);function bd(e={}){return {initialized:false,suffixGroup:"",keywordGroup:"",showEntryOnPathBar:true,pageSize:1150,reqInterval:100,deleteSize:1150,keywordDefaultCategory:"all",keywordDefaultResult:"all",cleanWithoutConfirm:false,...e}}async function br(){const e=bd(),t=await Qe.get(gt.cleanerConfig,e);return {...e,...t,pageSize:1150,reqInterval:100,deleteSize:1150}}async function HE(e){return await Qe.set(gt.cleanerConfig,e)}async function vd(e){const t=await br();return await HE({...t,...e})}var Re=(e=>(e[e.suffix=0]="suffix",e[e.keyword=1]="keyword",e))(Re||{}),Ze=(e=>(e[e.filter=0]="filter",e[e.dirKeyword=1]="dirKeyword",e[e.fileKeyword=2]="fileKeyword",e[e.fileHash=3]="fileHash",e))(Ze||{});const Lw={0:"筛选",1:"目录名关键词",2:"文件名关键词",3:"文件sha1"};var Dt=(e=>(e[e.append=0]="append",e[e.cover=1]="cover",e[e.clear=2]="clear",e[e.reset=3]="reset",e[e.assign=4]="assign",e))(Dt||{}),wo=(e=>(e.all="all",e.file="file",e.dir="dir",e))(wo||{});const VE={all:"全部",file:"文件",dir:"目录"};var jo=(e=>(e.all="all",e.matched="matched",e.notMatched="unmatched",e))(jo||{});const qE={all:"全部",matched:"有匹配",unmatched:"无匹配"};var $t=(e=>(e.none="",e.prepare="查询文件...",e.prepared="查询文件完成",e.prepareFailed="查询失败",e.deleting="删除文件中...",e.success="清理完成",e.failed="清理失败",e))($t||{});const WE=new Map([[hn.all,on.all],[hn.video,on.video],[hn.audio,on.audio],[hn.image,on.image],[hn.doc,on.doc],[hn.app,on.app],[hn.archive,on.archive]]),qu=$0(WE),KE=[["文件名关键词","广告abc","包含`广告abc`,不区分大小写"],["目录名关键词","#广告abc","在关键词前面加上`#`"],["策略-不可分割匹配",'"广告 abc"',"匹配`广告 abc啊`,不匹配`广告啊abc`,即空格部分也进行匹配,使用双引号包裹关键词。"],["文件sha1","7309dd0d50007e027180f02301ccba8ba0fd971f//文件xxx","关键词部分长度为40且只包含a-f0-9的文本会被视为sha1"],["策略-区分大小写","广告abc/s","在关键词后面加上`/s` (s 可理解为 sensitive 首字母)"],["策略-等于","广告abc.mp4/=","在关键词后面加上`/=`,不区分大小写"],["策略-等于且区分大小写","广告abc.mp4/==","在关键词后面加上`/==`,也可以用`/s,=` (多个策略使用英文逗号隔开)"],["策略-指定最大大小","广告abc.mp4/10","在关键词后面加上`/10`,该大小将覆盖所在分组的设定"],["策略-正则表达式","^abc/r","在关键词后面加上`/r`"],["添加备注","广告abc//备注内容","在策略后面加上`/备注内容`,`//`表示策略为空,有策略的示例: 广告abc/s/备注内容"]],GE="##",xd="#",JE="=",YE="==",QE="s",XE="r",Mw="#",ZE=[{type:Re.suffix,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:5,values:["txt","url","html","htm","mht"]},{type:Re.suffix,queryOnly:true,label:"🔍115筛选",memo:"仅用于查询",size:102400,values:["#视频","#音频","#图片","#文档","#应用","#压缩包"]}],eA=["#論壇文宣","#宣傳文本","最新地址","最新网址","论坛地址","永久地址","地址发布","扫码 安装","扫码 下载","免費 掃碼","澳门 赌场","皇冠 赌场","免费18禁手游","免费黄游手游","在线影城","秀场 小视频","裸秀 主播 免费看","第一会所 宣传","SIS 影视联盟",'"最 新 位 址 獲 取"','"社 區 最 新 情 報"','"聚 合 全 網 H 直 播"'],tA=["#論壇文宣","美女 裸聊","秀场 视频","澳门 赌场","皇冠 赌场","影视 联盟","2048 社区","1024 社区","会所 宣传","扫码 安装","社区 关注","免費 掃碼","找回家","防屏蔽","封殺00","秀场 小视频","裸秀 主播 免费看",'"Free Adult Movie"',"奔驰宝马","最新网址","最新免費","免费试用","美女荷官","凤凰娛樂","观看指南","女神在线","更多无水印","免费在线","国产精品","免費原版","獨家資源","成人光碟","最新AV","FDZone","发布器","QR-1024","在這等你","激情祼聊","看妹不用等","真人祼聊","zz.jpg","X8B9.COM.gif","第一会所 宣传","SIS 影视联盟","淘精網","激情咖啡","手機影城","免费手机看片","U視娛樂","加微信","我愛看片手機版","平台正式上線"],nA=[{type:Re.keyword,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:100,values:eA},{type:Re.keyword,queryOnly:false,label:"⚠️大杀器⚠️",memo:"请谨慎使用!",size:100,values:tA},{type:Re.keyword,queryOnly:true,label:"远程关键词示例",size:100,values:[],url:"https://gist.githubusercontent.com/northsea4/a6c1945eb12fe7a7ef125c323b83b3fc/raw?t={t}"},{type:Re.keyword,queryOnly:true,label:"只查询示例",memo:"这是一个示例",size:10240,values:["奔驰宝马","美女荷官",'"最 新 位 址 獲 取"']}];function oi(e={}){return {id:Date.now().toString(),type:Re.keyword,queryOnly:false,label:"",values:"",memo:"",size:0,sort:0,createdAt:0,updatedAt:0}}function oA(e,t){if(e=e.trim(),t===Re.keyword)return uA(e);if(t!==Re.suffix)return null;const n=sA(e);return {type:Ze.filter,value:e,maxSize:-1,forDir:false,isFilter:n,pattern:n?rA(e).toString():e,num:-1,fileIds:[],size:-1,status:$t.none}}function iA(e){return [$t.prepare,$t.deleting].includes(e.status)}function gp(e,t){const n=[];return iA(e)&&n.push("active"),(e.type===Ze.filter||e.isFilter)&&n.push("is-filter"),e.type===Ze.dirKeyword&&n.push("is-dir"),e.num&&n.push(`item-${jo.matched}`),e.num===0&&n.push(`item-${jo.notMatched}`),n}function sA(e){return new RegExp(`^${Mw}[\\S]{2,}`).test(e)}function rA(e){const t=new RegExp(`^${Mw}`);let n=e.replace(t,"");const o=qu.get(n);if(!o)throw new Error(`"${e}"不是有效的筛选!`);return o}async function ni(e,t){let n;typeof e=="string"?n=e.split(/[\r\n]+/):n=e;const o=new Set;for(let s=0;s<n.length;s++){const r=n[s].trim();r.length>1&&o.add(r);}const i=[];return o.forEach(s=>{const r=oA(s,t);r&&i.push(r);}),i}function aA(e){return /(^'.+'$)|(^".+"$)/.test(e)}function wp(e,t){return e===""||!t.patternRegexp?false:(t.pattern,t.patternRegexp.test(e))}function yp(e,t,n){const o=Bw(e);o.num=0,o.size=0,o.fileIds=[];const i=new Set;let s=0;n.maxSize&&(s=n.maxSize*1024*1024),e.maxSize>=0&&(s=e.maxSize*1024*1024);for(let r=0;r<t.length;r++){const a=!!t[r].fid,l=a?t[r].fid:t[r].cid;if(!l||(e.type===Ze.dirKeyword||e.type===Ze.fileKeyword)&&(a&&e.type!==Ze.fileKeyword||!a&&e.type!==Ze.dirKeyword)||e.type===Ze.filter&&!a)continue;const c=parseFloat(t[r].s);s&&a&&c>s||e.type===Ze.fileKeyword&&!wp(t[r].n,e)||e.type===Ze.dirKeyword&&!wp(t[r].n,e)||e.type===Ze.fileHash&&t[r].sha!==e.pattern.toUpperCase()||i.has(l)||(i.add(l),o.size+=c);}return o.fileIds=Array.from(i),o.num=o.fileIds.length,o}function Bw(e={}){return {type:Ze.fileKeyword,value:"",pattern:"",patternRegexp:null,maxSize:-1,size:-1,fullMatch:false,caseSensitive:false,isRegexp:false,impartible:false,memo:"",...e}}function lA(e){if(e=e.trim().replace(/\/+$/,"").replace(/^\/+/,""),e==="")return null;const t={caseSensitive:false,fullMatch:false,maxSize:-1,isRegexp:false};let n=false;const o=e.split(/\s*,\s*/);for(let i=0;i<o.length;i++)o[i]=o[i].trim(),o[i]!==""&&(/^\d+$/.test(o[i])&&(t.maxSize=parseInt(o[i])),o[i]===JE&&(t.fullMatch=true),o[i]===YE&&(t.fullMatch=true,t.caseSensitive=true,n=true),o[i]===QE&&(t.caseSensitive=true,n=true),o[i]===XE&&(t.isRegexp=true));return t.isRegexp&&(t.caseSensitive=n?t.caseSensitive:false,t.fullMatch=false),t}function uA(e){const t=Bw();if(e=e.trim(),e===""||e.startsWith("//"))return null;if(/^[a-fA-F0-9]{40}(\/.*)?$/.test(e))return t.type=Ze.fileHash,t.value=e,t.pattern=e.substring(0,40).toLowerCase(),t.memo=e.length>41?e.substring(41):void 0,t;const n=/^(#+)?([^\/]+)(\/[^\/]*)?(\/.+)?/,o=e.match(n);if(o){if(o[2]==="")return null;if(o[3]){const i=lA(o[3]);i&&(t.caseSensitive=i.caseSensitive,t.fullMatch=i.fullMatch,t.maxSize=i.maxSize,t.isRegexp=i.isRegexp);}if(t.value=e,t.pattern=o[2].trim(),o[1]===GE)return t.type=Ze.filter,null;o[1]===xd?t.type=Ze.dirKeyword:t.type=Ze.fileKeyword,o[4]&&(t.memo=o[4].substring(1).trim());}return t.impartible=aA(t.pattern),t.impartible&&(t.pattern=t.pattern.replace(/^['"]|['"]$/g,"")),t.type===Ze.dirKeyword&&(t.maxSize=-1),t.patternRegexp=cA(t),t}function cA(e){if(e.pattern===""||![Ze.dirKeyword,Ze.fileKeyword].includes(e.type))return null;let t="";if(e.caseSensitive||(t+="i"),e.isRegexp)return new RegExp(e.pattern,t);let n=p0(e.pattern);return e.fullMatch&&(n=`^${n}$`),e.impartible||(n=n.replace(/\s+/g,".*")),new RegExp(n,t)}function dA(e){const{type:t,pattern:n,isRegexp:o}=e;return t===Ze.filter?qu.has(n)?{type:qu.get(n)}:/^\d$/.test(n)?{type:parseInt(n)}:{suffix:n}:o?{search_value:n.replace(/^\^/,"").replace(/\$$/,"")}:{search_value:n}}function ys(e,t,n){if(n){const o=ac(e,{});lu(e,{...o,...t});}else lu(e,t);}function fA(e={}){return Pc({okStatus:[200],useFileReader:false,fileReader:{encoding:"utf-8",checkBlank:true}},e)}async function Ow(e,t={}){return new Promise((n,o)=>{const i=t.useFileReader?"blob":"text";Ta({method:"GET",url:e,responseType:i,nocache:!t.cache,onload:async s=>{if(t.okStatus&&!t.okStatus.includes(s.status)&&o(new Error(`请求失败!status=${s.status},statusText=${s.statusText}`)),t.useFileReader){let r=s.response,a=new FileReader;a.onload=l=>{console.log("[load] onload",l);let c=l.target?.result;typeof c=="string"?t.fileReader.checkBlank&&c===""?o(new Error("读取内容为空字符串")):n(c):o(new Error("读取结果不是字符串"));},a.readAsText(r,t.fileReader.encoding);return}n(s.response);},onerror:s=>{console.error("[load] onerror",s),o(`请求失败!status=${s?.status},statusText=${s?.statusText}`);}});})}async function pA(e){try{new URL(e.url);}catch{throw new Error(`无效的URL:${e.url}`)}e.url.replace("{t}",Date.now().toString());let t="";try{t=await Ow(e.url);}catch(n){throw new Error(`无法加载URL:${n.toString()}`)}if(t=t.trim(),t==="")throw new Error("URL返回内容为空!");e.values=t,e.lastSync=di();}const Rw=function(){return document.ontouchstart!==null?"click":"touchstart"},ka="__vue_click_away__",Fw=function(e,t,n){Nw(e);let o=n.context,i=t.value,s=false;setTimeout(function(){s=true;},0),e[ka]=function(r){if((!e||!e.contains(r.target))&&i&&s&&typeof i=="function")return i.call(o,r)},document.addEventListener(Rw(),e[ka],false);},Nw=function(e){document.removeEventListener(Rw(),e[ka],false),delete e[ka];},hA=function(e,t,n){t.value!==t.oldValue&&Fw(e,t,n);},mA={mounted:Fw,updated:hA,unmounted:Nw},gA=xe({__name:"Drawer",props:{isOpen:{type:Boolean,default:false},maxWidth:{default:"600px"},speed:{default:100},bgColor:{default:"#fff"}},emits:["close"],setup(e,{emit:t}){const n=e,o=K(false),i=K(false),s=l=>{const c=document.querySelector("body");c.style.overflow=l?"hidden":"";},r=l=>{l.target.classList.contains("ce-drawer__overlay")&&(i.value||a("close"));},a=t;return Ht(()=>{o.value=n.isOpen;}),ze(()=>n.isOpen,l=>{i.value=true,l?(s(true),o.value=true):(s(false),setTimeout(()=>o.value=false,n.speed)),setTimeout(()=>i.value=false,n.speed);}),(l,c)=>(_(),A("div",null,[d("div",{class:De(["ce-drawer",{"is-open":l.isOpen,"is-visible":o.value}])},[d("div",{class:"ce-drawer__overlay",style:Xn({transitionDuration:`${l.speed}ms`})},null,4),J((_(),A("div",{class:"ce-drawer__content",style:Xn({maxWidth:l.maxWidth,transitionDuration:`${l.speed}ms`,backgroundColor:l.bgColor})},[Ke(l.$slots,"default")],4)),[[te(mA),r]])],2)]))}}),Qs=Ae(gA,[["__file","Drawer.vue"]]),wA={class:"k-p-e"},yA={class:"ce-tag-plain"},bA={class:"text-primary"},vA={class:"text-success"},xA={key:0,class:"ce-hr"},_A=xe({__name:"KeywordPatternExamples",setup(e){return (t,n)=>(_(),A("div",wA,[n[2]||(n[2]=d("h4",{style:{"margin-bottom":"6px"}},"关键词说明(前4种类型已满足大部分需求场景)",-1)),(_(true),A(Se,null,Ue(te(KE),(o,i)=>(_(),A("div",{key:i},[d("div",null,[d("span",yA,U(o[0]),1),n[0]||(n[0]=L(" ",-1)),d("span",bA,U(o[1]),1),n[1]||(n[1]=L(" ",-1)),d("span",vA,U(o[2]),1)]),i===3?(_(),A("hr",xA)):de("",true)]))),128))]))}}),Uw=Ae(_A,[["__file","KeywordPatternExamples.vue"]]),CA={class:"group-manager"},kA={key:0,class:"label-readonly",title:"当前分组只可用于查询"},SA={key:1,class:"label-readonly",title:"当前分组特征为远程文本"},$A=["title"],EA={class:"groups-list"},AA={key:0,class:"text-danger"},PA={class:"pure-table pure-table-bordered"},IA={align:"center"},DA=["onClick"],TA={class:"group-confirm-delete"},LA=["onClick"],MA=["onClick"],BA={class:"pure-form pure-form-stacked group-form"},OA={class:"pure-control-group"},RA={class:"pure-control-group"},FA={key:0,class:"pure-control-group"},NA={class:"pure-form-message"},UA={class:"pure-control-group"},jA={class:"pure-form-message"},zA={key:0,class:"text-info"},HA={key:1,class:"text-info"},VA=["onClick"],qA={class:"values"},WA={class:"v-input"},KA={class:"v-help"},GA={class:"pure-control-group"},JA={class:"pure-control-group"},YA=xe({__name:"GroupManager",props:{type:{},storageKey:{},config:{}},emits:["change"],setup(e,{emit:t}){const n=e,o=t,i=K(false),s=K(oi({type:n.type})),r=K([]),a=K(false),l=K(oi({type:n.type})),c=K(false),u=K(null),f=[on.video,on.audio,on.image,on.doc,on.app,on.archive];ze(r,async se=>{console.log("[groups change]",se),ys(n.storageKey,se,false),se.length||(a.value=false,c.value=false);},{deep:true});let p=false;Ht(async()=>{if(!p){p=true,r.value=ac(n.storageKey,[]),console.log("[groups]",r.value);const{suffixGroup:se,keywordGroup:O}=n.config;if(r.value.length){const R=r.value.find(G=>G.id===(n.type===Re.suffix?se:O));console.log("[group last choosen]",R),s.value=R||r.value[0],o("change",s.value);}else n.type===Re.suffix&&!se&&(await D(),ys(gt.cleanerConfig,{suffixGroup:s.value.id},true)),n.type===Re.keyword&&!O&&(await D(),ys(gt.cleanerConfig,{keywordGroup:s.value.id},true));}}),Si(async()=>{});async function g(se){const O=`#${se}`;l.value.values.includes(O)||(l.value.values+=(`
`+O).trim()+`
`);}async function m(){i.value=false;}async function y(){c.value=false;}async function x(){c.value=true,a.value=false;}async function k(){u.value.show();}async function I(){u.value.hide();}async function E(){l.value.createdAt&&(l.value=oi({type:n.type})),l.value.size=5,n.type===Re.keyword&&(l.value.size=100),i.value=true;}async function D(){let se=[];n.type===Re.suffix?se=ZE:se=nA;for(let O=0;O<se.length;O++){const R={...oi({type:se[O].type}),...se[O]};l.value=R,l.value.type=R.type,l.value.queryOnly=R.queryOnly,l.value.size=R.size,l.value.label=R.label,l.value.memo=R.memo,l.value.createdAt=0,l.value.updatedAt=0,Array.isArray(R.values)?l.value.values=R.values.join(`
`):l.value.values=R.values,await j(),await I();}r.value.length&&await ae(r.value[0]);}async function B(se,O=false){if(!O){const{isConfirmed:G}=await q.fire({html:`确定删除"${s.value.label}"?`,icon:"question"});if(!G)return}let R=-1;for(let G=0;G<r.value.length;G++)if(r.value[G].id===s.value.id){R=G;break}r.value.splice(R,1),r.value.length?s.value=r.value[0]:s.value=oi({type:n.type}),o("change",s.value),await Q({icon:"success",title:"删除成功!",timer:1500});}async function H(se){l.value=se,i.value=true;}async function j(){let se=[];try{se=await ni(l.value.values,l.value.type);}catch(ye){await q.fire({icon:"error",text:ye.message});return}if(l.value.label=l.value.label.trim(),l.value.memo=l.value.memo.trim(),l.value.label===""){await Q({icon:"warning",text:"请输入标题!"});return}let O=-1;for(let ye=0;ye<r.value.length;ye++)if(r.value[ye].id===l.value.id&&l.value.id){O=ye;break}const R=di();l.value.updatedAt=R,l.value.createdAt||(l.value.createdAt=R);let G=[];for(let ye=0;ye<se.length;ye++)G.push(se[ye].value);l.value.values=G.join(`
`).trim(),console.log("[saveGroup]",l.value,O),O===-1?(r.value.push(l.value),Q({icon:"success",text:"添加成功"})):(r.value[O]=l.value,Q({icon:"success",text:"更新成功"}));const ce=!s.value.createdAt;ce&&(s.value=l.value),(l.value.id===s.value.id||ce)&&o("change",l.value),await m();}async function ae(se){s.value=se;const{id:O}=s.value;n.type===Re.suffix&&(n.config.suffixGroup=O,ys(gt.cleanerConfig,{suffixGroup:O},true)),n.type===Re.keyword&&(n.config.keywordGroup=O,ys(gt.cleanerConfig,{keywordGroup:O},true)),o("change",se);}async function fe(se,O=false){try{await pA(se);}catch(R){console.error(R),Q({icon:"error",text:R.message});return}O?(l.value=se,await j()):Q({icon:"success",text:"读取成功"});}return (se,O)=>{const R=Co("VDropdown");return _(),A("div",CA,[s.value.queryOnly?(_(),A("span",kA," 🔍 只查询 ")):de("",true),s.value.url?(_(),A("span",SA," 🔗 远程 ")):de("",true),s.value.createdAt?(_(),A("span",{key:2,class:"group-label",title:`当前使用的分组: ${s.value.label}`},[d("span",null,[O[11]||(O[11]=d("small",null,"分组:",-1)),L(" "+U(s.value.label),1)])],8,$A)):de("",true),s.value.url?(_(),A("a",{key:3,href:"javascript:void(0)",class:"pure-button button-success",onClick:O[0]||(O[0]=G=>fe(s.value,true))}," ↓ 同步关键词")):de("",true),d("a",{href:"javascript:void(0)",class:"pure-button",onClick:O[1]||(O[1]=G=>H(s.value))}," ✎ 编辑 "),O[36]||(O[36]=L(" ",-1)),d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:E},"+ 新增分组"),re(R,{ref_key:"list",ref:u,onHide:y,onShow:x,distance:5},{popper:me(()=>[d("div",EA,[r.value.length?de("",!0):(_(),A("h3",AA,[O[12]||(O[12]=L(" 还没有添加任何分组。你可以: ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:E},"添加"),O[13]||(O[13]=L(" ",-1)),O[14]||(O[14]=d("span",{class:"text-info"},"或",-1)),O[15]||(O[15]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:D},"使用脚本内置"),O[16]||(O[16]=d("br",null,null,-1)),O[17]||(O[17]=d("br",null,null,-1))])),d("table",PA,[O[21]||(O[21]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"70"},"只查询"),d("th",{width:"150"},"名称"),d("th",{width:"150"},"备注"),d("th",{width:"70"},[L("大小"),d("small",null,"MB")]),d("th",{width:"220"},"操作")])],-1)),d("tbody",null,[(_(!0),A(Se,null,Ue(r.value,(G,ce)=>(_(),A("tr",{key:ce},[d("td",null,U(ce+1),1),d("td",IA,U(G.queryOnly?"是":"否"),1),d("td",null,U(G.label),1),d("td",null,U(G.memo),1),d("td",null,U(G.size),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall text-primary",onClick:ye=>ae(G)},"载入",8,DA),O[19]||(O[19]=L(" ",-1)),re(R,null,{popper:me(()=>[d("div",TA,[d("button",{type:"button",class:"pure-button button-error",onClick:ye=>B(G,!0)},"确定",8,LA)])]),default:me(()=>[O[18]||(O[18]=d("button",{type:"button",class:"pure-button button-xsmall text-danger"},"删除",-1))]),_:2,__:[18]},1024),O[20]||(O[20]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:ye=>H(G)},"编辑",8,MA)])]))),128))])])])]),default:me(()=>[d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:k},"≡ 分组列表")]),_:1},512),re(Qs,{"is-open":i.value,onClose:O[10]||(O[10]=G=>i.value=false),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:me(()=>[d("form",BA,[d("fieldset",null,[d("div",OA,[O[22]||(O[22]=d("label",{for:"groupLabel",class:"text-primary"},"* 标题",-1)),J(d("input",{type:"text","onUpdate:modelValue":O[2]||(O[2]=G=>l.value.label=G),id:"groupLabel",class:"pure-input-1-2",placeholder:"分组标题"},null,512),[[He,l.value.label]]),O[23]||(O[23]=L(" ",-1)),l.value.queryOnly?(_(),A("button",{key:0,type:"button",class:"pure-button button-small button-warning",onClick:O[3]||(O[3]=G=>l.value.queryOnly=!1)},"已设置为仅用于查询 | 点击取消设置")):de("",!0),l.value.queryOnly?de("",!0):(_(),A("button",{key:1,type:"button",class:"pure-button button-small pure-button-primary",onClick:O[4]||(O[4]=G=>l.value.queryOnly=!0)},"设置为仅用于查询"))]),d("div",RA,[O[24]||(O[24]=d("label",{for:"groupMemo",class:"text-primary"},"备注",-1)),J(d("input",{type:"text","onUpdate:modelValue":O[5]||(O[5]=G=>l.value.memo=G),id:"groupMemo",placeholder:"分组备注"},null,512),[[He,l.value.memo]])]),n.type===te(Re).keyword?(_(),A("div",FA,[O[27]||(O[27]=d("label",{for:"groupUrl",class:"text-primary"},"远程链接",-1)),d("div",NA,[O[25]||(O[25]=d("span",null,"纯文本, utf-8编码",-1)),O[26]||(O[26]=L(" ",-1)),l.value.url?(_(),A("button",{key:0,type:"button",class:"pure-button button-small button-success",onClick:O[6]||(O[6]=G=>fe(l.value,!1))}," 读取 ")):de("",!0)]),J(d("input",{type:"text","onUpdate:modelValue":O[7]||(O[7]=G=>l.value.url=G),id:"groupUrl",placeholder:"远程链接"},null,512),[[He,l.value.url]])])):de("",!0),d("div",UA,[O[32]||(O[32]=d("label",{for:"groupValues",class:"text-primary"},"* 特征列表",-1)),d("div",jA,[n.type===te(Re).keyword?(_(),A("span",zA,[O[28]||(O[28]=L(" 默认只匹配文件名。前面带",-1)),d("b",null,U(te(xd)),1),O[29]||(O[29]=L("则只匹配目录名。 ",-1))])):de("",!0),n.type===te(Re).suffix?(_(),A("span",HA,[O[30]||(O[30]=L(" 支持115自带筛选: ",-1)),(_(),A(Se,null,Ue(f,(G,ce)=>d("span",{class:"filter-label text-success",key:ce,onClick:ye=>g(G)}," #"+U(G),9,VA)),64)),O[31]||(O[31]=d("small",{class:"text-primary"},"(点击添加)",-1))])):de("",!0)]),d("div",qA,[d("div",WA,[J(d("textarea",{id:"groupValues","onUpdate:modelValue":O[8]||(O[8]=G=>l.value.values=G),rows:"14",placeholder:"每行一个"},null,512),[[He,l.value.values]])]),d("div",KA,[re(Uw)])])]),d("div",GA,[O[33]||(O[33]=d("label",{for:"groupMemo",class:"text-primary"},"* 文件大小",-1)),O[34]||(O[34]=d("div",{class:"pure-form-message"},[L("只清理小于该大小的文件,单位"),d("b",null,"MB")],-1)),J(d("input",{type:"number","onUpdate:modelValue":O[9]||(O[9]=G=>l.value.size=G),class:"pure-input-1-4",placeholder:"文件大小小于该数值才清理"},null,512),[[He,l.value.size]])]),d("div",JA,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:j},U(l.value.createdAt?"更新":"添加"),1),O[35]||(O[35]=L(" ",-1)),d("button",{type:"button",class:"pure-button",onClick:m},"取消")])])])]),_:1},8,["is-open"])])}}}),bp=Ae(YA,[["__file","GroupManager.vue"]]),QA={class:"cloud115-eh-cleaner-help"},XA=xe({__name:"Help",setup(e){return (t,n)=>(_(),A("div",QA,[d("div",null,[n[3]||(n[3]=Ag('<h2>免责声明</h2><div><p>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr><h2>说明</h2><ul style="color:#f40;"><li class="text-primary">始于清理,但不止于清理!</li><li>* 仅对当前选中的目录及其子目录生效。</li><li>* 通过<b class="text-primary">新增分组 / 分组列表</b>管理你的清理特征。</li><li>* 建议整理自己的特征,也欢迎在交流中分享你的特征。</li><li>* <b class="text-primary">只查询</b>按钮,只会进行查询。</li><li>* <b class="text-primary">一键清理</b>是先查询,再进行删除!</li><li>* 由于搜索接口限制,如果某个关键词结果数量超过1万,可能会清理不完全,可以多执行几次清理。</li><li>* <b>清理期间,请保持当前页面处于激活状态!</b></li><li>* <b>请谨慎操作!请谨慎操作!请谨慎操作!</b></li></ul><hr><h3>按 后缀名 清理</h3><div><p>1. 点击<b class="text-primary">分组列表</b>,选择一个分组;</p><p>2. 确认后缀名和文件大小限制等的设定;</p><p>3. 点击<b class="text-primary">一键清理</b>按钮,耐心等待。</p></div><hr><h3>按 关键词 清理</h3>',10)),d("div",null,[n[0]||(n[0]=d("p",{class:"text-danger"},[L("目录名关键词使用"),d("b",null,"搜索"),L("接口查找匹配,只能逐个关键词进行处理,请尽量使用简单的关键词,否则可能会匹配不到。")],-1)),n[1]||(n[1]=d("p",{class:"text-danger"},[L("文件名关键词使用"),d("b",null,"列表"),L("接口查找匹配,速度较快,且支持更灵活的关键词。")],-1)),n[2]||(n[2]=d("br",null,null,-1)),re(Uw)])])]))}}),ZA=Ae(XA,[["__file","Help.vue"]]),eP={key:0},tP={key:1},nP={key:2},oP={key:3},iP={key:4},sP={key:5},rP={key:6},aP={key:7},lP={key:8},uP={key:9},cP=xe({__name:"Pager",props:{totalItems:{type:Number,required:true},itemsPerPage:{type:Number,default:10,validator:e=>{if(e<=0){const t="itemsPerPage attribute must be greater than 0.";throw console.error(t),new TypeError(t)}return true}},currentPage:{type:Number,default:1,validator:e=>{const t="currentPage attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return true}},modelValue:{type:Number,required:true,validator:e=>{const t="v-model is required and must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return true}},maxPagesShown:{type:Number,default:5,validator:e=>{const t="maxPagesShown attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return true}},dir:{type:String,default:"ltr",validator:e=>{const t='dir attribute must be either "ltr" or "rtl".';if(e!=="ltr"&&e!=="rtl")throw console.error(t),new TypeError(t);return true}},type:{type:String,default:"button",validator:e=>{const t=["link","button"],n="type attribute must be one of the following: "+t.join(", ");if(t.indexOf(e)===-1)throw console.error(n),new TypeError(n);return true}},onClick:{type:Function,default:()=>{}},prevButtonContent:{type:String,default:"<"},nextButtonContent:{type:String,default:">"},hidePrevNext:{type:Boolean,default:false},hidePrevNextWhenEnds:{type:Boolean,default:false},showBreakpointButtons:{type:Boolean,default:true},disableBreakpointButtons:{type:Boolean,default:false},startingBreakpointContent:{type:String,default:"..."},endingBreakpointButtonContent:{type:String,default:"..."},showJumpButtons:{type:Boolean,default:false},linkUrl:{type:String,default:"#"},backwardJumpButtonContent:{type:String,default:"<<"},forwardJumpButtonContent:{type:String,default:">>"},disablePagination:{type:Boolean,default:false},showEndingButtons:{type:Boolean,default:false},firstPageContent:{type:String,default:"First"},lastPageContent:{type:String,default:"Last"},backButtonClass:{type:String,default:"back-button"},nextButtonClass:{type:String,default:"next-button"},firstButtonClass:{type:String,default:"first-button"},lastButtonClass:{type:String,default:"last-button"},numberButtonsClass:{type:String,default:"number-buttons"},startingBreakpointButtonClass:{type:String,default:"starting-breakpoint-button"},endingBreakPointButtonClass:{type:String,default:"ending-breakpoint-button"},firstPageButtonClass:{type:String,default:"first-page-button"},lastPageButtonClass:{type:String,default:"last-page-button"},paginateButtonsClass:{type:String,default:"paginate-buttons pure-button"},disabledPaginateButtonsClass:{type:String,default:"disabled-paginate-buttons"},activePageClass:{type:String,default:"active-page"},paginationContainerClass:{type:String,default:"pagination-container"},disabledBreakPointButtonClass:{type:String,default:"disabled-breakpoint-button"},backwardJumpButtonClass:{type:String,default:"backward-jump-button"},forwardJumpButtonClass:{type:String,default:"forward-jump-button"},disabledBackwardJumpButtonClass:{type:String,default:"disabled-backward-jump-button"},disabledBackButtonClass:{type:String,default:"disabled-back-button"},disabledFirstButtonClass:{type:String,default:"disabled-first-button"},disabledLastButtonClass:{type:String,default:"disabled-last-button"},disabledNextButtonClass:{type:String,default:"disabled-next-button"},disabledForwardJumpButtonClass:{type:String,default:"disabled-forward-jump-button"}},emits:["update:modelValue","click"],setup(e,{emit:t}){const n=e;if(n.currentPage&&!n.modelValue)throw new Error("currentPage/current-page is now deprecated, use v-model instead to set the current page.");if(!n.modelValue)throw new TypeError("v-model is required for the paginate component.");const o=d_(n,"modelValue"),i=t,s=E=>{E!==o.value&&(E>l.value||E<1||n.disablePagination||(i("update:modelValue",E),i("click",E)));},r=E=>E,a=E=>n.type!=="link"?"":n.linkUrl.replace("[page]",E.toString()),l=We(()=>Math.ceil(n.totalItems/n.itemsPerPage)),c=We(()=>{let E,D;if(l.value<=n.maxPagesShown)E=1,D=l.value;else {let H=Math.floor(n.maxPagesShown/2),j=Math.ceil(n.maxPagesShown/2)-1;o.value<=H?(E=1,D=n.maxPagesShown):o.value+j>=l.value?(E=l.value-n.maxPagesShown+1,D=l.value):(E=o.value-H,D=o.value+j);}let B=Array.from(Array(D+1-E).keys()).map(H=>E+H);return n.dir==="rtl"&&(B=B.reverse()),{totalItems:n.totalItems,currentPage:o.value,itemsPerPage:n.itemsPerPage,totalPages:l,startPage:E,endPage:D,pages:B}}),u=We(()=>n.dir==="rtl"),f=We(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==l.value:!n.hidePrevNextWhenEnds||o.value!==1),p=We(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==1:!n.hidePrevNextWhenEnds||o.value!==l.value),g=We(()=>u.value?c.value.pages[0]<l.value-1:c.value.pages[0]>=3),m=We(()=>u.value?c.value.pages[c.value.pages.length-1]>=3:c.value.pages[c.value.pages.length-1]<l.value-1),y=We(()=>u.value?c.value.pages[0]<l.value:c.value.pages[0]>=2),x=We(()=>u.value?c.value.pages[c.value.pages.length-1]>=2:c.value.pages[c.value.pages.length-1]<l.value),k=We(()=>o.value!==1),I=We(()=>o.value!==l.value);if(n.type==="link"&&n.linkUrl==="#")throw console.error("linkUrl attribute is required if type attribute is 'link'"),new TypeError("linkUrl attribute is required if type attribute is 'link'");if(n.type==="link"&&!n.linkUrl.includes("[page]"))throw console.error("linkUrl attribute must contain '[page]' substring"),new TypeError("linkUrl attribute must contain '[page]' substring");return (E,D)=>(_(),A("ul",{id:"componentContainer",class:De(e.paginationContainerClass)},[e.showEndingButtons&&k.value?(_(),A("li",eP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:D[0]||(D[0]=pt(B=>s(u.value?l.value:1),["prevent"])),class:De([e.firstPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:me(()=>[Ke(E.$slots,"first-page-button",{},()=>[L(U(e.firstPageContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showJumpButtons&&g.value?(_(),A("li",tP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:D[1]||(D[1]=pt(B=>s(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),class:De([e.backwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackwardJumpButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ke(E.$slots,"backward-jump-button",{},()=>[L(U(e.backwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),!e.hidePrevNext&&f.value?(_(),A("li",nP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value+1:o.value-1),onClick:D[2]||(D[2]=pt(B=>s(u.value?o.value+1:o.value-1),["prevent"])),class:De([e.backButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ke(E.$slots,"prev-button",{},()=>[L(U(e.prevButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showBreakpointButtons&&y.value?(_(),A("li",oP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:D[3]||(D[3]=pt(B=>s(u.value?l.value:1),["prevent"])),class:De([e.firstButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledFirstButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[L(U(u.value?r(l.value):r(1)),1)]),_:1},8,["href","class","disabled"]))])):de("",true),e.showBreakpointButtons&&g.value?(_(),A("li",iP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:D[4]||(D[4]=pt(B=>s(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:De([e.startingBreakpointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:me(()=>[Ke(E.$slots,"starting-breakpoint-button",{},()=>[L(U(e.startingBreakpointContent),1)])]),_:3},8,["href","disabled","class"]))])):de("",true),(_(true),A(Se,null,Ue(c.value.pages,(B,H)=>(_(),A("li",{key:H},[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(B),onClick:pt(()=>s(B),["prevent"]),class:De([e.paginateButtonsClass,e.numberButtonsClass,B===o.value?e.activePageClass:"",e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:me(()=>[L(U(r(B)),1)]),_:2},1032,["href","onClick","class","disabled"]))]))),128)),e.showBreakpointButtons&&m.value?(_(),A("li",sP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:D[5]||(D[5]=pt(B=>s(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:De([e.endingBreakPointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:me(()=>[Ke(E.$slots,"ending-breakpoint-button",{},()=>[L(U(e.endingBreakpointButtonContent),1)])]),_:3},8,["href","disabled","class"]))])):de("",true),e.showBreakpointButtons&&x.value?(_(),A("li",rP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:D[6]||(D[6]=pt(B=>s(u.value?1:l.value),["prevent"])),class:De([e.lastButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledLastButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[L(U(u.value?r(1):r(l.value)),1)]),_:1},8,["href","class","disabled"]))])):de("",true),!e.hidePrevNext&&p.value?(_(),A("li",aP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value-1:o.value+1),onClick:D[7]||(D[7]=pt(B=>s(u.value?o.value-1:o.value+1),["prevent"])),class:De([e.paginateButtonsClass,e.nextButtonClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledNextButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ke(E.$slots,"next-button",{},()=>[L(U(e.nextButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showJumpButtons&&m.value?(_(),A("li",lP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:D[8]||(D[8]=pt(B=>s(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),class:De([e.forwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledForwardJumpButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ke(E.$slots,"forward-jump-button",{},()=>[L(U(e.forwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showEndingButtons&&I.value?(_(),A("li",uP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:D[9]||(D[9]=pt(B=>s(u.value?1:l.value),["prevent"])),class:De([e.lastPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:me(()=>[Ke(E.$slots,"last-page-button",{},()=>[L(U(e.lastPageContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true)],2))}}),vp=Ae(cP,[["__file","Pager.vue"]]),dP=xe({__name:"Divider",props:{paddingY:{default:10},color:{default:"#eee"},transparent:{type:Boolean,default:false}},setup(e){const t=e,n=We(()=>{const o=t.transparent?"transparent":t.color,i=`${t.paddingY}px`;return {marginTop:i,height:i,borderTop:`1px solid ${o}`}});return (o,i)=>(_(),A("div",{class:"ce-divider",style:Xn(n.value)},[Ke(o.$slots,"default")],4))}}),xp=Ae(dP,[["__file","Divider.vue"]]),fP={class:"ce-file-list"},pP={class:"text-small text-info"},hP={class:"text-primary"},mP={class:"text-danger"},gP={class:"item-meta"},wP={key:0,class:"ce-label"},yP={key:1,class:"ce-label"},bP={key:2,class:"ce-label"},vP={key:3,class:"ce-label"},xP={key:4,class:"ce-label"},_P={key:5,class:"ce-label ce-label-danger"},CP={key:6,class:"ce-label ce-label-danger"},kP={key:7,class:"text-info"},SP={class:"text-success"},$P={class:"pure-table pure-table-bordered"},EP={class:"text-small"},AP={key:2,class:"text-success"},PP=xe({__name:"FileList",props:{group:{},pattern:{},files:{}},setup(e){const t=e,n=K([]),o=K(0),i=K(15),s=K(5),r=K(1),a=We(()=>Math.ceil(o.value/i.value));St(async()=>{o.value=t.pattern.fileIds?.length||0,l();});function l(u=1){const f=[],{fileIds:p=[]}=t.pattern,g=i.value*(u-1),m=p.slice(g,g+i.value);for(const y of m){const x=t.files.get(y);if(x){const k=_i(x);f.push(k);}}n.value=f;}function c(u){l(u);}return (u,f)=>(_(),A("div",fP,[d("div",null,[d("div",pP,[f[2]||(f[2]=d("small",null,"原始:",-1)),f[3]||(f[3]=L()),d("span",hP,U(u.pattern.value),1),f[4]||(f[4]=L(", ",-1)),f[5]||(f[5]=d("small",null,"类型:",-1)),f[6]||(f[6]=L()),d("span",mP,U(te(Lw)[u.pattern.type]),1),d("div",null," fullMatch: "+U(u.pattern.fullMatch)+", caseSensitive: "+U(u.pattern.caseSensitive)+", impartible: "+U(u.pattern.impartible)+", isRegexp: "+U(u.pattern.isRegexp)+", maxSize: "+U(u.pattern.maxSize)+", patternRegexp: "+U(u.pattern.patternRegexp),1)]),f[8]||(f[8]=d("hr",null,null,-1)),d("div",gP,[u.pattern.fullMatch?(_(),A("span",wP,"全等")):de("",true),u.pattern.caseSensitive?(_(),A("span",yP,"区分大小写")):de("",true),u.pattern.impartible?(_(),A("span",bP,"匹配空格")):de("",true),u.pattern.isRegexp?(_(),A("span",vP,"正则")):de("",true),u.pattern.type===te(Ze).fileHash?(_(),A("span",xP,"sha1")):de("",true),u.pattern.maxSize===0?(_(),A("span",_P,"任意大小")):de("",true),u.pattern.maxSize>0?(_(),A("span",CP,"不大于"+U(u.pattern.maxSize)+"MB",1)):de("",true),u.pattern.memo?(_(),A("div",kP,[f[7]||(f[7]=d("small",null,"备注:",-1)),L(" "+U(u.pattern.memo),1)])):de("",true)])]),f[10]||(f[10]=d("br",null,null,-1)),d("div",null,[o.value>i.value?(_(),nt(vp,{key:0,"total-items":o.value,"items-per-page":i.value,"max-pages-shown":s.value,modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=p=>r.value=p),onClick:c},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):de("",true),d("span",SP,"数量: "+U(o.value),1),re(xp,{transparent:"","padding-y":5}),d("table",$P,[f[9]||(f[9]=d("thead",null,[d("tr",null,[d("th",null,"#"),d("th",{width:"30"},"类型"),d("th",null,"ID"),d("th",{width:"250"},"名称"),d("th",null,"大小"),d("th",{width:"305"},"SHA1")])],-1)),d("tbody",null,[(_(true),A(Se,null,Ue(n.value,(p,g)=>(_(),A("tr",{key:g},[d("td",null,U(i.value*(r.value-1)+g+1),1),d("td",null,U(p.isDir?"目录":"文件"),1),d("td",null,U(p.id),1),d("td",null,U(p.name),1),d("td",null,U(p.sizeDesc),1),d("td",EP,U(p.hash),1)]))),128))])]),re(xp,{transparent:"","padding-y":5}),o.value>i.value?(_(),nt(vp,{key:1,"total-items":o.value,"items-per-page":i.value,"max-pages-shown":s.value,modelValue:r.value,"onUpdate:modelValue":f[1]||(f[1]=p=>r.value=p),onClick:c},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):de("",true),a.value>1?(_(),A("span",AP,"数量: "+U(o.value),1)):de("",true)])]))}}),IP=Ae(PP,[["__scopeId","data-v-db0ac01f"],["__file","FileList.vue"]]);function DP(e,t){return Object.entries(e).map(([n,o])=>({label:o,value:n,checked:t?t(n):false}))}const TP={class:"ce-button-group"},LP=["onClick"],MP=xe({__name:"index",props:{modelValue:{type:[String,Number,Boolean,Array]},multiple:{type:Boolean,default:false},options:{},mapping:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=We(()=>{let a=[];const l=c=>n.multiple?n.modelValue.includes(c):n.modelValue===c;return n.mapping?a=DP(n.mapping,l):n.options&&(a=Ac(n.options).map(c=>({...c,checked:l(c.value)}))),a}),s=K(n.modelValue);function r(a){n.multiple?(a.checked=!a.checked,s.value=i.value.filter(l=>l.checked).map(l=>l.value)):(i.value.forEach(l=>{l.checked=l.value===a.value;}),s.value=a.value),o("update:modelValue",s.value);}return (a,l)=>(_(),A("span",TP,[(_(true),A(Se,null,Ue(i.value,c=>(_(),A("button",{key:c.value?.toString(),type:"button",class:De(["pure-button",{"pure-button-primary":c.checked}]),onClick:u=>r(c)},U(c.label),11,LP))),128))]))}}),Sa=Ae(MP,[["__file","index.vue"]]),BP={class:"ce-config ce-cleaner-config"},OP={class:"pure-form pure-form-aligned"},RP={class:"pure-control-group"},FP={class:"pure-control-group"},NP={class:"pure-control-group"},UP={class:"pure-control-group"},jP=xe({__name:"Config",setup(e){const t={[wo.all]:"全部",[wo.file]:"文件",[wo.dir]:"目录"},n={[jo.all]:"全部",[jo.matched]:"有匹配",[jo.notMatched]:"无匹配"},o=K(bd());let i=false;return St(async()=>{o.value=await br(),i=true,ze(o,lt(async s=>{i&&(await vd({showEntryOnPathBar:s.showEntryOnPathBar,keywordDefaultCategory:s.keywordDefaultCategory,keywordDefaultResult:s.keywordDefaultResult,cleanWithoutConfirm:s.cleanWithoutConfirm}),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}));},500),{deep:true});}),(s,r)=>(_(),A("div",BP,[r[11]||(r[11]=d("h2",null,"文件清理工具设置",-1)),d("form",OP,[d("fieldset",null,[r[5]||(r[5]=d("legend",null,"基础设置",-1)),d("div",RP,[r[4]||(r[4]=d("label",{for:"showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),J(d("input",{id:"showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.showEntryOnPathBar=a)},null,512),[[we,o.value.showEntryOnPathBar]])])]),d("fieldset",null,[r[8]||(r[8]=d("legend",null,"按关键词清理设置",-1)),d("div",FP,[r[6]||(r[6]=d("label",{for:"defaultKeywordCategory"},'默认"关键词类别"',-1)),re(Sa,{modelValue:o.value.keywordDefaultCategory,"onUpdate:modelValue":r[1]||(r[1]=a=>o.value.keywordDefaultCategory=a),mapping:t},null,8,["modelValue"])]),d("div",NP,[r[7]||(r[7]=d("label",{for:"defaultResultFilter"},'默认"结果筛选"',-1)),re(Sa,{modelValue:o.value.keywordDefaultResult,"onUpdate:modelValue":r[2]||(r[2]=a=>o.value.keywordDefaultResult=a),mapping:n},null,8,["modelValue"])])]),d("fieldset",null,[r[10]||(r[10]=d("legend",null,"高级设置",-1)),d("div",UP,[r[9]||(r[9]=d("label",{for:"cleanWithoutConfirm"},'点击"一键清理"时不需确认',-1)),J(d("input",{id:"cleanWithoutConfirm",type:"checkbox","onUpdate:modelValue":r[3]||(r[3]=a=>o.value.cleanWithoutConfirm=a)},null,512),[[we,o.value.cleanWithoutConfirm]])])])])]))}}),zP=Ae(jP,[["__file","Config.vue"]]),HP=xe({__name:"GoTop",props:{label:{default:"回到顶部"},container:{default:"body"}},setup(e){const t=e;async function n(){t.container instanceof HTMLElement?t.container.scrollTo(0,0):document.querySelector(t.container)?.scrollTo(0,0);}return (o,i)=>Ke(o.$slots,"default",{},()=>[d("button",{type:"button",class:"pure-button button-small",onClick:n},U(o.label),1)])}}),jw=Ae(HP,[["__file","GoTop.vue"]]),VP=".v-popper__arrow-container{display:none}.ce-cleaner-x .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f;display:none}.ce-cleaner-x .actions-bar{padding-bottom:10px;width:72%}.ce-cleaner-x .actions-bar .title{font-size:18px;font-weight:700;color:#15110c}.ce-cleaner-x .actions-bar .close{margin-left:20px;margin-right:10px;color:#f40}.ce-cleaner-x .actions-bar i.tp-folder{width:18px;height:18px;vertical-align:sub}.ce-cleaner-x .actions-bar .ce-path{font-size:14px;margin-top:4px}.ce-cleaner-x .actions-bar .ce-path a:hover{text-decoration:underline}";At(VP);const qP='@charset "UTF-8";#cloud115Cleaner{margin-left:10px}.cloud115-eh-cleaner{position:relative}.cloud115-eh-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.cloud115-eh-cleaner-drawer.preparing{cursor:not-allowed}.cloud115-eh-cleaner-drawer.preparing button,.cloud115-eh-cleaner-drawer.preparing input,.cloud115-eh-cleaner-drawer.preparing textarea,.cloud115-eh-cleaner-drawer.preparing select{opacity:.5}.cloud115-eh-cleaner-drawer.preparing button,.cloud115-eh-cleaner-drawer.preparing input,.cloud115-eh-cleaner-drawer.preparing textarea,.cloud115-eh-cleaner-drawer.preparing select{cursor:no-drop;pointer-events:none}.cloud115-eh-cleaner-drawer.preparing .cleaner-gm{pointer-events:none;opacity:.5}.cloud115-eh-cleaner-drawer.loading{cursor:wait}.cloud115-eh-cleaner-drawer.loading button,.cloud115-eh-cleaner-drawer.loading input,.cloud115-eh-cleaner-drawer.loading textarea,.cloud115-eh-cleaner-drawer.loading select{cursor:no-drop;pointer-events:none}.cloud115-eh-cleaner-drawer.loading .cleaner-gm{pointer-events:none;opacity:.5}.cloud115-eh-cleaner-drawer .config-toggle{display:inline-block;background:#eee;border-radius:4px;opacity:.2;padding:2px 4px;cursor:pointer}.cloud115-eh-cleaner-drawer .config-toggle.hover{opacity:.7}.cloud115-eh-cleaner-drawer .by-box .by-header{padding-bottom:10px}.cloud115-eh-cleaner-drawer .by-box .by-header .title{font-size:16px;margin-right:8px;color:#0078e6;font-weight:400}.cloud115-eh-cleaner-drawer .by-box .by-header .filter-size{width:100px;font-size:14px;font-weight:700;color:#0078e6;text-indent:6px;border-radius:4px;border:1px solid #919399;text-align:center}.cloud115-eh-cleaner-drawer .by-box .pure-button-group{display:inline-block}.cloud115-eh-cleaner-drawer .by-box .pure-button-group .pure-button{vertical-align:inherit}.cloud115-eh-cleaner-drawer .by-box .pattern-groups{width:750px;text-align:right}.cloud115-eh-cleaner-drawer .by-box .pattern-groups a{font-size:12px;padding:0 4px;margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table tr.active{background:#f7ffc3}.cloud115-eh-cleaner-drawer .by-box table tr.is-dir .pattern{color:#f40}.cloud115-eh-cleaner-drawer .by-box table tr th,.cloud115-eh-cleaner-drawer .by-box table tr td{padding:.5em;font-size:12px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta{font-size:11px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label{background:#e6e6e6;color:#818181;margin:0 2px;font-size:10px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label.ce-label-danger{background:#cbc8ff;color:#fff}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label:first-child{margin-left:4px}.cloud115-eh-cleaner-drawer .by-box table td button:not(:last-child){margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table td a{color:#2877f8}.cloud115-eh-cleaner-drawer .by-box table td .tp-folder{width:16px;height:16px;vertical-align:sub}.cloud115-eh-cleaner-drawer .by-box table.table-matched tr.item-unmatched,.cloud115-eh-cleaner-drawer .by-box table.table-unmatched tr.item-matched{display:none}.by-keyword.kw-cate-dir tbody tr:not(.is-dir),.by-keyword.kw-cate-file tbody tr.is-dir{opacity:.5;pointer-events:none;cursor:no-drop}.fixed-header-table{width:68%;border-collapse:collapse}.fixed-header-table thead{position:sticky;top:0;background-color:#f2f2f2;z-index:1}.fixed-header-table tbody{display:block;max-height:450px;overflow-y:auto;overflow-x:hidden}.fixed-header-table thead,.fixed-header-table tbody tr{display:table;width:100%;table-layout:fixed}.fixed-header-table th,.fixed-header-table td{padding:10px;border:1px solid #ddd}td.item-index{width:29px}td.item-val{width:308px}td.item-num{width:106px}td.item-size{width:89px}td.item-actions{width:166px}td.item-status{width:204px}';At(qP);const WP={type:"button",class:"pure-button button-success"},KP=xe({__name:"DirSelector",props:{label:{default:"切换目录"},purpose:{default:"操作"},confirmLabel:{default:"选择该目录"},onlyDir:{type:Boolean,default:true},showRecord:{type:Boolean,default:true},showCopy:{type:Boolean,default:true}},emits:["select"],setup(e,{emit:t}){const n=e,o=t;async function i(){unsafeWindow.parent.Core.FileSelectDG.Open(async(s,r)=>{console.log("[Core.FileSelectDG.Open]",s,r),o("select",{items:s,xx:r});},{select:1,nf:n.onlyDir?1:0,show_record:n.showRecord?1:0,show_copy:n.showCopy?1:0,btn_txt:n.confirmLabel,select_txt:n.purpose});}return (s,r)=>(_(),A("span",{onClick:i},[Ke(s.$slots,"default",{},()=>[d("button",WP,U(s.label),1)])]))}}),Xs=Ae(KP,[["__file","DirSelector.vue"]]);function GP(e){return {offset:0,limit:1150,aid:1,cid:"",format:"json",o:Wa.userPtime,asc:Oo.false,search_value:"",...e}}async function JP(e){const t=Ha(e),n=await Bt().get("https://webapi.115.com/files/search?"+t,{timeout:12e4,withCredentials:true});if(n.data==="")throw new cm;const o=n.data;if(o.state)return o;throw new Dc(o.error)}async function YP(e,t=200,n=false){let o=[],i=0,s=e.limit;const r=1e4,a=115,l=r-r%s;let c=s;for(;;){if(n){if(i>=l&&i<r){const f=r-l;c=Math.min(f,c);}i>=r&&(c=a);}e.offset=i,e.limit=c;const u=await JP(e);if(!u.data||!u.data.length||(o=[...o,...u.data],i+=c,i>=u.count))break;await Et(t);}return o}const QP={class:"cloud115-eh-cleaner ce-cleaner-x"},XP={class:"header actions-bar"},ZP={class:"close"},eI={class:"ce-path ce-label ce-label-primary-plain"},tI=["href"],nI={class:"by-box by-suffix"},oI={class:"by-header"},iI={class:"pure-button-group",role:"group"},sI=["disabled"],rI={class:"pure-table pure-table-bordered"},aI=["onClick"],lI=["onClick"],uI=["onClick"],cI=["onClick"],dI={class:"by-header"},fI={class:"pure-button-group",role:"group"},pI=["disabled"],hI={class:"item-index"},mI={class:"item-val"},gI=["href"],wI={class:"file-type tp-folder"},yI={class:"item-meta"},bI={key:0,class:"ce-label"},vI={key:1,class:"ce-label"},xI={key:2,class:"ce-label"},_I={key:3,class:"ce-label"},CI={key:4,class:"ce-label"},kI={key:5,class:"ce-label ce-label-danger"},SI={key:6,class:"ce-label ce-label-danger"},$I={key:7,class:"text-info"},EI={key:0,class:"text-small text-info"},AI={class:"text-primary"},PI={class:"text-danger"},II={class:"item-num"},DI={class:"item-size"},TI={class:"item-actions"},LI=["onClick"],MI=["onClick"],BI=["onClick"],OI={class:"item-status"},RI={class:"footer actions-bar"},FI={class:"ce-path ce-label ce-label-primary-plain"},NI=["href"],UI=xe({__name:"Cleaner",setup(e){const t=K(false),n=K(true),o=K(oi({type:Re.suffix})),i=K(oi({type:Re.keyword})),s=K({maxSize:5,matchName:false}),r=K({maxSize:100,matchName:true,keywordCategory:wo.all,resultCategory:jo.all}),a=K([]),l=K([]),c=K(false),u=K(bd()),f=K(false),p=K(""),g=K([]),m=K(null),y=K(false),x=K(false),k=We(()=>p.value?Bn(p.value):"");async function I(){x.value=!x.value;}const E=K(false),D=new Map,B=K({});async function H(b){for(const v of b){const N=v.fid||v.cid;N&&!D.has(N)&&D.set(N,v);}}async function j(b,v){B.value.files=D,B.value.group=b,B.value.pattern=v,E.value=true;}async function ae(b){b.data.type===Jt.OPEN_CLEANER&&(se(b.data.payload),ci({type:Jt.CLEANER_OPENED},b.source));}St(async()=>{u.value=await br(),f.value=true,await fe();}),Ht(async()=>{u.value.initialized||(u.value.initialized=true,await vd({initialized:true})),window.addEventListener("message",ae);}),Si(()=>{window.removeEventListener("message",ae);});async function fe(){const{keywordDefaultCategory:b,keywordDefaultResult:v}=u.value;r.value.keywordCategory=b||wo.all,r.value.resultCategory=v||jo.all;}async function se(b){t.value=true;const v=await Ut();if(v==="0"||v===""){await O(),await q.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}p.value&&p.value!==v&&console.warn("目录变化,重置"),await G(v,true);}async function O(){t.value=false;}async function R(b){console.log("[onSelectDir]",b);const{items:v}=b,N=v[v.length-1];await Ce(Dt.reset),await _e(Dt.reset),await G(N.cid,true);}async function G(b,v=false){if(p.value=b,v&&(y.value=false),g.value=[],m.value=null,!y.value){if(!p.value){q.fire({icon:"warning",html:"<h2>当前目录ID未知,无法进行清理操作!</h2>"});return}try{m.value=await Kt(p.value),g.value=[...m.value.paths.slice(1).map(N=>N.file_name),m.value.file_name],y.value=!0;}catch(N){y.value=false,console.error(N),q.fire({icon:"error",title:"获取当前目录信息失败",html:N.toString()});}}}async function ce(b){const v={};b.isFilter?v.type=b.pattern:v.suffix=b.pattern;let N=unsafeWindow.frames[0];for(let P=0;P<unsafeWindow.frames.length;P++)if(unsafeWindow.frames[P].name==="wangpan"){N=unsafeWindow.frames[P];break}ci({type:Jt.INVOKE_FILTER,payload:v},N),await O(),Q({icon:"info",text:`已调用115筛选: ${b.value}`,timer:2500});}async function ye(b,v){const{value:N}=await q.fire({input:"textarea",title:b,html:"每行一个,最短两个字符。"+(v===Re.keyword?`<br>默认只匹配文件名,不匹配目录名。<br>使用 "<b>${xd}目录名关键词</b>" 格式指定只匹配目录名的关键词。`:""),width:620,inputPlaceholder:"每行一个,最短两个字符",inputAttributes:{"aria-label":"每行一个,最短两个字符"},showCancelButton:true});return N!==void 0?N.trim():""}async function Ce(b,v){let N="",P=[];switch(b){case Dt.assign:N=v.trim(),N.trim()===""?a.value=[]:(P=await ni(N,Re.suffix),a.value=P);break;case Dt.append:N=await ye("添加后缀",Re.suffix),P=await ni(N,Re.suffix);const X=[];a.value.forEach(Z=>X.push(Z.value.toLowerCase())),P.forEach(Z=>{X.includes(Z.value.toLowerCase())||a.value.push(Z);});break;case Dt.cover:N=await ye("覆盖后缀",Re.suffix),N.trim()!==""&&(P=await ni(N,Re.suffix),a.value=P);break;case Dt.clear:a.value=[];break;case Dt.reset:a.value.forEach(Z=>{Z.num=-1,Z.fileIds=[],Z.status=$t.none,Z.size=-1;});break}}async function _e(b,v){let N="",P=[];switch(b){case Dt.assign:N=v.trim(),N.trim()===""?l.value=[]:(P=await ni(N,Re.keyword),l.value=P);break;case Dt.append:N=await ye("添加关键词",Re.keyword),P=await ni(N,Re.keyword);const X=[];l.value.forEach(Z=>X.push(Z.value.toLowerCase())),P.forEach(Z=>{X.includes(Z.value.toLowerCase())||l.value.push(Z);});break;case Dt.cover:N=await ye("覆盖关键词",Re.keyword),N.trim()!==""&&(P=await ni(N,Re.keyword),l.value=P);break;case Dt.clear:l.value=[];break;case Dt.reset:l.value.forEach(Z=>{Z.num=-1,Z.fileIds=[],Z.status=$t.none,Z.size=-1;});break}}async function ke(b){if(console.log("[cleanBySuffix]",b),await Ce(Dt.reset),!a.value.length){await q.fire({icon:"warning",text:"请先设置后缀!"});return}if(tt=[],!b){const{isConfirmed:v}=await q.fire({icon:"warning",html:'请在清理前确认"后缀和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!v)return}c.value=true;try{for(let v=0;v<a.value.length;v++){const N=a.value[v];await Fe(N,b,!1,!0,!1);}b||(c.value=!0,await Vt(Re.suffix));}catch(v){console.error(v),q.fire({title:"按后缀名清理 - 发生错误",html:v.toString()});}finally{c.value=false,b||q.fire({title:"按后缀名清理 - 完成"});}}async function Fe(b,v,N,P,X){if(console.log("[cleanBySuffixSingle]",b,v),!v&&!P){const{isConfirmed:Z}=await q.fire({icon:"warning",html:`确认执行条件 "后缀: <b class="text-primary">${b.pattern}</b>, 不大于: <b>${s.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!Z)return}try{if(!N){c.value=!0,b.fileIds=[],b.size=-1,b.num=-1,b.status=$t.prepare;const Z=await co(b);await H(Z),b.status=$t.prepared;const{fileIds:ne=[],size:ue}=yp(b,Z,s.value);b.fileIds=ne,b.size=ue,b.num=ne.length,c.value=!1;}if(!v)if(b.num&&b.num>0){b.status=$t.deleting,c.value=!0;const Z=b.fileIds?.length||0;X?await Pl(p.value,b.fileIds||[],u.value.deleteSize,1e3):Zt(Re.suffix,b.fileIds||[],!1),c.value=!1,Z>0?b.status=$t.success+` / 数量 <= ${Z}`:b.status=$t.failed;}else b.status=$t.success+" / 无";}catch(Z){console.error(Z),c.value=false,await q.fire({title:"cleanBySuffixSingle - 发生错误",html:Z.toString()});}}async function dt(){const b=[Ze.fileKeyword,Ze.fileHash];return l.value.some(v=>b.includes(v.type))}async function ge(b,v){if(console.log("[cleanByKeyword]",b,v),await _e(Dt.reset),!l.value.length){await q.fire({icon:"warning",text:"请先设置关键词!"});return}if(rt=[],!b&&!u.value.cleanWithoutConfirm){const N={icon:"warning",html:'请在清理前确认"关键词和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"},{isConfirmed:P,value:X}=await q.fire(N);if(!P)return}c.value=true,console.time("cleanByKeyword");try{let N;await dt()&&(N=await M(),await H(N));const P=v||r.value.keywordCategory;for(let X=0;X<l.value.length;X++){const Z=l.value[X];if(P!==wo.all){const ne=Z.type===Ze.dirKeyword;if(P===wo.dir&&!ne||P===wo.file&&ne)continue}await pe(Z,b,!1,!0,N,!1);}b||(c.value=!0,await Vt(Re.keyword));}catch(N){console.error(N),q.fire({title:"按关键词清理 - 发生错误",html:N.toString()});}finally{console.timeEnd("cleanByKeyword"),b||q.fire({title:"按关键词清理 - 完成"});}c.value=false;}async function M(){const b=p.value,v=Rn({cid:b,limit:1150,type:hn.file,record_open_time:0});return await Fo(v)}async function pe(b,v,N,P,X,Z){if(console.log("[cleanByKeywordSingle]",b,v),!v&&!P){const{isConfirmed:ne}=await q.fire({icon:"warning",html:`确认执行条件 "关键词: <b class="text-primary">${b.pattern}</b>, 不大于: <b class="text-primary">${r.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!ne)return}try{if(!N){c.value=!0,b.fileIds=[],b.size=-1,b.num=-1,b.status=$t.prepare;let ne=[];b.type!==Ze.dirKeyword&&X!==void 0?ne=X:(ne=await Pi(b),await H(ne)),b.status=$t.prepared;const{fileIds:ue,size:oe,num:ve}=yp(b,ne,r.value);b.fileIds=ue,b.size=oe,b.num=ve,c.value=!1;}if(!v)if(b.num&&b.num>0){b.status=$t.deleting,c.value=!0;const ne=b.fileIds?.length||0;Z?await Pl(p.value,b.fileIds||[],u.value.deleteSize,1e3):Zt(Re.keyword,b.fileIds||[],!1),c.value=!1,ne>0?b.status=$t.success+` / 数量 <= ${ne}`:b.status=$t.failed;}else b.status=$t.success+" / 无";}catch(ne){console.error(ne),c.value=false;let ue=true;const oe={title:"cleanByKeywordSingle - 发生错误",html:ne.toString()};ne instanceof Dc&&(b.status=$t.prepareFailed+` / ${ne.message}`,ne instanceof cm&&(oe.timer=2e3,ue=false)),ue?await q.fire(oe):q.fire(oe);}}let tt=[],rt=[];function Zt(b,v,N){b===Re.suffix?tt=[...tt,...v]:rt=[...rt,...v];}async function Vt(b){const v=b===Re.suffix?tt:rt;if(!v.length)return;const N=Array.from(new Set(v));console.log("[deleteFiles] num=",N.length),await Pl(p.value,N,1150,1e3);}async function co(b){const v=p.value,N=Rn({cid:v,limit:u.value.pageSize});b.isFilter?N.type=b.pattern:N.suffix=b.value;const P=await Fo(N);return console.log("[files]",P),P}async function Pi(b){const v=p.value,N=GP({search_value:b.pattern,cid:v,limit:u.value.pageSize}),P=await YP(N,u.value.reqInterval,true);return console.log("[files]",P),P}function _n(b){return gm({...dA(b),cid:p.value},g.value[g.value.length-1])}async function hs(b){console.log("[onSuffixGroupChange]",b),o.value=b,s.value.maxSize=b.size,await Ce(Dt.assign,b.values);}async function S(b){console.log("[onKeywordGroupChange]",b),i.value=b,r.value.maxSize=b.size,await _e(Dt.assign,b.values);}return (b,v)=>{const N=Co("VDropdown");return J((_(),A("span",QP,[Ke(b.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:se},v[10]||(v[10]=[d("span",null,"清理文件",-1)]))]),re(Qs,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:v[9]||(v[9]=P=>t.value=false)},{default:me(()=>[J(d("div",{class:De(["cloud115-eh-cleaner-drawer",{loading:c.value,preparing:!y.value}])},[re(ZA),d("div",XP,[v[15]||(v[15]=d("span",{class:"title"},"文件清理工具",-1)),d("span",ZP,[d("button",{type:"button",class:"pure-button button-error",onClick:O},"关闭"),v[12]||(v[12]=L(" ",-1)),re(Xs,{purpose:"清理文件",onSelect:R}),v[13]||(v[13]=L(" ",-1)),re(N,{triggers:["click"],distance:5},{popper:me(()=>[re(zP)]),default:me(()=>[v[11]||(v[11]=d("button",{type:"button",class:"pure-button"},"⚙ 设置",-1))]),_:1,__:[11]})]),d("div",eI,[d("a",{target:"_blank",href:k.value,title:"打开目录"},[v[14]||(v[14]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(y.value?g.value.join(" / "):"正在获取目录信息..."),1)],8,tI)])]),d("div",nI,[d("div",oI,[v[16]||(v[16]=d("span",{class:"title"},[L("按"),d("b",null,"后缀名"),L("清理")],-1)),v[17]||(v[17]=L(" ",-1)),d("div",iI,[d("button",{type:"button",class:"pure-button",onClick:v[0]||(v[0]=P=>ke(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:v[1]||(v[1]=P=>ke(!1)),disabled:o.value.queryOnly}," 一键清理 ",8,sI)]),v[18]||(v[18]=L(" ",-1)),v[19]||(v[19]=d("span",{class:"ce-label"},"不大于",-1)),v[20]||(v[20]=L(" ",-1)),J(d("input",{type:"number","onUpdate:modelValue":v[2]||(v[2]=P=>s.value.maxSize=P),class:"filter-size"},null,512),[[He,s.value.maxSize]]),v[21]||(v[21]=L(" MB ",-1)),v[22]||(v[22]=d("small",null,"(0表示不限制)",-1)),f.value?(_(),nt(bp,{key:0,class:"cleaner-gm",type:te(Re).suffix,"storage-key":"suffixGroups",onChange:hs,config:u.value},null,8,["type","config"])):de("",!0)]),d("table",rI,[v[25]||(v[25]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"100"},"后缀名"),d("th",{width:"95"},"文件数量"),d("th",{width:"80"},"合计大小"),d("th",{width:"200"},"操作"),d("th",{width:"200"},"状态")])],-1)),d("tbody",null,[(_(!0),A(Se,null,Ue(a.value,(P,X)=>(_(),A("tr",{key:X,class:De(te(gp)(P))},[d("td",null,U(X+1),1),d("td",null,[d("a",{href:"javascript:void(0)",class:"pattern",onClick:Z=>ce(P),title:"筛选"},U(P.value),9,aI)]),d("td",null,U(P.num&&P.num>=0?P.num:""),1),d("td",null,U(P.size>0?te(Wi)(P.size):""),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall",onClick:Z=>Fe(P,!0,!1,!0)},"查询",8,lI),v[23]||(v[23]=L(" ",-1)),P.num&&P.num>0&&!o.value.queryOnly?(_(),A("button",{key:0,type:"button",class:"pure-button button-warning button-xsmall",onClick:Z=>Fe(P,!1,!0,!1,!0)},"清理",8,uI)):de("",!0),v[24]||(v[24]=L(" ",-1)),P.num&&P.num>0?(_(),A("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:Z=>j(o.value,P)},"≡ 详情",8,cI)):de("",!0)]),d("td",null,U(P.status),1)],2))),128))])])]),v[55]||(v[55]=d("br",null,null,-1)),re(Qs,{"is-open":E.value,onClose:v[3]||(v[3]=P=>E.value=!1),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:me(()=>[E.value?(_(),nt(IP,{key:0,files:B.value.files,group:B.value.group,pattern:B.value.pattern},null,8,["files","group","pattern"])):de("",!0)]),_:1},8,["is-open"]),d("div",{class:De(["by-box by-keyword",[`kw-cate-${r.value.keywordCategory}`]])},[d("div",dI,[v[26]||(v[26]=d("span",{class:"title"},[L("按"),d("b",null,"关键词"),L("清理")],-1)),v[27]||(v[27]=L(" ",-1)),d("div",fI,[d("button",{type:"button",class:"pure-button",onClick:v[4]||(v[4]=P=>ge(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:v[5]||(v[5]=P=>ge(!1)),disabled:i.value.queryOnly}," 一键清理 ",8,pI)]),v[28]||(v[28]=L(" ",-1)),v[29]||(v[29]=d("span",{class:"ce-label"},"不大于",-1)),v[30]||(v[30]=L(" ",-1)),J(d("input",{type:"number","onUpdate:modelValue":v[6]||(v[6]=P=>r.value.maxSize=P),class:"filter-size"},null,512),[[He,r.value.maxSize]]),v[31]||(v[31]=L(" MB ",-1)),v[32]||(v[32]=d("small",null,"(0表示不限制)",-1)),v[33]||(v[33]=L(" ",-1)),v[34]||(v[34]=d("span",{class:"ce-label"},"关键词类别",-1)),v[35]||(v[35]=L(" ",-1)),re(Sa,{modelValue:r.value.keywordCategory,"onUpdate:modelValue":v[7]||(v[7]=P=>r.value.keywordCategory=P),mapping:te(VE)},null,8,["modelValue","mapping"]),v[36]||(v[36]=L(" ",-1)),v[37]||(v[37]=d("span",{class:"ce-label"},"结果筛选",-1)),v[38]||(v[38]=L(" ",-1)),re(Sa,{modelValue:r.value.resultCategory,"onUpdate:modelValue":v[8]||(v[8]=P=>r.value.resultCategory=P),mapping:te(qE)},null,8,["modelValue","mapping"]),f.value?(_(),nt(bp,{key:0,class:"cleaner-gm",type:te(Re).keyword,"storage-key":"keywordGroups",onChange:S,config:u.value},null,8,["type","config"])):de("",!0)]),d("table",{class:De(["pure-table pure-table-bordered fixed-header-table",[`table-${r.value.resultCategory}`]])},[d("thead",null,[d("tr",null,[v[40]||(v[40]=d("th",{width:"25"},"#",-1)),d("th",{width:"280"},[v[39]||(v[39]=L(" 关键词 ",-1)),d("small",{class:"text-info",onClick:I},"显示调试信息")]),v[41]||(v[41]=d("th",{width:"95"},"文件/目录数量",-1)),v[42]||(v[42]=d("th",{width:"80"},"合计大小",-1)),v[43]||(v[43]=d("th",{width:"150"},"操作",-1)),v[44]||(v[44]=d("th",{width:"200"},"状态",-1))])]),d("tbody",null,[(_(!0),A(Se,null,Ue(l.value,(P,X)=>(_(),A("tr",{key:X,class:De(te(gp)(P,r.value))},[d("td",hI,U(X+1),1),d("td",mI,[d("a",{href:_n(P),target:"_blank",class:"pattern",title:"搜索"},[J(d("i",wI,null,512),[[Gt,P.type===te(Ze).dirKeyword]]),L(" "+U(P.pattern),1)],8,gI),d("span",yI,[P.fullMatch?(_(),A("span",bI,"全等")):de("",!0),P.caseSensitive?(_(),A("span",vI,"区分大小写")):de("",!0),P.impartible?(_(),A("span",xI,"匹配空格")):de("",!0),P.isRegexp?(_(),A("span",_I,"正则")):de("",!0),P.type===te(Ze).fileHash?(_(),A("span",CI,"sha1")):de("",!0),P.maxSize===0?(_(),A("span",kI,"任意大小")):de("",!0),P.maxSize>0?(_(),A("span",SI,"不大于"+U(P.maxSize)+"MB",1)):de("",!0),P.memo?(_(),A("div",$I,[v[45]||(v[45]=d("small",null,"备注:",-1)),L(" "+U(P.memo),1)])):de("",!0)]),x.value?(_(),A("div",EI,[v[46]||(v[46]=d("small",null,"raw:",-1)),v[47]||(v[47]=L()),d("span",AI,U(P.value),1),v[48]||(v[48]=L(", ",-1)),v[49]||(v[49]=d("small",null,"type:",-1)),v[50]||(v[50]=L()),d("span",PI,U(te(Lw)[P.type]),1),d("div",null," fullMatch: "+U(P.fullMatch)+", caseSensitive: "+U(P.caseSensitive)+", impartible: "+U(P.impartible)+", isRegexp: "+U(P.isRegexp)+", maxSize: "+U(P.maxSize)+", patternRegexp: "+U(P.patternRegexp?.toString()),1)])):de("",!0)]),d("td",II,U(P.num&&P.num>=0?P.num:""),1),d("td",DI,U(P.size>0?te(Wi)(P.size):""),1),d("td",TI,[P.type!==te(Ze).fileKeyword?(_(),A("button",{key:0,type:"button",class:"pure-button button-xsmall",onClick:Z=>pe(P,!0,!1,!0)},"查询",8,LI)):de("",!0),P.type!==te(Ze).fileKeyword&&P.num&&P.num>0&&!i.value.queryOnly?(_(),A("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:Z=>pe(P,!1,!0,!1,void 0,!0)},"清理",8,MI)):de("",!0),P.num&&P.num>0?(_(),A("button",{key:2,type:"button",class:"pure-button button-xsmall",onClick:Z=>j(i.value,P)},"≡ 详情",8,BI)):de("",!0)]),d("td",OI,U(P.status),1)],2))),128))])],2)],2),v[56]||(v[56]=d("br",null,null,-1)),d("div",RI,[v[52]||(v[52]=d("span",{class:"title"},"文件清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:O},"关闭")]),v[53]||(v[53]=L(" ",-1)),re(Xs,{purpose:"清理文件",onSelect:R}),v[54]||(v[54]=L(" ",-1)),re(jw,{container:".cloud115-eh-cleaner-drawer"}),d("div",FI,[d("a",{target:"_blank",href:k.value,title:"打开目录"},[v[51]||(v[51]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(y.value?g.value.join(" / "):"正在获取目录信息..."),1)],8,NI)])])],2),[[Gt,t.value]])]),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}}),jI=Ae(UI,[["__file","Cleaner.vue"]]),zI={class:"ce-empty-cleaner-trigger"},HI=xe({__name:"Trigger",setup(e){K(false);const t=K(true);async function n(a){switch(a.data.type){case Jt.EMPTY_CLEANER_OPENED:await r(a.data.payload);break}}Ht(async()=>{window.addEventListener("message",n);}),Si(()=>{window.removeEventListener("message",n);});async function o(){await s(),ci({type:Jt.OPEN_EMPTY_CLEANER},window.parent);}let i;async function s(){const a=tr("cid");!a||a==="0"||(clearTimeout(i),i=setTimeout(async()=>{Q({icon:"error",text:"打开清理空文件夹工具失败!"+location.href});},1e3));}async function r(a){console.log("成功打开EmptyCleaner"),clearTimeout(i);}return (a,l)=>J((_(),A("span",zI,[Ke(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理空文件夹工具"},l[0]||(l[0]=[d("span",null,"空文件夹",-1)]))])],512)),[[Gt,t.value]])}}),VI=Ae(HI,[["__file","Trigger.vue"]]);async function qI(e,t){if(e=typeof e=="string"?e:e.join(","),!t){if(e.includes(","))throw new Error("target参数不能为空!");t=e;}t=t.startsWith("U_1_")?t:`U_1_${t}`;const n=new URLSearchParams({file_ids:e,target:t});return (await Bt().post("https://webapi.115.com/files/export_dir",n,{timeout:12e4,withCredentials:true})).data}async function WI(e,t=1e3,n=12e4){const o=new URLSearchParams({export_id:e.toString()}),i=async()=>(await Bt().get("https://webapi.115.com/files/export_dir?"+o.toString(),{timeout:12e4,withCredentials:true})).data;async function s(r){const a=await i();a.data&&a.data.pick_code&&r(a);}try{return await Wo(s,t,n)}catch(r){throw new Error(`导出目录树结果获取失败:${r.message}`)}}const KI=/^(?:\| )+\|-/;async function*GI(e){const t=["/"],n=e.trim().split(`
`);let o=0;for(const i of n){const s=KI.exec(i);if(s===null)continue;const a=s[0].length,l=a/2-1,c=i.slice(a);l>=t.length?t.push(c):t[l]=c,o+=1;const u=t.slice(0,l+1).join("/");yield {index:o,name:c,path:em(u)};}}function eu(e={}){return {name:"",path:"",id:"",url:"",checked:false,deleted:false,disabled:false,repeated:false,ensured:false,...e}}function tu(){return {suffixes:new Set,treeNameCounter:{},treeNameToPaths:{},repeatedPaths:new Set,maybeDirs:{},filesNameCounter:{},violationFiles:[]}}let JI=class{logs=[];_dirId="";_dirPath="";_dirAttr=null;_treeText="";_keepTree=false;_treeFile=null;_tailData=tu();_emptyItems=new Map;_checkedRepeatedPaths=new Set;_pendingPaths=new Set;logSubscribers=[];emptyItemSubscribers=[];treeFileSubscribers=[];constructor(t,n=false){t&&this.setDirId(t),this._keepTree=n;}addLogSubscriber(t){this.logSubscribers.push(t);}addEmptyItemSubscriber(t){this.emptyItemSubscribers.push(t);}addTreeFileSubscriber(t){this.treeFileSubscribers.push(t);}async setDirId(t){this._dirId=t,this._dirAttr=await Kt(t);const n=[...this._dirAttr.paths.slice(1).map(o=>o.file_name),this._dirAttr.file_name];this._dirPath=n.join("/");}async setKeepTree(t){this._keepTree=t;}getTreeFile(){return this._treeFile}async isReady(){return !!this._dirPath}async run(){if(!await this.isReady()){this.log(`运行异常!未获取到目录路径,目录ID=${this._dirId}`);return}if(this._dirAttr?.folder_count===0){this.log(`目录(id=${this._dirId}) "${this._dirPath}" 没有子目录,无需清理`);return}const t=Date.now();await this.exportTree(),await this.parseTree(),await this.queryFiles(),await this.handleMaybeDirs(),await this.detectEmpty(),await this.checkRealEmpty();const n=((Date.now()-t)/1e3).toFixed(2);this.log(`清理空目录检测阶段完成,合计耗时 ${n} 秒`),console.log("emptyItems:",this._emptyItems);}async exportTree(){const t=Date.now();this.log(`========导出目录树(目录ID=${this._dirId}, 路径=${this._dirPath})========`);const n=await qI(this._dirId);console.log("exportTree",n),this.log("已发起导出处理,等待导出完成...");const o=await WI(n.data.export_id,2e3);console.log("exportTree",o),this.log(`导出目录树成功,PickCode为${o.data.pick_code}`);const i=await bk(o.data.pick_code);console.log("downloadItem",i),this.log("正在读取目录树文件内容...");let s=true;try{this._treeText=await this._readFile(i),this.log("目录树文件内容读取完成");}catch(a){this.log(`读取目录树文件内容失败,${a.toString()}`),s=false;}if(this._keepTree)this.onTreeFileGenerated(i),this.log(`目录树文件保留,不会被删除。文件: ${i.file_name}`);else {const a=await qa(this._dirId,[i.file_id]);console.log("deleteResult",a),this.log("目录树文件已删除");}const r=((Date.now()-t)/1e3).toFixed(2);s?this.log(`导出目录树完成,耗时 ${r} 秒`):this.log(`导出目录树失败,耗时 ${r} 秒`),this.log("=".repeat(60));}async _readFile(t){const n=fA({okStatus:[200,206],useFileReader:true,fileReader:{checkBlank:true,encoding:"utf-16le"}});return await Ow(t.url.url,n)}async parseTree(){const t=Date.now();this.log("解析目录树...");const n=tu(),o=[],i=this._dirPath.split("/").slice(0,-1).join("/");console.log("[parseTree] parentPath:",i);for await(const r of GI(this._treeText)){const a=i+r.path;o.includes(a)&&n.repeatedPaths.add(a),o.push(a);}for(let r=0;r<o.length;r++){if(o[r+1]&&o[r+1].startsWith(o[r]+"/"))continue;let a=o[r].split("/").pop();if(!a)a=o[r];else {const l=nm(a,/^\w+$/);if(l)n.suffixes.add(l.toLowerCase());else {const c=o[r].replace(/\/[^\/]+$/,"");n.maybeDirs[c]||(n.maybeDirs[c]=new Set),n.maybeDirs[c].add(a);}}n.treeNameToPaths[a]||(n.treeNameToPaths[a]=[]),n.treeNameToPaths[a].push(o[r]),n.treeNameCounter[a]||(n.treeNameCounter[a]=0),n.treeNameCounter[a]+=1;}console.log("[parseTree] result:",n);const s=((Date.now()-t)/1e3).toFixed(2);this.log(`解析目录树完成,耗时 ${s} 秒`),this.log("=".repeat(60)),this._tailData=n;}async queryFiles(){const t=Date.now(),n=this._tailData;this.log("获取文件列表...");const o=Rn({type:hn.file,limit:1150,cid:this._dirId});try{const s=Date.now(),r=await Fo(o),a=((Date.now()-s)/1e3).toFixed(2);this.log(`获取文件列表成功,文件数量:${r.length}。耗时 ${a} 秒`);for(const l of r)l.c===mu.violation?(console.warn(`违规: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),this._tailData.violationFiles.push(_i(l))):l.c===mu.auditing&&console.warn(`审核中: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),n.treeNameCounter[l.n]&&n.treeNameCounter[l.n]--,n.filesNameCounter[l.n]||(n.filesNameCounter[l.n]=0),n.filesNameCounter[l.n]++;}catch(s){console.error("[queryFiles] getFiles error! error:",s),this.log(`获取文件列表失败!错误: ${s.toString()}`);}const i=((Date.now()-t)/1e3).toFixed(2);this.log(`获取文件列表完成。耗时 ${i} 秒`),this.log("=".repeat(60));}async handleMaybeDirs(){const t=Date.now(),n=this._tailData;this.log("========根据上级路径排除无后缀文件========");const o=this._tailData.violationFiles.length>0,i=Object.keys(n.maybeDirs).length;let s=0;for(const[a,l]of Object.entries(n.maybeDirs)){let c="";try{c=await Ri(a,!1);}catch(f){console.error(`[handleMaybeDirs] getDirIdByPath error! path: ${a}, error:`,f),this.log(`[${s+1} / ${i}] 根据上级路径(cid=${a}) 获取目录ID失败!错误: ${f.toString()}`);continue}const u=Rn({limit:1150,cid:c});try{const f=Date.now();this.log(`[${s+1} / ${i}] 正在获取上级路径 "${a}" 的文件列表...`);const p=await Fo(u),g=((Date.now()-f)/1e3).toFixed(2);this.log(`[${s+1} / ${i}] 获取上级路径 "${a}" 的文件列表成功,文件数量:${p.length}。耗时 ${g} 秒`);for(const m of p)if(l.has(m.n)){if(m.fid)this.log(`[${s+1} / ${i}] 上级路径 "${a}" 下的 "${m.n}" 是一个文件`),n.treeNameCounter[m.n]&&n.treeNameCounter[m.n]--;else if(!n.filesNameCounter[m.n]&&!o){const y=a+"/"+m.n;this.log(`[${s+1} / ${i}] 路径 "${y}" 是一个目录,该目录名称无对应的文件,且由于无违规文件,因此可确认为空目录`);const x=eu({id:m.cid,name:m.n,path:y,url:Bn(m.cid),ensured:!0});await this.addEmptyItem(x);}}}catch(f){console.error(`[handleMaybeDirs] getFiles error! cid: ${c}, error:`,f),this.log(`[${s+1} / ${i}] 获取上级路径(cid=${c}) "${a}" 的文件列表失败!错误: ${f.toString()}`);}s++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`根据上级路径排除无后缀文件完成。耗时 ${r} 秒`),this.log("=".repeat(60));}async detectEmpty(){const t=Date.now(),n=this._tailData;this.log("========开始检测路径========");const o=this._tailData.violationFiles.length>0;let i=0,s=Object.keys(n.treeNameCounter).length;for(const[a,l]of Object.entries(n.treeNameCounter)){if(!l){i++;continue}const c=n.treeNameToPaths[a];this.log(`[${i+1} / ${s}] 名称 "${a}" 有 ${l} 个路径需要检测`);for(let u=0;u<c.length;u++){const f=c[u];if(this._emptyItems.has(f)){console.log(`[detectEmpty] path "${f}" already exists in _emptyItems`);continue}if(n.repeatedPaths.has(f)){await this.checkDirContainsRepeated(a,f);continue}this.log(`[${i+1} / ${s}] 正在检测名称 "${a}" 第 ${u+1}/${l} 个路径: ${f}`);try{const p=await Ri(f,!1);if(p){this.log(`检测到该末端路径 "${f}" 是一个空目录(ID: ${p})`);const g=eu({id:p,name:a,path:f,url:Bn(p),ensured:!o});await this.addEmptyItem(g);}}catch(p){p instanceof Tc?this.log(`路径 "${f}" 不是一个目录`):(console.error(`[detectEmpty] getDirIdByPath failed! path: ${f}, error:`,p),this.log(`获取路径 "${f}" 的ID失败!错误: ${p.toString()}`));}}i++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`检测路径完成,耗时 ${r} 秒`),this.log("=".repeat(60));}async checkDirContainsRepeated(t,n){if(this._checkedRepeatedPaths.has(n))return;this.log(`名称 "${t}" 路径 "${n}" 存在重复,将对其所在的目录进行检测`);const o=hu(n,"..",Bo.unix);console.log("[checkDirContainsRepeated] parentPath:",o);let i="";try{if(i=await Ri(o,!1),!i){this.log(`❌ 根据路径"${o}"获取目录ID失败: 目录不存在!`);return}}catch(r){console.error(`[checkDirContainsRepeated] getDirIdByPath error! path: ${o}, error:`,r),this.log(`获取路径 "${o}" 的ID失败!错误: ${r.toString()}`);return}const s=Rn({limit:1150,cid:i});try{const r=Date.now();this.log(`正在获取目录(id=${i})的文件列表...`);const a=await Fo(s),l=((Date.now()-r)/1e3).toFixed(2);this.log(`获取目录(id=${i})的文件列表成功,文件数量:${a.length}。耗时 ${l} 秒`);for(const c of a)if(!(c.fid||c.n!==t))try{const u=await Kt(c.cid);if(u.file_name){if(u.folder_count===0&&u.count===0){this.log(`目录(id=${i})的子目录(id=${c.cid})为空`);const f=eu({id:c.cid,name:u.file_name,path:[...u.paths.map(p=>p.file_name).slice(1),u.file_name].join("/"),url:Bn(c.cid),repeated:!0,ensured:!0,attr:u});await this.addEmptyItem(f);}else this.log(`目录(id=${i})的子目录(id=${c.cid})不为空`);this._checkedRepeatedPaths.add(n);}else this.log(`❌ 获取目录(id=${c.cid})属性失败!`);}catch(u){console.error(`[checkDirContainsRepeated] getAttr error! cid: ${c.cid}, error:`,u),this.log(`获取目录(id=${c.cid})属性失败!异常: ${u.toString()}`);}}catch(r){console.error(`[checkDirContainsRepeated] getFiles error! cid: ${i}, error:`,r),this.log(`获取目录(id=${i})的文件列表失败!错误: ${r.toString()}`);}}async checkRealEmpty(){const t=Date.now();this.log("========确认是否真的为空目录========");for(const o of this._emptyItems.values())if(!o.ensured)try{const i=await Kt(o.id);o.ensured=!0,o.attr=i,i.count===0&&i.folder_count===0?this.log(`目录(id=${o.id}) "${o.path}" 确认为空`):(o.disabled=!0,o.memo="目录不为空,请手动检查和处理",this.log(`目录(id=${o.id}) "${o.path}" 确认不为空,请手动检查和处理`));}catch(i){console.error(`[checkRealEmpty] getAttr error! cid: ${o.id}, error:`,i),this.log(`获取目录(id=${o.id}) "${o.path}" 属性失败!异常: ${i.toString()}`),o.disabled=true,o.memo="确认是否为空目录失败,请手动检查和处理";}const n=((Date.now()-t)/1e3).toFixed(2);this.log(`确认是否真的为空目录完成,耗时 ${n} 秒`),this.log("=".repeat(60));}async onTreeFileGenerated(t){this._treeFile=t;for(const n of this.treeFileSubscribers)n(t);}async addEmptyItem(t){if(this._emptyItems.has(t.path)){console.log(`[addEmptyItem] path(id=${t.id}) "${t.path}" already exists in _emptyItems`);return}this._emptyItems.set(t.path,t);for(const n of this.emptyItemSubscribers)n(t);}async getEmptyItems(){return Array.from(this._emptyItems.values())}async log(t){t=`[${new Date().toLocaleString()}] ${t}`,this.logs.push(t);for(const n of this.logSubscribers)n(t);}async reset(){this.logs=[],this._emptyItems=new Map,this._tailData=tu(),this._treeFile=null,this._checkedRepeatedPaths=new Set,this._pendingPaths=new Set;}};const YI={},QI={class:"ce-empty-cleaner-help"};function XI(e,t){return _(),A("div",QI,t[0]||(t[0]=[Ag('<div data-v-ce900ab5><h2 data-v-ce900ab5>免责声明</h2><div data-v-ce900ab5><p data-v-ce900ab5>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr data-v-ce900ab5><h2 data-v-ce900ab5>说明</h2><ul style="color:#00f;" data-v-ce900ab5><li class="text-danger text-bold" data-v-ce900ab5> * <span style="font-size:120%;" data-v-ce900ab5>不要</span>直接清理一个巨大的文件夹!比如包含超过5万个文件夹。 太大的文件夹可能会导出目录树失败,且可能导致账号被系统风控。 </li><li data-v-ce900ab5>* 对于巨大的文件夹,可以分开清理下级文件夹。</li><li data-v-ce900ab5>* 只有违规文件的文件夹也会被检测到并列出,需要手动处理。</li><li data-v-ce900ab5>* 请谨慎操作!请谨慎操作!请谨慎操作!</li></ul><hr data-v-ce900ab5><h2 data-v-ce900ab5>流程</h2><ul style="color:#f40;" data-v-ce900ab5><li data-v-ce900ab5>1.确认当前显示的目录是否为需要进行清理的目录。</li><li data-v-ce900ab5>2.点击「检测空文件夹」按钮。</li><li data-v-ce900ab5>3.保持当前页面处于激活状态,留意日志区域的输出,耐心等待。</li><li data-v-ce900ab5>4.当看到「空文件夹检测已完成」的提示时,说明检测完成。</li><li data-v-ce900ab5>5.如果有空文件夹,会在空文件夹列表显示。</li><li data-v-ce900ab5>6.每个空文件夹都可以单独进行打开、获取详情、删除等操作。</li><li data-v-ce900ab5>7.批量删除: 勾选需要删除的空文件夹,点击「删除选中」进行删除。</li></ul><hr data-v-ce900ab5><h3 data-v-ce900ab5>原理和优劣</h3><div class="text-primary" data-v-ce900ab5> 本工具原理是导出目录树,然后查询文件,接着排除目录树中的文件,最后再判断目录树中剩余的项是否为空文件夹。 </div><ul data-v-ce900ab5><li class="text-bold text-success" data-v-ce900ab5>优点:</li><li class="text-success" data-v-ce900ab5>在子文件夹数量较多时,比逐层逐个查询文件列表要快得多。</li><li class="text-warning text-bold" data-v-ce900ab5>缺点:</li><li class="text-warning" data-v-ce900ab5>* 排除真实文件后,如剩余需判断项较多,耗时较长。</li><li class="text-warning" data-v-ce900ab5>* 不能判断大小为0且有空子文件夹的文件夹。</li></ul></div>',1)]))}const ZI=Ae(YI,[["render",XI],["__scopeId","data-v-ce900ab5"],["__file","Help.vue"]]);async function eD(){return (await Bt().get("https://115.com/?ct=tool&ac=clear_empty_folder",{timeout:12e4,withCredentials:true})).data}async function $a(){const e=t=>{q.update({html:`清理失败!${t}`,showConfirmButton:true,allowOutsideClick:false});};try{const{isConfirmed:t,value:n}=await q.fire({title:"一键全局清理空文件夹",html:`<div>
<div class="text-warning">这是官方自带的功能,脚本只是调用对应的API。</div>
<h4>功能特点:</h4>
<p>1. 只能全局清理,不能指定只清理某个文件夹。</p>
<p>2. 被删除的空文件夹会被永久删除,没有回收站记录。</p>
<p>3. 清理时长跟文件夹(包括空的和非空的)数量成正比。</p>
<p>4. 可能很快就提示"清空成功",但在文件夹数量较多时,服务端可能仍在进行清理处理。</p>
<h4>一些建议:</h4>
<p>1. 先仔细阅读并理解上面所说的,这很重要!</p>
<p>2. 请谨慎操作!</p>
<h3>请输入 yes 确认清理:</h3>
</div>
`,width:620,showDenyButton:!0,denyButtonText:"取消",showConfirmButton:!0,confirmButtonText:"确定清理空文件夹",customClass:{popup:"ce-swal-text-left"},input:"text"});if(console.warn("isConfirmed",t,"value",n),!t||n!=="yes")return;q.fire({html:"正在清理,请稍候..."}),q.showLoading();const o=await eD();o.state?q.update({html:o.msg}):e(`清理失败!${o.msg}`);}catch(t){console.error(t),e(`清理失败!${t.toString()}`);}finally{q.hideLoading();}}const tD={class:"ce-empty-cleaner ce-cleaner-x"},nD={class:"header actions-bar"},oD={class:"ce-path ce-label ce-label-primary-plain"},iD=["href"],sD={class:"top-actions"},rD=["disabled"],aD={class:"pure-form pure-form-aligned"},lD={class:"pure-control-group"},uD={key:0},cD={class:"text-primary"},dD={key:1},fD={class:"text-primary"},pD={key:0},hD=["href"],mD={key:0},gD={key:0},wD={class:"text-primary"},yD={class:"ec-items"},bD={class:"pure-table pure-table-bordered"},vD={width:"30"},xD=["disabled"],_D=["onUpdate:modelValue","onChange","disabled"],CD={key:0},kD={class:"ce-label ce-label-danger"},SD={key:0},$D={key:1},ED=["onClick","disabled"],AD=["onClick"],PD=["href"],ID={key:0},DD={class:"footer actions-bar"},TD={class:"ce-path ce-label ce-label-primary-plain"},LD=["href"],MD=xe({__name:"EmptyCleaner",setup(e){const t=K(false),n=K(true),o=K(false),i=K(""),s=K([]),r=K(null),a=K([]),l=K(false),c=K(null),u=K([]),f=K([]),p=K(null),g=K(null),m=We(()=>g.value?H0(g.value.pick_code):""),y=We(()=>i.value?Bn(i.value):"");let x;const k=K({keepTree:false});async function I(ge){ge.data.type===Jt.OPEN_EMPTY_CLEANER&&(E(ge.data.payload),ci({type:Jt.EMPTY_CLEANER_OPENED},ge.source));}Ht(async()=>{window.addEventListener("message",I),x=new JI(i.value),x.addLogSubscriber(ye),x.addEmptyItemSubscriber(Ce),x.addTreeFileSubscriber(ce);}),Si(()=>{window.removeEventListener("message",I);});async function E(ge){t.value=true;const M=await Ut();if(M==="0"||M===""){await dt(),await q.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}i.value&&i.value!==M&&console.warn("目录变化,重置"),r.value=await Kt(M),s.value=[...r.value.paths.slice(1).map(pe=>pe.file_name),r.value.file_name],i.value=M;}async function D(){l.value=false,u.value=[],f.value=[],a.value=[],g.value=null;}async function B(){try{o.value=!0,await D(),await x.reset(),await x.setKeepTree(k.value.keepTree),await x.setDirId(i.value),await x.run(),q.fire({title:"空文件夹检测已完成"});}catch(ge){console.error(ge),q.fire({title:"空文件夹检测失败",text:ge.toString()});}finally{o.value=false;}}async function H(ge){const M=f.value.join(`
`);if(ge==="copy")ft(M),Q({text:"已复制清理空文件夹日志",timer:1200});else if(ge==="download"){let pe=`清理空文件夹日志-${i.value}.txt`;Yr(M,pe);}}async function j(ge,M,pe="path"){const tt=M==="all"?a.value:u.value;let rt="";pe==="path"?rt=tt.map(Vt=>Vt.path).join(`
`):pe==="full"&&(rt=JSON.stringify(tt,null,2));const Zt=pe==="path"?"路径":"数据";if(ge==="copy")ft(rt),Q({text:`已复制${Zt}到剪贴板`,timer:1200});else if(ge==="download"){let Vt=`空文件夹${Zt}-${i.value}-数量${tt.length}`;Yr(rt,`${Vt}.${pe==="path"?"txt":"json"}`);}}async function ae(ge){const pe=u.value.map(tt=>tt.url);await mr(pe,true);}async function fe(ge){console.log("[onSelectDir]",ge);const{items:M}=ge,pe=M[M.length-1];await D(),i.value=pe.cid,r.value=await Kt(pe.cid),s.value=[...r.value.paths.slice(1).map(tt=>tt.file_name),r.value.file_name];}async function se(ge,M){if(ge.deleted){Q({text:"该目录已删除,不能再次删除!",showConfirmButton:true});return}o.value=true,await R([ge.id])&&(ge.deleted=true),o.value=false;}async function O(){if(!u.value.length)return;const ge=u.value.filter(M=>!M.deleted).map(M=>M.id);if(!ge.length){Q({text:"没有可删除的目录!",showConfirmButton:true});return}if(o.value=true,await R(ge))for(const M of u.value)M.deleted=true;o.value=false;}async function R(ge){try{const M=await qa(i.value,ge);if(M.state)return !0;Q({text:`删除失败: ${M.errno} - ${M.error}`});}catch(M){console.error(M),Q({text:`删除失败!${M.toString()}`});}return false}async function G(ge){o.value=true;try{const M=await Kt(ge.id),pe=rt=>new Date(Number(rt)*1e3).toLocaleString(),{isConfirmed:tt}=await q.fire({title:"目录属性",html:`<div class="ce-ec-detail">
<p><span>类型:</span> 文件夹</p>
<p><span>大小:</span> ${M.size}</p>
<p><span>创建时间:</span> ${pe(M.ptime)}</p>
<p><span>修改时间:</span> ${pe(M.utime)}</p>
<p><span>位置:</span> ${ge.path}</p>
</div>
`,showDenyButton:!0,denyButtonText:"关闭",showConfirmButton:!0,confirmButtonText:"查看目录"});tt&&window.open(ge.url);}catch(M){Q({text:`获取目录属性失败!${M.toString()}`,timer:1e4,showConfirmButton:true});}finally{o.value=false;}}async function ce(ge){g.value=ge;}async function ye(ge){f.value.push(ge),await mi(),p.value.scrollTop=p.value.scrollHeight;}async function Ce(ge){a.value.push(ge);}async function _e(){console.log("[onAllCheckedChange]",l.value);for(const ge of a.value)ge.disabled||(ge.checked=l.value);await Fe();}async function ke(ge,M){console.log("[onCheckChange]",ge,M),l.value=a.value.every(pe=>pe.checked),c.value.indeterminate=!l.value&&a.value.some(pe=>pe.checked),await Fe();}async function Fe(){u.value=a.value.filter(ge=>ge.checked);}async function dt(){t.value=false;}return (ge,M)=>J((_(),A("span",tD,[Ke(ge.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:E},M[15]||(M[15]=[d("span",null,"清理空文件夹",-1)]))]),re(Qs,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:M[14]||(M[14]=pe=>t.value=false)},{default:me(()=>[J(d("div",{class:De(["ce-empty-cleaner-drawer",{loading:o.value}])},[re(ZI),d("div",nD,[M[17]||(M[17]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:dt},"关闭")]),M[18]||(M[18]=L(" ",-1)),re(Xs,{purpose:"清理空文件夹",onSelect:fe}),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:M[0]||(M[0]=(...pe)=>te($a)&&te($a)(...pe)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 "),d("div",oD,[d("a",{target:"_blank",href:y.value,title:"打开目录"},[M[16]||(M[16]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(s.value.join(" / ")),1)],8,iD)])]),d("div",null,[d("div",sD,[d("div",null,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:B,disabled:o.value},"检测空文件夹",8,rD)]),d("div",null,[d("form",aD,[d("fieldset",null,[d("div",lD,[r.value?(_(),A("label",uD,[M[19]||(M[19]=d("span",null,"文件夹数量:",-1)),M[20]||(M[20]=L(" ",-1)),d("b",cD,U(r.value?.folder_count),1)])):de("",!0),r.value?(_(),A("label",dD,[M[21]||(M[21]=d("span",null,"文件数量:",-1)),M[22]||(M[22]=L(" ",-1)),d("b",fD,U(r.value?.count),1)])):de("",!0),d("label",null,[J(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":M[1]||(M[1]=pe=>k.value.keepTree=pe)},null,512),[[we,k.value.keepTree]]),M[24]||(M[24]=L(" ",-1)),M[25]||(M[25]=d("span",{title:"不会删除目录树文件"},"保留目录树文件",-1)),g.value?(_(),A("span",pD,[M[23]||(M[23]=L(" ",-1)),d("a",{href:m.value,class:"text-primary",target:"_blank"},"查看目录树文件",8,hD)])):de("",!0)])])])])])]),d("h3",null,[M[28]||(M[28]=L(" 日志 ",-1)),f.value.length?(_(),A("span",mD,[M[26]||(M[26]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[2]||(M[2]=pe=>H("copy"))},"复制日志"),M[27]||(M[27]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[3]||(M[3]=pe=>H("download"))},"保存日志")])):de("",!0)]),d("div",{ref_key:"refLogs",ref:p,class:"ec-logs"},[(_(!0),A(Se,null,Ue(f.value,(pe,tt)=>(_(),A("div",{key:tt},U(pe),1))),128))],512),d("h3",null,[M[33]||(M[33]=L(" 空文件夹 ",-1)),a.value.length?(_(),A("span",gD,[d("span",wD," ( "+U(a.value.length)+" )",1),M[29]||(M[29]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[4]||(M[4]=pe=>j("copy","all","path"))},"复制路径"),M[30]||(M[30]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[5]||(M[5]=pe=>j("copy","all","full"))},"复制数据"),M[31]||(M[31]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[6]||(M[6]=pe=>j("download","all","path"))},"保存路径"),M[32]||(M[32]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[7]||(M[7]=pe=>j("download","all","full"))},"保存数据")])):de("",!0)]),d("div",yD,[d("table",bD,[d("thead",null,[d("tr",null,[M[34]||(M[34]=d("th",{width:"25"},"#",-1)),d("th",vD,[J(d("input",{ref_key:"refAllChecked",ref:c,type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":M[8]||(M[8]=pe=>l.value=pe),onChange:_e,disabled:!a.value.length},null,40,xD),[[we,l.value]])]),M[35]||(M[35]=d("th",{width:"140"},"ID",-1)),M[36]||(M[36]=d("th",null,"路径",-1)),M[37]||(M[37]=d("th",{width:"150"},"操作",-1))])]),d("tbody",null,[(_(!0),A(Se,null,Ue(a.value,(pe,tt)=>(_(),A("tr",{key:tt,class:De({"tr-deleted":pe.deleted})},[d("td",null,U(tt+1),1),d("td",null,[J(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":rt=>pe.checked=rt,onChange:rt=>ke(pe,tt),disabled:pe.disabled},null,40,_D),[[we,pe.checked]])]),d("td",null,U(pe.id),1),d("td",null,[d("div",null,U(pe.path),1),pe.memo?(_(),A("div",CD,[d("span",kD,U(pe.memo),1)])):de("",!0)]),d("td",null,[pe.deleted?(_(),A("div",SD,M[38]||(M[38]=[d("span",{class:"label-danger"},"已删除",-1)]))):(_(),A("div",$D,[d("button",{type:"button",class:"pure-button button-xsmall button-error",onClick:rt=>se(pe,tt),disabled:pe.disabled},"删除",8,ED),M[39]||(M[39]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:rt=>G(pe)},"详情",8,AD),M[40]||(M[40]=L(" ",-1)),d("a",{class:"pure-button button-xsmall",href:pe.url,target:"_blank"},"打开",8,PD)]))])],2))),128))])]),u.value.length?(_(),A("div",ID,[M[41]||(M[41]=d("br",null,null,-1)),d("button",{type:"button",class:"pure-button button-error",onClick:O},"删除选中 ("+U(u.value.length)+")",1),M[42]||(M[42]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[9]||(M[9]=pe=>j("copy","checked","path"))},"复制已选路径"),M[43]||(M[43]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[10]||(M[10]=pe=>j("copy","checked","full"))},"复制已选数据"),M[44]||(M[44]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[11]||(M[11]=pe=>j("download","checked","path"))},"保存已选路径"),M[45]||(M[45]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[12]||(M[12]=pe=>j("download","checked","full"))},"保存已选数据"),M[46]||(M[46]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-success button-xsmall",onClick:M[13]||(M[13]=pe=>ae("checked"))},"打开已选")])):de("",!0)])]),d("div",DD,[M[48]||(M[48]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:dt},"关闭")]),M[49]||(M[49]=L(" ",-1)),re(Xs,{purpose:"清理空文件夹",onSelect:fe}),M[50]||(M[50]=L(" ",-1)),re(jw,{container:".ce-empty-cleaner-drawer"}),d("div",TD,[d("a",{target:"_blank",href:y.value,title:"打开目录"},[M[47]||(M[47]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(s.value.join(" / ")),1)],8,LD)])])],2),[[Gt,t.value]])]),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}),BD=Ae(MD,[["__file","EmptyCleaner.vue"]]),OD=".button-xsmall,.button-mini{font-size:12px;padding:.2em .5em}.button-small{font-size:85%}.button-large{font-size:110%}.button-xlarge{font-size:125%}.button-success,.button-error,.button-warning,.button-secondary{color:#fff;border-radius:2px;text-shadow:0 1px 1px rgba(0,0,0,.2)}.button-success{background:#1cb841}.button-error{background:#ca3c3c}.button-warning{background:#df7514}.button-secondary{background:#42b8dd}.pure-form select{height:2.5em;font-size:12px}.pure-form input:not([type]){padding:4px 6px}.pure-form input[type=number]{min-width:100px}";At(OD);function RD(){return {showEntryOnPathBar:true}}async function zw(){const e=RD(),t=await Qe.get(gt.emptyCleanerConfig,e);return {...e,...t}}async function FD(e){return await Qe.set(gt.emptyCleanerConfig,e)}async function ND(){const{host:e}=location,t=await br(),n=await zw();e==="115.com"&&(console.log("[Cleaner] running..."),xn()?(await UD(t),await jD(n)):(await zD(),await HD()));}async function UD(e){if(!e.showEntryOnPathBar)return;const t="cloud115Cleaner",n=await et("#js_path_add_dir"),o=je(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o);const i=uo(zE);i.component("VDropdown",Ai),i.directive("tooltip",md),i.mount(`#${t}`);}async function jD(e){if(!e.showEntryOnPathBar)return;const t="cloud115EmptyCleaner",n=await et("#js_path_add_dir"),o=je(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o),uo(VI).mount(`#${t}`);}async function zD(e){const t="cloud115Cleaner",n=je(`<div id="${t}"/>`);document.body.appendChild(n);const o=uo(jI);o.component("VDropdown",Ai),o.directive("tooltip",md),o.mount(`#${t}`),Cs("清理文件",async()=>{ci({type:Jt.OPEN_CLEANER},window.parent);});}async function HD(e){const t="cloud115EmptyCleaner",n=je(`<div id="${t}"/>`);document.body.appendChild(n);const o=uo(BD);o.component("VDropdown",Ai),o.mount(`#${t}`),Cs("清理空目录",async()=>{ci({type:Jt.OPEN_EMPTY_CLEANER},window.parent);});}function Hw(e,t){return function(){return e.apply(t,arguments)}}const{toString:VD}=Object.prototype,{getPrototypeOf:_d}=Object,{iterator:gl,toStringTag:Vw}=Symbol,wl=(e=>t=>{const n=VD.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),zn=e=>(e=e.toLowerCase(),t=>wl(t)===e),yl=e=>t=>typeof t===e,{isArray:cs}=Array,Zs=yl("undefined");function vr(e){return e!==null&&!Zs(e)&&e.constructor!==null&&!Zs(e.constructor)&&ln(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const qw=zn("ArrayBuffer");function qD(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&qw(e.buffer),t}const WD=yl("string"),ln=yl("function"),Ww=yl("number"),xr=e=>e!==null&&typeof e=="object",KD=e=>e===true||e===false,Wr=e=>{if(wl(e)!=="object")return false;const t=_d(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Vw in e)&&!(gl in e)},GD=e=>{if(!xr(e)||vr(e))return false;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return false}},JD=zn("Date"),YD=zn("File"),QD=zn("Blob"),XD=zn("FileList"),ZD=e=>xr(e)&&ln(e.pipe),e5=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||ln(e.append)&&((t=wl(e))==="formdata"||t==="object"&&ln(e.toString)&&e.toString()==="[object FormData]"))},t5=zn("URLSearchParams"),[n5,o5,i5,s5]=["ReadableStream","Request","Response","Headers"].map(zn),r5=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function _r(e,t,{allOwnKeys:n=false}={}){if(e===null||typeof e>"u")return;let o,i;if(typeof e!="object"&&(e=[e]),cs(e))for(o=0,i=e.length;o<i;o++)t.call(null,e[o],o,e);else {if(vr(e))return;const s=n?Object.getOwnPropertyNames(e):Object.keys(e),r=s.length;let a;for(o=0;o<r;o++)a=s[o],t.call(null,e[a],a,e);}}function Kw(e,t){if(vr(e))return null;t=t.toLowerCase();const n=Object.keys(e);let o=n.length,i;for(;o-- >0;)if(i=n[o],t===i.toLowerCase())return i;return null}const si=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Gw=e=>!Zs(e)&&e!==si;function Wu(){const{caseless:e}=Gw(this)&&this||{},t={},n=(o,i)=>{const s=e&&Kw(t,i)||i;Wr(t[s])&&Wr(o)?t[s]=Wu(t[s],o):Wr(o)?t[s]=Wu({},o):cs(o)?t[s]=o.slice():t[s]=o;};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&_r(arguments[o],n);return t}const a5=(e,t,n,{allOwnKeys:o}={})=>(_r(t,(i,s)=>{n&&ln(i)?e[s]=Hw(i,n):e[s]=i;},{allOwnKeys:o}),e),l5=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),u5=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n);},c5=(e,t,n,o)=>{let i,s,r;const a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),s=i.length;s-- >0;)r=i[s],(!o||o(r,e,t))&&!a[r]&&(t[r]=e[r],a[r]=true);e=n!==false&&_d(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},d5=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},f5=e=>{if(!e)return null;if(cs(e))return e;let t=e.length;if(!Ww(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},p5=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&_d(Uint8Array)),h5=(e,t)=>{const o=(e&&e[gl]).call(e);let i;for(;(i=o.next())&&!i.done;){const s=i.value;t.call(e,s[0],s[1]);}},m5=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},g5=zn("HTMLFormElement"),w5=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,i){return o.toUpperCase()+i}),_p=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),y5=zn("RegExp"),Jw=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};_r(n,(i,s)=>{let r;(r=t(i,s,e))!==false&&(o[s]=r||i);}),Object.defineProperties(e,o);},b5=e=>{Jw(e,(t,n)=>{if(ln(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return false;const o=e[n];if(ln(o)){if(t.enumerable=false,"writable"in t){t.writable=false;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")});}});},v5=(e,t)=>{const n={},o=i=>{i.forEach(s=>{n[s]=true;});};return cs(e)?o(e):o(String(e).split(t)),n},x5=()=>{},_5=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function C5(e){return !!(e&&ln(e.append)&&e[Vw]==="FormData"&&e[gl])}const k5=e=>{const t=new Array(10),n=(o,i)=>{if(xr(o)){if(t.indexOf(o)>=0)return;if(vr(o))return o;if(!("toJSON"in o)){t[i]=o;const s=cs(o)?[]:{};return _r(o,(r,a)=>{const l=n(r,i+1);!Zs(l)&&(s[a]=l);}),t[i]=void 0,s}}return o};return n(e,0)},S5=zn("AsyncFunction"),$5=e=>e&&(xr(e)||ln(e))&&ln(e.then)&&ln(e.catch),Yw=((e,t)=>e?setImmediate:t?((n,o)=>(si.addEventListener("message",({source:i,data:s})=>{i===si&&s===n&&o.length&&o.shift()();},false),i=>{o.push(i),si.postMessage(n,"*");}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ln(si.postMessage)),E5=typeof queueMicrotask<"u"?queueMicrotask.bind(si):typeof process<"u"&&process.nextTick||Yw,A5=e=>e!=null&&ln(e[gl]),V={isArray:cs,isArrayBuffer:qw,isBuffer:vr,isFormData:e5,isArrayBufferView:qD,isString:WD,isNumber:Ww,isBoolean:KD,isObject:xr,isPlainObject:Wr,isEmptyObject:GD,isReadableStream:n5,isRequest:o5,isResponse:i5,isHeaders:s5,isUndefined:Zs,isDate:JD,isFile:YD,isBlob:QD,isRegExp:y5,isFunction:ln,isStream:ZD,isURLSearchParams:t5,isTypedArray:p5,isFileList:XD,forEach:_r,merge:Wu,extend:a5,trim:r5,stripBOM:l5,inherits:u5,toFlatObject:c5,kindOf:wl,kindOfTest:zn,endsWith:d5,toArray:f5,forEachEntry:h5,matchAll:m5,isHTMLForm:g5,hasOwnProperty:_p,hasOwnProp:_p,reduceDescriptors:Jw,freezeMethods:b5,toObjectSet:v5,toCamelCase:w5,noop:x5,toFiniteNumber:_5,findKey:Kw,global:si,isContextDefined:Gw,isSpecCompliantForm:C5,toJSONObject:k5,isAsyncFn:S5,isThenable:$5,setImmediate:Yw,asap:E5,isIterable:A5};function Oe(e,t,n,o,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),i&&(this.response=i,this.status=i.status?i.status:null);}V.inherits(Oe,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:V.toJSONObject(this.config),code:this.code,status:this.status}}});const Qw=Oe.prototype,Xw={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Xw[e]={value:e};});Object.defineProperties(Oe,Xw);Object.defineProperty(Qw,"isAxiosError",{value:true});Oe.from=(e,t,n,o,i,s)=>{const r=Object.create(Qw);return V.toFlatObject(e,r,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Oe.call(r,e.message,t,n,o,i),r.cause=e,r.name=e.name,s&&Object.assign(r,s),r};const P5=null;function Ku(e){return V.isPlainObject(e)||V.isArray(e)}function Zw(e){return V.endsWith(e,"[]")?e.slice(0,-2):e}function Cp(e,t,n){return e?e.concat(t).map(function(i,s){return i=Zw(i),!n&&s?"["+i+"]":i}).join(n?".":""):t}function I5(e){return V.isArray(e)&&!e.some(Ku)}const D5=V.toFlatObject(V,{},null,function(t){return /^is[A-Z]/.test(t)});function bl(e,t,n){if(!V.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=V.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,function(y,x){return !V.isUndefined(x[y])});const o=n.metaTokens,i=n.visitor||u,s=n.dots,r=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&V.isSpecCompliantForm(t);if(!V.isFunction(i))throw new TypeError("visitor must be a function");function c(m){if(m===null)return "";if(V.isDate(m))return m.toISOString();if(V.isBoolean(m))return m.toString();if(!l&&V.isBlob(m))throw new Oe("Blob is not supported. Use a Buffer instead.");return V.isArrayBuffer(m)||V.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,y,x){let k=m;if(m&&!x&&typeof m=="object"){if(V.endsWith(y,"{}"))y=o?y:y.slice(0,-2),m=JSON.stringify(m);else if(V.isArray(m)&&I5(m)||(V.isFileList(m)||V.endsWith(y,"[]"))&&(k=V.toArray(m)))return y=Zw(y),k.forEach(function(E,D){!(V.isUndefined(E)||E===null)&&t.append(r===true?Cp([y],D,s):r===null?y:y+"[]",c(E));}),false}return Ku(m)?true:(t.append(Cp(x,y,s),c(m)),false)}const f=[],p=Object.assign(D5,{defaultVisitor:u,convertValue:c,isVisitable:Ku});function g(m,y){if(!V.isUndefined(m)){if(f.indexOf(m)!==-1)throw Error("Circular reference detected in "+y.join("."));f.push(m),V.forEach(m,function(k,I){(!(V.isUndefined(k)||k===null)&&i.call(t,k,V.isString(I)?I.trim():I,y,p))===true&&g(k,y?y.concat(I):[I]);}),f.pop();}}if(!V.isObject(e))throw new TypeError("data must be an object");return g(e),t}function kp(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function Cd(e,t){this._pairs=[],e&&bl(e,this,t);}const ey=Cd.prototype;ey.append=function(t,n){this._pairs.push([t,n]);};ey.toString=function(t){const n=t?function(o){return t.call(this,o,kp)}:kp;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function T5(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ty(e,t,n){if(!t)return e;const o=n&&n.encode||T5;V.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let s;if(i?s=i(t,n):s=V.isURLSearchParams(t)?t.toString():new Cd(t,n).toString(o),s){const r=e.indexOf("#");r!==-1&&(e=e.slice(0,r)),e+=(e.indexOf("?")===-1?"?":"&")+s;}return e}class Sp{constructor(){this.handlers=[];}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:false,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null);}clear(){this.handlers&&(this.handlers=[]);}forEach(t){V.forEach(this.handlers,function(o){o!==null&&t(o);});}}const ny={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false},L5=typeof URLSearchParams<"u"?URLSearchParams:Cd,M5=typeof FormData<"u"?FormData:null,B5=typeof Blob<"u"?Blob:null,O5={isBrowser:true,classes:{URLSearchParams:L5,FormData:M5,Blob:B5},protocols:["http","https","file","blob","url","data"]},kd=typeof window<"u"&&typeof document<"u",Gu=typeof navigator=="object"&&navigator||void 0,R5=kd&&(!Gu||["ReactNative","NativeScript","NS"].indexOf(Gu.product)<0),F5=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",N5=kd&&window.location.href||"http://localhost",U5=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:kd,hasStandardBrowserEnv:R5,hasStandardBrowserWebWorkerEnv:F5,navigator:Gu,origin:N5},Symbol.toStringTag,{value:"Module"})),Ft={...U5,...O5};function j5(e,t){return bl(e,new Ft.classes.URLSearchParams,{visitor:function(n,o,i,s){return Ft.isNode&&V.isBuffer(n)?(this.append(o,n.toString("base64")),false):s.defaultVisitor.apply(this,arguments)},...t})}function z5(e){return V.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function H5(e){const t={},n=Object.keys(e);let o;const i=n.length;let s;for(o=0;o<i;o++)s=n[o],t[s]=e[s];return t}function oy(e){function t(n,o,i,s){let r=n[s++];if(r==="__proto__")return true;const a=Number.isFinite(+r),l=s>=n.length;return r=!r&&V.isArray(i)?i.length:r,l?(V.hasOwnProp(i,r)?i[r]=[i[r],o]:i[r]=o,!a):((!i[r]||!V.isObject(i[r]))&&(i[r]=[]),t(n,o,i[r],s)&&V.isArray(i[r])&&(i[r]=H5(i[r])),!a)}if(V.isFormData(e)&&V.isFunction(e.entries)){const n={};return V.forEachEntry(e,(o,i)=>{t(z5(o),i,n,0);}),n}return null}function V5(e,t,n){if(V.isString(e))try{return (t||JSON.parse)(e),V.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return (n||JSON.stringify)(e)}const Cr={transitional:ny,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",i=o.indexOf("application/json")>-1,s=V.isObject(t);if(s&&V.isHTMLForm(t)&&(t=new FormData(t)),V.isFormData(t))return i?JSON.stringify(oy(t)):t;if(V.isArrayBuffer(t)||V.isBuffer(t)||V.isStream(t)||V.isFile(t)||V.isBlob(t)||V.isReadableStream(t))return t;if(V.isArrayBufferView(t))return t.buffer;if(V.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),t.toString();let a;if(s){if(o.indexOf("application/x-www-form-urlencoded")>-1)return j5(t,this.formSerializer).toString();if((a=V.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return bl(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||i?(n.setContentType("application/json",false),V5(t)):t}],transformResponse:[function(t){const n=this.transitional||Cr.transitional,o=n&&n.forcedJSONParsing,i=this.responseType==="json";if(V.isResponse(t)||V.isReadableStream(t))return t;if(t&&V.isString(t)&&(o&&!this.responseType||i)){const r=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(a){if(r)throw a.name==="SyntaxError"?Oe.from(a,Oe.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ft.classes.FormData,Blob:Ft.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};V.forEach(["delete","get","head","post","put","patch"],e=>{Cr.headers[e]={};});const q5=V.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),W5=e=>{const t={};let n,o,i;return e&&e.split(`
`).forEach(function(r){i=r.indexOf(":"),n=r.substring(0,i).trim().toLowerCase(),o=r.substring(i+1).trim(),!(!n||t[n]&&q5[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o);}),t},$p=Symbol("internals");function bs(e){return e&&String(e).trim().toLowerCase()}function Kr(e){return e===false||e==null?e:V.isArray(e)?e.map(Kr):String(e)}function K5(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const G5=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function nu(e,t,n,o,i){if(V.isFunction(o))return o.call(this,t,n);if(i&&(t=n),!!V.isString(t)){if(V.isString(o))return t.indexOf(o)!==-1;if(V.isRegExp(o))return o.test(t)}}function J5(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function Y5(e,t){const n=V.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(i,s,r){return this[o].call(this,t,i,s,r)},configurable:true});});}let un=class{constructor(t){t&&this.set(t);}set(t,n,o){const i=this;function s(a,l,c){const u=bs(l);if(!u)throw new Error("header name must be a non-empty string");const f=V.findKey(i,u);(!f||i[f]===void 0||c===true||c===void 0&&i[f]!==false)&&(i[f||l]=Kr(a));}const r=(a,l)=>V.forEach(a,(c,u)=>s(c,u,l));if(V.isPlainObject(t)||t instanceof this.constructor)r(t,n);else if(V.isString(t)&&(t=t.trim())&&!G5(t))r(W5(t),n);else if(V.isObject(t)&&V.isIterable(t)){let a={},l,c;for(const u of t){if(!V.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[c=u[0]]=(l=a[c])?V.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1];}r(a,n);}else t!=null&&s(n,t,o);return this}get(t,n){if(t=bs(t),t){const o=V.findKey(this,t);if(o){const i=this[o];if(!n)return i;if(n===true)return K5(i);if(V.isFunction(n))return n.call(this,i,o);if(V.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=bs(t),t){const o=V.findKey(this,t);return !!(o&&this[o]!==void 0&&(!n||nu(this,this[o],o,n)))}return false}delete(t,n){const o=this;let i=false;function s(r){if(r=bs(r),r){const a=V.findKey(o,r);a&&(!n||nu(o,o[a],a,n))&&(delete o[a],i=true);}}return V.isArray(t)?t.forEach(s):s(t),i}clear(t){const n=Object.keys(this);let o=n.length,i=false;for(;o--;){const s=n[o];(!t||nu(this,this[s],s,t,true))&&(delete this[s],i=true);}return i}normalize(t){const n=this,o={};return V.forEach(this,(i,s)=>{const r=V.findKey(o,s);if(r){n[r]=Kr(i),delete n[s];return}const a=t?J5(s):String(s).trim();a!==s&&delete n[s],n[a]=Kr(i),o[a]=true;}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return V.forEach(this,(o,i)=>{o!=null&&o!==false&&(n[i]=t&&V.isArray(o)?o.join(", "):o);}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return "AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(i=>o.set(i)),o}static accessor(t){const o=(this[$p]=this[$p]={accessors:{}}).accessors,i=this.prototype;function s(r){const a=bs(r);o[a]||(Y5(i,r),o[a]=true);}return V.isArray(t)?t.forEach(s):s(t),this}};un.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);V.reduceDescriptors(un.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return {get:()=>e,set(o){this[n]=o;}}});V.freezeMethods(un);function ou(e,t){const n=this||Cr,o=t||n,i=un.from(o.headers);let s=o.data;return V.forEach(e,function(a){s=a.call(n,s,i.normalize(),t?t.status:void 0);}),i.normalize(),s}function iy(e){return !!(e&&e.__CANCEL__)}function ds(e,t,n){Oe.call(this,e??"canceled",Oe.ERR_CANCELED,t,n),this.name="CanceledError";}V.inherits(ds,Oe,{__CANCEL__:true});function sy(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new Oe("Request failed with status code "+n.status,[Oe.ERR_BAD_REQUEST,Oe.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}function Q5(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function X5(e,t){e=e||10;const n=new Array(e),o=new Array(e);let i=0,s=0,r;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[s];r||(r=c),n[i]=l,o[i]=c;let f=s,p=0;for(;f!==i;)p+=n[f++],f=f%e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-r<t)return;const g=u&&c-u;return g?Math.round(p*1e3/g):void 0}}function Z5(e,t){let n=0,o=1e3/t,i,s;const r=(c,u=Date.now())=>{n=u,i=null,s&&(clearTimeout(s),s=null),e(...c);};return [(...c)=>{const u=Date.now(),f=u-n;f>=o?r(c,u):(i=c,s||(s=setTimeout(()=>{s=null,r(i);},o-f)));},()=>i&&r(i)]}const Ea=(e,t,n=3)=>{let o=0;const i=X5(50,250);return Z5(s=>{const r=s.loaded,a=s.lengthComputable?s.total:void 0,l=r-o,c=i(l),u=r<=a;o=r;const f={loaded:r,total:a,progress:a?r/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&u?(a-r)/c:void 0,event:s,lengthComputable:a!=null,[t?"download":"upload"]:true};e(f);},n)},Ep=(e,t)=>{const n=e!=null;return [o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},Ap=e=>(...t)=>V.asap(()=>e(...t)),eT=Ft.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Ft.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Ft.origin),Ft.navigator&&/(msie|trident)/i.test(Ft.navigator.userAgent)):()=>true,tT=Ft.hasStandardBrowserEnv?{write(e,t,n,o,i,s){const r=[e+"="+encodeURIComponent(t)];V.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),V.isString(o)&&r.push("path="+o),V.isString(i)&&r.push("domain="+i),s===true&&r.push("secure"),document.cookie=r.join("; ");},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5);}}:{write(){},read(){return null},remove(){}};function nT(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function oT(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function ry(e,t,n){let o=!nT(t);return e&&(o||n==false)?oT(e,t):t}const Pp=e=>e instanceof un?{...e}:e;function bi(e,t){t=t||{};const n={};function o(c,u,f,p){return V.isPlainObject(c)&&V.isPlainObject(u)?V.merge.call({caseless:p},c,u):V.isPlainObject(u)?V.merge({},u):V.isArray(u)?u.slice():u}function i(c,u,f,p){if(V.isUndefined(u)){if(!V.isUndefined(c))return o(void 0,c,f,p)}else return o(c,u,f,p)}function s(c,u){if(!V.isUndefined(u))return o(void 0,u)}function r(c,u){if(V.isUndefined(u)){if(!V.isUndefined(c))return o(void 0,c)}else return o(void 0,u)}function a(c,u,f){if(f in t)return o(c,u);if(f in e)return o(void 0,c)}const l={url:s,method:s,data:s,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:a,headers:(c,u,f)=>i(Pp(c),Pp(u),f,true)};return V.forEach(Object.keys({...e,...t}),function(u){const f=l[u]||i,p=f(e[u],t[u],u);V.isUndefined(p)&&f!==a||(n[u]=p);}),n}const ay=e=>{const t=bi({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:s,headers:r,auth:a}=t;t.headers=r=un.from(r),t.url=ty(ry(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&r.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(V.isFormData(n)){if(Ft.hasStandardBrowserEnv||Ft.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if((l=r.getContentType())!==false){const[c,...u]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];r.setContentType([c||"multipart/form-data",...u].join("; "));}}if(Ft.hasStandardBrowserEnv&&(o&&V.isFunction(o)&&(o=o(t)),o||o!==false&&eT(t.url))){const c=i&&s&&tT.read(s);c&&r.set(i,c);}return t},iT=typeof XMLHttpRequest<"u",sT=iT&&function(e){return new Promise(function(n,o){const i=ay(e);let s=i.data;const r=un.from(i.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:c}=i,u,f,p,g,m;function y(){g&&g(),m&&m(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u);}let x=new XMLHttpRequest;x.open(i.method.toUpperCase(),i.url,true),x.timeout=i.timeout;function k(){if(!x)return;const E=un.from("getAllResponseHeaders"in x&&x.getAllResponseHeaders()),B={data:!a||a==="text"||a==="json"?x.responseText:x.response,status:x.status,statusText:x.statusText,headers:E,config:e,request:x};sy(function(j){n(j),y();},function(j){o(j),y();},B),x=null;}"onloadend"in x?x.onloadend=k:x.onreadystatechange=function(){!x||x.readyState!==4||x.status===0&&!(x.responseURL&&x.responseURL.indexOf("file:")===0)||setTimeout(k);},x.onabort=function(){x&&(o(new Oe("Request aborted",Oe.ECONNABORTED,e,x)),x=null);},x.onerror=function(){o(new Oe("Network Error",Oe.ERR_NETWORK,e,x)),x=null;},x.ontimeout=function(){let D=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const B=i.transitional||ny;i.timeoutErrorMessage&&(D=i.timeoutErrorMessage),o(new Oe(D,B.clarifyTimeoutError?Oe.ETIMEDOUT:Oe.ECONNABORTED,e,x)),x=null;},s===void 0&&r.setContentType(null),"setRequestHeader"in x&&V.forEach(r.toJSON(),function(D,B){x.setRequestHeader(B,D);}),V.isUndefined(i.withCredentials)||(x.withCredentials=!!i.withCredentials),a&&a!=="json"&&(x.responseType=i.responseType),c&&([p,m]=Ea(c,true),x.addEventListener("progress",p)),l&&x.upload&&([f,g]=Ea(l),x.upload.addEventListener("progress",f),x.upload.addEventListener("loadend",g)),(i.cancelToken||i.signal)&&(u=E=>{x&&(o(!E||E.type?new ds(null,e,x):E),x.abort(),x=null);},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));const I=Q5(i.url);if(I&&Ft.protocols.indexOf(I)===-1){o(new Oe("Unsupported protocol "+I+":",Oe.ERR_BAD_REQUEST,e));return}x.send(s||null);})},rT=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,i;const s=function(c){if(!i){i=true,a();const u=c instanceof Error?c:this.reason;o.abort(u instanceof Oe?u:new ds(u instanceof Error?u.message:u));}};let r=t&&setTimeout(()=>{r=null,s(new Oe(`timeout ${t} of ms exceeded`,Oe.ETIMEDOUT));},t);const a=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s);}),e=null);};e.forEach(c=>c.addEventListener("abort",s));const{signal:l}=o;return l.unsubscribe=()=>V.asap(a),l}},aT=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let o=0,i;for(;o<n;)i=o+t,yield e.slice(o,i),o=i;},lT=async function*(e,t){for await(const n of uT(e))yield*aT(n,t);},uT=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:o}=await t.read();if(n)break;yield o;}}finally{await t.cancel();}},Ip=(e,t,n,o)=>{const i=lT(e,t);let s=0,r,a=l=>{r||(r=true,o&&o(l));};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await i.next();if(c){a(),l.close();return}let f=u.byteLength;if(n){let p=s+=f;n(p);}l.enqueue(new Uint8Array(u));}catch(c){throw a(c),c}},cancel(l){return a(l),i.return()}},{highWaterMark:2})},vl=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",ly=vl&&typeof ReadableStream=="function",cT=vl&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),uy=(e,...t)=>{try{return !!e(...t)}catch{return false}},dT=ly&&uy(()=>{let e=!1;const t=new Request(Ft.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Dp=64*1024,Ju=ly&&uy(()=>V.isReadableStream(new Response("").body)),Aa={stream:Ju&&(e=>e.body)};vl&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Aa[t]&&(Aa[t]=V.isFunction(e[t])?n=>n[t]():(n,o)=>{throw new Oe(`Response type '${t}' is not supported`,Oe.ERR_NOT_SUPPORT,o)});});})(new Response);const fT=async e=>{if(e==null)return 0;if(V.isBlob(e))return e.size;if(V.isSpecCompliantForm(e))return (await new Request(Ft.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(V.isArrayBufferView(e)||V.isArrayBuffer(e))return e.byteLength;if(V.isURLSearchParams(e)&&(e=e+""),V.isString(e))return (await cT(e)).byteLength},pT=async(e,t)=>{const n=V.toFiniteNumber(e.getContentLength());return n??fT(t)},hT=vl&&(async e=>{let{url:t,method:n,data:o,signal:i,cancelToken:s,timeout:r,onDownloadProgress:a,onUploadProgress:l,responseType:c,headers:u,withCredentials:f="same-origin",fetchOptions:p}=ay(e);c=c?(c+"").toLowerCase():"text";let g=rT([i,s&&s.toAbortSignal()],r),m;const y=g&&g.unsubscribe&&(()=>{g.unsubscribe();});let x;try{if(l&&dT&&n!=="get"&&n!=="head"&&(x=await pT(u,o))!==0){let B=new Request(t,{method:"POST",body:o,duplex:"half"}),H;if(V.isFormData(o)&&(H=B.headers.get("content-type"))&&u.setContentType(H),B.body){const[j,ae]=Ep(x,Ea(Ap(l)));o=Ip(B.body,Dp,j,ae);}}V.isString(f)||(f=f?"include":"omit");const k="credentials"in Request.prototype;m=new Request(t,{...p,signal:g,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:o,duplex:"half",credentials:k?f:void 0});let I=await fetch(m,p);const E=Ju&&(c==="stream"||c==="response");if(Ju&&(a||E&&y)){const B={};["status","statusText","headers"].forEach(fe=>{B[fe]=I[fe];});const H=V.toFiniteNumber(I.headers.get("content-length")),[j,ae]=a&&Ep(H,Ea(Ap(a),!0))||[];I=new Response(Ip(I.body,Dp,j,()=>{ae&&ae(),y&&y();}),B);}c=c||"text";let D=await Aa[V.findKey(Aa,c)||"text"](I,e);return !E&&y&&y(),await new Promise((B,H)=>{sy(B,H,{data:D,headers:un.from(I.headers),status:I.status,statusText:I.statusText,config:e,request:m});})}catch(k){throw y&&y(),k&&k.name==="TypeError"&&/Load failed|fetch/i.test(k.message)?Object.assign(new Oe("Network Error",Oe.ERR_NETWORK,e,m),{cause:k.cause||k}):Oe.from(k,k&&k.code,e,m)}}),Yu={http:P5,xhr:sT,fetch:hT};V.forEach(Yu,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t});}catch{}Object.defineProperty(e,"adapterName",{value:t});}});const Tp=e=>`- ${e}`,mT=e=>V.isFunction(e)||e===null||e===false,cy={getAdapter:e=>{e=V.isArray(e)?e:[e];const{length:t}=e;let n,o;const i={};for(let s=0;s<t;s++){n=e[s];let r;if(o=n,!mT(n)&&(o=Yu[(r=String(n)).toLowerCase()],o===void 0))throw new Oe(`Unknown adapter '${r}'`);if(o)break;i[r||"#"+s]=o;}if(!o){const s=Object.entries(i).map(([a,l])=>`adapter ${a} `+(l===false?"is not supported by the environment":"is not available in the build"));let r=t?s.length>1?`since :
`+s.map(Tp).join(`
`):" "+Tp(s[0]):"as no adapter specified";throw new Oe("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return o},adapters:Yu};function iu(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ds(null,e)}function Lp(e){return iu(e),e.headers=un.from(e.headers),e.data=ou.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",false),cy.getAdapter(e.adapter||Cr.adapter)(e).then(function(o){return iu(e),o.data=ou.call(e,e.transformResponse,o),o.headers=un.from(o.headers),o},function(o){return iy(o)||(iu(e),o&&o.response&&(o.response.data=ou.call(e,e.transformResponse,o.response),o.response.headers=un.from(o.response.headers))),Promise.reject(o)})}const dy="1.11.0",xl={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{xl[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e};});const Mp={};xl.transitional=function(t,n,o){function i(s,r){return "[Axios v"+dy+"] Transitional option '"+s+"'"+r+(o?". "+o:"")}return (s,r,a)=>{if(t===false)throw new Oe(i(r," has been removed"+(n?" in "+n:"")),Oe.ERR_DEPRECATED);return n&&!Mp[r]&&(Mp[r]=true,console.warn(i(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,r,a):true}};xl.spelling=function(t){return (n,o)=>(console.warn(`${o} is likely a misspelling of ${t}`),true)};function gT(e,t,n){if(typeof e!="object")throw new Oe("options must be an object",Oe.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let i=o.length;for(;i-- >0;){const s=o[i],r=t[s];if(r){const a=e[s],l=a===void 0||r(a,s,e);if(l!==true)throw new Oe("option "+s+" must be "+l,Oe.ERR_BAD_OPTION_VALUE);continue}if(n!==true)throw new Oe("Unknown option "+s,Oe.ERR_BAD_OPTION)}}const Gr={assertOptions:gT,validators:xl},Vn=Gr.validators;let ui=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Sp,response:new Sp};}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const s=i.stack?i.stack.replace(/^.+\n/,""):"";try{o.stack?s&&!String(o.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(o.stack+=`
`+s):o.stack=s;}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=bi(this.defaults,n);const{transitional:o,paramsSerializer:i,headers:s}=n;o!==void 0&&Gr.assertOptions(o,{silentJSONParsing:Vn.transitional(Vn.boolean),forcedJSONParsing:Vn.transitional(Vn.boolean),clarifyTimeoutError:Vn.transitional(Vn.boolean)},false),i!=null&&(V.isFunction(i)?n.paramsSerializer={serialize:i}:Gr.assertOptions(i,{encode:Vn.function,serialize:Vn.function},true)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=true),Gr.assertOptions(n,{baseUrl:Vn.spelling("baseURL"),withXsrfToken:Vn.spelling("withXSRFToken")},true),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=s&&V.merge(s.common,s[n.method]);s&&V.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m];}),n.headers=un.concat(r,s);const a=[];let l=true;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(n)===false||(l=l&&y.synchronous,a.unshift(y.fulfilled,y.rejected));});const c=[];this.interceptors.response.forEach(function(y){c.push(y.fulfilled,y.rejected);});let u,f=0,p;if(!l){const m=[Lp.bind(this),void 0];for(m.unshift(...a),m.push(...c),p=m.length,u=Promise.resolve(n);f<p;)u=u.then(m[f++],m[f++]);return u}p=a.length;let g=n;for(f=0;f<p;){const m=a[f++],y=a[f++];try{g=m(g);}catch(x){y.call(this,x);break}}try{u=Lp.call(this,g);}catch(m){return Promise.reject(m)}for(f=0,p=c.length;f<p;)u=u.then(c[f++],c[f++]);return u}getUri(t){t=bi(this.defaults,t);const n=ry(t.baseURL,t.url,t.allowAbsoluteUrls);return ty(n,t.params,t.paramsSerializer)}};V.forEach(["delete","get","head","options"],function(t){ui.prototype[t]=function(n,o){return this.request(bi(o||{},{method:t,url:n,data:(o||{}).data}))};});V.forEach(["post","put","patch"],function(t){function n(o){return function(s,r,a){return this.request(bi(a||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:s,data:r}))}}ui.prototype[t]=n(),ui.prototype[t+"Form"]=n(true);});let wT=class fy{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s;});const o=this;this.promise.then(i=>{if(!o._listeners)return;let s=o._listeners.length;for(;s-- >0;)o._listeners[s](i);o._listeners=null;}),this.promise.then=i=>{let s;const r=new Promise(a=>{o.subscribe(a),s=a;}).then(i);return r.cancel=function(){o.unsubscribe(s);},r},t(function(s,r,a){o.reason||(o.reason=new ds(s,r,a),n(o.reason));});}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t];}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1);}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o);};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return {token:new fy(function(i){t=i;}),cancel:t}}};function yT(e){return function(n){return e.apply(null,n)}}function bT(e){return V.isObject(e)&&e.isAxiosError===true}const Qu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qu).forEach(([e,t])=>{Qu[t]=e;});function py(e){const t=new ui(e),n=Hw(ui.prototype.request,t);return V.extend(n,ui.prototype,t,{allOwnKeys:true}),V.extend(n,t,null,{allOwnKeys:true}),n.create=function(i){return py(bi(e,i))},n}const vt=py(Cr);vt.Axios=ui;vt.CanceledError=ds;vt.CancelToken=wT;vt.isCancel=iy;vt.VERSION=dy;vt.toFormData=bl;vt.AxiosError=Oe;vt.Cancel=vt.CanceledError;vt.all=function(t){return Promise.all(t)};vt.spread=yT;vt.isAxiosError=bT;vt.mergeConfig=bi;vt.AxiosHeaders=un;vt.formToJSON=e=>oy(V.isHTMLForm(e)?new FormData(e):e);vt.getAdapter=cy.getAdapter;vt.HttpStatusCode=Qu;vt.default=vt;const{Axios:WR,AxiosError:vT,CanceledError:KR,isCancel:GR,CancelToken:JR,VERSION:YR,all:QR,Cancel:XR,isAxiosError:ZR,spread:eF,toFormData:tF,AxiosHeaders:nF,HttpStatusCode:oF,formToJSON:iF,getAdapter:sF,mergeConfig:rF}=vt;var su,Bp;function xT(){if(Bp)return su;Bp=1;const e=new Set(["ENOTFOUND","ENETUNREACH","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_CRL","UNABLE_TO_DECRYPT_CERT_SIGNATURE","UNABLE_TO_DECRYPT_CRL_SIGNATURE","UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY","CERT_SIGNATURE_FAILURE","CRL_SIGNATURE_FAILURE","CERT_NOT_YET_VALID","CERT_HAS_EXPIRED","CRL_NOT_YET_VALID","CRL_HAS_EXPIRED","ERROR_IN_CERT_NOT_BEFORE_FIELD","ERROR_IN_CERT_NOT_AFTER_FIELD","ERROR_IN_CRL_LAST_UPDATE_FIELD","ERROR_IN_CRL_NEXT_UPDATE_FIELD","OUT_OF_MEM","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","CERT_CHAIN_TOO_LONG","CERT_REVOKED","INVALID_CA","PATH_LENGTH_EXCEEDED","INVALID_PURPOSE","CERT_UNTRUSTED","CERT_REJECTED","HOSTNAME_MISMATCH"]);return su=t=>!e.has(t&&t.code),su}var _T=xT();const CT=$m(_T),Sd="axios-retry";function hy(e){const t=["ERR_CANCELED","ECONNABORTED"];return e.response||!e.code||t.includes(e.code)?false:CT(e)}const my=["get","head","options"],kT=my.concat(["put","delete"]);function $d(e){return e.code!=="ECONNABORTED"&&(!e.response||e.response.status===429||e.response.status>=500&&e.response.status<=599)}function ST(e){return e.config?.method?$d(e)&&my.indexOf(e.config.method)!==-1:false}function gy(e){return e.config?.method?$d(e)&&kT.indexOf(e.config.method)!==-1:false}function wy(e){return hy(e)||gy(e)}function Ed(e=void 0){const t=e?.response?.headers["retry-after"];if(!t)return 0;let n=(Number(t)||0)*1e3;return n===0&&(n=(new Date(t).valueOf()||0)-Date.now()),Math.max(0,n)}function $T(e=0,t=void 0){return Math.max(0,Ed(t))}function ET(e=0,t=void 0,n=100){const o=2**e*n,i=Math.max(o,Ed(t)),s=i*.2*Math.random();return i+s}function AT(e=100){return (t=0,n=void 0)=>{const o=t*e;return Math.max(o,Ed(n))}}const PT={retries:3,retryCondition:wy,retryDelay:$T,shouldResetTimeout:false,onRetry:()=>{},onMaxRetryTimesExceeded:()=>{},validateResponse:null};function IT(e,t){return {...PT,...t,...e[Sd]}}function Op(e,t,n=false){const o=IT(e,t||{});return o.retryCount=o.retryCount||0,(!o.lastRequestTime||n)&&(o.lastRequestTime=Date.now()),e[Sd]=o,o}function DT(e,t){e.defaults.agent===t.agent&&delete t.agent,e.defaults.httpAgent===t.httpAgent&&delete t.httpAgent,e.defaults.httpsAgent===t.httpsAgent&&delete t.httpsAgent;}async function TT(e,t){const{retries:n,retryCondition:o}=e,i=(e.retryCount||0)<n&&o(t);if(typeof i=="object")try{return await i!==!1}catch{return false}return i}async function LT(e,t,n,o){t.retryCount+=1;const{retryDelay:i,shouldResetTimeout:s,onRetry:r}=t,a=i(t.retryCount,n);if(DT(e,o),!s&&o.timeout&&t.lastRequestTime){const l=Date.now()-t.lastRequestTime,c=o.timeout-l-a;if(c<=0)return Promise.reject(n);o.timeout=c;}return o.transformRequest=[l=>l],await r(t.retryCount,n,o),o.signal?.aborted?Promise.resolve(e(o)):new Promise(l=>{const c=()=>{clearTimeout(u),l(e(o));},u=setTimeout(()=>{l(e(o)),o.signal?.removeEventListener&&o.signal.removeEventListener("abort",c);},a);o.signal?.addEventListener&&o.signal.addEventListener("abort",c,{once:true});})}async function MT(e,t){e.retryCount>=e.retries&&await e.onMaxRetryTimesExceeded(t,e.retryCount);}const Go=(e,t)=>{const n=e.interceptors.request.use(i=>(Op(i,t,true),i[Sd]?.validateResponse&&(i.validateStatus=()=>false),i)),o=e.interceptors.response.use(null,async i=>{const{config:s}=i;if(!s)return Promise.reject(i);const r=Op(s,t);return i.response&&r.validateResponse?.(i.response)?i.response:await TT(r,i)?LT(e,r,i,s):(await MT(r,i),Promise.reject(i))});return {requestInterceptorId:n,responseInterceptorId:o}};Go.isNetworkError=hy;Go.isSafeRequestError=ST;Go.isIdempotentRequestError=gy;Go.isNetworkOrIdempotentRequestError=wy;Go.exponentialDelay=ET;Go.linearDelay=AT;Go.isRetryableError=$d;const BT="pan115_api";var Pa=(e=>(e.evenly="evenly",e.asap="asap",e))(Pa||{});const yy={points:1,duration:1,execEvenly:true};function by(e){return {clientId:BT,rateLimit:yy,msDelayAdjustment:30,...e}}function OT(e){const t=by(e),n=vt.create({});Go(n,{retries:5,shouldResetTimeout:true,retryDelay:i=>(console.log(`[axios] Retry ${i}...`),i*1e3)});const o=new Fs.RateLimiterMemory(t.rateLimit);return n.interceptors.request.use(async i=>{try{const s=await o.consume(t.clientId);return i}catch(s){if(console.warn("[axios] RateLimiter:",s),s instanceof Fs.RateLimiterRes){const r=s.msBeforeNext+t.msDelayAdjustment;return console.log(`[axios] Delay ${r}ms for next request...`),await Et(r),i}else throw new vT(s)}},i=>(console.warn("[axios] onRejected:",i),Promise.reject(i))),n}const vy=gt.basic;function RT(e){return {limiterDuration:1,limiterPoints:1,limitExecPolicy:Pa.evenly,showOfflineEntry:false,offlineEntryLabel:"云下载",offlineEntryIconCustomized:false,offlineEntryIcon:"",offlineDialogEntry:false,offlineDialogEntryLabel:"云下载窗口",offlineDialogEntryIconCustomized:false,offlineDialogEntryIcon:"",showAddOffline2:true,addOfflineLabel:"添加",addOfflineIconCustomized:false,addOfflineIcon:"",showFavEntry:false,favEntryLabel:"星标",hideMusicEntry:false,hideWatermark:true,fakeAccountEnabled:false,fakeAccountId:"",fakeAccountName:"",fakeAccountAvatar:"",fakeAccountVip:"",...e}}async function _l(){const e=RT(),t=await Qe.get(vy,e);return {...e,...t}}async function FT(e){await Qe.set(vy,e);}function Ad(e,t,n){return t?n?n.startsWith("<svg")?`<span class="ce-func-btn-icon-svg">${n}</span>`:`<img src="${n}" alt="自定义图标" class="ce-func-btn-icon" />`:"":e}async function NT(e){if(!e.offlineDialogEntry||!xn())return;console.log("[Cloud115 Enhancer] showOfflineDialogEntry");const t=await Gn("a#js_filter_btn"),n="background:#fffcea;",o="点击打开「云下载」页面",i=e.offlineDialogEntryLabel?`<span>${e.offlineDialogEntryLabel}</span>`:"",s=Ad('<i class="icon-operate ifo-linktask"></i>',e.offlineDialogEntryIconCustomized,e.offlineDialogEntryIcon),r=$(`<a href="javascript:;" class="button btn-line" title="${o}" style="${n}">
${s} ${i}
</a>`);t.after(r),r.on("click",()=>{try{kt().Core.FileDialogApi.OpenTransferTabDialog("offline_task");}catch(a){console.warn("[showOfflineDialogEntry]",a),Q({title:"打开云下载窗口失败",text:a.message,icon:"error"});}});}async function UT(e){if(!e.showOfflineEntry||!xn())return;console.log("[Cloud115 Enhancer] showOfflineEntry");const t=await Gn("a#js_filter_btn"),n="https://115.com/?ct=index&ac=offline_new_tpl&offline=1&tab=offline",o="background:#fffcea;",i="点击跳转到「云下载」页面",s=e.offlineEntryLabel?`<span>${e.offlineEntryLabel}</span>`:"",r=Ad('<i class="icon-operate ifo-linktask"></i>',e.offlineEntryIconCustomized,e.offlineEntryIcon),a=$(`<a href="javascript:;" class="button btn-line" title="${i}" tab_btn="wangpan" mode-tab="offline" style="${o}">
${r}
${s}
</a>`);t.after(a),a.on("click",()=>{try{kt().oofUtil.urlMaintain.changeMode("wangpan",{tab:"offline"});}catch(l){console.warn("[showOfflineEntry]",l),location.href=n;}});}async function jT(e){if(!xn())return;const{showAddOffline2:t,addOfflineLabel:n}=e,o=Ne('#js_top_panel_box .left-tvf > a[menu="offline_task"]');if(o){if(!t){o.style.display="none";return}const u=o.querySelector("span");u&&(u.textContent=n);return}if(!t)return;const i=await Gn("a#js_filter_btn"),s="background:#fffcea;",r="点击打开「添加云下载」对话框",a=e.addOfflineLabel?`<span>${e.addOfflineLabel}</span>`:"",l=Ad('<i class="icon-operate ifo-linktask"></i>',e.addOfflineIconCustomized,e.addOfflineIcon),c=$(`<a href="javascript:;" class="button btn-line" menu="offline_task" style="${s}" title="${r}">
${l}${a}
</a>`);i.after(c);}async function zT(e){if(!e.showFavEntry||!xn())return;console.log("[Cloud115 Enhancer] showFavEntry");const t=await Gn("a#js_filter_btn"),n="https://115.com/?tab=label&show_label=1&label_id=-1&mode=wangpan",o="background:#fffcea;",i="点击跳转到「星标」页面",s=e.favEntryLabel?`<span>${e.favEntryLabel}</span>`:"",r=$(`<a href="javascript:;" class="button btn-line" title="${i}" tab_btn="wangpan" mode-tab="{tab:'label',label_id:-1,show_label:1}" style="${o}">
<i class="icon-operate ifo-fav"></i>
${s}
</a>`);t.after(r),r.on("click",()=>{try{kt().oofUtil.urlMaintain.changeMode("wangpan",{tab:"label",label_id:-1,show_label:1});}catch(a){console.warn("[showFavEntry]",a),location.href=n;}});}async function HT(e){if(!e.hideMusicEntry||!xn())return;console.log("[Cloud115 Enhancer] hideMusicEntry"),await et("#js_top_panel_box");const t=Ne("a#top_btn_music_play");t&&(t.style.display="none");}async function VT(e){if(e.hideWatermark){console.log("[Cloud115 Enhancer] hideWatermark");try{const t=await et('div[class^="fp-"]');t.classList.add("hidden-watermark"),t.style.display="none";}catch(t){console.error("[Cloud115 Enhancer] hideWatermark",t.message);}}}async function qT(e){window.top===window.self&&(await Et(1e3),Xu(e),window.addEventListener("message",async t=>{const n=t.data.event,o=t.data.body;n===ot.basicConfigChange&&(console.log("[Cloud115 Enhancer] basicConfigChange"),Xu(o));}));}let Os=null;async function WT(){Os&&clearTimeout(Os),Os=setTimeout(async()=>{const e=await _l();Xu(e);},5e3);}async function Xu(e){Os&&clearTimeout(Os);const t=async(n,o)=>{const i=await Gn('[rel="user_id"]',100);i.data("origin")||i.data("origin",i.text()),o?i.text(i.data("origin")):i.text(n.fakeAccountId);const s=await Gn('[rel="user_name"]',100);s.data("origin")||s.data("origin",$(s[0]).text()),o?s.text(s.data("origin")):s.text(n.fakeAccountName);const r=await Gn('img[rel="user_face"], .user-avatar img',100);r.data("origin")||r.data("origin",r.attr("src")),o?r.attr("src",r.data("origin")):(r.attr("rel","noreferrer"),r.attr("src",n.fakeAccountAvatar));const a=await Gn(".sign-vip-card",100);a.data("origin")||a.data("origin",$(a[0]).text()),o?a.text(a.data("origin")):a.text(n.fakeAccountVip);};try{e.fakeAccountEnabled?await t(e,!1):await t(e,!0);}catch(n){console.error(n);}finally{e.fakeAccountEnabled&&WT();}}const KT='@charset "UTF-8";.ce-func-btn-icon,.ce-func-btn-icon-svg svg{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-right:4px}';At(KT);async function GT(){const e=await _l(),{host:t}=location;/115\.com$/.test(t)&&(VT(e),UT(e),NT(e),jT(e),zT(e),HT(e),qT(e));}const xy=Symbol("addTab"),_y=Symbol("updateTab"),Cy=Symbol("deleteTab"),ky=Symbol("tabsProvider");function Fr(e,t){const n=Ps(e,t);if(typeof n>"u")throw new Error(`Could not resolve ${e.description}`);return n}const JT=["data-tab-id","aria-hidden"],kn=xe({__name:"Tab",props:{panelClass:{default:"tabs-component-panel"},id:{default:void 0},name:null,prefix:{default:""},suffix:{default:""},isDisabled:{type:Boolean,default:false},navItemClass:{default:void 0},navItemLinkClass:{default:void 0}},setup(e,{expose:t}){const n=e,o=K(false),i=Fr(ky),s=Fr(xy),r=Fr(_y),a=Fr(Cy),l=n.prefix+n.name+n.suffix,c=n.id?n.id:n.name.toLowerCase().replace(/ /g,"-"),u=c+"-pane",f=We(()=>"#"+(n.isDisabled?"":c));return ze(()=>i.activeTabHash,()=>{o.value=f.value===i.activeTabHash;}),ze(()=>Object.assign({},n),()=>{r(c,{name:n.name,header:n.prefix+n.name+n.suffix,isDisabled:n.isDisabled,hash:f.value,index:i.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),St(()=>{s({name:n.name,header:l,isDisabled:n.isDisabled,hash:f.value,index:i.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),ng(()=>{a(c);}),t({header:l,computedId:c,paneId:u,hash:f,isActive:o}),(p,g)=>J((_(),A("section",{ref:"tab",id:u,"data-tab-id":te(c),"aria-hidden":!o.value,class:De(e.panelClass),role:"tabpanel",tabindex:"-1"},[Ke(p.$slots,"default")],10,JT)),[[Gt,o.value]])}});class YT{get(t){const n=localStorage.getItem(t);if(n===null)return null;const o=JSON.parse(n);return o?new Date(o.expires)<new Date?(localStorage.removeItem(t),null):o.value:null}set(t,n,o){const i=new Date().getTime(),s=new Date(i+o*6e4);localStorage.setItem(t,JSON.stringify({value:n,expires:s}));}}const Rp=new YT,QT=["id"],XT=["aria-controls","aria-selected","href","onClick","innerHTML"],ZT=xe({__name:"Tabs",props:{id:{default:void 0},cacheLifetime:{default:5},options:{default:()=>({useUrlFragment:true,defaultTabHash:void 0,storageKey:void 0})},wrapperClass:{default:"tabs-component"},panelsWrapperClass:{default:"tabs-component-panels"},navClass:{default:"tabs-component-tabs"},navItemClass:{default:"tabs-component-tab"},navItemDisabledClass:{default:"is-disabled"},navItemActiveClass:{default:"is-active"},navItemInactiveClass:{default:"is-inactive"},navItemLinkClass:{default:"tabs-component-tab-a"},navItemLinkActiveClass:{default:"is-active"},navItemLinkInactiveClass:{default:"is-inactive"},navItemLinkDisabledClass:{default:"is-disabled"}},emits:["changed","clicked"],setup(e,{expose:t,emit:n}){const o=e,i=Za({activeTabHash:"",lastActiveTabHash:"",tabs:[]});_s(ky,i),_s(xy,l=>{i.tabs.push(l);}),_s(_y,(l,c)=>{const u=i.tabs.findIndex(f=>f.computedId===l);c.isActive=i.tabs[u].isActive,i.tabs[u]=c;}),_s(Cy,l=>{const c=i.tabs.findIndex(u=>u.computedId===l);i.tabs.splice(c,1);});const s=We(()=>{let l;return o.options.storageKey&&(l=o.options.storageKey),!l&&o.id&&(l=`vue-tabs-component.${o.id}.cache.${window.location.host}${window.location.pathname}`),l||(l=`vue-tabs-component.cache.${window.location.host}${window.location.pathname}`),l}),r=(l,c)=>{c&&!o.options.useUrlFragment&&c.preventDefault();const u=a(l);if(u){if(c&&u.isDisabled){c.preventDefault();return}if(i.lastActiveTabHash===u.hash){n("clicked",{tab:u});return}i.tabs.forEach(f=>{f.isActive=f.hash===u.hash;}),n("changed",{tab:u}),i.lastActiveTabHash=i.activeTabHash=u.hash,!(o.cacheLifetime<=0)&&Rp.set(s.value,u.hash,o.cacheLifetime);}},a=l=>i.tabs.find(c=>c.hash===l);return Ht(()=>{if(i.tabs.length){if(window.addEventListener("hashchange",()=>r(window.location.hash)),a(window.location.hash)){r(window.location.hash);return}if(o.cacheLifetime>0){const l=Rp.get(s.value);if(l!==null&&a(l)){r(l);return}}if(o.options.defaultTabHash&&a("#"+o.options.defaultTabHash)){r("#"+o.options.defaultTabHash);return}r(i.tabs[0].hash);}}),t({...l_(i),selectTab:r,findTab:a}),(l,c)=>(_(),A("div",{class:De(e.wrapperClass),id:e.id},[d("ul",{role:"tablist",class:De(e.navClass)},[(_(true),A(Se,null,Ue(i.tabs,(u,f)=>{var p,g;return _(),A("li",{key:f,class:De([(p=u.navItemClass)!=null?p:e.navItemClass,u.isDisabled?e.navItemDisabledClass:"",u.isActive?e.navItemActiveClass:u.isDisabled?"":e.navItemInactiveClass]),role:"presentation"},[d("a",{role:"tab",class:De([(g=u.navItemLinkClass)!=null?g:e.navItemLinkClass,u.isDisabled?e.navItemLinkDisabledClass:"",u.isActive?e.navItemLinkActiveClass:u.isDisabled?"":e.navItemLinkInactiveClass]),"aria-controls":u.paneId,"aria-selected":u.isActive,href:u.hash,onClick:m=>r(u.hash,m),innerHTML:u.header,tabindex:"0"},null,10,XT)],2)}),128))],2),d("div",{class:De(e.panelsWrapperClass)},[Ke(l.$slots,"default")],2)],10,QT))}});function Zu(e,t,n,o){return e<t||e>n?o:e}const eL={class:"pure-control-group"},tL=["for"],nL=["id","checked"],oL={class:"pure-form-message text-success"},iL=["value"],sL=["for"],rL=["id","checked"],aL=["value"],lL=["innerHTML"],uL="支持HTTP链接、base64数据或SVG XML",cL=xe({__name:"ButtonConfigGroup",props:{id:{},label:{},description:{},enabled:{type:Boolean},buttonLabel:{default:""},iconCustomized:{type:Boolean},icon:{default:""}},emits:["update:enabled","update:buttonLabel","update:iconCustomized","update:icon"],setup(e){const t=e;function n(i,s){return !i||!s?"":s.startsWith("<svg")?`<span class="ce-func-btn-icon-svg">${s}</span>`:`<img src="${s}" class="ce-func-btn-icon" alt="自定义图标" />`}const o=We(()=>n(t.iconCustomized,t.icon));return console.log("ButtonConfigGroup props:",t),(i,s)=>(_(),A("div",eL,[d("label",{for:i.id},U(i.label),9,tL),d("input",{id:i.id,type:"checkbox",checked:t.enabled,onChange:s[0]||(s[0]=r=>i.$emit("update:enabled",r.target.checked))},null,40,nL),d("div",oL,[L(U(i.description)+" 按钮文本为 ",1),d("input",{value:t.buttonLabel||"",onInput:s[1]||(s[1]=r=>i.$emit("update:buttonLabel",r.target.value)),class:"input-small",placeholder:"可以为空"},null,40,iL),s[4]||(s[4]=L(" , ",-1)),d("label",{for:`${i.id}_iconCustomized`,style:{width:"auto"}},"自定义图标",8,sL),d("input",{id:`${i.id}_iconCustomized`,type:"checkbox",checked:t.iconCustomized,onChange:s[2]||(s[2]=r=>i.$emit("update:iconCustomized",r.target.checked))},null,40,rL),s[5]||(s[5]=L(" ",-1)),t.iconCustomized?(_(),A("input",{key:0,value:t.icon||"",onInput:s[3]||(s[3]=r=>i.$emit("update:icon",r.target.value)),class:"pure-input",placeholder:"支持HTTP链接、base64数据或SVG XML",title:uL},null,40,aL)):de("",true),s[6]||(s[6]=L(" ",-1)),t.iconCustomized&&t.icon?(_(),A("span",{key:1,innerHTML:o.value},null,8,lL)):de("",true)])]))}}),ru=Ae(cL,[["__scopeId","data-v-f3bc02fe"],["__file","ButtonConfigGroup.vue"]]),dL={class:"ce-config ce-basic-config"},fL={class:"pure-form pure-form-aligned"},pL={class:"pure-control-group"},hL=["value"],mL=["value"],gL={class:"pure-control-group"},wL={class:"pure-form-message text-success"},yL={class:"pure-control-group"},bL={class:"pure-control-group"},vL={class:"pure-control-group"},xL={class:"pure-control-group"},_L={class:"pure-control-group"},CL={class:"pure-control-group"},kL={class:"avatar-preview"},SL=["src"],$L={class:"pure-control-group"},EL=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>_l()),t=await t,n(),t)),i=true;St(async()=>{});function s(c){const u=(f,p)=>Math.floor(Zu(f,1,p,1));return c.limiterDuration=u(c.limiterDuration,300),c.limiterPoints=u(c.limiterPoints,3e3),c}ze(o,lt(async c=>{s(c),await FT(c),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.basicConfigChange,body:Ac(c)});},500),{deep:true});async function r(c,u,f="warning"){const{isConfirmed:p}=await q.fire({title:c,text:u,icon:f,showCancelButton:true,confirmButtonText:"确认"});return p}async function a(){if(await r("导出配置","是否确认导出当前配置?"))try{await tb(),Q({icon:"success",title:"导出成功"});}catch(c){q.fire(c.toString());}}async function l(){if(await r("导入配置","导入后将覆盖当前配置,是否继续?"))try{const c=await nb();console.log(c),Oi.fire({icon:"success",title:"导入成功,刷新页面后生效。将在5秒后自动刷新页面...",timer:5e3}),setTimeout(()=>{window.location.reload();},5e3);}catch(c){q.fire({title:"导入失败",html:c.toString()+'<br/><p class="text-danger">必须有字段 "_schema": "pan115_enhancer_configs" 。</p>'});}}return (c,u)=>(_(),A("div",dL,[d("form",fL,[d("fieldset",null,[u[47]||(u[47]=d("legend",null,"API",-1)),d("div",pL,[u[25]||(u[25]=d("label",null,"全局请求频率控制",-1)),te(i)?de("",true):(_(),A(Se,{key:0},[J(d("select",{"onUpdate:modelValue":u[0]||(u[0]=f=>o.value.limitExecPolicy=f)},[d("option",{value:te(Pa).asap},"尽快消耗",8,hL),d("option",{value:te(Pa).evenly},"尽量均匀",8,mL)],512),[[wn,o.value.limitExecPolicy]]),u[24]||(u[24]=L(" 地 ",-1))],64)),u[26]||(u[26]=L(" 在 ",-1)),J(d("input",{id:"basic_limiterDuration",type:"number",min:"1",max:"300",step:"1","onUpdate:modelValue":u[1]||(u[1]=f=>o.value.limiterDuration=f)},null,512),[[He,o.value.limiterDuration]]),u[27]||(u[27]=L(" 秒内最多请求 ",-1)),J(d("input",{id:"basic_limiterQps",type:"number",min:"1",max:"3000",step:"1","onUpdate:modelValue":u[2]||(u[2]=f=>o.value.limiterPoints=f)},null,512),[[He,o.value.limiterPoints]]),u[28]||(u[28]=L(" 次 ",-1)),u[29]||(u[29]=d("div",{class:"pure-form-message text-success"},[L(" 默认 1 秒内最多 1 次。"),d("span",{class:"text-warning"},"请填写整数数值。")],-1))]),u[48]||(u[48]=d("legend",null,"UI优化",-1)),re(ru,{id:"basic_showOfflineEntry",label:"显示云下载入口按钮",description:"在「网盘」页面顶部工具栏显示「云下载」入口按钮。",enabled:o.value.showOfflineEntry,"onUpdate:enabled":u[3]||(u[3]=f=>o.value.showOfflineEntry=f),buttonLabel:o.value.offlineEntryLabel,"onUpdate:buttonLabel":u[4]||(u[4]=f=>o.value.offlineEntryLabel=f),iconCustomized:o.value.offlineEntryIconCustomized,"onUpdate:iconCustomized":u[5]||(u[5]=f=>o.value.offlineEntryIconCustomized=f),icon:o.value.offlineEntryIcon,"onUpdate:icon":u[6]||(u[6]=f=>o.value.offlineEntryIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),re(ru,{id:"basic_offlineDialogEntry",label:"云下载列表窗口按钮",description:"在「网盘」页面顶部工具栏显示打开云下载列表窗口的按钮。",enabled:o.value.offlineDialogEntry,"onUpdate:enabled":u[7]||(u[7]=f=>o.value.offlineDialogEntry=f),buttonLabel:o.value.offlineDialogEntryLabel,"onUpdate:buttonLabel":u[8]||(u[8]=f=>o.value.offlineDialogEntryLabel=f),iconCustomized:o.value.offlineDialogEntryIconCustomized,"onUpdate:iconCustomized":u[9]||(u[9]=f=>o.value.offlineDialogEntryIconCustomized=f),icon:o.value.offlineDialogEntryIcon,"onUpdate:icon":u[10]||(u[10]=f=>o.value.offlineDialogEntryIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),re(ru,{id:"basic_showAddOffline",label:"显示添加云下载按钮",description:"在「网盘」页面顶部工具栏显示添加云下载按钮。",enabled:o.value.showAddOffline2,"onUpdate:enabled":u[11]||(u[11]=f=>o.value.showAddOffline2=f),buttonLabel:o.value.addOfflineLabel,"onUpdate:buttonLabel":u[12]||(u[12]=f=>o.value.addOfflineLabel=f),iconCustomized:o.value.addOfflineIconCustomized,"onUpdate:iconCustomized":u[13]||(u[13]=f=>o.value.addOfflineIconCustomized=f),icon:o.value.addOfflineIcon,"onUpdate:icon":u[14]||(u[14]=f=>o.value.addOfflineIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),d("div",gL,[u[31]||(u[31]=d("label",{for:"basic_showFavEntry"},"显示星标入口按钮",-1)),J(d("input",{id:"basic_showFavEntry",type:"checkbox","onUpdate:modelValue":u[15]||(u[15]=f=>o.value.showFavEntry=f)},null,512),[[we,o.value.showFavEntry]]),d("div",wL,[u[30]||(u[30]=L(" 在「网盘」页面顶部工具栏显示「星标」入口按钮。 按钮文本为 ",-1)),J(d("input",{"onUpdate:modelValue":u[16]||(u[16]=f=>o.value.favEntryLabel=f),class:"input-small",placeholder:"可以为空"},null,512),[[He,o.value.favEntryLabel]])])]),d("div",yL,[u[32]||(u[32]=d("label",{for:"basic_hideMusicEntry"},'隐藏"我听"入口按钮',-1)),J(d("input",{id:"basic_hideMusicEntry",type:"checkbox","onUpdate:modelValue":u[17]||(u[17]=f=>o.value.hideMusicEntry=f)},null,512),[[we,o.value.hideMusicEntry]]),u[33]||(u[33]=d("div",{class:"pure-form-message text-success"}," 在「网盘」页面顶部工具栏隐藏「我听」入口按钮。 ",-1))]),u[49]||(u[49]=d("legend",null,"配置管理",-1)),d("div",{class:"pure-control-group"},[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:a},"导出配置"),u[34]||(u[34]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l},"导入配置"),u[35]||(u[35]=d("br",null,null,-1)),u[36]||(u[36]=d("br",null,null,-1)),u[37]||(u[37]=d("div",{class:"text-success"},[d("b",null,"导入说明:"),L(" 如有导入部分配置的需求,可以自行编辑json配置文件,只保留需要的配置key(仅限第一级),但必须保留`_`开头的key。 ")],-1)),u[38]||(u[38]=d("br",null,null,-1))]),u[50]||(u[50]=d("legend",null,"隐私保护",-1)),d("div",bL,[u[39]||(u[39]=d("label",{for:"basic_hideWatermark"},"隐藏水印",-1)),J(d("input",{id:"basic_hideWatermark",type:"checkbox","onUpdate:modelValue":u[18]||(u[18]=f=>o.value.hideWatermark=f)},null,512),[[we,o.value.hideWatermark]]),u[40]||(u[40]=d("div",{class:"pure-form-message text-success"}," 网页水印是肉眼看不到的,但通过一些处理可以看到,水印内容是你的账号标识。 如果你需要截图并发给别人,可以考虑开启隐藏。 ",-1))]),d("div",vL,[u[41]||(u[41]=d("label",{for:"basic_fakeAccountEnabled"},"隐藏身份",-1)),J(d("input",{id:"basic_fakeAccountEnabled",type:"checkbox","onUpdate:modelValue":u[19]||(u[19]=f=>o.value.fakeAccountEnabled=f)},null,512),[[we,o.value.fakeAccountEnabled]]),u[42]||(u[42]=d("div",{class:"pure-form-message text-success"}," 修改左下角显示的账号信息,不会真的修改。编辑后即可生效,无需刷新页面。 ",-1))]),d("div",xL,[u[43]||(u[43]=d("label",null,"账号ID",-1)),J(d("input",{"onUpdate:modelValue":u[20]||(u[20]=f=>o.value.fakeAccountId=f),placeholder:"自定义账号ID",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountId]])]),d("div",_L,[u[44]||(u[44]=d("label",null,"用户名",-1)),J(d("input",{"onUpdate:modelValue":u[21]||(u[21]=f=>o.value.fakeAccountName=f),placeholder:"自定义用户名",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountName]])]),d("div",CL,[u[45]||(u[45]=d("label",null,"头像",-1)),J(d("input",{"onUpdate:modelValue":u[22]||(u[22]=f=>o.value.fakeAccountAvatar=f),placeholder:"支持网络图片地址或base64编码",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountAvatar]]),d("span",kL,[o.value.fakeAccountAvatar?(_(),A("img",{key:0,src:o.value.fakeAccountAvatar,alt:"头像预览",width:"20",height:"20"},null,8,SL)):de("",true)])]),d("div",$L,[u[46]||(u[46]=d("label",null,"VIP等级",-1)),J(d("input",{"onUpdate:modelValue":u[23]||(u[23]=f=>o.value.fakeAccountVip=f),placeholder:"自定义VIP等级",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountVip]])])])])]))}}),AL=Ae(EL,[["__file","Config.vue"]]),PL={class:"pure-form pure-form-aligned"},IL=["disabled"],DL={class:"pure-control-group"},TL={class:"pure-control-group"},LL={class:"pure-control-group"},ML=["value"],BL={style:{width:"auto"}},OL={class:"text-success text-ul"},RL={class:"pure-control-group"},FL=xe({__name:"ConfigItem",props:{config:{},deletable:{type:Boolean}},emits:["change","delete","activate"],setup(e,{emit:t}){const n=e,o=t,i={content:"如果是macOS版,建议平台选「macos」,可以避免播放链接可能无效的问题,「版本小于 0.8.16」选项同理。"};St(async()=>{});async function s(){n.config.active=true,o("activate",n.config);}async function r(){o("delete");}return ze(n.config,lt(async a=>{o("change",a);},500),{deep:true}),(a,l)=>{const c=L_("tooltip");return _(),A("div",{class:De(["ce-clouddrive-config-item",{active:a.config.active}])},[d("form",PL,[d("fieldset",null,[d("legend",null,[d("button",{type:"button",class:De(["pure-button button-small",[a.config.active?"button-success":"pure-button-primary"]]),onClick:s,disabled:a.config.active},U(a.config.active?"当前使用该配置":"使用该配置"),11,IL),a.deletable?(_(),A("button",{key:0,type:"button",class:"pure-button button-error button-small",onClick:r}," 删除 ")):de("",true)]),d("div",DL,[l[5]||(l[5]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 地址")],-1)),J(d("input",{"onUpdate:modelValue":l[0]||(l[0]=u=>a.config.url=u),placeholder:"CloudDrive服务地址,如「http://localhost:19798」",class:"pure-input-2-3"},null,512),[[He,a.config.url]])]),d("div",TL,[l[6]||(l[6]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 资源根路径")],-1)),J(d("input",{"onUpdate:modelValue":l[1]||(l[1]=u=>a.config.root=u),placeholder:"即当前115账号在CloudDrive中的资源名称,如「115」",class:"pure-input-2-3"},null,512),[[He,a.config.root]])]),d("div",LL,[l[9]||(l[9]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 平台")],-1)),J(d("select",{"onUpdate:modelValue":l[2]||(l[2]=u=>a.config.platform=u)},[(_(true),A(Se,null,Ue(te(Mo),u=>(_(),A("option",{key:u,value:u},U(u),9,ML))),128))],512),[[wn,a.config.platform]]),l[10]||(l[10]=L(" ",-1)),d("label",BL,[J(d("input",{type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=u=>a.config.ver_lt_0816=u)},null,512),[[we,a.config.ver_lt_0816]]),l[7]||(l[7]=L(" 版本小于 0.8.16 ",-1))]),l[11]||(l[11]=L(" ",-1)),J((_(),A("span",OL,l[8]||(l[8]=[L("说明",-1)]))),[[c,i]])]),d("div",RL,[l[12]||(l[12]=d("label",null,"备注",-1)),J(d("input",{"onUpdate:modelValue":l[4]||(l[4]=u=>a.config.memo=u),placeholder:"备注信息",class:"pure-input-2-3"},null,512),[[He,a.config.memo]])])])])],2)}}}),NL=Ae(FL,[["__file","ConfigItem.vue"]]),UL={class:"ce-config ce-clouddrive-config"},jL={class:"ce-list"},zL={class:"ce-actions"},HL=["disabled"],VL=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>Zh()),t=await t,n(),t));St(async()=>{});async function i(){await Hd(o.value),Q({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}async function s(){o.value.push($c());}async function r(l,c){const{isConfirmed:u}=await q.fire({icon:"warning",html:`确定要删除第 ${c+1} 个配置「${l.url}」吗?`});u&&(o.value.splice(c,1),await i(),Q({icon:"success",title:`「${l.url}」已删除!`}));}async function a(l,c){l.forEach((u,f)=>{u.active=f===c;}),await Hd(l),Q({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}return (l,c)=>(_(),A("div",UL,[c[1]||(c[1]=d("div",{class:"ce-tips cd-tips"},[d("p",null,[d("a",{href:"https://www.clouddrive2.com/?ref=cloud115-enhancer",rel:"noreferer",target:"_blank",class:"text-bold text-primary"},"CloudDrive"),L(" 是一个强大的多云盘管理工具,为用户提供包含云盘本地挂载的一站式的多云盘解决方案。 ")]),d("p",null,"本脚本主要是借助CloudDrive实现原码视频播放的功能(具体可以在「播放菜单」面板中查看)。")],-1)),d("div",jL,[(_(true),A(Se,null,Ue(o.value,(u,f)=>(_(),nt(NL,{key:f,config:u,index:f,deletable:o.value.length>1,onDelete:p=>r(u,f),onActivate:p=>a(o.value,f)},null,8,["config","index","deletable","onDelete","onActivate"]))),128))]),c[2]||(c[2]=d("div",{class:"ce-tips"},[d("p",{class:"text-primary"}," 暂时发现IINA是支持`file://`协议的,这时候播放器可以读取到同目录的字幕文件。 配置示例: 地址`file:///Users/you/,资源根路径`115`。 ")],-1)),c[3]||(c[3]=d("div",{class:"ce-tips"}," 编辑配置后,请记得点击「保存全部配置」。 ",-1)),d("div",zL,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:i,disabled:!o.value.length}," 保存全部配置 ",8,HL),c[0]||(c[0]=L(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:s}," + 添加配置 ")])]))}}),qL=Ae(VL,[["__file","Config.vue"]]),WL={class:"ce-config ce-list-config"},KL={class:"pure-control-group"},GL={class:"pure-control-group"},JL={class:"pure-control-group"},YL={class:"pure-control-group"},QL={class:"pure-control-group"},XL={class:"pure-control-group"},ZL={class:"pure-control-group"},eM={class:"pure-control-group"},tM={class:"pure-control-group"},nM={class:"pure-control-group"},oM={class:"pure-control-group"},iM={class:"pure-control-group"},sM={class:"pure-control-group"},rM={class:"pure-control-group"},aM={class:"pure-control-group"},lM={class:"pure-control-group"},uM={class:"pure-control-group"},cM={class:"pure-control-group"},dM={class:"pure-control-group"},fM={class:"pure-control-group"},pM={class:"pure-control-group"},hM={class:"pure-control-group"},mM={class:"pure-control-group"},gM={class:"pure-control-group"},Fp="按下 Command/Ctrl 键点击文件sha1时触发查找重复文件",Np="鼠标悬浮触发",Up="鼠标悬浮触发",wM=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>us()),t=await t,n(),t));St(async()=>{}),ze(o,lt(async s=>{await tS(s),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.listConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:true});async function i(){q.fire({title:"快捷键说明",html:`<pre style="font-size:12px;">${yw.replace(/==/g,"=".repeat(32))}</pre>`,showCloseButton:true,showConfirmButton:false,width:720,customClass:{popup:"ce-swal-text-left"}});}return (s,r)=>(_(),A("div",WL,[d("form",{class:"pure-form pure-form-aligned",onSubmit:r[29]||(r[29]=pt(()=>{},["prevent"]))},[d("fieldset",null,[r[41]||(r[41]=d("legend",null,"文件大小相关",-1)),d("div",KL,[r[30]||(r[30]=d("label",{for:"sizeSorter"},"大小排序",-1)),J(d("input",{id:"sizeSorter",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.sizeSorter=a)},null,512),[[we,o.value.sizeSorter]]),r[31]||(r[31]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「排序」按钮,可以获取文件夹的大小,然后进行排序。"),d("div",null,"请注意该功能只会对当前加载的文件进行排序,如果有多页文件并需要对全部文件进行排序,请先点击「加载全部」后再使用该排序功能。")],-1))]),d("div",GL,[r[32]||(r[32]=d("label",{for:"showBatchFolderSizeButton"},"批量获取文件夹大小",-1)),J(d("input",{id:"showBatchFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[1]||(r[1]=a=>o.value.showBatchFolderSizeButton=a)},null,512),[[we,o.value.showBatchFolderSizeButton]]),r[33]||(r[33]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「大小」按钮,可以获取文件夹的大小。"),d("div",null,"请注意该功能只会对当前加载的文件夹进行获取,如果有多页,请先点击「加载全部」后再使用该功能。")],-1))]),d("div",JL,[r[34]||(r[34]=d("label",{for:"showFolderSizeButton"},"显示文件夹获取大小按钮",-1)),J(d("input",{id:"showFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[2]||(r[2]=a=>o.value.showFolderSizeButton=a)},null,512),[[we,o.value.showFolderSizeButton]]),r[35]||(r[35]=L(" ",-1)),d("small",{onClick:r[3]||(r[3]=a=>o.value.hoverShowFolderSize=!o.value.hoverShowFolderSize),class:De(["ce-label",{"ce-label-success":o.value.hoverShowFolderSize}])},U(o.value.hoverShowFolderSize?`✓ ${Np}(已启用)`:`× ${Np}(未启用)`),3),r[36]||(r[36]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「大小」按钮,点击按钮可以获取单个文件夹的大小。 ",-1))]),d("div",YL,[r[37]||(r[37]=d("label",{for:"showQuickViewButton"},[L(" 显示快速查看按钮 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"showQuickViewButton",type:"checkbox","onUpdate:modelValue":r[4]||(r[4]=a=>o.value.showQuickViewButton=a)},null,512),[[we,o.value.showQuickViewButton]]),r[38]||(r[38]=L(" ",-1)),d("small",{onClick:r[5]||(r[5]=a=>o.value.hoverShowQuickView=!o.value.hoverShowQuickView),class:De(["ce-label",{"ce-label-success":o.value.hoverShowQuickView}])},U(o.value.hoverShowQuickView?`✓ ${Up}(已启用)`:`× ${Up}(未启用)`),3),r[39]||(r[39]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「查看」按钮,点击按钮可以在当前页面小窗口快速查看目录文件列表。 ",-1))]),d("div",QL,[r[40]||(r[40]=d("label",{for:"showInfoOnQuickView"}," 快速查看里显示文件信息 ",-1)),J(d("input",{id:"showInfoOnQuickView",type:"checkbox","onUpdate:modelValue":r[6]||(r[6]=a=>o.value.showInfoOnQuickView=a)},null,512),[[we,o.value.showInfoOnQuickView]])])]),d("fieldset",null,[r[58]||(r[58]=d("legend",null,"列表显示与操作",-1)),d("div",XL,[r[42]||(r[42]=d("label",{for:"showSha1"},"显示文件SHA1",-1)),J(d("input",{id:"showSha1",type:"checkbox","onUpdate:modelValue":r[7]||(r[7]=a=>o.value.showSha1=a)},null,512),[[we,o.value.showSha1]]),r[43]||(r[43]=L(" ",-1)),d("small",{onClick:r[8]||(r[8]=a=>o.value.clickSha1WithCtrlToFindRepeat=!o.value.clickSha1WithCtrlToFindRepeat),class:De(["ce-label",{"ce-label-success":o.value.clickSha1WithCtrlToFindRepeat}])},U(o.value.clickSha1WithCtrlToFindRepeat?`✓ ${Fp}(已启用)`:`× ${Fp}(未启用)`),3),r[44]||(r[44]=d("div",{class:"pure-form-message text-success"}," 在文件名下方显示文件SHA1,点击可以复制。 ",-1))]),d("div",ZL,[r[45]||(r[45]=d("label",{for:"followHistoryState"}," 文件列表跟随页面前进后退 ",-1)),J(d("input",{id:"followHistoryState",type:"checkbox","onUpdate:modelValue":r[9]||(r[9]=a=>o.value.followHistoryState=a)},null,512),[[we,o.value.followHistoryState]]),r[46]||(r[46]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 默认情况下,点击浏览器的前进或后退,页面链接中的目录ID虽然会发生变化,但文件列表并没有随之更新。 这个功能尝试解决这个问题。 ")],-1))]),d("div",eM,[r[47]||(r[47]=d("label",{for:"showOnlyFileFilter"}," 显示「仅文件」筛选 ",-1)),J(d("input",{id:"showOnlyFileFilter",type:"checkbox","onUpdate:modelValue":r[10]||(r[10]=a=>o.value.showOnlyFileFilter=a)},null,512),[[we,o.value.showOnlyFileFilter]]),r[48]||(r[48]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 筛选当前目录下全部文件。 ")],-1))]),d("div",tM,[r[49]||(r[49]=d("label",{for:"fileFilterExtensions"}," 自定义筛选扩展名 ",-1)),J(d("input",{id:"fileFilterExtensions",type:"text","onUpdate:modelValue":r[11]||(r[11]=a=>o.value.fileFilterExtensions=a),placeholder:"例如: zip,rar,7z",style:{width:"60%"}},null,512),[[He,o.value.fileFilterExtensions]]),r[50]||(r[50]=d("div",{class:"pure-form-message text-success"}," 多个扩展名用英文逗号分隔,设置后在文件列表顶部筛选栏会显示对应的扩展名筛选按钮。 点击按钮可以筛选出当前目录下对应扩展名的文件。 ",-1))]),d("div",nM,[r[53]||(r[53]=d("label",{for:"fixShortcut"},[L(" 修复文件列表快捷键 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"fixShortcut",type:"checkbox","onUpdate:modelValue":r[12]||(r[12]=a=>o.value.fixShortcut=a)},null,512),[[we,o.value.fixShortcut]]),d("div",{class:"pure-form-message text-success"},[r[51]||(r[51]=L(" 文件列表按下Ctrl+/显示了一些快捷键,但大部分并未生效,该功能尝试修复这些快捷键。 ",-1)),d("a",{href:"javascript:void(0)",onClick:i,class:"pure-button button-small"},"💡 更完整的快捷键说明"),r[52]||(r[52]=d("h3",{class:"text-danger"},"⚠️ 副作用: 不能使用Ctrl+C复制页面上的文本(不影响输入框里复制),如有此需求,请使用鼠标右键进行复制。",-1))])]),d("div",oM,[r[54]||(r[54]=d("label",{for:"enhanceLocationLinks"},' 优化"所在位置"链接 ',-1)),J(d("input",{id:"enhanceLocationLinks",type:"checkbox","onUpdate:modelValue":r[13]||(r[13]=a=>o.value.enhanceLocationLinks=a)},null,512),[[we,o.value.enhanceLocationLinks]]),r[55]||(r[55]=d("div",{class:"pure-form-message text-success"},' 启用该选项后,可以复制链接,或通过"鼠标中键"或"Ctrl+单击"在新标签页中打开。 相关页面: 一键排重详情、SHA1查重结果页、搜索结果页、最近上传、最近接收和最近操作。 ',-1))]),d("div",iM,[r[56]||(r[56]=d("label",{for:"enhanceRenameInput"},[L(' 优化"重命名文件"输入框 '),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"enhanceRenameInput",type:"checkbox","onUpdate:modelValue":r[14]||(r[14]=a=>o.value.enhanceRenameInput=a)},null,512),[[we,o.value.enhanceRenameInput]]),r[57]||(r[57]=d("div",{class:"pure-form-message text-success"}," 使用多行输入框替代单行输入框,方便查看和编辑长文件名。 ",-1))])]),d("fieldset",null,[r[67]||(r[67]=d("legend",null,"目录操作增强",-1)),d("div",sM,[r[59]||(r[59]=d("label",{for:"showOpenDirContextMenu"},'显示"目录功能菜单"按钮',-1)),J(d("input",{id:"showOpenDirContextMenu",type:"checkbox","onUpdate:modelValue":r[15]||(r[15]=a=>o.value.showOpenDirContextMenu=a)},null,512),[[we,o.value.showOpenDirContextMenu]]),r[60]||(r[60]=L(" ",-1)),d("small",{onClick:r[16]||(r[16]=a=>o.value.hoverShowDirContextMenu=!o.value.hoverShowDirContextMenu),class:De(["ce-label",{"ce-label-success":o.value.hoverShowDirContextMenu}]),title:"鼠标悬浮在按钮代替点击操作"},U(o.value.hoverShowDirContextMenu?"✓ 鼠标悬浮触发(已启用)":"× 鼠标悬浮触发(未启用)"),3),r[61]||(r[61]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「目录功能菜单」按钮,点击即可打开当前目录的右键菜单。")],-1))]),d("div",rM,[r[62]||(r[62]=d("label",{for:"showCreateDirButton"},'显示"新建文件夹"按钮',-1)),J(d("input",{id:"showCreateDirButton",type:"checkbox","onUpdate:modelValue":r[17]||(r[17]=a=>o.value.showCreateDirButton=a)},null,512),[[we,o.value.showCreateDirButton]]),r[63]||(r[63]=L(" ",-1)),d("small",{onClick:r[18]||(r[18]=a=>o.value.hideTopCreateButton=!o.value.hideTopCreateButton),class:De(["ce-label",{"ce-label-success":o.value.hideTopCreateButton}]),title:"隐藏顶部「新建」按钮"},U(o.value.hideTopCreateButton?"✓ 隐藏顶部「新建」按钮(已启用)":"× 隐藏顶部「新建」按钮(未启用)"),3),r[64]||(r[64]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「新建文件夹」按钮。可以隐藏顶部「新建」按钮,页面左侧的「新建」中也有新建文档按钮。")],-1))]),d("div",aM,[r[65]||(r[65]=d("label",{for:"claimSelectedAfterCreateDir"}," 移动选中文件到新文件夹 ",-1)),J(d("input",{id:"claimSelectedAfterCreateDir",type:"checkbox","onUpdate:modelValue":r[19]||(r[19]=a=>o.value.claimSelectedAfterCreateDir=a)},null,512),[[we,o.value.claimSelectedAfterCreateDir]]),r[66]||(r[66]=d("div",{class:"pure-form-message text-success text-linethrough"},[d("b",null,"启用后如果先选中文件,然后创建新文件夹,将会自动把选中文件移动到新文件夹。"),L(" 该选项可以在创建文件夹对话框里临时修改。 ")],-1))])]),d("fieldset",null,[r[72]||(r[72]=d("legend",null,"路径栏增强",-1)),d("div",lM,[r[68]||(r[68]=d("label",{for:"showCopyButtonOnPathBar"},"在路径栏显示复制按钮",-1)),J(d("input",{id:"showCopyButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[20]||(r[20]=a=>o.value.showCopyButtonOnPathBar=a)},null,512),[[we,o.value.showCopyButtonOnPathBar]]),r[69]||(r[69]=d("div",{class:"pure-form-message text-success"}," 点击后,复制当前路径到剪贴板。 ",-1))]),d("div",uM,[r[70]||(r[70]=d("label",{for:"showGotoButtonOnPathBar"},[L(" 在路径栏显示前往按钮 "),d("small",{class:"ce-label"},"DEV")],-1)),J(d("input",{id:"showGotoButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[21]||(r[21]=a=>o.value.showGotoButtonOnPathBar=a)},null,512),[[we,o.value.showGotoButtonOnPathBar]]),r[71]||(r[71]=d("div",{class:"pure-form-message text-success"}," 点击后,路径栏下方会显示路径输入框,输入路径后按回车即可前往该路径。 ",-1))])]),d("fieldset",null,[r[79]||(r[79]=d("legend",null,"刷新行为",-1)),d("div",cM,[r[73]||(r[73]=d("label",{for:"noUpdateDirAfterRename"}," 重命名后不刷新文件列表 ",-1)),J(d("input",{id:"noUpdateDirAfterRename",type:"checkbox","onUpdate:modelValue":r[22]||(r[22]=a=>o.value.noUpdateDirAfterRename=a)},null,512),[[we,o.value.noUpdateDirAfterRename]]),r[74]||(r[74]=d("div",{class:"pure-form-message text-success"}," 仅支持单个文件或目录的重命名。在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。 ",-1))]),d("div",dM,[r[75]||(r[75]=d("label",{for:"noReloadAfterMove"}," 移动后不刷新文件列表 ",-1)),J(d("input",{id:"noReloadAfterMove",type:"checkbox","onUpdate:modelValue":r[23]||(r[23]=a=>o.value.noReloadAfterMove=a)},null,512),[[we,o.value.noReloadAfterMove]]),r[76]||(r[76]=d("div",{class:"pure-form-message text-success"},[d("b",null,"启用后如果进行了移动操作,列表的全选会受影响,如已选数量不准确。"),d("br"),d("b",{class:"text-danger"},"该功能主要目的是持续高效地在进行移动操作,如果在移动后还需要其他操作,请记得手动刷新列表!")],-1))]),d("div",fM,[r[77]||(r[77]=d("label",{for:"noGotoAfterCreateDir"},[L(" 新建文件夹后不跳转 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{type:"checkbox",id:"noGotoAfterCreateDir","onUpdate:modelValue":r[24]||(r[24]=a=>o.value.noGotoAfterCreateDir=a)},null,512),[[we,o.value.noGotoAfterCreateDir]]),r[78]||(r[78]=d("div",{class:"pure-form-message text-success"},[d("div",null,[L("新建文件夹后,默认会跳转到新文件夹。开启此功能后,新文件夹会直接渲染在列表中。可搭配"),d("b",null,'"移动选中文件到新文件夹"'),L("使用。")])],-1))])]),d("fieldset",null,[r[86]||(r[86]=d("legend",null,"拖拽行为",-1)),d("div",pM,[r[80]||(r[80]=d("label",{for:"dragToQuickEntry"}," 支持拖动文件到快捷入口 ",-1)),J(d("input",{id:"dragToQuickEntry",type:"checkbox","onUpdate:modelValue":r[25]||(r[25]=a=>o.value.dragToQuickEntry=a)},null,512),[[we,o.value.dragToQuickEntry]]),r[81]||(r[81]=d("div",{class:"pure-form-message text-success"},[L(" 可以从文件列表拖动文件到快捷入口,实现移动操作。 "),d("b",{class:"text-danger"},"选中文件时,顶部菜单可能会遮挡快捷入口,可按`Ctrl`键临时隐藏顶部菜单,或者开启「拖动文件时隐藏顶部菜单」选项。")],-1))]),d("div",hM,[r[82]||(r[82]=d("label",{for:"hideSelectionMenuOnDrag"},[L(" 拖动文件时隐藏顶部菜单 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"hideSelectionMenuOnDrag",type:"checkbox","onUpdate:modelValue":r[26]||(r[26]=a=>o.value.hideSelectionMenuOnDrag=a)},null,512),[[we,o.value.hideSelectionMenuOnDrag]]),r[83]||(r[83]=L(" ",-1)),r[84]||(r[84]=d("span",{class:"text-warning"},"该功能可能会影响页面性能,如发现该情况请先关闭并反馈🤝",-1)),r[85]||(r[85]=d("div",{class:"pure-form-message text-success"}," 选中文件时,顶部菜单可能会遮挡快捷入口等元素,开启此选项后,在拖动文件时会自动隐藏顶部菜单。 ",-1))])]),d("fieldset",null,[r[92]||(r[92]=d("legend",null,"其他功能",-1)),d("div",mM,[r[88]||(r[88]=d("label",{for:"fileSelectorDefaultView"},"文件选择器默认视图",-1)),J(d("select",{id:"fileSelectorDefaultView","onUpdate:modelValue":r[27]||(r[27]=a=>o.value.fileSelectorDefaultView=a)},r[87]||(r[87]=[d("option",{value:"view"},"大图标",-1),d("option",{value:"list"},"列表",-1),d("option",{value:"_"},"系统默认",-1)]),512),[[wn,o.value.fileSelectorDefaultView]]),r[89]||(r[89]=d("div",{class:"pure-form-message text-success"},[L(" 设置打开页面后初次使用的视图。 "),d("span",{class:"text-warning"},"如果在刷新页面前在选择器切换到了其他视图,该选项将不会生效,但刷新页面后会恢复。")],-1))]),d("div",gM,[r[90]||(r[90]=d("label",{for:"makeMoreImageViewable"}," 支持更多图片预览 ",-1)),J(d("input",{id:"makeMoreImageViewable",type:"checkbox","onUpdate:modelValue":r[28]||(r[28]=a=>o.value.makeMoreImageViewable=a)},null,512),[[we,o.value.makeMoreImageViewable]]),r[91]||(r[91]=d("div",{class:"pure-form-message text-success"}," 支持一些官方有生成缩略图,但默认没有支持预览的图片格式,目前有webp,tiff。 ",-1))])])],32)]))}}),yM=Ae(wM,[["__file","Config.vue"]]),Sy=gt.search;function bM(e){return {showSelectTargetButtonOnPathBar:true,showSelectAllDir:false,resultWidth:"",...e}}async function $y(){const e=bM(),t=await Qe.get(Sy,e);return {...e,...t}}async function vM(e){await Qe.set(Sy,e);}const xM={class:"ce-config ce-search-config"},_M={class:"pure-control-group"},CM={class:"pure-control-group"},kM={class:"pure-control-group"},SM=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>$y()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await vM(i),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.searchConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),A("div",xM,[d("form",{class:"pure-form pure-form-aligned",onSubmit:s[3]||(s[3]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("div",_M,[s[4]||(s[4]=d("label",{for:"showSelectTargetButtonOnPathBar"},'显示"选择目录"按钮',-1)),J(d("input",{id:"showSelectTargetButtonOnPathBar",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.showSelectTargetButtonOnPathBar=r)},null,512),[[we,o.value.showSelectTargetButtonOnPathBar]]),s[5]||(s[5]=d("div",{class:"pure-form-message text-success"},' 在路径栏显示"选择目录"按钮。即可以在搜索结果页直接选择其他目录进行搜索,而不必返回列表页进入目录后再搜索。 ',-1))]),d("div",CM,[s[6]||(s[6]=d("label",{for:"showSelectAllDir"},'显示"选中全部文件夹"按钮',-1)),J(d("input",{id:"showSelectAllDir",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.showSelectAllDir=r)},null,512),[[we,o.value.showSelectAllDir]]),s[7]||(s[7]=d("div",{class:"pure-form-message text-success"},' 在搜索结果文件列表顶部显示"选中全部文件夹"按钮。 ',-1))]),d("div",kM,[s[8]||(s[8]=d("label",{for:"resultWidth"},"搜索结果宽度",-1)),J(d("input",{id:"resultWidth",class:"input-small","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.resultWidth=r)},null,512),[[He,o.value.resultWidth]]),s[9]||(s[9]=d("div",{class:"pure-form-message text-success"},[L(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),L("。 ")],-1))])])],32)]))}}),$M=Ae(SM,[["__file","Config.vue"]]);function Cl(e,t,n=""){let o="";if(e.status===405&&(o=`[${t}][${n}] - 检测到 405 错误,一般是因为被服务器风控,请等待30分钟后再尝试。`),e.status>=400&&e.status<500&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,请检查请求参数是否正确。`),e.status>=500&&e.status<600&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,服务器内部错误,请稍后再试。`),o)throw console.error(`[${t}] ${e.status}!`,e),new Error(o)}async function EM(e){const t=`https://qrcodeapi.115.com/api/1.0/${e}/1.0/token/`,n=await fetch(t);return Cl(n,"getQrcodeToken","获取二维码登录token失败"),n.json()}const AM={0:"等待扫码",1:"已扫码",2:"登录成功",[-1]:"已失效",[-2]:"已取消"};let ec=new AbortController;async function PM(e){ec.abort(e);}async function IM(e){const t=new URLSearchParams;t.append("uid",e.uid),t.append("time",e.time.toString()),t.append("sign",e.sign);const n="https://qrcodeapi.115.com/get/status/?"+t.toString();ec=new AbortController;const o=await fetch(n,{signal:ec.signal});return Cl(o,"getQrcodeStatus","获取扫码状态失败"),o.json()}function DM(e){return {domain:"",hostOnly:false,httpOnly:true,name:"",path:"",sameSite:"",secure:false,session:false,storeId:"0",value:"",id:0,...e}}async function TM(e){let t=`UID=${e.UID}; CID=${e.CID}; SEID=${e.SEID}`;return e.KID&&(t+=`; KID=${e.KID}`),t}async function LM(e,t=[]){const n=[],o=Object.keys(e);let i=["115.com",...t];i=[...new Set(i)];const s={hostOnly:false,httpOnly:true,path:"/",sameSite:"unspecified",secure:false,session:false,storeId:"0"};let r=1;for(let a=0;a<o.length;a++){const l=o[a],c=[];for(const u of i)c.push(DM({...s,name:l,value:e[l],domain:u,id:r++}));n.push(...c);}return n}function MM(e){const{errno:t,error:n}=e;return `错误码: ${t}, 错误信息: ${n}`}async function BM(e,t){const n=new FormData;n.append("app",t),n.append("account",e);const o=`https://passportapi.115.com/app/1.0/${t}/1.0/login/qrcode/`,i=await fetch(o,{method:"POST",body:n});return Cl(i,"postQrcodeResult","获取二维码登录结果失败"),i.json()}async function OM(e,t){const n=`https://qrcodeapi.115.com/api/1.0/web/1.0/qrcode?uid=${t}`,o=await fetch(n);return Cl(o,"getQrcode","获取二维码图片失败"),o.blob()}var Pd=(e=>(e.web="web",e.android="android",e._115android="115android",e.ios="ios",e._115ipad="115ipad",e.tv="tv",e.alipaymini="alipaymini",e.wechatmini="wechatmini",e.qandroid="qandroid",e._115ios="115ios",e.harmony="harmony",e.ipad="ipad",e.qios="qios",e.qipad="qipad",e.linux="linux",e.mac="mac",e.windows="windows",e))(Pd||{});const RM={web:"网页版",android:"115生活(Android端)","115android":"115(Android端)",ios:"115生活(iOS端)","115ipad":"115(iPad端)",tv:"115网盘(Android电视端)",alipaymini:"115生活(支付宝小程序)",wechatmini:"115生活(微信小程序)",qandroid:"115管理(Android端)","115ios":"115(iOS端)",harmony:"115(Harmony端) - 不能上传下载"};async function FM(e,t){return new Promise((n,o)=>{const i=new FileReader;i.onloadend=()=>{if(typeof i.result=="string"){if(t instanceof HTMLImageElement)t.src=i.result;else {const s=document.createElement("img");s.src=i.result,t.appendChild(s);}n();}else console.error("[renderQrcode]","reader.result is not string!"),o("reader.result is not string!");},i.onerror=s=>{console.error("[renderQrcode]",s),o(s);},i.readAsDataURL(e);})}async function NM(e){document.addEventListener("qrcodeStatusChange",t=>{const n=t.detail;e(n);});}async function UM(e){const t=new CustomEvent("qrcodeStatusChange",{detail:e});document.dispatchEvent(t);}async function jM(e,t,n=6e4){return new Promise(async(o,i)=>{console.log("[qrcodeLogin]",e,t,n);const s=await EM(e),r=await OM(e,s.data.uid);await FM(r,t);let a=true,l=setTimeout(()=>{a=false,i("[qrcode login] timeout!");},n),c="";for(;a;)try{const f=(await IM(s.data)).data.status;if(UM(f),f===0)console.log(`[qrcode login] status=${f} - waiting.`);else if(f===1)console.log(`[qrcode login] status=${f} - scanned.`);else if(f===2){console.log(`[qrcode login] status=${f} - signed.`);break}else if(f===-1){clearTimeout(l),c=`[qrcode login] status=${f} - expired.`;break}else if(f===-2){clearTimeout(l),c=`[qrcode login] status=${f} - canceled.`;break}}catch(u){console.error("[qrcode login]",u),c=u;break}clearTimeout(l),c?i(c):o(BM(s.data.uid,e));})}const Ey=gt.tools;function zM(e){return {scanApp:Pd.alipaymini,...e}}async function HM(){const e=zM(),t=await Qe.get(Ey,e);return {...e,...t}}async function VM(e){await Qe.set(Ey,e);}const qM={class:"ce-tools-item"},WM={class:"pure-form pure-form-aligned"},KM={class:"pure-control-group"},GM=["disabled"],JM=["value"],YM=["disabled"],QM={key:0,class:"text-warning text-bold"},XM={key:1},ZM={class:"pure-control-group"},e3=6e4,t3=xe({__name:"GetCookie",props:{app:{}},emits:["app-change"],setup(e,{emit:t}){const n=e,o=t,i=K(n.app),s=K(false),r=K(false),a=K(false),l=K(),c=K(),u=We(()=>c.value?AM[c.value]:""),f=We(()=>{const I=[Pd.harmony],E={};for(const[D,B]of Object.entries(RM))I.includes(D)||(E[D]=B);return E});ze(i,I=>{o("app-change",I),g();}),St(async()=>{}),Ht(async()=>{await NM(y);});async function p(){await g();try{const I=document.querySelector("#ceGetCookieQrcode"),E=await jM(i.value,I,e3);let D="";if(E.data?l.value=E.data:D=MM(E)||"未知错误",D)throw new Error(D)}catch(I){if(console.error(I),I.name==="AbortError")return;q.fire({icon:"error",title:"扫码失败",text:typeof I=="string"?I:I.toString()});}finally{s.value=false,r.value=false,c.value=void 0;}}async function g(){l.value=void 0,r.value=false,a.value=false,s.value=false,c.value=void 0,await k();}async function m(){r.value=true;}async function y(I){console.log("[handleStatusChange]",I),c.value=I;}async function x(I){const E=l.value?.cookie;if(!E)return;let D="";if(I==="text")D=await TM(E);else if(I==="json"){const B=await LM(E);D=JSON.stringify(B,null,2);}ft(D),Oi.fire({icon:"success",title:"已复制到剪贴板",timer:1500});}async function k(){await PM();}return (I,E)=>(_(),A("div",qM,[d("form",WM,[d("fieldset",null,[E[7]||(E[7]=d("legend",null,"扫码获取Cookie",-1)),d("div",KM,[J(d("select",{"onUpdate:modelValue":E[0]||(E[0]=D=>i.value=D),disabled:s.value},[(_(true),A(Se,null,Ue(f.value,(D,B)=>(_(),A("option",{value:B,key:B},U(D),9,JM))),128))],8,GM),[[wn,i.value]]),E[5]||(E[5]=L(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:p,disabled:s.value}," 开始 ",8,YM),E[6]||(E[6]=L(" ",-1)),u.value?(_(),A("span",QM,U(u.value),1)):de("",true),l.value?(_(),A("span",XM,[E[3]||(E[3]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:E[1]||(E[1]=D=>x("text"))}," 复制文本格式Cookie "),E[4]||(E[4]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:E[2]||(E[2]=D=>x("json"))}," 复制JSON格式Cookie ")])):de("",true)]),E[8]||(E[8]=d("div",{class:"text-danger"},"扫码登录后,所选设备之前的登录将会失效,所以请尽量选不常用的。",-1)),E[9]||(E[9]=d("div",{class:"text-primary"},"请注意,扫码得到的Cookie会跟随发起扫码的设备,如果发起扫码的设备退出登录,扫码得到的Cookie也会随之失效。",-1)),E[10]||(E[10]=d("div",{class:"text-success"},"如要避免上述问题,可以考虑使用手机验证码登录小程序并获取其Cookie。",-1)),J(d("div",ZM,[d("img",{id:"ceGetCookieQrcode",alt:"qrcode",onLoad:m},null,32)],512),[[Gt,r.value]])])])]))}}),n3=Ae(t3,[["__file","GetCookie.vue"]]),o3={class:"ce-tools-item"},i3={class:"pure-form pure-form-aligned"},s3={class:"pure-control-group"},r3={class:"pure-control-group"},a3={class:"pure-control-group"},l3={class:"pure-control-group"},u3=xe({__name:"Cleaner",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>br()),t=await t,n(),t)),i=K(([t,n]=Mt(()=>zw()),t=await t,n(),t));ze(o,lt(async a=>{await vd({showEntryOnPathBar:a.showEntryOnPathBar}),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true}),ze(i,lt(async a=>{await FD(a),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true});async function s(a,l){a&&(await r(),await Et(1e3)),window.postMessage({event:ot.closeConfig}),postMessage({type:l==="FileCleaner"?Jt.OPEN_CLEANER:Jt.OPEN_EMPTY_CLEANER});}async function r(){return new Promise(async(a,l)=>{unsafeWindow.parent.Core.FileSelectDG.Open((c,u)=>{console.log("[Core.FileSelectDG.Open]",c,u);const f=c[c.length-1],p=unsafeWindow.parent.wangpan;try{p.Main.GotoDir(1,f.cid,0,""),a();}catch(g){q.fire({icon:"error",title:"打开文件夹失败",text:`请在文件列表页面中打开!不要在离线任务之类的页面打开。异常: ${g.toString()}`});}},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"打开清理工具",select_txt:"清理"});})}return (a,l)=>(_(),A("div",o3,[d("form",i3,[d("fieldset",null,[l[14]||(l[14]=d("legend",null,"文件清理",-1)),d("div",s3,[l[7]||(l[7]=d("label",{for:"cleanerConfig_showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),J(d("input",{id:"cleanerConfig_showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":l[0]||(l[0]=c=>o.value.showEntryOnPathBar=c)},null,512),[[we,o.value.showEntryOnPathBar]])]),d("div",r3,[l[8]||(l[8]=d("div",{class:"ce-tips"},"根据后缀、大小和名称等条件进行文件清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[1]||(l[1]=c=>s(false,"FileCleaner"))}," 清理当前文件夹 "),l[9]||(l[9]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[2]||(l[2]=c=>s(true,"FileCleaner"))}," 清理指定文件夹 ")]),l[15]||(l[15]=d("br",null,null,-1)),d("div",a3,[l[10]||(l[10]=d("label",{for:"emptyCleanConfig_emptyCleanConfig"},'在路径栏显示"空文件夹"入口按钮',-1)),J(d("input",{id:"emptyCleanConfig_emptyCleanConfig",type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=c=>i.value.showEntryOnPathBar=c)},null,512),[[we,i.value.showEntryOnPathBar]])]),d("div",l3,[l[11]||(l[11]=d("div",{class:"ce-tips"},"尽快找到空文件夹进行清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[4]||(l[4]=c=>s(false,"EmptyCleaner"))}," 清理当前文件夹下的空文件夹 "),l[12]||(l[12]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[5]||(l[5]=c=>s(true,"EmptyCleaner"))}," 清理指定文件夹下的空文件夹 "),l[13]||(l[13]=L(" ",-1)),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:l[6]||(l[6]=(...c)=>te($a)&&te($a)(...c)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 ")])])])]))}}),c3=Ae(u3,[["__file","Cleaner.vue"]]),d3={class:"ce-config ce-tools-config"},f3={class:"item"},p3=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>HM()),t=await t,n(),t));St(async()=>{}),ze(o,lt(async s=>{await VM(s),window.postMessage({event:ot.toolsConfigChange,body:JSON.parse(JSON.stringify(s))});},100),{deep:true});async function i(s){o.value.scanApp=s;}return (s,r)=>(_(),A("div",d3,[d("div",f3,[re(n3,{app:o.value.scanApp,onAppChange:i},null,8,["app"]),re(c3)])]))}}),h3=Ae(p3,[["__file","Config.vue"]]),m3={class:"menu-config-block menu-basic-config"},g3={class:"pure-control-group"},w3={class:"pure-control-group"},y3={class:"pure-control-group"},b3={class:"pure-control-group"},v3={class:"pure-control-group"},x3=["value"],_3={class:"pure-control-group"},C3={class:"pure-control-group"},k3={class:"pure-control-group"},S3=xe({__name:"BasicConfig",props:{config:{}},setup(e){const t=e;async function n(i){const r={keyToTriggerManual:"在按下该按键时点击菜单项(搜索/播放),会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",auxClickTriggerManual:"启用后,使用鼠标中键点击菜单项,会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",m3u8TempDir:"「M3U8临时目录」用于临时存放生成的m3u8文件。在选中多个视频文件后,在顶部菜单栏会有一个「播放」菜单项,点击后会生成对应的m3u8文件,然后调用播放器播放这个m3u8以实现播放多个视频的效果。",cloudDriveFormalization:'<h2>使用CloudDrive的文件名规范</h2><p>启用后,在使用脚本功能复制文件名或路径时,将会根据CloudDrive的规范对文件名进行处理,请确保当前使用的CloudDrive配置设置了正确的"平台"。</p>'}[i];r&&q.fire({html:r,customClass:{popup:"ce-swal-text-left"}});}function o(i){console.log("[onSelectM3U8Dir]",i),t.config.m3u8TempDir=i.items[i.items.length-1].path.slice(1).map(s=>s.name).join("/");}return (i,s)=>(_(),A("div",m3,[d("form",{class:"pure-form pure-form-stacked",onSubmit:s[12]||(s[12]=pt(()=>{},["prevent"]))},[d("fieldset",null,[s[22]||(s[22]=d("legend",null,"全局设置",-1)),d("div",g3,[s[13]||(s[13]=d("label",{for:"basic_enabled"},"启用",-1)),J(d("input",{id:"basic_enabled",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>t.config.enabled=r)},null,512),[[we,t.config.enabled]])]),d("div",w3,[s[14]||(s[14]=d("label",{for:"basic_hideSelectionMenuLabel"},"隐藏顶部菜单文本",-1)),J(d("input",{id:"basic_hideSelectionMenuLabel",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>t.config.hideSelectionMenuLabel=r)},null,512),[[we,t.config.hideSelectionMenuLabel]])]),d("div",y3,[s[15]||(s[15]=d("label",{for:"basic_enableInSearch"},"在搜索结果页中启用",-1)),J(d("input",{id:"basic_enableInSearch",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>t.config.enableInSearch=r)},null,512),[[we,t.config.enableInSearch]])]),d("div",b3,[s[16]||(s[16]=d("label",{for:"basic_manageOfficialMenus"},"控制官方菜单是否隐藏",-1)),J(d("input",{id:"basic_manageOfficialMenus",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>t.config.manageOfficialMenus=r)},null,512),[[we,t.config.manageOfficialMenus]])]),d("div",v3,[s[17]||(s[17]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"触发手动输入模式的辅助键",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[4]||(s[4]=r=>n("keyToTriggerManual"))},"说明"),J(d("select",{id:"basic_forceManualBeforeOpenOnKey","onUpdate:modelValue":s[5]||(s[5]=r=>t.config.keyToTriggerManual=r)},[(_(true),A(Se,null,Ue(te(Jn),(r,a)=>(_(),A("option",{key:a,value:a},U(r),9,x3))),128))],512),[[wn,t.config.keyToTriggerManual]])]),d("div",_3,[s[18]||(s[18]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"鼠标中键触发手动输入模式",-1)),J(d("input",{id:"basic_forceManualBeforeOpenOnKey",type:"checkbox","onUpdate:modelValue":s[6]||(s[6]=r=>t.config.auxClickTriggerManual=r)},null,512),[[we,t.config.auxClickTriggerManual]]),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[7]||(s[7]=r=>n("auxClickTriggerManual"))},"说明")]),d("div",C3,[s[20]||(s[20]=d("label",{for:"basic_m3u8TempDirName"},"M3U8临时目录",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[8]||(s[8]=r=>n("m3u8TempDir"))},"说明"),J(d("input",{id:"basic_m3u8TempDirName","onUpdate:modelValue":s[9]||(s[9]=r=>t.config.m3u8TempDir=r)},null,512),[[He,t.config.m3u8TempDir]]),re(Xs,{purpose:"作为M3U8临时目录",onSelect:o},{default:me(()=>s[19]||(s[19]=[d("a",{class:"text-primary",href:"javascript:void(0)"},"选择目录",-1)])),_:1,__:[19]})]),d("div",k3,[s[21]||(s[21]=d("label",{for:"basic_cloudDriveFormalization"},"CloudDrive文件名规范",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[10]||(s[10]=r=>n("cloudDriveFormalization"))},"说明"),J(d("input",{id:"basic_cloudDriveFormalization",type:"checkbox","onUpdate:modelValue":s[11]||(s[11]=r=>t.config.cloudDriveFormalization=r)},null,512),[[we,t.config.cloudDriveFormalization]])])])],32)]))}}),$3=Ae(S3,[["__file","BasicConfig.vue"]]),E3={class:"official-menu-config"},A3=["onClick"],P3={class:"menu-key"},I3=["onClick"],D3=xe({__name:"OfficialMenuConfig",setup(e){const t=K([]),n=K(false);St(async()=>{t.value=await mw(),console.log("official menu groups",t.value,location.href);}),Ht(()=>{document.body.addEventListener("click",()=>{n.value||(n.value=true);});}),ze(t,lt(async s=>{if(!n.value)return;const r=await X2(s);await Q2(r,true),Q({icon:"success",title:"官方菜单设置已保存,已生效。",timer:1e3,position:"top-end"});},500),{deep:true});async function o(s){s.hidden=!s.hidden;}async function i(s){const{isConfirmed:r}=await q.fire({icon:"warning",html:`确认要重置分组「${s.label}」的隐藏状态吗?`,confirmButtonText:"确认",showDenyButton:true,denyButtonText:"关闭"});r&&s.items.forEach(a=>{a.hidden=false;});}return (s,r)=>(_(),A("div",E3,[r[1]||(r[1]=d("div",{class:"ce-tips"},[d("p",null,"开启「菜单设置 - 全局设置 - 控制官方菜单是否隐藏」后才会生效。"),d("p",{class:"text-primary"},"该功能作用为隐藏官方菜单。点击「隐藏」后刷新页面生效,如需取消请点击「取消隐藏」。")],-1)),(_(true),A(Se,null,Ue(t.value,(a,l)=>(_(),A("div",{key:l,class:"menu-config-block"},[d("form",{class:"pure-form pure-form-stacked",onSubmit:r[0]||(r[0]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("legend",null,[L(U(a.label)+" ",1),d("span",{class:"ce-label ce-label-warning",title:"取消该分组下全部的隐藏设置",onClick:c=>i(a)}," 重置 ",8,A3)]),(_(true),A(Se,null,Ue(a.items,(c,u)=>(_(),A("div",{key:u,class:De([{hidden:c.hidden},"menu-item"])},[d("label",null,[L(U(c.label)+" ",1),d("small",P3,U(c.key),1)]),d("span",{class:"ce-toggle",onClick:f=>o(c)},U(c.hidden?"取消隐藏":"隐藏"),9,I3)],2))),128))])],32)]))),128))]))}}),T3=Ae(D3,[["__file","OfficialMenuConfig.vue"]]);var ht=(e=>(e.input="text",e.number="number",e.password="password",e.textarea="textarea",e.checkbox="checkbox",e.select="select",e.radio="radio",e.date="date",e))(ht||{});function kr(e,t={}){return e.map(n=>({...t,...n}))}const L3=["for"],M3={class:"ce-field-extra ce-field-prefix"},B3=["type","id","name","required","placeholder"],O3=["id","name","required","placeholder"],R3=["value"],F3={key:2},N3=["value","required"],U3=["id","name","required"],j3={key:3},z3=["value","required"],H3=["id","name","required"],V3={class:"ce-field-extra ce-field-suffix"},q3=xe({__name:"CeField",props:{field:{},modelValue:{},formConfig:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,i=K(o.modelValue),s=We(()=>(o.formConfig.idPrefix||"")+o.field.name);return ze(i,(r,a)=>{console.log(`[CeField] mutValue changed from ${a} to ${r}`),n("update:modelValue",r);}),(r,a)=>(_(),A("div",{class:De(["ce-field",r.field.customClass||""])},[Ke(r.$slots,"label",{},()=>[d("label",{for:s.value},U(r.field.label),9,L3)]),d("span",M3,[Ke(r.$slots,"prefix")]),!r.field.type||r.field.type===te(ht).input||r.field.type===te(ht).number?J((_(),A("input",{key:0,type:r.field.type,id:s.value,name:r.field.name,"onUpdate:modelValue":a[0]||(a[0]=l=>i.value=l),required:r.field.required,placeholder:r.field.placeholder},null,8,B3)),[[WC,i.value]]):r.field.type===te(ht).select?J((_(),A("select",{key:1,id:s.value,name:r.field.name,"onUpdate:modelValue":a[1]||(a[1]=l=>i.value=l),required:r.field.required,placeholder:r.field.placeholder},[(_(true),A(Se,null,Ue(r.field.options,(l,c)=>(_(),A("option",{key:c,value:l.value},U(l.label),9,R3))),128))],8,O3)),[[wn,i.value]]):r.field.type===te(ht).checkbox?(_(),A("span",F3,[r.field.options&&r.field.options.length>0?(_(true),A(Se,{key:0},Ue(r.field.options,(l,c)=>(_(),A("label",{key:c},[J(d("input",{type:"checkbox",value:l.value,"onUpdate:modelValue":a[2]||(a[2]=u=>i.value=u),required:r.field.required},null,8,N3),[[we,i.value]]),L(" "+U(l.label),1)]))),128)):J((_(),A("input",{key:1,type:"checkbox",id:s.value,name:r.field.name,"onUpdate:modelValue":a[3]||(a[3]=l=>i.value=l),required:r.field.required},null,8,U3)),[[we,i.value]])])):r.field.type===te(ht).radio?(_(),A("span",j3,[(_(true),A(Se,null,Ue(r.field.options,(l,c)=>(_(),A("label",{key:c},[J(d("input",{type:"radio",value:l.value,"onUpdate:modelValue":a[4]||(a[4]=u=>i.value=u),required:r.field.required},null,8,z3),[[Mg,i.value]]),L(" "+U(l.label),1)]))),128))])):r.field.type===te(ht).date?J((_(),A("input",{key:4,type:"date",id:s.value,name:r.field.name,"onUpdate:modelValue":a[5]||(a[5]=l=>i.value=l),required:r.field.required},null,8,H3)),[[He,i.value]]):de("",true),d("span",V3,[Ke(r.$slots,"suffix")])],2))}}),W3=Ae(q3,[["__file","CeField.vue"]]),K3={class:"ce-form pure-form pure-form-stacked"},G3=xe({__name:"CeForm",props:{config:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,i=(s,r)=>{console.log("[CeForm.handleFieldValueChange]",s,o.modelValue,r),n("update:modelValue",{...o.modelValue});};return (s,r)=>(_(),A("div",K3,[d("fieldset",null,[d("legend",null,[Ke(s.$slots,"header",{},()=>[L(U(s.config.label),1)])]),(_(true),A(Se,null,Ue(s.config.fields,a=>Ke(s.$slots,a.name,{key:a.name,data:a},()=>[re(W3,{field:a,modelValue:s.modelValue[a.name],"onUpdate:modelValue":l=>s.modelValue[a.name]=l,"form-config":s.config,onChange:l=>i(a.name,l)},{label:me(()=>[Ke(s.$slots,`${a.name}_label`,{data:a})]),prefix:me(()=>[Ke(s.$slots,`${a.name}_prefix`,{data:a})]),suffix:me(()=>[Ke(s.$slots,`${a.name}_suffix`,{data:a})]),_:2},1032,["field","modelValue","onUpdate:modelValue","form-config","onChange"])])),128)),Ke(s.$slots,"footer")])]))}}),fs=Ae(G3,[["__file","CeForm.vue"]]),J3={class:"menu-name-path-block menu-config-block"},Y3=xe({__name:"NamePathConfig",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=K(n.modelValue);ze(i,l=>{o("update:modelValue",l);});const s=K([{label:"完整名称",name:"copyFullName",type:ht.checkbox,disabled:true},{label:"不含后缀的名称",name:"copyPureName",type:ht.checkbox},{label:"文件SHA1",name:"copySha1",type:ht.checkbox},{label:"文件SHA1(带文件名)",name:"copySha1WithName",type:ht.checkbox},{label:"文件ID",name:"copyId",type:ht.checkbox},{label:"文件PickCode",name:"copyPickCode",type:ht.checkbox},{label:"Unix风格路径",name:"copyUnixPath",type:ht.checkbox},{label:"Windows风格路径",name:"copyWinPath",type:ht.checkbox},{label:"父目录Unix风格路径",name:"copyParentUnixPath",type:ht.checkbox},{label:"父目录Windows风格路径",name:"copyParentWinPath",type:ht.checkbox},{label:"在CloudDrive2 Web页面查看",name:"viewInCloudDrive",type:ht.checkbox}]);function r(l){const{include:c=[],exclude:u=[]}=n;return c.length>0?c.includes(l):u.length>0?!u.includes(l):true}const a=K({label:"名称路径子菜单设置",fields:s.value.filter(l=>r(l.name)),idPrefix:"namePath_"});return (l,c)=>(_(),A("div",J3,[d("div",null,[re(fs,{modelValue:i.value,"onUpdate:modelValue":c[0]||(c[0]=u=>i.value=u),config:a.value},null,8,["modelValue","config"])])]))}}),Q3=Ae(Y3,[["__file","NamePathConfig.vue"]]),X3={class:"menu-name-path-config-button"},Z3=xe({__name:"NamePathConfigButton",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=K(n.modelValue);return ze(i,s=>{o("update:modelValue",s);}),(s,r)=>{const a=Co("VDropdown");return _(),A("span",X3,[re(a,{distance:5,triggers:["click"],placement:"left"},{popper:me(()=>[re(Q3,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=l=>i.value=l),include:n.include,exclude:n.exclude},null,8,["modelValue","include","exclude"])]),default:me(()=>[Ke(s.$slots,"default",{},()=>[r[1]||(r[1]=d("span",{class:"text-bold text-info"},">>",-1))])]),_:3})])}}}),Sr=Ae(Z3,[["__file","NamePathConfigButton.vue"]]);var er={name:"115不大助手"};async function eB(){if(window!==window.parent)return;new MutationObserver(async([t])=>{t.type==="childList"&&window.postMessage({event:ot.topDomChanged});}).observe(document.body,{childList:true});}async function tB(){const e=document.querySelector(".bottom-side .navigation-ceiling ul");if(!e){sB();return}const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.style.textAlign="center",n.style.backgroundColor="#fefcea",n.style.padding="4px 10px 4px",n.addEventListener("click",async o=>{await lo();}),n.title=`打开「${er.name}」设置`,n.innerHTML='<i class="isn-setting"></i><span>不大助手</span>',t.appendChild(n),e.insertBefore(t,e.firstChild);}async function nB(){return !!document.querySelector("#js-login-box")}async function oB(){console.log("[handleLoginPage]"),await nB()&&(document.body.classList.add("ce-login-page"),iB());}async function iB(){console.log("[injectOpenConfigButtonOnLoginPage");const e=document.querySelector(".right-side a");if(!e){console.warn("[injectOpenConfigButtonOnLoginPage] '.right-side a' not found");return}const t=document.createElement("a");t.href="javascript:;",t.className="ce-entry",t.addEventListener("click",async o=>{await lo();}),t.title=`打开「${er.name}」设置`,t.innerHTML=`<i class="isn-setting"></i><span>${er.name}</span>`,e.insertAdjacentElement("beforebegin",t);const n=document.createElement("a");n.href="javascript:;",n.className="ce-entry",n.addEventListener("click",async o=>{await lo(yt.tools);}),n.title="打开扫码获取Cookie",n.innerHTML='<i class="isn-scan"></i><span>扫码获取Cookie</span>',e.insertAdjacentElement("beforebegin",n);}async function sB(){const e=document.querySelector(".sub-footer ul");if(!e)return;const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.addEventListener("click",async o=>{await lo();}),n.title=`打开「${er.name}」设置`,n.innerHTML=`<i class="isn-setting"></i><span>${er.name}</span>`,t.appendChild(n),e.insertBefore(t,e.firstChild);}async function lo(e){window.postMessage({event:ot.openConfig,body:e});}const rB={class:"menu-config-block"},aB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},lB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue);ze(o,l=>{i("update:modelValue",l);});const i=t,s=kr([{label:"启用",name:"enabled"},{label:"新标签页打开",name:"openInNewTab"},{label:"搜索",name:"search"},{label:"播放",name:"play"},{label:"名称路径",name:"copyNames"},{label:"解散子目录",name:"flattenSubfolders"},{label:"查找重复文件",name:"findRepeat"}],{type:ht.checkbox}),r=K(s),a=K({label:wi.listItemHover,fields:r.value,idPrefix:"listItemHover_"});return (l,c)=>(_(),A("div",rB,[d("div",null,[re(fs,{modelValue:o.value,"onUpdate:modelValue":c[3]||(c[3]=u=>o.value=u),config:a.value},{search_label:me(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(lo)(te(yt).searchMenus))},U(u.label),1)]),play_label:me(({data:u})=>[d("label",{class:"text-primary",onClick:c[1]||(c[1]=f=>te(lo)(te(yt).playMenus))},U(u.label),1)]),copyNames_label:me(({data:u})=>[re(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[2]||(c[2]=f=>o.value.namePathConfig=f)},{default:me(()=>[d("label",aB,[L(U(u.label)+" ",1),c[4]||(c[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),uB=Ae(lB,[["__file","Config.vue"]]),cB={class:"menu-config-block"},dB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},fB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=[];ze(o,l=>{s("update:modelValue",l);});const s=t,r=K(kr([{label:"启用",name:"enabled"},{label:"名称路径",name:"copyNames"},{label:"解散子目录",name:"flattenSubfolders"}],{type:ht.checkbox})),a=K({label:wi.listItemContext,fields:r.value,idPrefix:"listItemContext_"});return (l,c)=>(_(),A("div",cB,[d("div",null,[re(fs,{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=u=>o.value=u),config:a.value},{copyNames_label:me(({data:u})=>[re(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[0]||(c[0]=f=>o.value.namePathConfig=f),exclude:i},{default:me(()=>[d("label",dB,[L(U(u.label)+" ",1),c[2]||(c[2]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),pB=Ae(fB,[["__file","Config.vue"]]),hB={class:"menu-config-block"},mB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},gB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=["viewInCloudDrive"],i=K(n.modelValue);ze(i,c=>{s("update:modelValue",c);});const s=t;function r(c){return Object.entries(c).map(([u,f])=>({value:u,label:f}))}const a=K(kr([{label:"启用",name:"enabled"},{label:"移动到同名目录",name:"moveToSelfNameDir"},{label:"解散子目录",name:"flattenSubfolders"},{label:"新标签页打开",name:"openInNewTab"},{label:"打开上级目录",name:"openParent"},{label:"名称路径",name:"copyNames"},{label:"播放",name:"play"},{label:"搜索",name:"search"},{label:"打开搜索页面方式",name:"searchOpenType",type:ht.select,options:r(Tk),customClass:"ce-search-sub"}],{type:ht.checkbox})),l=K({label:wi.selection,fields:a.value,idPrefix:"selection_"});return (c,u)=>(_(),A("div",hB,[d("div",null,[re(fs,{modelValue:i.value,"onUpdate:modelValue":u[3]||(u[3]=f=>i.value=f),config:l.value},{search_label:me(({data:f})=>[d("label",{class:"text-primary",onClick:u[0]||(u[0]=p=>te(lo)(te(yt).searchMenus))},U(f.label),1)]),play_label:me(({data:f})=>[d("label",{class:"text-primary",onClick:u[1]||(u[1]=p=>te(lo)(te(yt).playMenus))},U(f.label),1)]),copyNames_label:me(({data:f})=>[re(Sr,{modelValue:i.value.namePathConfig,"onUpdate:modelValue":u[2]||(u[2]=p=>i.value.namePathConfig=p),exclude:o},{default:me(()=>[d("label",mB,[L(U(f.label)+" ",1),u[4]||(u[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),wB=Ae(gB,[["__file","Config.vue"]]),yB={class:"menu-config-block"},bB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},vB=["onClick"],xB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=["copyPureName","copySha1","copySha1WithName"];ze(o,g=>{s("update:modelValue",g);});const s=t,r=kr([{label:"启用",name:"enabled"},{label:"重命名",name:"rename"},{label:"删除",name:"delete"},{label:"播放全部",name:"play"},{label:"名称路径",name:"copyNames"},{label:"搜索",name:"search"},{label:"解散子目录",name:"flattenSubfolders"},{label:"移动",name:"move"},{label:"复制",name:"copy"},{label:"复制到",name:"copyTo"},{label:"查看属性",name:"viewProp"},{label:"子文件夹大小",name:"showSubFolderSize"},{label:"子文件夹大小+排序",name:"showSubFolderSizeAndSort"}],{type:ht.checkbox}),a=K(r),l=K({label:wi.dirContext,fields:a.value,idPrefix:"dirContext_"}),c=We(()=>{const g=["enabled","play","copyNames"];return Object.keys(o.value).filter(m=>!g.includes(m))}),u=We(()=>{const g=[];for(const m of Object.keys(o.value))g.push({name:m,prefix:`${m}_prefix`,suffix:`${m}_suffix`});return g}),f=g=>{o.value.topLevelMenus.includes(g.name)?o.value.topLevelMenus=o.value.topLevelMenus.filter(m=>m!==g.name):o.value.topLevelMenus.push(g.name);};async function p(){q.fire({html:`<b>当前目录右键菜单的打开方式:</b>
<br>1. 右键单击文件列表表头;
<br>2. 右键单击文件列表空白处;
<br>3.「文件名」列头部的「目录功能菜单」按钮。
<hr class="ce-hr">
<b>菜单显示层级:</b>
<br>1.「播放全部」和「名称路径」强制显示为一级菜单;
<br>2. 其他菜单可以通过点击 👁 图标设置是否显示为一级菜单。
`,customClass:{popup:"ce-swal-text-left"}});}return (g,m)=>(_(),A("div",yB,[d("div",null,[re(fs,{modelValue:o.value,"onUpdate:modelValue":m[2]||(m[2]=y=>o.value=y),config:l.value},M_({header:me(()=>[L(U(te(wi).dirContext)+" ",1),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:p},"说明")]),play_label:me(({data:y})=>[d("label",{class:"text-primary",onClick:m[0]||(m[0]=x=>te(lo)(te(yt).playMenus))},U(y.label),1)]),copyNames_label:me(({data:y})=>[re(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":m[1]||(m[1]=x=>o.value.namePathConfig=x),exclude:i},{default:me(()=>[d("label",bB,[L(U(y.label)+" ",1),m[3]||(m[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:2},[Ue(u.value,y=>({name:y.suffix,fn:me(({data:x})=>[c.value.includes(x.name)?(_(),A("span",{key:0,class:De(["btn-toggle-top",{active:o.value.topLevelMenus.includes(x.name)}]),onClick:k=>f(x),title:"点亮表示显示为一级菜单,否则将显示在「更多」菜单中"},"👁",10,vB)):de("",!0)])}))]),1032,["modelValue","config"])])]))}}),_B=Ae(xB,[["__file","Config.vue"]]),CB={class:"menu-config-block"},kB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},SB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=["copyPickCode","copyUnixPath","copyWinPath","copyParentUnixPath","copyParentWinPath","viewInCloudDrive"];ze(o,l=>{s("update:modelValue",l);});const s=t,r=K(kr([{label:"启用",name:"enabled"},{label:"搜索",name:"search"},{label:"名称",name:"copyNames"}],{type:ht.checkbox})),a=K({label:wi.shareListItemHover,fields:r.value,idPrefix:"shareListItemHover_"});return (l,c)=>(_(),A("div",CB,[d("div",null,[re(fs,{modelValue:o.value,"onUpdate:modelValue":c[2]||(c[2]=u=>o.value=u),config:a.value},{search_label:me(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(lo)(te(yt).searchMenus))},U(u.label),1)]),copyNames_label:me(({data:u})=>[re(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[1]||(c[1]=f=>o.value.namePathConfig=f),exclude:i},{default:me(()=>[d("label",kB,[L(U(u.label)+" ",1),c[3]||(c[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),$B=Ae(SB,[["__file","Config.vue"]]),EB={key:0,class:"ce-menu-config"},AB=xe({__name:"MenuConfig",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>ut()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{const s=await ut();i.defaultPlayer=s.defaultPlayer,i.defaultSearch=s.defaultSearch,await ya(i),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(i,s)=>o.value.enabled!==void 0?(_(),A("div",EB,[s[6]||(s[6]=d("div",{class:"ce-tips"},[d("p",null,"「搜索」功能菜单支持自定义,可在「搜索菜单」设置面板中添加和管理。 「播放」功能菜单支持自定义,可在「播放菜单」设置面板中添加和管理。")],-1)),re($3,{config:o.value},null,8,["config"]),re(uB,{modelValue:o.value.listItemHover,"onUpdate:modelValue":s[0]||(s[0]=r=>o.value.listItemHover=r)},null,8,["modelValue"]),re(pB,{modelValue:o.value.listItemContext,"onUpdate:modelValue":s[1]||(s[1]=r=>o.value.listItemContext=r)},null,8,["modelValue"]),re(wB,{modelValue:o.value.selection,"onUpdate:modelValue":s[2]||(s[2]=r=>o.value.selection=r)},null,8,["modelValue"]),re(_B,{modelValue:o.value.dirContext,"onUpdate:modelValue":s[3]||(s[3]=r=>o.value.dirContext=r)},null,8,["modelValue"]),re($B,{modelValue:o.value.shareListItemHover,"onUpdate:modelValue":s[4]||(s[4]=r=>o.value.shareListItemHover=r)},null,8,["modelValue"]),s[7]||(s[7]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[s[5]||(s[5]=d("h1",null,"官方菜单设置",-1)),d("div",null,[re(T3)])])])):de("",true)}}),PB=Ae(AB,[["__file","MenuConfig.vue"]]),IB={class:"ce-custom-url"},DB={class:"ce-custom-url-index"},TB={class:"pure-control-group"},LB={class:"pure-control-group"},MB={class:"pure-control-group"},BB={class:"pure-control-group"},OB={key:0,class:"item-icon"},RB=["src"],FB={class:"pure-control-group"},NB={class:"pure-control-group"},UB={class:"pure-control-group"},jB={key:0,class:"pure-control-group"},zB=xe({__name:"CustomUrl",props:{item:{},index:{}},emits:["delete"],setup(e,{emit:t}){const n=K(true),o=t;function i(){o("delete");}async function s(){n.value=!n.value,n.value&&Q({title:"已开启高级模式",text:"请谨慎修改,不正确的代码可能会导致脚本崩溃。",icon:"info",timer:2e3});}async function r(){window.postMessage({event:"customUrlHelp"},"*");}async function a(){await q.fire({title:"Mutation 说明",html:`
<div style="text-align:left;">
<p>自定义代码,用于生成最终的链接。</p><br>
<p>代码会被包含在一个async匿名函数中执行,最终应该返回一个链接字符串。</p>
<p>传入的参数名为「payload」,其结构如下:</p>
<p>- url: 之前自动处理得到的链接</p>
<p>- file:当前文件信息</p>
<p>- customUrl:当前自定义规则信息</p>
<p>- cloudDriveConfig:CloudDrive设置信息</p><br>
<p>示例:</p>
<pre style="text-align:left;font-size:12px;">
const {
url,
file,
customUrl,
cloudDriveConfig
} = payload
const sth = await fetch(\`https://api.sth.com/foo?bar=\${file.pc}\`)
return \`https://example.com/do?key=\${sth}\`
</pre>
</div>
`,width:480,position:"top-start",backdrop:false});}return (l,c)=>(_(),A("div",IB,[d("form",{class:"pure-form pure-form-aligned",onSubmit:c[8]||(c[8]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("legend",null,[d("span",DB,"# "+U(l.index+1),1),d("button",{type:"button",class:"pure-button button-error button-small",onClick:i}," 删除 ")]),d("div",TB,[c[9]||(c[9]=d("label",null,"启用",-1)),J(d("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>l.item.enabled=u),type:"checkbox",id:"customUrl_enabled"},null,512),[[we,l.item.enabled]])]),d("div",LB,[c[10]||(c[10]=d("label",null,"唯一标识",-1)),J(d("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>l.item.key=u),id:"customUrl_key",class:"pure-input-2-3",placeholder:"英文、数字或下划线"},null,512),[[He,l.item.key]])]),d("div",MB,[c[11]||(c[11]=d("label",null,"显示名称",-1)),J(d("input",{"onUpdate:modelValue":c[2]||(c[2]=u=>l.item.label=u),id:"customUrl_label",class:"pure-input-2-3",placeholder:"菜单文本,尽量简洁"},null,512),[[He,l.item.label]])]),d("div",BB,[c[12]||(c[12]=d("label",null,"图标",-1)),J(d("input",{"onUpdate:modelValue":c[3]||(c[3]=u=>l.item.icon=u),id:"customUrl_icon",class:"pure-input-2-3",placeholder:"图标class、图片链接或图片data:image"},null,512),[[He,l.item.icon]]),c[13]||(c[13]=L(" ",-1)),l.item.icon?(_(),A("span",OB,[d("img",{src:l.item.icon,referrerpolicy:"no-referrer",width:"25"},null,8,RB)])):de("",true)]),d("div",FB,[d("label",{onDblclick:s}," 链接 ",32),J(d("textarea",{"onUpdate:modelValue":c[4]||(c[4]=u=>l.item.url=u),id:"customUrl_url",class:"pure-input-2-3",placeholder:"链接地址,支持变量,变量列表请点击右侧「查看变量」"},null,512),[[He,l.item.url]]),c[14]||(c[14]=L(" ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:r},"查看变量")]),d("div",NB,[c[15]||(c[15]=d("label",null,"后台打开",-1)),J(d("input",{"onUpdate:modelValue":c[5]||(c[5]=u=>l.item.openInBackground=u),id:"customUrl_openInBackground",type:"checkbox"},null,512),[[we,l.item.openInBackground]])]),d("div",UB,[c[16]||(c[16]=d("label",null,"备注",-1)),J(d("input",{"onUpdate:modelValue":c[6]||(c[6]=u=>l.item.memo=u),id:"customUrl_memo",class:"pure-input-2-3"},null,512),[[He,l.item.memo]])]),n.value?(_(),A("div",jB,[c[17]||(c[17]=d("label",null,"Mutation",-1)),J(d("textarea",{"onUpdate:modelValue":c[7]||(c[7]=u=>l.item.mutation=u),id:"customUrl_mutation",class:"pure-input-2-3",placeholder:"自定义代码生成最终链接,具体请看右侧「查看说明」"},null,512),[[He,l.item.mutation]]),c[18]||(c[18]=L(" ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:a},"查看说明")])):de("",true)])],32)]))}}),Ay=Ae(zB,[["__file","CustomUrl.vue"]]),HB={class:"ce-config ce-search-urls ce-custom-urls"},VB=["value"],qB=["value"],WB={class:"ce-menu-urls-builtin"},KB={key:0,class:"item-icon"},GB=["src"],JB=["for"],YB=["id","onUpdate:modelValue"],QB={class:"text-info item-memo"},XB=["onClick"],ZB={class:"ce-custom-urls-list"},eO={class:"ce-custom-urls-actions"},tO=["disabled"],nO=xe({__name:"SearchUrls",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>cr()),t=await t,n(),t)),i=K(([t,n]=Mt(()=>ki(io.search)),t=await t,n(),t)),s=We(()=>[...o.value.filter(m=>m.enabled),...i.value.filter(m=>m.enabled)]),r=([t,n]=Mt(()=>ut()),t=await t,n(),t),a=K(r.defaultSearch||""),l=K(r.keyToTriggerSearchScope||Jn.none);St(async()=>{}),ze(o,lt(async m=>{const y=[];m.forEach(x=>{x.enabled&&y.push(x.key);}),await dx(y),Q({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),ze(a,lt(async m=>{const y=await ut();y.defaultSearch=m,await ya(y),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250)),ze(l,lt(async m=>{const y=await ut();y.keyToTriggerSearchScope=m,await ya(y),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function c(){const m=[];for(const y of i.value){if(!await u(y,m.length))return;if(m.includes(y.key)){Q({icon:"error",title:`第 ${m.length+1} 个记录的「唯一标识: ${y.key}」重复!`});return}m.push(y.key);}await _m(io.search,i.value),Q({icon:"success",title:"保存成功!"});}async function u(m,y){const x=/^\w+$/;return m.key=m.key.trim(),x.test(m.key)?(m.label=m.label.trim(),m.label===""?(Q({icon:"error",title:`第 ${y+1} 个记录的「显示名称」不能为空!`}),false):(m.url=m.url.trim(),m.url===""?(Q({icon:"error",title:`第 ${y+1} 个记录的「链接」不能为空!`}),false):(m.icon=m.icon.trim(),m.memo=m.memo.trim(),true))):(Q({icon:"error",title:`第 ${y+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function f(){i.value.push(Ct({key:ja()}));}async function p(m,y){const{isConfirmed:x}=await q.fire({icon:"warning",html:`确定要删除第 ${y+1} 个记录「${m.label}」吗?`});x&&(i.value.splice(y,1),await c(),Q({icon:"success",title:`「${m.label}」已删除!`}));}async function g(m){const y=JSON.stringify(m,null,2),x=`ce-url-item-denifition-${m.key}`,{isConfirmed:k}=await q.fire({title:`「${m.label}」的定义`,html:`<h3>${m.memo}</h3>
<pre id="${x}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(x).textContent=y;}});k&&(navigator.clipboard.writeText(y),Q({icon:"success",title:"已复制到剪贴板!"}));}return (m,y)=>(_(),A("div",HB,[d("form",{class:"pure-form",onSubmit:y[2]||(y[2]=pt(()=>{},["prevent"]))},[d("fieldset",null,[y[4]||(y[4]=d("label",{class:"ce-label ce-label-primary"},"默认搜索",-1)),y[5]||(y[5]=L(" ",-1)),J(d("select",{"onUpdate:modelValue":y[0]||(y[0]=x=>a.value=x)},[(_(true),A(Se,null,Ue(s.value,(x,k)=>(_(),A("option",{key:k,value:x.key},U(x.label),9,VB))),128))],512),[[wn,a.value]]),y[6]||(y[6]=L(" ",-1)),y[7]||(y[7]=d("label",{class:"ce-label ce-label-success"},"触发选择搜索目录的按键",-1)),y[8]||(y[8]=L(" ",-1)),J(d("select",{id:"basic_keyToTriggerSelectSearchScope","onUpdate:modelValue":y[1]||(y[1]=x=>l.value=x)},[(_(true),A(Se,null,Ue(te(Jn),(x,k)=>(_(),A("option",{key:k,value:k},U(x),9,qB))),128))],512),[[wn,l.value]])])],32),d("h1",null,[y[9]||(y[9]=L("预置搜索菜单 ",-1)),J(d("small",null,"( "+U(o.value.length)+" )",513),[[Gt,o.value.length]])]),d("div",WB,[d("form",{class:"pure-form pure-form-aligned",onSubmit:y[3]||(y[3]=pt(()=>{},["prevent"]))},[d("fieldset",null,[(_(true),A(Se,null,Ue(o.value,(x,k)=>(_(),A("div",{key:k,class:"pure-control-group"},[x.icon?(_(),A("span",KB,[d("img",{src:x.icon,referrerpolicy:"no-referrer",width:"25"},null,8,GB)])):de("",true),d("label",{for:`builtin_${x.key}`},U(x.label),9,JB),J(d("input",{id:`builtin_${x.key}`,type:"checkbox","onUpdate:modelValue":I=>x.enabled=I},null,8,YB),[[we,x.enabled]]),y[10]||(y[10]=L(" ",-1)),d("span",QB,U(x.memo),1),y[11]||(y[11]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:I=>g(x)},"查看定义",8,XB)]))),128))])],32)]),d("h1",null,[y[12]||(y[12]=L("自定义搜索菜单 ",-1)),J(d("small",null,"( "+U(i.value.length)+" )",513),[[Gt,i.value.length]])]),d("div",ZB,[(_(true),A(Se,null,Ue(i.value,(x,k)=>(_(),nt(Ay,{key:k,item:x,index:k,onDelete:I=>p(x,k)},null,8,["item","index","onDelete"]))),128))]),d("div",eO,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:c,disabled:!i.value.length}," 保存自定义搜索菜单 ",8,tO),y[13]||(y[13]=L(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:f}," + 添加自定义搜索菜单 ")])]))}}),oO=Ae(nO,[["__file","SearchUrls.vue"]]),iO={class:"ce-config ce-play-urls ce-custom-urls"},sO=["value"],rO={class:"ce-menu-urls-builtin"},aO={key:0,class:"item-icon"},lO=["src"],uO=["for"],cO=["id","onUpdate:modelValue"],dO={class:"text-info item-memo"},fO=["onClick"],pO=["innerHTML"],hO={class:"ce-custom-urls-list"},mO={class:"ce-custom-urls-actions"},gO=["disabled"],wO=xe({__name:"PlayUrls",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>Sm()),t=await t,n(),t)),i=K(([t,n]=Mt(()=>ki(io.play)),t=await t,n(),t)),s=([t,n]=Mt(()=>ut()),t=await t,n(),t),r=K(s.defaultPlayer||""),a=We(()=>[...o.value.filter(g=>g.enabled),...i.value.filter(g=>g.enabled)]);St(async()=>{}),ze(o,lt(async g=>{const m=[];g.forEach(y=>{y.enabled&&m.push(y.key);}),await fx(m),Q({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),ze(r,lt(async g=>{const m=await ut();m.defaultPlayer=g,await ya(m),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function l(){const g=[];for(const m of i.value){if(!await c(m,g.length))return;if(g.includes(m.key)){Q({icon:"error",title:`第 ${g.length+1} 个记录的「唯一标识: ${m.key}」重复!`});return}g.push(m.key);}await _m(io.play,i.value),Q({icon:"success",title:"保存成功!"});}async function c(g,m){const y=/^\w+$/;return g.key=g.key.trim(),y.test(g.key)?(g.label=g.label.trim(),g.label===""?(Q({icon:"error",title:`第 ${m+1} 个记录的「显示名称」不能为空!`}),false):(g.url=g.url.trim(),g.url===""?(Q({icon:"error",title:`第 ${m+1} 个记录的「链接」不能为空!`}),false):(g.icon=g.icon.trim(),g.memo=g.memo.trim(),true))):(Q({icon:"error",title:`第 ${m+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function u(){i.value.push(Ct({key:ja()}));}async function f(g,m){const{isConfirmed:y}=await q.fire({icon:"warning",html:`确定要删除第 ${m+1} 个记录「${g.label}」吗?`});y&&(i.value.splice(m,1),await l(),Q({icon:"success",title:`「${g.label}」已删除!`}));}async function p(g){const m=JSON.stringify(g,null,2),y=`ce-url-item-denifition-${g.key}`,{isConfirmed:x}=await q.fire({title:`「${g.label}」的定义`,html:`<h3>${g.memo}</h3>
<pre id="${y}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(y).innerText=m;}});x&&(navigator.clipboard.writeText(m),Q({icon:"success",title:"已复制到剪贴板!"}));}return (g,m)=>(_(),A("div",iO,[d("form",{class:"pure-form pure-form-aligned",onSubmit:m[1]||(m[1]=pt(()=>{},["prevent"]))},[d("fieldset",null,[m[3]||(m[3]=d("span",{class:"ce-label ce-label-primary"},"默认播放菜单: ",-1)),m[4]||(m[4]=L(" ",-1)),J(d("select",{"onUpdate:modelValue":m[0]||(m[0]=y=>r.value=y)},[(_(true),A(Se,null,Ue(a.value,(y,x)=>(_(),A("option",{key:x,value:y.key},U(y.label),9,sO))),128))],512),[[wn,r.value]])])],32),d("h1",null,[m[5]||(m[5]=L("预置播放菜单 ",-1)),J(d("small",null,"( "+U(o.value.length)+" )",513),[[Gt,o.value.length]])]),m[10]||(m[10]=d("div",{class:"ce-tips"},[d("p",null,[L("支持常见的视频、音频和图片格式,也支持目录播放。预置播放菜单使用的链接变量是 "),d("b",null,"{clouddrive_stream_url}"),L(" , 会根据文件或目录自动使用相应的链接。")]),d("p",null,"调用本地播放器播放功能依赖CloudDrive,请先在「CloudDrive」设置面板中进行配置。")],-1)),d("div",rO,[d("form",{class:"pure-form pure-form-aligned",onSubmit:m[2]||(m[2]=pt(()=>{},["prevent"]))},[d("fieldset",null,[(_(true),A(Se,null,Ue(o.value,(y,x)=>(_(),A("div",{key:x,class:"pure-control-group"},[y.icon?(_(),A("span",aO,[d("img",{src:y.icon,referrerpolicy:"no-referrer",width:"25"},null,8,lO)])):de("",true),d("label",{for:`builtin_${y.key}`},U(y.label),9,uO),J(d("input",{id:`builtin_${y.key}`,type:"checkbox","onUpdate:modelValue":k=>y.enabled=k},null,8,cO),[[we,y.enabled]]),m[6]||(m[6]=L(" ",-1)),d("span",dO,U(y.memo),1),m[7]||(m[7]=L(" ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:k=>p(y)},"查看定义",8,fO),y.extraMemo?(_(),A("span",{key:1,innerHTML:y.extraMemo,class:"extra-memo"},null,8,pO)):de("",true)]))),128))])],32)]),d("h1",null,[m[8]||(m[8]=L("自定义播放菜单 ",-1)),J(d("small",null,"( "+U(i.value.length)+" )",513),[[Gt,i.value.length]])]),d("div",hO,[(_(true),A(Se,null,Ue(i.value,(y,x)=>(_(),nt(Ay,{key:x,item:y,index:x,onDelete:k=>f(y,x)},null,8,["item","index","onDelete"]))),128))]),m[11]||(m[11]=d("div",{class:"ce-tips"}," 编辑后,请记得点击「保存自定义播放菜单」。 ",-1)),d("div",mO,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:l,disabled:!i.value.length}," 保存自定义播放菜单 ",8,gO),m[9]||(m[9]=L(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:u}," + 添加自定义播放菜单 ")])]))}}),yO=Ae(wO,[["__file","PlayUrls.vue"]]),bO={class:"ce-config ce-anxia-config"},vO={class:"pure-form pure-form-aligned"},xO={class:"pure-control-group"},_O={class:"pure-control-group"},CO={class:"pure-control-group"},kO=["value"],SO=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>sm()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await I0(i),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.listConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),A("div",bO,[d("form",vO,[d("fieldset",null,[d("div",xO,[s[3]||(s[3]=d("label",{for:"defaultWebFull"},"自动网页全屏",-1)),J(d("input",{id:"defaultWebFull",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.defaultWebFull=r)},null,512),[[we,o.value.defaultWebFull]]),s[4]||(s[4]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动使播放器网页全屏。")],-1))]),d("div",_O,[s[5]||(s[5]=d("label",{for:"defaultOpenPlayList"},"自动展开播放列表",-1)),J(d("input",{id:"defaultOpenPlayList",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.defaultOpenPlayList=r)},null,512),[[we,o.value.defaultOpenPlayList]]),s[6]||(s[6]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动展开播放列表。")],-1))]),d("div",CO,[s[8]||(s[8]=d("label",{for:"defaultDefinition"},"默认清晰度",-1)),J(d("select",{id:"defaultDefinition","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.defaultDefinition=r)},[s[7]||(s[7]=d("option",{value:""},"官方默认",-1)),(_(true),A(Se,null,Ue(te(im),(r,a)=>(_(),A("option",{key:a,value:a},U(r),9,kO))),128))],512),[[wn,o.value.defaultDefinition]]),s[9]||(s[9]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-warning"},"如果没有该清晰度,则会使用官方默认。")],-1))])])])]))}}),$O=Ae(SO,[["__file","Config.vue"]]),Py=gt.share;function EO(e){return {autoConfirmPassword:true,pageWidth:"",showListSummary:true,freshMode:false,...e}}async function Iy(){const e=EO(),t=await Qe.get(Py,e);return {...e,...t}}async function AO(e){await Qe.set(Py,e);}function Dy(e={}){return {share_code:"",offset:0,limit:1150,receive_code:"",cid:"",...e}}function PO(e,t=true,n=false){const o=Dy();let i=e.match(/((115|115cdn|anxia)\.com(\/s)?\/)?([a-z\d]{6,})(\?password=(\w{4,}))?/);if(!i)throw new Error("无法解析分享链接");const s=!!i[1];if(!s&&!n)throw new Error("无法解析分享链接: 缺少有效的域名或访问码");if(o.share_code=i[4],i[5])return o.receive_code=i[6],o;if(i=e.match(/(\?|&)password=(\w{4,})/),i&&(o.receive_code=i[2]),!o.receive_code&&t&&(i=e.match(/访问码(:|:)\s*(\w{4,})/),i&&(o.receive_code=i[2])),!s&&!o.receive_code)throw new Error("分享链接缺少访问码");return o}function IO(e){const t=Dy(),n=e.match(/\/([a-z\d]{6,})(?:-(\w{4,}))?\//);if(!n)throw new Error("无法解析口令");return t.share_code=n[1],n[2]&&(t.receive_code=n[2]),t}function DO(e,t=true,n=false){try{return PO(e,t,n)}catch{}try{return IO(e)}catch{}throw new Error("无法解析分享链接或口令")}function TO(e,t=true,n=false){e=e.replace(/[,,]\s*(https:\/\/)/g,`
$1`);const o=[],i=e.split(`
`).map(r=>r.trim()).filter(r=>r);for(const r of i)try{const a=DO(r,t,n);o.push(a);}catch{}const s={};for(const r of o)r.share_code&&!s[r.share_code]&&(s[r.share_code]=r);return Object.values(s)}function LO(e){const{share_code:t,receive_code:n}=e;if(!t)throw new Error("分享链接缺少 share_code");let o=`https://115.com/s/${t}`;return n&&(o+=`?password=${n}`),o}const MO={class:"ce-tools-item ce-share-tool"},BO={class:"pure-form pure-form-aligned"},OO={class:"pure-control-group"},RO={key:0,style:{padding:"4px 0"}},FO={style:{width:"auto"}},NO={key:0,style:{padding:"6px","max-height":"300px","overflow-y":"auto",border:"1px solid #ccc"}},UO=xe({__name:"ShareTool",setup(e){const n=K(false),o=K(""),i=K(null),s=K([]);return St(async()=>{}),Ht(async()=>{}),ze(o,lt(r=>{if(s.value=[],r=r.trim(),!!r)try{if(s.value=TO(r,!0,!0),console.log("[parseBatch]",s.value),!s.value.length)throw new Error("未找到有效的分享链接或口令");n.value;const a=[];for(const l of s.value){const c=LO(l);a.push(c);}mr(a,!0),o.value="";}catch(a){console.error(a),Oi.fire({icon:"error",title:`解析分享内容失败:${a instanceof Error?a.message:String(a)}`}),i.value&&i.value.select();}},300),{immediate:true}),(r,a)=>(_(),A("div",MO,[d("form",BO,[d("fieldset",null,[a[5]||(a[5]=d("legend",null,"分享工具",-1)),d("div",OO,[a[4]||(a[4]=d("div",null,[d("b",null,"打开分享详情"),L(" - 粘贴分享内容,自动打开分享详情页面,支持链接和口令,支持多个")],-1)),J(d("textarea",{ref_key:"refShareText",ref:i,rows:"2","onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),placeholder:"请粘贴分享内容",style:{width:"80%"},onclick:"this.select()"},null,512),[[He,o.value]]),te(true)?de("",true):(_(),A("div",RO,[d("label",FO,[J(d("input",{type:"checkbox","onUpdate:modelValue":a[1]||(a[1]=l=>n.value=l)},null,512),[[we,n.value]]),a[3]||(a[3]=L(" 调试模式",-1))]),d("button",{type:"button",onClick:a[2]||(a[2]=l=>o.value="")},"清空"),s.value&&s.value.length?(_(),A("div",NO,[d("pre",null,U(s.value),1)])):de("",true)]))])])])]))}}),jO=Ae(UO,[["__file","ShareTool.vue"]]),zO={class:"ce-config ce-share-config"},HO={class:"pure-control-group"},VO={class:"pure-control-group"},qO={class:"pure-control-group"},WO={class:"pure-control-group"},KO=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>Iy()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await AO(i),Q({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.shareConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),A("div",zO,[re(jO),d("form",{class:"pure-form pure-form-aligned",onSubmit:s[4]||(s[4]=pt(()=>{},["prevent"]))},[d("fieldset",null,[s[13]||(s[13]=d("legend",null,"分享设置",-1)),d("div",HO,[s[5]||(s[5]=d("label",{for:"autoAccess"},"自动确定访问码",-1)),J(d("input",{id:"autoAccess",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.autoConfirmPassword=r)},null,512),[[we,o.value.autoConfirmPassword]]),s[6]||(s[6]=d("div",{class:"pure-form-message text-success"}," 如果打开页面时已有访问码,则自动确定进入分享详情。 ",-1))]),d("div",VO,[s[7]||(s[7]=d("label",{for:"pageWidth"},"页面宽度",-1)),J(d("input",{id:"pageWidth",class:"input-small","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.pageWidth=r)},null,512),[[He,o.value.pageWidth]]),s[8]||(s[8]=d("div",{class:"pure-form-message text-success"},[L(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),L("。 ")],-1))]),d("div",qO,[s[9]||(s[9]=d("label",{for:"showListSummary"},"显示列表概要",-1)),J(d("input",{id:"showListSummary",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.showListSummary=r)},null,512),[[we,o.value.showListSummary]]),s[10]||(s[10]=d("div",{class:"pure-form-message text-success"}," 在列表`名称`列头部显示当前列表的概要信息,如文件数量、文件合计大小、目录数量等。 ",-1))]),d("div",WO,[s[11]||(s[11]=d("label",{for:"freshMode"},"清爽模式",-1)),J(d("input",{id:"freshMode",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>o.value.freshMode=r)},null,512),[[we,o.value.freshMode]]),s[12]||(s[12]=d("div",{class:"pure-form-message text-success"},[L(" 隐藏顶部广告和底部警告。"),d("span",{class:"text-warning"},"请注意,这些区域的内容可能会发生变化,隐藏后可能会使你错过相关信息,比如新活动等。")],-1))])])],32)]))}}),GO=Ae(KO,[["__file","Config.vue"]]);var JO={name:"115不大助手",version:"0.8.14"};const YO=xe({__name:"FeedbackButton",setup(e){const t=JO,n=Yy;function o(){let s=`脚本: ${t.name} - v${t.version}
`;return s+=`TM: ${n.version}
`,s+=`UA: ${navigator.userAgent}
`,s+=`我在使用脚本的 xxxxxx 功能时,出现了问题,希望你能帮我解决。
`,s+=`复现步骤: xxxxxx
`,s+=`问题截图:
`,s}function i(){let s=o();ft(s),Q({icon:"success",text:"已复制反馈模版,请添加详细的描述以便排查和解决问题。"});}return (s,r)=>(_(),A("button",{type:"button",class:"pure-button pure-button-success",onClick:i}," 复制反馈模版 "))}}),QO=Ae(YO,[["__file","FeedbackButton.vue"]]);var XO={name:"115不大助手",version:"0.8.14",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"https://greasyfork.org/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const ZO={class:"ce-about"},e4=["href"],t4=xe({__name:"About",setup(e){const t=XO;return (n,o)=>(_(),A("div",ZO,[o[1]||(o[1]=d("p",null,"115不大助手(以下简称「脚本」),是一个仅用于学习编程的小脚本。",-1)),o[2]||(o[2]=d("br",null,null,-1)),o[3]||(o[3]=d("p",null,"脚本不会收集您的任何个人信息。",-1)),o[4]||(o[4]=d("p",null,"脚本仅借助了官方已有的功能,无任何破解行为。",-1)),o[5]||(o[5]=d("p",null,"脚本代码本身已包含全部依赖,无任何远程引用。",-1)),o[6]||(o[6]=d("br",null,null,-1)),o[7]||(o[7]=d("br",null,null,-1)),o[8]||(o[8]=d("br",null,null,-1)),d("div",null,[re(QO)]),o[9]||(o[9]=d("br",null,null,-1)),o[10]||(o[10]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[d("a",{href:te(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[L(U(te(t).name)+" ",1),d("small",null,"v"+U(te(t).version),1)],8,e4),o[0]||(o[0]=L(" ",-1)),d("small",null,"by "+U(te(t).author.name),1)])]))}}),n4=Ae(t4,[["__file","About.vue"]]);var o4={name:"115不大助手",version:"0.8.14",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"https://greasyfork.org/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const i4={class:"ce-config-main"},s4={class:"ce-config-main-header"},r4={class:"ce-intro"},a4=["href"],l4={class:"ce-config-main-body"},u4=xe({__name:"Config",setup(e){const t=o4,n=K(false),o=K(false),i=K();Ht(async()=>{window.addEventListener("message",c=>{const{event:u,body:f}=c.data;u===ot.openConfig&&(n.value||(n.value=true),s(f)),u===ot.closeConfig&&r();},false);});async function s(c){o.value=true,console.log("[openDrawer]",c),c&&(await mi(),i.value?.selectTab(`#${c}`));}async function r(){o.value=false;}async function a(...c){console.log("[tabClicked]",c);}async function l(...c){console.log("[tabChanged]",c);}return (c,u)=>(_(),nt(_g,null,{default:me(()=>[d("div",i4,[re(Qs,{"is-open":o.value,onClose:r,"max-width":"1225px",speed:500},{default:me(()=>[d("div",s4,[u[1]||(u[1]=d("h1",null,"设置",-1)),d("span",r4,[d("a",{href:te(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[L(U(te(t).name)+" ",1),d("small",null,"v"+U(te(t).version),1)],8,a4),u[0]||(u[0]=L(" ",-1)),d("small",null,"by "+U(te(t).author.name),1)]),d("div",{class:"ce-config-main-close",onClick:r},"关闭")]),d("div",l4,[re(te(ZT),{ref_key:"refTabs",ref:i,options:{useUrlFragment:!1},onClicked:a,onChanged:l},{default:me(()=>[re(te(kn),{id:te(yt).basic,name:te(Cn).basic},{default:me(()=>[re(AL)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).clouddrive,name:te(Cn).clouddrive},{default:me(()=>[re(qL)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).list,name:te(Cn).list},{default:me(()=>[re(yM)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).search,name:te(Cn).search},{default:me(()=>[re($M)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).menus,name:te(Cn).menus},{default:me(()=>[re(PB)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).searchMenus,name:te(Cn).searchMenus},{default:me(()=>[re(oO)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).playMenus,name:te(Cn).playMenus},{default:me(()=>[re(yO)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).offline,name:te(Cn).offline},{default:me(()=>[re(Iw)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).tools,name:te(Cn).tools},{default:me(()=>[re(h3)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).anxia,name:te(Cn).anxia},{default:me(()=>[re($O)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).share,name:te(Cn).share},{default:me(()=>[re(GO)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).about,name:te(Cn).about},{default:me(()=>[re(n4)]),_:1},8,["id","name"])]),_:1},512)])]),_:1},8,["is-open"])])]),_:1}))}}),c4=Ae(u4,[["__file","Config.vue"]]),d4=".ce-login-page a.ce-entry{display:inline-block;background:#fefcea;padding:2px 6px;border-radius:4px;border:1px solid #234888;margin:0 4px}";At(d4);async function f4(){const{host:e}=location;["115.com","anxia.com","115cdn.com","share.115.com","life.115.com"].includes(e)&&window.top===window.self&&(console.log(`[Cloud115 Enhancer - main] running in ${e}`),p4(),tB(),eB());}async function p4(){console.log("[Cloud115 Enhancer - main] injectUI");const e="cloud115ConfigMain",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=uo(c4);n.component("VDropdown",Ai),n.directive("tooltip",md),n.mount(`#${e}`),Cs("设置",async()=>{window.postMessage({event:ot.openConfig});}),Cs("扫码获取Cookie",async()=>{window.postMessage({event:ot.openConfig,body:yt.tools});}),Cs("解析分享文本",async()=>{window.postMessage({event:ot.openConfig,body:yt.share});}),oB();}const h4='@charset "UTF-8";.ce-list-page .header-name div.desc{line-height:32px}.ce-filter-ext-wrap a{min-width:24px!important;max-width:50px!important;width:auto!important;height:20px;line-height:20px!important;padding:4px 6px;background:#ededed;font-size:14px!important}.list-contents ul li .ce-btn-folder-size{background:#f2f4f8;border-radius:6px;padding:4px;cursor:pointer}.list-contents ul li .ce-s-d{font-size:11px;color:#8f8f8f}.list-contents ul li .ce-file-sha1{position:absolute;top:20px;color:#999;cursor:pointer;font-size:90%}.list-contents ul li.ce-show-sha1 .file-name{height:40px}.list-contents ul li.ce-size-got .ce-btn-folder-size{opacity:.6;margin-left:6px}.list-contents ul li.ce-size-got .ce-btn-folder-size:hover{opacity:1}#js_top_header_file_path_box .ce-path-btn{background-color:#f4f6fc;height:32px}#js_top_header_file_path_box .ce-path-btn#ceGotoPath{margin-right:6px}#js_top_header_file_path_box.ce-goto-path-active{height:60px}#js_top_header_file_path_box.ce-goto-path-active div#js_path_add_dir{height:32px}#js_top_header_file_path_box #ceGotoPathApp{position:absolute;top:40px}#js_top_panel_box #js_operate_box.ce-show-quick-entry{display:none!important;animation:ce-hide-hint .3s ease-in-out}.shortkey-info-dialog.ce-sid-active{font-size:14px;padding:0;max-height:66vh;overflow-y:auto}.ce-handle-create-dir label{padding:6px 30px 0!important;font-size:18px}.ce-handle-create-dir input{width:22px;height:22px;vertical-align:sub}.ce-handle-create-dir p{font-size:14px;color:#ff4949;margin-bottom:10px;padding-left:30px}.ce-selector-page li.ce-decorated:hover .ce-file-inj-container{opacity:1}.ce-selector-page li.ce-decorated .file-name{top:2px!important}.ce-selector-page li.ce-decorated .ce-file-inj-container{padding:2px;border-radius:4px;position:absolute;left:70px;top:2px;font-size:12px;opacity:.4}.ce-selector-page li.ce-decorated .ce-file-sha1{cursor:pointer;color:#909399}.ce-selector-page li.ce-decorated .ce-file-size{margin-left:8px;font-weight:700;color:#1890ff}.ce-rename-dlg .file-rename ul li:nth-child(1){border:none}.ce-rename-dlg .rename-ext{padding-top:10px}.ce-rename-dlg .rename-ext textarea[rel]{visibility:visible;overflow:auto;width:100%;resize:vertical!important}.ce-rename-dlg .rename-ext .btn-clear[rel]{display:none!important}.ce-rename-dlg .rename-ext .ce-btn-clear{margin-left:0}.ce-rename-dlg .rename-ext input[rel]{display:none!important}.ce-rename-dlg .rename-ext .ext-name{position:absolute;top:-18px;line-height:24px;height:24px;border-radius:4px}';At(h4);function ko(e){return Array.isArray?Array.isArray(e):My(e)==="[object Array]"}function m4(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function g4(e){return e==null?"":m4(e)}function Yn(e){return typeof e=="string"}function Ty(e){return typeof e=="number"}function w4(e){return e===true||e===false||y4(e)&&My(e)=="[object Boolean]"}function Ly(e){return typeof e=="object"}function y4(e){return Ly(e)&&e!==null}function mn(e){return e!=null}function au(e){return !e.trim().length}function My(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const b4="Incorrect 'index' type",v4=e=>`Invalid value for key ${e}`,x4=e=>`Pattern length exceeds max of ${e}.`,_4=e=>`Missing ${e} property in key`,C4=e=>`Property 'weight' in key '${e}' must be a positive integer`,jp=Object.prototype.hasOwnProperty;class k4{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(o=>{let i=By(o);this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight;}),this._keys.forEach(o=>{o.weight/=n;});}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function By(e){let t=null,n=null,o=null,i=1,s=null;if(Yn(e)||ko(e))o=e,t=zp(e),n=tc(e);else {if(!jp.call(e,"name"))throw new Error(_4("name"));const r=e.name;if(o=r,jp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(C4(r));t=zp(r),n=tc(r),s=e.getFn;}return {path:t,id:n,weight:i,src:o,getFn:s}}function zp(e){return ko(e)?e:e.split(".")}function tc(e){return ko(e)?e.join("."):e}function S4(e,t){let n=[],o=false;const i=(s,r,a)=>{if(mn(s))if(!r[a])n.push(s);else {let l=r[a];const c=s[l];if(!mn(c))return;if(a===r.length-1&&(Yn(c)||Ty(c)||w4(c)))n.push(g4(c));else if(ko(c)){o=true;for(let u=0,f=c.length;u<f;u+=1)i(c[u],r,a+1);}else r.length&&i(c,r,a+1);}};return i(e,Yn(t)?t.split("."):t,0),o?n:n[0]}const $4={includeMatches:false,findAllMatches:false,minMatchCharLength:1},E4={isCaseSensitive:false,ignoreDiacritics:false,includeScore:false,keys:[],shouldSort:true,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},A4={location:0,threshold:.6,distance:100},P4={useExtendedSearch:false,getFn:S4,ignoreLocation:false,ignoreFieldNorm:false,fieldNormWeight:1};var Te={...E4,...$4,...A4,...P4};const I4=/[^ ]+/g;function D4(e=1,t=3){const n=new Map,o=Math.pow(10,t);return {get(i){const s=i.match(I4).length;if(n.has(s))return n.get(s);const r=1/Math.pow(s,.5*e),a=parseFloat(Math.round(r*o)/o);return n.set(s,a),a},clear(){n.clear();}}}class Id{constructor({getFn:t=Te.getFn,fieldNormWeight:n=Te.fieldNormWeight}={}){this.norm=D4(n,3),this.getFn=t,this.isCreated=false,this.setIndexRecords();}setSources(t=[]){this.docs=t;}setIndexRecords(t=[]){this.records=t;}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((n,o)=>{this._keysMap[n.id]=o;});}create(){this.isCreated||!this.docs.length||(this.isCreated=true,Yn(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n);}):this.docs.forEach((t,n)=>{this._addObject(t,n);}),this.norm.clear());}add(t){const n=this.size();Yn(t)?this._addString(t,n):this._addObject(t,n);}removeAt(t){this.records.splice(t,1);for(let n=t,o=this.size();n<o;n+=1)this.records[n].i-=1;}getValueForItemAtKeyId(t,n){return t[this._keysMap[n]]}size(){return this.records.length}_addString(t,n){if(!mn(t)||au(t))return;let o={v:t,i:n,n:this.norm.get(t)};this.records.push(o);}_addObject(t,n){let o={i:n,$:{}};this.keys.forEach((i,s)=>{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(mn(r)){if(ko(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(mn(u))if(Yn(u)&&!au(u)){let f={v:u,i:c,n:this.norm.get(u)};a.push(f);}else ko(u)&&u.forEach((f,p)=>{l.push({nestedArrIndex:p,value:f});});}o.$[s]=a;}else if(Yn(r)&&!au(r)){let a={v:r,n:this.norm.get(r)};o.$[s]=a;}}}),this.records.push(o);}toJSON(){return {keys:this.keys,records:this.records}}}function Oy(e,t,{getFn:n=Te.getFn,fieldNormWeight:o=Te.fieldNormWeight}={}){const i=new Id({getFn:n,fieldNormWeight:o});return i.setKeys(e.map(By)),i.setSources(t),i.create(),i}function T4(e,{getFn:t=Te.getFn,fieldNormWeight:n=Te.fieldNormWeight}={}){const{keys:o,records:i}=e,s=new Id({getFn:t,fieldNormWeight:n});return s.setKeys(o),s.setIndexRecords(i),s}function Nr(e,{errors:t=0,currentLocation:n=0,expectedLocation:o=0,distance:i=Te.distance,ignoreLocation:s=Te.ignoreLocation}={}){const r=t/e.length;if(s)return r;const a=Math.abs(o-n);return i?r+a/i:a?1:r}function L4(e=[],t=Te.minMatchCharLength){let n=[],o=-1,i=-1,s=0;for(let r=e.length;s<r;s+=1){let a=e[s];a&&o===-1?o=s:!a&&o!==-1&&(i=s-1,i-o+1>=t&&n.push([o,i]),o=-1);}return e[s-1]&&s-o>=t&&n.push([o,s-1]),n}const ii=32;function M4(e,t,n,{location:o=Te.location,distance:i=Te.distance,threshold:s=Te.threshold,findAllMatches:r=Te.findAllMatches,minMatchCharLength:a=Te.minMatchCharLength,includeMatches:l=Te.includeMatches,ignoreLocation:c=Te.ignoreLocation}={}){if(t.length>ii)throw new Error(x4(ii));const u=t.length,f=e.length,p=Math.max(0,Math.min(o,f));let g=s,m=p;const y=a>1||l,x=y?Array(f):[];let k;for(;(k=e.indexOf(t,m))>-1;){let j=Nr(t,{currentLocation:k,expectedLocation:p,distance:i,ignoreLocation:c});if(g=Math.min(j,g),m=k+u,y){let ae=0;for(;ae<u;)x[k+ae]=1,ae+=1;}}m=-1;let I=[],E=1,D=u+f;const B=1<<u-1;for(let j=0;j<u;j+=1){let ae=0,fe=D;for(;ae<fe;)Nr(t,{errors:j,currentLocation:p+fe,expectedLocation:p,distance:i,ignoreLocation:c})<=g?ae=fe:D=fe,fe=Math.floor((D-ae)/2+ae);D=fe;let se=Math.max(1,p-fe+1),O=r?f:Math.min(p+fe,f)+u,R=Array(O+2);R[O+1]=(1<<j)-1;for(let ce=O;ce>=se;ce-=1){let ye=ce-1,Ce=n[e.charAt(ye)];if(y&&(x[ye]=+!!Ce),R[ce]=(R[ce+1]<<1|1)&Ce,j&&(R[ce]|=(I[ce+1]|I[ce])<<1|1|I[ce+1]),R[ce]&B&&(E=Nr(t,{errors:j,currentLocation:ye,expectedLocation:p,distance:i,ignoreLocation:c}),E<=g)){if(g=E,m=ye,m<=p)break;se=Math.max(1,2*p-m);}}if(Nr(t,{errors:j+1,currentLocation:p,expectedLocation:p,distance:i,ignoreLocation:c})>g)break;I=R;}const H={isMatch:m>=0,score:Math.max(.001,E)};if(y){const j=L4(x,a);j.length?l&&(H.indices=j):H.isMatch=false;}return H}function B4(e){let t={};for(let n=0,o=e.length;n<o;n+=1){const i=e.charAt(n);t[i]=(t[i]||0)|1<<o-n-1;}return t}const Ia=String.prototype.normalize?(e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"")):(e=>e);class Ry{constructor(t,{location:n=Te.location,threshold:o=Te.threshold,distance:i=Te.distance,includeMatches:s=Te.includeMatches,findAllMatches:r=Te.findAllMatches,minMatchCharLength:a=Te.minMatchCharLength,isCaseSensitive:l=Te.isCaseSensitive,ignoreDiacritics:c=Te.ignoreDiacritics,ignoreLocation:u=Te.ignoreLocation}={}){if(this.options={location:n,threshold:o,distance:i,includeMatches:s,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreDiacritics:c,ignoreLocation:u},t=l?t:t.toLowerCase(),t=c?Ia(t):t,this.pattern=t,this.chunks=[],!this.pattern.length)return;const f=(g,m)=>{this.chunks.push({pattern:g,alphabet:B4(g),startIndex:m});},p=this.pattern.length;if(p>ii){let g=0;const m=p%ii,y=p-m;for(;g<y;)f(this.pattern.substr(g,ii),g),g+=ii;if(m){const x=p-ii;f(this.pattern.substr(x),x);}}else f(this.pattern,0);}searchIn(t){const{isCaseSensitive:n,ignoreDiacritics:o,includeMatches:i}=this.options;if(t=n?t:t.toLowerCase(),t=o?Ia(t):t,this.pattern===t){let y={isMatch:true,score:0};return i&&(y.indices=[[0,t.length-1]]),y}const{location:s,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,ignoreLocation:u}=this.options;let f=[],p=0,g=false;this.chunks.forEach(({pattern:y,alphabet:x,startIndex:k})=>{const{isMatch:I,score:E,indices:D}=M4(t,y,x,{location:s+k,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,includeMatches:i,ignoreLocation:u});I&&(g=true),p+=E,I&&D&&(f=[...f,...D]);});let m={isMatch:g,score:g?p/this.chunks.length:1};return g&&i&&(m.indices=f),m}}class Jo{constructor(t){this.pattern=t;}static isMultiMatch(t){return Hp(t,this.multiRegex)}static isSingleMatch(t){return Hp(t,this.singleRegex)}search(){}}function Hp(e,t){const n=e.match(t);return n?n[1]:null}class O4 extends Jo{constructor(t){super(t);}static get type(){return "exact"}static get multiRegex(){return /^="(.*)"$/}static get singleRegex(){return /^=(.*)$/}search(t){const n=t===this.pattern;return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class R4 extends Jo{constructor(t){super(t);}static get type(){return "inverse-exact"}static get multiRegex(){return /^!"(.*)"$/}static get singleRegex(){return /^!(.*)$/}search(t){const o=t.indexOf(this.pattern)===-1;return {isMatch:o,score:o?0:1,indices:[0,t.length-1]}}}class F4 extends Jo{constructor(t){super(t);}static get type(){return "prefix-exact"}static get multiRegex(){return /^\^"(.*)"$/}static get singleRegex(){return /^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class N4 extends Jo{constructor(t){super(t);}static get type(){return "inverse-prefix-exact"}static get multiRegex(){return /^!\^"(.*)"$/}static get singleRegex(){return /^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class U4 extends Jo{constructor(t){super(t);}static get type(){return "suffix-exact"}static get multiRegex(){return /^"(.*)"\$$/}static get singleRegex(){return /^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class j4 extends Jo{constructor(t){super(t);}static get type(){return "inverse-suffix-exact"}static get multiRegex(){return /^!"(.*)"\$$/}static get singleRegex(){return /^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class Fy extends Jo{constructor(t,{location:n=Te.location,threshold:o=Te.threshold,distance:i=Te.distance,includeMatches:s=Te.includeMatches,findAllMatches:r=Te.findAllMatches,minMatchCharLength:a=Te.minMatchCharLength,isCaseSensitive:l=Te.isCaseSensitive,ignoreDiacritics:c=Te.ignoreDiacritics,ignoreLocation:u=Te.ignoreLocation}={}){super(t),this._bitapSearch=new Ry(t,{location:n,threshold:o,distance:i,includeMatches:s,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreDiacritics:c,ignoreLocation:u});}static get type(){return "fuzzy"}static get multiRegex(){return /^"(.*)"$/}static get singleRegex(){return /^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Ny extends Jo{constructor(t){super(t);}static get type(){return "include"}static get multiRegex(){return /^'"(.*)"$/}static get singleRegex(){return /^'(.*)$/}search(t){let n=0,o;const i=[],s=this.pattern.length;for(;(o=t.indexOf(this.pattern,n))>-1;)n=o+s,i.push([o,n-1]);const r=!!i.length;return {isMatch:r,score:r?0:1,indices:i}}}const nc=[O4,Ny,F4,N4,j4,U4,R4,Fy],Vp=nc.length,z4=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,H4="|";function V4(e,t={}){return e.split(H4).map(n=>{let o=n.trim().split(z4).filter(s=>s&&!!s.trim()),i=[];for(let s=0,r=o.length;s<r;s+=1){const a=o[s];let l=false,c=-1;for(;!l&&++c<Vp;){const u=nc[c];let f=u.isMultiMatch(a);f&&(i.push(new u(f,t)),l=true);}if(!l)for(c=-1;++c<Vp;){const u=nc[c];let f=u.isSingleMatch(a);if(f){i.push(new u(f,t));break}}}return i})}const q4=new Set([Fy.type,Ny.type]);class W4{constructor(t,{isCaseSensitive:n=Te.isCaseSensitive,ignoreDiacritics:o=Te.ignoreDiacritics,includeMatches:i=Te.includeMatches,minMatchCharLength:s=Te.minMatchCharLength,ignoreLocation:r=Te.ignoreLocation,findAllMatches:a=Te.findAllMatches,location:l=Te.location,threshold:c=Te.threshold,distance:u=Te.distance}={}){this.query=null,this.options={isCaseSensitive:n,ignoreDiacritics:o,includeMatches:i,minMatchCharLength:s,findAllMatches:a,ignoreLocation:r,location:l,threshold:c,distance:u},t=n?t:t.toLowerCase(),t=o?Ia(t):t,this.pattern=t,this.query=V4(this.pattern,this.options);}static condition(t,n){return n.useExtendedSearch}searchIn(t){const n=this.query;if(!n)return {isMatch:false,score:1};const{includeMatches:o,isCaseSensitive:i,ignoreDiacritics:s}=this.options;t=i?t:t.toLowerCase(),t=s?Ia(t):t;let r=0,a=[],l=0;for(let c=0,u=n.length;c<u;c+=1){const f=n[c];a.length=0,r=0;for(let p=0,g=f.length;p<g;p+=1){const m=f[p],{isMatch:y,indices:x,score:k}=m.search(t);if(y){if(r+=1,l+=k,o){const I=m.constructor.type;q4.has(I)?a=[...a,...x]:a.push(x);}}else {l=0,r=0,a.length=0;break}}if(r){let p={isMatch:true,score:l/r};return o&&(p.indices=a),p}}return {isMatch:false,score:1}}}const oc=[];function K4(...e){oc.push(...e);}function ic(e,t){for(let n=0,o=oc.length;n<o;n+=1){let i=oc[n];if(i.condition(e,t))return new i(e,t)}return new Ry(e,t)}const Da={AND:"$and",OR:"$or"},sc={PATH:"$path",PATTERN:"$val"},rc=e=>!!(e[Da.AND]||e[Da.OR]),G4=e=>!!e[sc.PATH],J4=e=>!ko(e)&&Ly(e)&&!rc(e),qp=e=>({[Da.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Uy(e,t,{auto:n=true}={}){const o=i=>{let s=Object.keys(i);const r=G4(i);if(!r&&s.length>1&&!rc(i))return o(qp(i));if(J4(i)){const l=r?i[sc.PATH]:s[0],c=r?i[sc.PATTERN]:i[l];if(!Yn(c))throw new Error(v4(l));const u={keyId:tc(l),pattern:c};return n&&(u.searcher=ic(c,t)),u}let a={children:[],operator:s[0]};return s.forEach(l=>{const c=i[l];ko(c)&&c.forEach(u=>{a.children.push(o(u));});}),a};return rc(e)||(e=qp(e)),o(e)}function Y4(e,{ignoreFieldNorm:t=Te.ignoreFieldNorm}){e.forEach(n=>{let o=1;n.matches.forEach(({key:i,norm:s,score:r})=>{const a=i?i.weight:null;o*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:s));}),n.score=o;});}function Q4(e,t){const n=e.matches;t.matches=[],mn(n)&&n.forEach(o=>{if(!mn(o.indices)||!o.indices.length)return;const{indices:i,value:s}=o;let r={indices:i,value:s};o.key&&(r.key=o.key.src),o.idx>-1&&(r.refIndex=o.idx),t.matches.push(r);});}function X4(e,t){t.score=e.score;}function Z4(e,t,{includeMatches:n=Te.includeMatches,includeScore:o=Te.includeScore}={}){const i=[];return n&&i.push(Q4),o&&i.push(X4),e.map(s=>{const{idx:r}=s,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(s,a);}),a})}class ps{constructor(t,n={},o){this.options={...Te,...n},this.options.useExtendedSearch,this._keyStore=new k4(this.options.keys),this.setCollection(t,o);}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Id))throw new Error(b4);this._myIndex=n||Oy(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight});}add(t){mn(t)&&(this._docs.push(t),this._myIndex.add(t));}remove(t=()=>false){const n=[];for(let o=0,i=this._docs.length;o<i;o+=1){const s=this._docs[o];t(s,o)&&(this.removeAt(o),o-=1,i-=1,n.push(s));}return n}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t);}getIndex(){return this._myIndex}search(t,{limit:n=-1}={}){const{includeMatches:o,includeScore:i,shouldSort:s,sortFn:r,ignoreFieldNorm:a}=this.options;let l=Yn(t)?Yn(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return Y4(l,{ignoreFieldNorm:a}),s&&l.sort(r),Ty(n)&&n>-1&&(l=l.slice(0,n)),Z4(l,this._docs,{includeMatches:o,includeScore:i})}_searchStringList(t){const n=ic(t,this.options),{records:o}=this._myIndex,i=[];return o.forEach(({v:s,i:r,n:a})=>{if(!mn(s))return;const{isMatch:l,score:c,indices:u}=n.searchIn(s);l&&i.push({item:s,idx:r,matches:[{score:c,value:s,norm:a,indices:u}]});}),i}_searchLogical(t){const n=Uy(t,this.options),o=(a,l,c)=>{if(!a.children){const{keyId:f,searcher:p}=a,g=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(l,f),searcher:p});return g&&g.length?[{idx:c,item:l,matches:g}]:[]}const u=[];for(let f=0,p=a.children.length;f<p;f+=1){const g=a.children[f],m=o(g,l,c);if(m.length)u.push(...m);else if(a.operator===Da.AND)return []}return u},i=this._myIndex.records,s={},r=[];return i.forEach(({$:a,i:l})=>{if(mn(a)){let c=o(n,a,l);c.length&&(s[l]||(s[l]={idx:l,item:a,matches:[]},r.push(s[l])),c.forEach(({matches:u})=>{s[l].matches.push(...u);}));}}),r}_searchObjectList(t){const n=ic(t,this.options),{keys:o,records:i}=this._myIndex,s=[];return i.forEach(({$:r,i:a})=>{if(!mn(r))return;let l=[];o.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}));}),l.length&&s.push({idx:a,item:r,matches:l});}),s}_findMatches({key:t,value:n,searcher:o}){if(!mn(n))return [];let i=[];if(ko(n))n.forEach(({v:s,i:r,n:a})=>{if(!mn(s))return;const{isMatch:l,score:c,indices:u}=o.searchIn(s);l&&i.push({score:c,key:t,value:s,idx:r,norm:a,indices:u});});else {const{v:s,n:r}=n,{isMatch:a,score:l,indices:c}=o.searchIn(s);a&&i.push({score:l,key:t,value:s,norm:r,indices:c});}return i}}ps.version="7.1.0";ps.createIndex=Oy;ps.parseIndex=T4;ps.config=Te;ps.parseQuery=Uy;K4(W4);const eR={class:"ce-goto-input-wrap"},tR=["disabled"],nR=["disabled"],oR={class:"ce-goto-sug"},iR=["onMousedown","sid"],sR={class:"ce-goto-sug-index"},rR={class:"ce-goto-sug-prefix"},aR={class:"ce-goto-sug-name"},lR=xe({__name:"GotoPath",setup(e){const t=K(false),n=K(false),o=K(null),i=K(null),s=K(""),r=K([]),a=K(false),l=We(()=>s.value.trim().length>0);let c="";Ht(async()=>{t.value=true,i.value?.focus(),window.addEventListener("message",async R=>{if(R.data.event===ot.listRendered){const ce=await Ut(false);ce!==c&&(r.value=[],await j(false)),c=ce;}});});async function u(R){if(console.log("[handleKeydown]",R.key),Yp(R),R.key==="Enter"){D.value>-1?fe():await se(s.value);return}if(R.key==="Escape"){await O();return}["ArrowUp","ArrowDown"].includes(R.key)?B(R):f(R);}const f=lt(async R=>{p();},200);async function p(){try{r.value=[],await j(!1);const R={keyword:"",parentId:await Ut(!1),parentPath:gu(),isSubOfCurrent:!0};console.log("[getSug] searchData:",R);const G=await I(R,!1);if(console.log("[searchData] items:",G),!G.length){Q({icon:"warning",text:"没有匹配的建议",timer:1500,position:"top-right"});return}const ce=await g(G,R);console.log("[searchData] sugs:",ce),r.value=ce,D.value=-1,await j(ce.length>0);}catch(R){console.warn(R),await j(false),Q({icon:"error",text:R.toString(),timer:2e3,position:"top-right"});}}async function g(R,G){const ce=[];for(let ke=0;ke<R.length;ke++){const Fe=R[ke];ce.push({id:Fe.id,prefix:G.parentPath==="/"?"":G.parentPath,name:Fe.name,active:false});}const ye=s.value.trim();if(!ye)return ce;const Ce=/^(\.\/)?[^\/]+/.test(ye),_e=hu(ye,"../");if(console.log("[toSug] isSubOfCurrent:",Ce,"kwParentPath:",_e),Ce||_e===G.parentPath){const ke=new ps(ce,{keys:["name"],threshold:.6,includeScore:true});let Fe=ye;if(_e===G.parentPath){const M=ye.split(/[\\/]/).filter(Boolean);Fe=M[M.length-1];}const dt=ke.search(Fe);console.log("[toSug] fuse res:",dt);let ge=false;return dt.forEach(M=>{M.score===void 0?(console.warn("[toSug] r.score is undefined:",M),ge=true,M.score=0):M.score!==void 0&&isNaN(M.score)&&(console.warn("[toSug] r.score is NaN:",M),ge=true,M.score=0);}),ge&&dt.sort((M,pe)=>M.score-pe.score),dt.map(M=>M.item)}return ce}const m=new Map,y=new Map;async function x(R){return m.get(R)||false}async function k(R,G){m.set(R,G);}async function I(R,G){const ce=y.get(R.parentPath);if(ce)return console.log(`[getSubDirs] path "${R.parentPath}" is cached`),ce.items;if(await x(R.parentPath))return console.warn(`[getSubDirs] path "${R.parentPath}" is loading`),[];await k(R.parentPath,true);try{const ye=Rn({cid:R.parentId,limit:1150,show_dir:Oo.true}),Ce=await ad(ye);if(!Ce.count)return [];const _e=[];for(let ke=0;ke<Ce.data.length;ke++){const Fe=_i(Ce.data[ke]);Fe.isDir&&_e.push(Fe);}return y.set(R.parentPath,{count:_e.length,dirPath:R.parentPath,dirId:R.parentId,items:_e}),_e}catch(ye){console.warn(ye);}finally{await k(R.parentPath,false);}return []}async function E(R,G){console.log("[handleSugClick]",R,G);const ce=ra([R.prefix,R.name]);console.log("[handleSugClick] path:",ce),await se(ce);}const D=K(-1);async function B(R){console.log("[navigateSug]",R.key),R.preventDefault(),R.stopPropagation();let G=D.value;if(R.key==="ArrowUp")G--;else if(R.key==="ArrowDown")G++;else if(R.key==="Enter"){const Ce=r.value[D.value];Ce&&await E(Ce,R);return}else return;G<0?G=0:G>=r.value.length&&(G=r.value.length-1),D.value=G,r.value.forEach((Ce,_e)=>{Ce.active=_e===G;});const ce=r.value[G];if(!ce)return;o.value?.querySelector(`[sid="${ce.id}"]`)?.scrollIntoView();}async function H(){s.value="",i.value?.focus(),await p();}async function j(R){a.value=R,R&&i.value?.focus();}async function ae(R){if(C0(R))return "0";const G=gu();return R=za(R,Bo.unix),R=hu(G,R,Bo.unix),await Ri(R,true)}async function fe(){const R=r.value[D.value];if(!R)return;const G=ra([R.prefix,R.name],Bo.unix);console.log("[gotoByCurrentSug] path:",G),await se(G);}async function se(R){if(!n.value){R=R.trim(),Q({text:"正在获取路径信息...",timer:0,position:"top-right"}),q.showLoading(),n.value=true;try{const G=await ae(R);unsafeWindow.Main.GotoDir(1,G,0,""),Q({icon:"success",text:"获取路径信息成功,现在打开...",timer:1e3,position:"top-right"}),i.value?.focus(),r.value=[],D.value=-1;}catch(G){q.fire({icon:"error",title:"跳转失败",text:G.message});}finally{q.hideLoading(),n.value=false;}}}async function O(){D.value>-1?(r.value.forEach(R=>R.active=false),D.value=-1,await j(false)):(document.querySelector("#ceGotoPathApp")?.style.setProperty("display","none"),document.querySelector(".ce-goto-path-active")?.classList.remove("ce-goto-path-active"),t.value=false);}return (R,G)=>(_(),A("div",{ref_key:"refMain",ref:o,class:De(["ce-goto-main",{"ce-goto-sug-shown":a.value}])},[d("div",eR,[J(d("input",{ref_key:"refInput",ref:i,"onUpdate:modelValue":G[0]||(G[0]=ce=>s.value=ce),class:"ce-goto-input",placeholder:"回车确认跳转 | Esc关闭 | 可搜索当前目录的子目录显示下拉列表,上下方向键选择",onKeydown:u},null,544),[[He,s.value]]),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"clear",onClick:H,title:"清空输入框",disabled:!l.value},"清空",8,tR),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"toggle",onClick:G[1]||(G[1]=ce=>j(false)),title:"收起建议列表",disabled:!a.value},"收起",8,nR)]),d("div",oR,[(_(true),A(Se,null,Ue(r.value,(ce,ye)=>(_(),A("div",{key:ye,class:De(["ce-goto-sug-item",{active:ce.active}]),onMousedown:pt(Ce=>E(ce,Ce),["left","stop","prevent"]),sid:ce.id},[d("span",sR,U(ye+1),1),d("span",rR,U(ce.prefix),1),G[2]||(G[2]=d("span",{class:"ce-goto-sep"},"/",-1)),d("span",aR,U(ce.name),1)],42,iR))),128))])],2))}}),uR=Ae(lR,[["__file","GotoPath.vue"]]);async function cR(e){if(!xn())return;const t=await et("#js_top_header_file_path_box");e.showGotoButtonOnPathBar&&fR(e,t),e.showCopyButtonOnPathBar&&dR(e,t);}async function dR(e,t){const n="ceCopyPath";let o=t.querySelector(`#${n}`);const i=async()=>{const r=gu();ft(r),Q({icon:"success",text:"路径已复制",timer:1e3,position:"top-right"});};o||(o=await(async()=>{const r=je(`<button type="button" class="pure-button button-mini ce-path-btn" id="${n}" title="复制路径">
<span>复制</span>
</button>`);return r.addEventListener("click",i),r})(),t.prepend(o));}async function fR(e,t){const n=t.querySelector(".top-file-path"),o="ceGotoPath";let i=t.querySelector(`#${o}`);const s=uo(uR),r="ceGotoPathApp",a=async()=>{await l();},l=async()=>{if(t.classList.toggle("ce-goto-path-active"),t.classList.contains("ce-goto-path-active"))await c();else {const p=t.querySelector(`#${r}`);p&&(p.style.display="none");}},c=async()=>{let p=t.querySelector(`#${r}`);p||(p=await f(),n.after(p)),p.querySelector(".ce-goto-main")?setTimeout(()=>{document.querySelector(".ce-goto-input")?.focus();},200):s.mount(p),p.style.display="block";},u=async()=>{const p=document.createElement("button");return p.className="pure-button button-mini ce-path-btn text-primary",p.id=o,p.title=`
【这是一个实验功能】
跳转到指定路径。使用:
- 空白、单个斜杠: 根目录
- 相对路径1: 开头不带斜杠,当前目录下的子路径
- 相对路径2: 开头带有../,当前目录的上级目录,可以多级
- 绝对路径: 开头带有斜杠,从根目录开始的路径
斜杠风格不限,支持模糊搜索当前目录的子目录。
回车键跳转,Esc键关闭输入框。`,p.innerHTML="<span>跳转</span>",p.addEventListener("click",a),p},f=async()=>je(`<div id="${r}" style="width: 50%"/>`);i||(i=await u(),t.prepend(i));}async function pR(){if(!hR())return;const e=await us();if($("body").addClass("ce-selector-page"),!e.showInfoOnQuickView)return;const t=await et("#js_file_list_ul");await Wp(e),new MutationObserver(async([o])=>{o.type==="childList"&&await Wp(e);}).observe(t,{childList:true});}function hR(e=location.href){return e.includes("ac=userfile")&&e.includes("ajax=1")}async function Wp(e){const t=gR();for(let n=0;n<t.length;n++){const o=t.eq(n),i=dn(o);i.isDir||await wR(e,o,i);}}function mR(){return $("#js_file_list_ul")}function gR(e){return mR().find("li:not(.ce-decorated)")}async function wR(e,t,n){const o=$('<div class="ce-file-inj-container"></div>');t.append(o),await yR(e,t,o,n),await bR(e,t,o,n),t.addClass("ce-decorated");}async function yR(e,t,n,o){if(!e.showSha1||!o.hash)return;t.addClass("ce-show-sha1"),t.find(".file-name");const i="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),s=je(`
<span class="ce-file-sha1 ce-inj" title="${i}">${o.hash}</span>
`),r=()=>{ft(o.hash),Q({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};s.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?ud(o):r();}),n.append(s);}async function bR(e,t,n,o){const i=je(`
<span class="ce-file-size ce-inj">${o.sizeDesc}</span>
`);n.append(i);}async function vR(){const e=await us(),{host:t}=location;/115\.com$/.test(t)&&(console.log("[List] running...",e),(xn()||oo())&&AS(),pR(),cR(e),mS(e),setTimeout(async()=>{nS().then(()=>{yS(e),bS(e),vS(e);}).catch(n=>{console.error("awaitDataAPI error:",n);});},2e3),oS(e),rS(e),aS(e),lS(),uS(e),dS(e),xS(e),pS());}const xR='@charset "UTF-8";.ce-search-page .top-file-path .file-path{float:left}.ce-search-page .dir-tab.ce-btn-select{background:#fffcea;color:#2877f8;display:inline-block;height:32px;line-height:24px;font-size:12px;padding:4px 8px;box-sizing:border-box;border:1px solid #2877f8;border-radius:4px}.ce-search-page .dir-tab.ce-btn-select:hover{background:#ff0}.ce-search-page .list-header .header-size,.ce-search-page .list-header .header-typename,.ce-search-page .list-header .header-modified,.ce-search-page .list-header .header-directory{display:flex!important}.ce-search-page .list-header .header-typename .btn-sort{display:inline-flex!important;pointer-events:none}.ce-search-page .list-header .header-typename .btn-sort i{display:none!important}.ce-search-page .list-header .header-modified{pointer-events:none}.ce-search-page .list-header .header-modified [rel=time_title]{display:inline-flex!important}.ce-search-page .list-header .header-modified i.icon-operate,.ce-search-page .list-header .header-modified i[menu=sort_file]{display:none!important}';At(xR);async function _R(e){const t=await et(".top-file-path");CR(e,t),kR(e,t);}async function CR(e,t){if(!e.showSelectTargetButtonOnPathBar)return;const n="ce-btn-select";let o=t.querySelector(`.${n}`);const i=async()=>{unsafeWindow.parent.Core.FileSelectDG.Open((r,a)=>{console.log("[Core.FileSelectDG.Open]",r,a);const l=r[r.length-1],c=je(`
<a href="javascript:;" class="dir-tab" search_btn_file="${l.cid}" style="display: none;">
${l.cname}
</a>
`);t.querySelector(".file-path").append(c),c.click();},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"在该目录下搜索",select_txt:"搜索"});};o||(o=await(async()=>{const r=je(`
<a href="javascript:;" class="dir-tab ${n}" title="选择指定目录进行搜索">选择目录</a>
`);return r.addEventListener("click",i),r})(),t.append(o));}async function kR(e,t){if(!e.showSelectAllDir)return;const n="ce-btn-select-dir";let o=t.querySelector(`.${n}`);const i=async r=>{r.preventDefault(),r.stopPropagation();const a=[],l=document.querySelectorAll('li[rel="item"][file_type="0"]');for(let c=0;c<l.length;c++)a.push($(l[c]));unsafeWindow.Main.List.RecheckFiles(a);};o||(o=await(async()=>{const a=je(`
<button type="button" class="pure-button button-success button-small ${n}" title="仅会选中已加载的文件夹">选中全部文件夹</label>
`);return a.setAttribute("style","margin-left: 10px;"),a.addEventListener("click",i),a})(),t.append(o));}async function SR(e){let t=e.resultWidth.trim();if(t===""||window!==window.parent||new URL(window.location.href).searchParams.get("mode")!=="search")return;t=/^\d+$/.test(t)?`${t}px`:t;const o=await et("div.wrap-view");o&&(o.style.width=`${t}`);}async function $R(e){document.body.classList.add("ce-search-page"),parent.document.body.classList.add("ce-search-page");}async function ER(){const e=await $y();SR(e),oo()&&(console.log("[Search] running...",e),$R(),_R(e));}const AR="";At(AR);async function PR(){console.log("[Tools] running...");}const IR="";At(IR);async function DR(e){const t=async o=>{const i=je(`<li pickcode="${o.pickCode}" style="padding:0px;"></li>`),s=je(`
<a style="height:auto;text-decoration:none;padding:5px 0 5px 5px;">
<span style="word-break:break-all">${o.name}</span>
</a>
`);return s.href="/?hls=1&pickcode="+o.pickCode,s.setAttribute("title",o.name),i.appendChild(s),i};let n="";window.addEventListener("message",async o=>{if(o.data.event==="play"){const i=await et("ul#js-video_list"),s=o.data.body.id;if(n&&n===s)if(i.childElementCount){console.log(`[playSelected] same id: ${s} 但是播放列表已经渲染过了,忽略`);return}else console.warn(`[playSelected] same id: ${s} 但是播放列表为空,将会进行渲染`);n=s;const r=o.data.body.files;console.log(`[playSelected] id: ${s}, files: `,r);const a=await Promise.all(r.map(t));i?.append(...a);const l=document.querySelector(".video-playlist .vpl-container");l&&(l.style.display="block"),i?.querySelector("a")?.click();const u=document.querySelector("#js-video_container");u&&u.classList.remove("video-container-nolist");}});}async function TR(e){if(!e.defaultWebFull)return;const t=await et('[rel="web_fullscreen"]');t.querySelector('[rel="tooltips"]').innerText==="网页全屏"&&t.click();}async function LR(e){if(!e.defaultOpenPlayList)return;const t=await et("a#js_pl_control_expand");t.querySelector('[rel="tooltips"]').innerText==="展开播放列表"&&t.click();}async function MR(e){if(!e.defaultDefinition)return;const t=im[e.defaultDefinition],n=unsafeWindow.__HLS,o=n.setCurrentLevel;(async()=>{const s=await et('div[rel="level_menu"]'),r=await uc('a[btn="level"]',100,12e4,s);for(let a=0;a<r.length;a++){const l=r[a],c=l.classList.contains("current");if(l.textContent?.trim()===t&&!c){console.log("[setDefinition _first] 找到目标清晰度元素:",l),l.click();break}}})(),n.setCurrentLevel=s=>{const r=n.hls();if(!r||!r.levels){o(s);return}const a=[];r.levels.forEach(c=>{a.push({name:c.name,bitrate:c.bitrate});}),a.sort((c,u)=>c.bitrate-u.bitrate);let l=s;for(let c=0;c<a.length;c++)if(a[c].name===e.defaultDefinition){l=c;break}l!==s&&console.warn(`[level changed] ${s} -> ${l}`),o(l);};}async function BR(){const{host:e}=location;if(!Bc(e))return;console.log("[anxia] run");const t=await sm();TR(t),LR(t),DR(),MR(t);}const OR='@charset "UTF-8";.ce-share-page.ce-share-fresh .sharing-banner,.ce-share-page.ce-share-fresh .promptbar-caution{display:none!important}.ce-share-page .sharing-banner{max-width:1000px;margin:0 auto}.ce-share-page .ce-list-summary{background:#fefcea;color:#a37958;border-radius:4px;padding:0 6px;margin-left:10px}';At(OR);async function RR(){const e=await Iy();wu()&&(console.log("[Share] running...",e),_w(e),m$(e),g$(e),kw(e),y$());}location.host==="115.com"&&(Number.isInteger||(Number.isInteger=e=>typeof e=="number"&&isFinite(e)&&Math.floor(e)===e),Number.parseFloat||(Number.parseFloat=e=>{const t=Number(e);return isNaN(t)?0:t}),Number.parseInt||(Number.parseInt=(e,t=10)=>{const n=parseInt(e,t);return isNaN(n)?0:n}),Number.isFinite||(Number.isFinite=e=>typeof e=="number"&&isFinite(e)),window.COMMONHEADERUSERINFO=window.COMMONHEADERUSERINFO||{});(async()=>{console.log("Cloud115 Enhancer launched!");const e=await _l(),t=Zu(e.limiterDuration,1,3e3,1),n=Zu(e.limiterPoints,1,300,1),o=t*500/n,i=by({rateLimit:{...yy,duration:t,points:n,execEvenly:true,execEvenlyMinDelayMs:o}}),s=OT(i);D0(s),C$(),RE(),ND(),GT(),vR(),ER(),PR(),BR(),RR(),f4();})();
})();