0&&(a=a===null?s:Math.min(a,s))}e[i]=a}}return e}function U0(r){var t=CD(r),e=[];return T(r,function(i){var n=i.coordinateSystem,a=n.getBaseAxis(),o=a.getExtent(),s;if(a.type==="category")s=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var l=a.dim+"_"+a.index,u=t[l],f=Math.abs(o[1]-o[0]),h=a.scale.getExtent(),c=Math.abs(h[1]-h[0]);s=u?f/c*u:f}else{var v=i.getData();s=Math.abs(o[1]-o[0])/v.count()}var d=Pt(i.get("barWidth"),s),p=Pt(i.get("barMaxWidth"),s),y=Pt(i.get("barMinWidth")||(X0(i)?.5:1),s),g=i.get("barGap"),m=i.get("barCategoryGap"),_=i.get("defaultBarGap");e.push({bandWidth:s,barWidth:d,barMaxWidth:p,barMinWidth:y,barGap:g,barCategoryGap:m,defaultBarGap:_,axisKey:Mc(a),stackId:H0(i)})}),MD(e)}function MD(r){var t={};T(r,function(i,n){var a=i.axisKey,o=i.bandWidth,s=t[a]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:i.defaultBarGap||0,stacks:{}},l=s.stacks;t[a]=s;var u=i.stackId;l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var f=i.barWidth;f&&!l[u].width&&(l[u].width=f,f=Math.min(s.remainedWidth,f),s.remainedWidth-=f);var h=i.barMaxWidth;h&&(l[u].maxWidth=h);var c=i.barMinWidth;c&&(l[u].minWidth=c);var v=i.barGap;v!=null&&(s.gap=v);var d=i.barCategoryGap;d!=null&&(s.categoryGap=d)});var e={};return T(t,function(i,n){e[n]={};var a=i.stacks,o=i.bandWidth,s=i.categoryGap;if(s==null){var l=xt(a).length;s=Math.max(35-l*4,15)+"%"}var u=Pt(s,o),f=Pt(i.gap,1),h=i.remainedWidth,c=i.autoWidthCount,v=(h-u)/(c+(c-1)*f);v=Math.max(v,0),T(a,function(g){var m=g.maxWidth,_=g.minWidth;if(g.width){var S=g.width;m&&(S=Math.min(S,m)),_&&(S=Math.max(S,_)),g.width=S,h-=S+f*S,c--}else{var S=v;m&&mS&&(S=_),S!==v&&(g.width=S,h-=S+f*S,c--)}}),v=(h-u)/(c+(c-1)*f),v=Math.max(v,0);var d=0,p;T(a,function(g,m){g.width||(g.width=v),p=g,d+=g.width*(1+f)}),p&&(d-=p.width*f);var y=-d/2;T(a,function(g,m){e[n][m]=e[n][m]||{bandWidth:o,offset:y,width:g.width},y+=g.width*(1+f)})}),e}function DD(r,t,e){if(r&&t){var i=r[Mc(t)];return i}}function AD(r,t){var e=W0(r,t),i=U0(e);T(e,function(n){var a=n.getData(),o=n.coordinateSystem,s=o.getBaseAxis(),l=H0(n),u=i[Mc(s)][l],f=u.offset,h=u.width;a.setLayout({bandWidth:u.bandWidth,offset:f,size:h})})}function LD(r){return{seriesType:r,plan:dc(),reset:function(t){if(Y0(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),a=i.getOtherAxis(n),o=e.getDimensionIndex(e.mapDimension(a.dim)),s=e.getDimensionIndex(e.mapDimension(n.dim)),l=t.get("showBackground",!0),u=e.mapDimension(a.dim),f=e.getCalculationInfo("stackResultDimension"),h=Ii(e,u)&&!!e.getCalculationInfo("stackedOnSeries"),c=a.isHorizontal(),v=ID(n,a),d=X0(t),p=t.get("barMinHeight")||0,y=f&&e.getDimensionIndex(f),g=e.getLayout("size"),m=e.getLayout("offset");return{progress:function(_,S){for(var b=_.count,w=d&&sr(b*3),x=d&&l&&sr(b*3),C=d&&sr(b),D=i.master.getRect(),A=c?D.width:D.height,M,I=S.getStore(),L=0;(M=_.next())!=null;){var P=I.get(h?y:o,M),k=I.get(s,M),B=v,U=void 0;h&&(U=+P-I.get(o,M));var O=void 0,H=void 0,R=void 0,E=void 0;if(c){var N=i.dataToPoint([P,k]);if(h){var X=i.dataToPoint([U,k]);B=X[0]}O=B,H=N[1]+m,R=N[0]-B,E=g,Math.abs(R)0?e:1:e))}var PD=function(r,t,e,i){for(;e>>1;r[n][1]n&&(this._approxInterval=n);var o=Ro.length,s=Math.min(PD(Ro,this._approxInterval,0,o),o-1);this._interval=Ro[s][1],this._intervalPrecision=ka(this._interval),this._minLevelUnit=Ro[Math.max(s-1,0)][0]},t.prototype.parse=function(e){return pt(e)?e:+xn(e)},t.prototype.contain=function(e){return Cc(e,this._extent)},t.prototype.normalize=function(e){return this._calculator.normalize(e,this._extent)},t.prototype.scale=function(e){return this._calculator.scale(e,this._extent)},t.type="time",t}(mn),Ro=[["second",Qh],["minute",Jh],["hour",la],["quarter-day",la*6],["half-day",la*12],["day",me*1.2],["half-week",me*3.5],["week",me*7],["month",me*31],["quarter",me*95],["half-year",fd/2],["year",fd]];function kD(r,t,e,i){return Of(new Date(t),r,i).getTime()===Of(new Date(e),r,i).getTime()}function RD(r,t){return r/=me,r>16?16:r>7.5?7:r>3.5?4:r>1.5?2:1}function ED(r){var t=30*me;return r/=t,r>6?6:r>3?3:r>2?2:1}function OD(r){return r/=la,r>12?12:r>6?6:r>3.5?4:r>2?2:1}function bp(r,t){return r/=t?Jh:Qh,r>30?30:r>20?20:r>15?15:r>10?10:r>5?5:r>2?2:1}function BD(r){return Sy(r)}function ND(r,t,e){var i=Math.max(0,ot(xi,t)-1);return Of(new Date(r),xi[i],e).getTime()}function zD(r,t){var e=new Date(0);e[r](1);var i=e.getTime();e[r](1+t);var n=e.getTime()-i;return function(a,o){return Math.max(0,Math.round((o-a)/n))}}function FD(r,t,e,i,n,a){var o=1e4,s=Yx,l=0;function u(L,P,k,B,U,O,H){for(var R=zD(U,L),E=P,N=new Date(E);Eo));)if(N[U](N[B]()+L),E=N.getTime(),a){var X=a.calcNiceTickMultiple(E,R);X>0&&(N[U](N[B]()+X*L),E=N.getTime())}H.push({value:E,notAdd:!0})}function f(L,P,k){var B=[],U=!P.length;if(!kD(ua(L),i[0],i[1],e)){U&&(P=[{value:ND(i[0],L,e)},{value:i[1]}]);for(var O=0;O=i[0]&&H<=i[1]&&u(E,H,R,N,X,J,B),L==="year"&&k.length>1&&O===0&&k.unshift({value:k[0].value-E})}}for(var O=0;O=i[0]&&S<=i[1]&&v++)}var b=n/t;if(v>b*1.5&&d>b/1.5||(h.push(m),v>b||r===s[p]))break}c=[]}}}for(var w=It(Z(h,function(L){return It(L,function(P){return P.value>=i[0]&&P.value<=i[1]&&!P.notAdd})}),function(L){return L.length>0}),x=[],C=w.length-1,p=0;p0;)a*=10;var s=[th(GD(i[0]/a)*a),th(VD(i[1]/a)*a)];this._interval=a,this._intervalPrecision=ka(a),this._niceExtent=s}},t.prototype.calcNiceExtent=function(e){r.prototype.calcNiceExtent.call(this,e),this._fixMin=e.fixMin,this._fixMax=e.fixMax},t.prototype.contain=function(e){return e=Oo(e)/Oo(this.base),r.prototype.contain.call(this,e)},t.prototype.normalize=function(e){return e=Oo(e)/Oo(this.base),r.prototype.normalize.call(this,e)},t.prototype.scale=function(e){return e=r.prototype.scale.call(this,e),Eo(this.base,e)},t.prototype.setBreaksFromOption=function(e){},t.type="log",t}(mn);function Du(r,t){return th(r,Ue(t))}zr.registerClass($0);var HD=function(){function r(t,e,i){this._prepareParams(t,e,i)}return r.prototype._prepareParams=function(t,e,i){i[1]0&&l>0&&!u&&(s=0),s<0&&l<0&&!f&&(l=0));var c=this._determinedMin,v=this._determinedMax;return c!=null&&(s=c,u=!0),v!=null&&(l=v,f=!0),{min:s,max:l,minFixed:u,maxFixed:f,isBlank:h}},r.prototype.modifyDataMinMax=function(t,e){this[UD[t]]=e},r.prototype.setDeterminedMinMax=function(t,e){var i=WD[t];this[i]=e},r.prototype.freeze=function(){this.frozen=!0},r}(),WD={min:"_determinedMin",max:"_determinedMax"},UD={min:"_dataMin",max:"_dataMax"};function q0(r,t,e){var i=r.rawExtentInfo;return i||(i=new HD(r,t,e),r.rawExtentInfo=i,i)}function Bo(r,t){return t==null?null:pa(t)?NaN:r.parse(t)}function K0(r,t){var e=r.type,i=q0(r,t,r.getExtent()).calculate();r.setBlank(i.isBlank);var n=i.min,a=i.max,o=t.ecModel;if(o&&e==="time"){var s=W0("bar",o),l=!1;if(T(s,function(h){l=l||h.getBaseAxis()===t.axis}),l){var u=U0(s),f=YD(n,a,t,u);n=f.min,a=f.max}}return{extent:[n,a],fixMin:i.minFixed,fixMax:i.maxFixed}}function YD(r,t,e,i){var n=e.axis.getExtent(),a=Math.abs(n[1]-n[0]),o=DD(i,e.axis);if(o===void 0)return{min:r,max:t};var s=1/0;T(o,function(v){s=Math.min(v.offset,s)});var l=-1/0;T(o,function(v){l=Math.max(v.offset+v.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,f=t-r,h=1-(s+l)/a,c=f/h-f;return t+=c*(l/u),r-=c*(s/u),{min:r,max:t}}function wp(r,t){var e=t,i=K0(r,e),n=i.extent,a=e.get("splitNumber");r instanceof $0&&(r.base=e.get("logBase"));var o=r.type,s=e.get("interval"),l=o==="interval"||o==="time";r.setBreaksFromOption(j0(e)),r.setExtent(n[0],n[1]),r.calcNiceExtent({splitNumber:a,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?e.get("minInterval"):null,maxInterval:l?e.get("maxInterval"):null}),s!=null&&r.setInterval&&r.setInterval(s)}function XD(r,t){if(t=t||r.get("type"),t)switch(t){case"category":return new V0({ordinalMeta:r.getOrdinalMeta?r.getOrdinalMeta():r.getCategories(),extent:[1/0,-1/0]});case"time":return new Z0({locale:r.ecModel.getLocaleModel(),useUTC:r.ecModel.get("useUTC")});default:return new(zr.getClass(t)||mn)}}function ZD(r){var t=r.scale.getExtent(),e=t[0],i=t[1];return!(e>0&&i>0||e<0&&i<0)}function qa(r){var t=r.getLabelModel().get("formatter");if(r.type==="time"){var e=Xx(t);return function(n,a){return r.scale.getFormattedLabel(n,a,e)}}else{if(Y(t))return function(n){var a=r.scale.getLabel(n),o=t.replace("{value}",a??"");return o};if(tt(t)){if(r.type==="category")return function(n,a){return t(zs(r,n),n.value-r.scale.getExtent()[0],null)};var i=As();return function(n,a){var o=null;return i&&(o=i.makeAxisLabelFormatterParamBreak(o,n.break)),t(zs(r,n),a,o)}}else return function(n){return r.scale.getLabel(n)}}}function zs(r,t){return r.type==="category"?r.scale.getLabel(t):t.value}function Dc(r){var t=r.get("interval");return t??"auto"}function Q0(r){return r.type==="category"&&Dc(r.getLabelModel())===0}function J0(r,t){var e={};return T(r.mapDimensionsAll(t),function(i){e[F0(r,i)]=!0}),xt(e)}function $D(r,t,e){t&&T(J0(t,e),function(i){var n=t.getApproximateExtent(i);n[0]r[1]&&(r[1]=n[1])})}function _n(r){return r==="middle"||r==="center"}function Ra(r){return r.getShallow("show")}function j0(r){var t=r.get("breaks",!0);t==null}var qD=function(){function r(){}return r.prototype.getNeedCrossZero=function(){var t=this.option;return!t.scale},r.prototype.getCoordSysModel=function(){},r}(),xp=[],KD={registerPreprocessor:P0,registerProcessor:k0,registerPostInit:HM,registerPostUpdate:WM,registerUpdateLifecycle:bc,registerAction:Mn,registerCoordinateSystem:UM,registerLayout:YM,registerVisual:Ri,registerTransform:ZM,registerLoading:R0,registerMap:XM,registerImpl:wM,PRIORITY:OM,ComponentModel:ct,ComponentView:be,SeriesModel:Je,ChartView:Ie,registerComponentModel:function(r){ct.registerClass(r)},registerComponentView:function(r){be.registerClass(r)},registerSeriesModel:function(r){Je.registerClass(r)},registerChartView:function(r){Ie.registerClass(r)},registerCustomSeries:function(r,t){},registerSubTypeDefaulter:function(r,t){ct.registerSubTypeDefaulter(r,t)},registerPainter:function(r,t){$S(r,t)}};function Br(r){if(V(r)){T(r,function(t){Br(t)});return}ot(xp,r)>=0||(xp.push(r),tt(r)&&(r={install:r}),r.install(KD))}const QD=Object.freeze(Object.defineProperty({__proto__:null,Arc:Xa,BezierCurve:Ya,BoundingRect:it,Circle:Ha,CompoundPath:jy,Ellipse:il,Group:Mt,Image:vr,IncrementalDisplayable:im,Line:Qe,LinearGradient:Fh,Polygon:Wa,Polyline:Ua,RadialGradient:em,Rect:_t,Ring:nl,Sector:Pi,Text:Gt,clipPointsByRect:cm,clipRectByRect:vm,createIcon:ol,extendPath:om,extendShape:am,getShapeClass:sm,getTransform:Wh,initProps:Pe,makeImage:Gh,makePath:al,mergePath:um,registerShape:we,resizePath:Hh,updateProps:Zt},Symbol.toStringTag,{value:"Module"}));var JD=bt(),va=bt(),ke={estimate:1,determine:2};function Fs(r){return{out:{noPxChangeTryDetermine:[]},kind:r}}function t_(r,t){var e=Z(t,function(i){return r.scale.parse(i)});return r.type==="time"&&e.length>0&&(e.sort(),e.unshift(e[0]),e.push(e[e.length-1])),e}function jD(r,t){var e=r.getLabelModel().get("customValues");if(e){var i=qa(r),n=r.scale.getExtent(),a=t_(r,e),o=It(a,function(s){return s>=n[0]&&s<=n[1]});return{labels:Z(o,function(s){var l={value:s};return{formattedLabel:i(l),rawLabel:r.scale.getLabel(l),tickValue:s,time:void 0,break:void 0}})}}return r.type==="category"?eA(r,t):iA(r)}function tA(r,t,e){var i=r.getTickModel().get("customValues");if(i){var n=r.scale.getExtent(),a=t_(r,i);return{ticks:It(a,function(o){return o>=n[0]&&o<=n[1]})}}return r.type==="category"?rA(r,t):{ticks:Z(r.scale.getTicks(e),function(o){return o.value})}}function eA(r,t){var e=r.getLabelModel(),i=e_(r,e,t);return!e.get("show")||r.scale.isBlank()?{labels:[]}:i}function e_(r,t,e){var i=aA(r),n=Dc(t),a=e.kind===ke.estimate;if(!a){var o=i_(i,n);if(o)return o}var s,l;tt(n)?s=o_(r,n):(l=n==="auto"?oA(r,e):n,s=a_(r,l));var u={labels:s,labelCategoryInterval:l};return a?e.out.noPxChangeTryDetermine.push(function(){return eh(i,n,u),!0}):eh(i,n,u),u}function rA(r,t){var e=nA(r),i=Dc(t),n=i_(e,i);if(n)return n;var a,o;if((!t.get("show")||r.scale.isBlank())&&(a=[]),tt(i))a=o_(r,i,!0);else if(i==="auto"){var s=e_(r,r.getLabelModel(),Fs(ke.determine));o=s.labelCategoryInterval,a=Z(s.labels,function(l){return l.tickValue})}else o=i,a=a_(r,o,!0);return eh(e,i,{ticks:a,tickCategoryInterval:o})}function iA(r){var t=r.scale.getTicks(),e=qa(r);return{labels:Z(t,function(i,n){return{formattedLabel:e(i,n),rawLabel:r.scale.getLabel(i),tickValue:i.value,time:i.time,break:i.break}})}}var nA=r_("axisTick"),aA=r_("axisLabel");function r_(r){return function(e){return va(e)[r]||(va(e)[r]={list:[]})}}function i_(r,t){for(var e=0;ef&&(u=Math.max(1,Math.floor(l/f)));for(var h=s[0],c=r.dataToCoord(h+1)-r.dataToCoord(h),v=Math.abs(c*Math.cos(a)),d=Math.abs(c*Math.sin(a)),p=0,y=0;h<=s[1];h+=u){var g=0,m=0,_=dy(n({value:h}),i.font,"center","top");g=_.width*1.3,m=_.height*1.3,p=Math.max(p,g,7),y=Math.max(y,m,7)}var S=p/v,b=y/d;isNaN(S)&&(S=1/0),isNaN(b)&&(b=1/0);var w=Math.max(0,Math.floor(Math.min(S,b)));if(e===ke.estimate)return t.out.noPxChangeTryDetermine.push(nt(lA,null,r,w,l)),w;var x=n_(r,w,l);return x??w}function lA(r,t,e){return n_(r,t,e)==null}function n_(r,t,e){var i=JD(r.model),n=r.getExtent(),a=i.lastAutoInterval,o=i.lastTickCount;if(a!=null&&o!=null&&Math.abs(a-t)<=1&&Math.abs(o-e)<=1&&a>t&&i.axisExtent0===n[0]&&i.axisExtent1===n[1])return a;i.lastTickCount=e,i.lastAutoInterval=t,i.axisExtent0=n[0],i.axisExtent1=n[1]}function uA(r){var t=r.getLabelModel();return{axisRotate:r.getRotate?r.getRotate():r.isHorizontal&&!r.isHorizontal()?90:0,labelRotate:t.get("rotate")||0,font:t.getFont()}}function a_(r,t,e){var i=qa(r),n=r.scale,a=n.getExtent(),o=r.getLabelModel(),s=[],l=Math.max((t||0)+1,1),u=a[0],f=n.count();u!==0&&l>1&&f/l>2&&(u=Math.round(Math.ceil(u/l)*l));var h=Q0(r),c=o.get("showMinLabel")||h,v=o.get("showMaxLabel")||h;c&&u!==a[0]&&p(a[0]);for(var d=u;d<=a[1];d+=l)p(d);v&&d-l!==a[1]&&p(a[1]);function p(y){var g={value:y};s.push(e?y:{formattedLabel:i(g),rawLabel:n.getLabel(g),tickValue:y,time:void 0,break:void 0})}return s}function o_(r,t,e){var i=r.scale,n=qa(r),a=[];return T(i.getTicks(),function(o){var s=i.getLabel(o),l=o.value;t(o.value,s)&&a.push(e?l:{formattedLabel:n(o),rawLabel:s,tickValue:l,time:void 0,break:void 0})}),a}var Tp=[0,1],fA=function(){function r(t,e,i){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=i||[0,0]}return r.prototype.contain=function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},r.prototype.containData=function(t){return this.scale.contain(this.scale.parse(t))},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.getPixelPrecision=function(t){return my(t||this.scale.getExtent(),this._extent)},r.prototype.setExtent=function(t,e){var i=this._extent;i[0]=t,i[1]=e},r.prototype.dataToCoord=function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(n.parse(t)),this.onBand&&n.type==="ordinal"&&(i=i.slice(),Cp(i,n.count())),Et(t,Tp,i,e)},r.prototype.coordToData=function(t,e){var i=this._extent,n=this.scale;this.onBand&&n.type==="ordinal"&&(i=i.slice(),Cp(i,n.count()));var a=Et(t,i,Tp,e);return this.scale.scale(a)},r.prototype.pointToData=function(t,e){},r.prototype.getTicksCoords=function(t){t=t||{};var e=t.tickModel||this.getTickModel(),i=tA(this,e,{breakTicks:t.breakTicks,pruneByBreak:t.pruneByBreak}),n=i.ticks,a=Z(n,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=e.get("alignWithLabel");return hA(this,a,o,t.clamp),a},r.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var t=this.model.getModel("minorTick"),e=t.get("splitNumber");e>0&&e<100||(e=5);var i=this.scale.getMinorTicks(e),n=Z(i,function(a){return Z(a,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return n},r.prototype.getViewLabels=function(t){return t=t||Fs(ke.determine),jD(this,t).labels},r.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},r.prototype.getTickModel=function(){return this.model.getModel("axisTick")},r.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);i===0&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},r.prototype.calculateCategoryInterval=function(t){return t=t||Fs(ke.determine),sA(this,t)},r}();function Cp(r,t){var e=r[1]-r[0],i=t,n=e/i/2;r[0]+=n,r[1]-=n}function hA(r,t,e,i){var n=t.length;if(!r.onBand||e||!n)return;var a=r.getExtent(),o,s;if(n===1)t[0].coord=a[0],t[0].onBand=!0,o=t[1]={coord:a[1],tickValue:t[0].tickValue,onBand:!0};else{var l=t[n-1].tickValue-t[0].tickValue,u=(t[n-1].coord-t[0].coord)/l;T(t,function(v){v.coord-=u/2,v.onBand=!0});var f=r.scale.getExtent();s=1+f[1]-t[n-1].tickValue,o={coord:t[n-1].coord+u*s,tickValue:f[1]+1,onBand:!0},t.push(o)}var h=a[0]>a[1];c(t[0].coord,a[0])&&(i?t[0].coord=a[0]:t.shift()),i&&c(a[0],t[0].coord)&&t.unshift({coord:a[0],onBand:!0}),c(a[1],o.coord)&&(i?o.coord=a[1]:t.pop()),i&&c(o.coord,a[1])&&t.push({coord:a[1],onBand:!0});function c(v,d){return v=Ot(v),d=Ot(d),h?v>d:v-1&&(u.style.stroke=u.style.fill,u.style.fill=W.color.neutral00,u.style.lineWidth=2),i},t.type="series.line",t.dependencies=["grid","polar"],t.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:6,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},t}(Je);function Lc(r,t){var e=r.mapDimensionsAll("defaultedLabel"),i=e.length;if(i===1){var n=yn(r,t,e[0]);return n!=null?n+"":null}else if(i){for(var a=[],o=0;o=0&&i.push(t[a])}return i.join(" ")}var Ic=function(r){F(t,r);function t(e,i,n,a){var o=r.call(this)||this;return o.updateData(e,i,n,a),o}return t.prototype._createSymbol=function(e,i,n,a,o,s){this.removeAll();var l=cr(e,-1,-1,2,2,null,s);l.attr({z2:$(o,100),culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),l.drift=mA,this._symbolType=e,this.add(l)},t.prototype.stopSymbolAnimation=function(e){this.childAt(0).stopAnimation(null,e)},t.prototype.getSymbolType=function(){return this._symbolType},t.prototype.getSymbolPath=function(){return this.childAt(0)},t.prototype.highlight=function(){ba(this.childAt(0))},t.prototype.downplay=function(){wa(this.childAt(0))},t.prototype.setZ=function(e,i){var n=this.childAt(0);n.zlevel=e,n.z=i},t.prototype.setDraggable=function(e,i){var n=this.childAt(0);n.draggable=e,n.cursor=!i&&e?"move":n.cursor},t.prototype.updateData=function(e,i,n,a){this.silent=!1;var o=e.getItemVisual(i,"symbol")||"circle",s=e.hostModel,l=t.getSymbolSize(e,i),u=t.getSymbolZ2(e,i),f=o!==this._symbolType,h=a&&a.disableAnimation;if(f){var c=e.getItemVisual(i,"symbolKeepAspect");this._createSymbol(o,e,i,l,u,c)}else{var v=this.childAt(0);v.silent=!1;var d={scaleX:l[0]/2,scaleY:l[1]/2};h?v.attr(d):Zt(v,d,s,i),nm(v)}if(this._updateCommon(e,i,l,n,a),f){var v=this.childAt(0);if(!h){var d={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:v.style.opacity}};v.scaleX=v.scaleY=0,v.style.opacity=0,Pe(v,d,s,i)}}h&&this.childAt(0).stopAnimation("leave")},t.prototype._updateCommon=function(e,i,n,a,o){var s=this.childAt(0),l=e.hostModel,u,f,h,c,v,d,p,y,g;if(a&&(u=a.emphasisItemStyle,f=a.blurItemStyle,h=a.selectItemStyle,c=a.focus,v=a.blurScope,p=a.labelStatesModels,y=a.hoverScale,g=a.cursorStyle,d=a.emphasisDisabled),!a||e.hasItemOption){var m=a&&a.itemModel?a.itemModel:e.getItemModel(i),_=m.getModel("emphasis");u=_.getModel("itemStyle").getItemStyle(),h=m.getModel(["select","itemStyle"]).getItemStyle(),f=m.getModel(["blur","itemStyle"]).getItemStyle(),c=_.get("focus"),v=_.get("blurScope"),d=_.get("disabled"),p=Tn(m),y=_.getShallow("scale"),g=m.getShallow("cursor")}var S=e.getItemVisual(i,"symbolRotate");s.attr("rotation",(S||0)*Math.PI/180||0);var b=pl(e.getItemVisual(i,"symbolOffset"),n);b&&(s.x=b[0],s.y=b[1]),g&&s.attr("cursor",g);var w=e.getItemVisual(i,"style"),x=w.fill;if(s instanceof vr){var C=s.style;s.useStyle(z({image:C.image,x:C.x,y:C.y,width:C.width,height:C.height},w))}else s.__isEmptyBrush?s.useStyle(z({},w)):s.useStyle(w),s.style.decal=null,s.setColor(x,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var D=e.getItemVisual(i,"liftZ"),A=this._z2;D!=null?A==null&&(this._z2=s.z2,s.z2+=D):A!=null&&(s.z2=A,this._z2=null);var M=o&&o.useNameLabel;$a(s,p,{labelFetcher:l,labelDataIndex:i,defaultText:I,inheritColor:x,defaultOpacity:w.opacity});function I(k){return M?e.getName(k):Lc(e,k)}this._sizeX=n[0]/2,this._sizeY=n[1]/2;var L=s.ensureState("emphasis");L.style=u,s.ensureState("select").style=h,s.ensureState("blur").style=f;var P=y==null||y===!0?Math.max(1.1,3/this._sizeY):isFinite(y)&&y>0?+y:1;L.scaleX=this._sizeX*P,L.scaleY=this._sizeY*P,this.setSymbolScale(1),xa(this,c,v,d)},t.prototype.setSymbolScale=function(e){this.scaleX=this.scaleY=e},t.prototype.fadeOut=function(e,i,n){var a=this.childAt(0),o=ft(this).dataIndex,s=n&&n.animation;if(this.silent=a.silent=!0,n&&n.fadeLabel){var l=a.getTextContent();l&&Cs(l,{style:{opacity:0}},i,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();Cs(a,{style:{opacity:0},scaleX:0,scaleY:0},i,{dataIndex:o,cb:e,removeOpt:s})},t.getSymbolSize=function(e,i){return yc(e.getItemVisual(i,"symbolSize"))},t.getSymbolZ2=function(e,i){return e.getItemVisual(i,"z2")},t}(Mt);function mA(r,t){this.parent.drift(r,t)}function Lu(r,t,e,i){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(i.isIgnore&&i.isIgnore(e))&&!(i.clipShape&&!i.clipShape.contain(t[0],t[1]))&&r.getItemVisual(e,"symbol")!=="none"}function Lp(r){return r!=null&&!q(r)&&(r={isIgnore:r}),r||{}}function Ip(r){var t=r.hostModel,e=t.getModel("emphasis");return{emphasisItemStyle:e.getModel("itemStyle").getItemStyle(),blurItemStyle:t.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:t.getModel(["select","itemStyle"]).getItemStyle(),focus:e.get("focus"),blurScope:e.get("blurScope"),emphasisDisabled:e.get("disabled"),hoverScale:e.get("scale"),labelStatesModels:Tn(t),cursorStyle:t.get("cursor")}}var _A=function(){function r(t){this.group=new Mt,this._SymbolCtor=t||Ic}return r.prototype.updateData=function(t,e){this._progressiveEls=null,e=Lp(e);var i=this.group,n=t.hostModel,a=this._data,o=this._SymbolCtor,s=e.disableAnimation,l=Ip(t),u={disableAnimation:s},f=e.getSymbolPoint||function(h){return t.getItemLayout(h)};a||i.removeAll(),t.diff(a).add(function(h){var c=f(h);if(Lu(t,c,h,e)){var v=new o(t,h,l,u);v.setPosition(c),t.setItemGraphicEl(h,v),i.add(v)}}).update(function(h,c){var v=a.getItemGraphicEl(c),d=f(h);if(!Lu(t,d,h,e)){i.remove(v);return}var p=t.getItemVisual(h,"symbol")||"circle",y=v&&v.getSymbolType&&v.getSymbolType();if(!v||y&&y!==p)i.remove(v),v=new o(t,h,l,u),v.setPosition(d);else{v.updateData(t,h,l,u);var g={x:d[0],y:d[1]};s?v.attr(g):Zt(v,g,n)}i.add(v),t.setItemGraphicEl(h,v)}).remove(function(h){var c=a.getItemGraphicEl(h);c&&c.fadeOut(function(){i.remove(c)},n)}).execute(),this._getSymbolPoint=f,this._data=t},r.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl(function(i,n){var a=t._getSymbolPoint(n);i.setPosition(a),i.markRedraw()})},r.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=Ip(t),this._data=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(t,e,i){this._progressiveEls=[],i=Lp(i);function n(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var a=t.start;a0?e=i[0]:i[1]<0&&(e=i[1]),e}function h_(r,t,e,i){var n=NaN;r.stacked&&(n=e.get(e.getCalculationInfo("stackedOverDimension"),i)),isNaN(n)&&(n=r.valueStart);var a=r.baseDataOffset,o=[];return o[a]=e.get(r.baseDim,i),o[1-a]=n,t.dataToPoint(o)}function bA(r,t){var e=[];return t.diff(r).add(function(i){e.push({cmd:"+",idx:i})}).update(function(i,n){e.push({cmd:"=",idx:n,idx1:i})}).remove(function(i){e.push({cmd:"-",idx:i})}).execute(),e}function wA(r,t,e,i,n,a,o,s){for(var l=bA(r,t),u=[],f=[],h=[],c=[],v=[],d=[],p=[],y=f_(n,t,o),g=r.getLayout("points")||[],m=t.getLayout("points")||[],_=0;_=n||p<0)break;if(Ti(g,m)){if(l){p+=a;continue}break}if(p===e)r[a>0?"moveTo":"lineTo"](g,m),h=g,c=m;else{var _=g-u,S=m-f;if(_*_+S*S<.5){p+=a;continue}if(o>0){for(var b=p+a,w=t[b*2],x=t[b*2+1];w===g&&x===m&&y=i||Ti(w,x))v=g,d=m;else{A=w-u,M=x-f;var P=g-u,k=w-g,B=m-f,U=x-m,O=void 0,H=void 0;if(s==="x"){O=Math.abs(P),H=Math.abs(k);var R=A>0?1:-1;v=g-R*O*o,d=m,I=g+R*H*o,L=m}else if(s==="y"){O=Math.abs(B),H=Math.abs(U);var E=M>0?1:-1;v=g,d=m-E*O*o,I=g,L=m+E*H*o}else O=Math.sqrt(P*P+B*B),H=Math.sqrt(k*k+U*U),D=H/(H+O),v=g-A*o*(1-D),d=m-M*o*(1-D),I=g+A*o*D,L=m+M*o*D,I=br(I,wr(w,g)),L=br(L,wr(x,m)),I=wr(I,br(w,g)),L=wr(L,br(x,m)),A=I-g,M=L-m,v=g-A*O/H,d=m-M*O/H,v=br(v,wr(u,g)),d=br(d,wr(f,m)),v=wr(v,br(u,g)),d=wr(d,br(f,m)),A=g-v,M=m-d,I=g+A*H/O,L=m+M*H/O}r.bezierCurveTo(h,c,v,d,g,m),h=I,c=L}else r.lineTo(g,m)}u=g,f=m,p+=a}return y}var c_=function(){function r(){this.smooth=0,this.smoothConstraint=!0}return r}(),xA=function(r){F(t,r);function t(e){var i=r.call(this,e)||this;return i.type="ec-polyline",i}return t.prototype.getDefaultStyle=function(){return{stroke:W.color.neutral99,fill:null}},t.prototype.getDefaultShape=function(){return new c_},t.prototype.buildPath=function(e,i){var n=i.points,a=0,o=n.length/2;if(i.connectNulls){for(;o>0&&Ti(n[o*2-2],n[o*2-1]);o--);for(;a=0){var S=u?(d-l)*_+l:(v-s)*_+s;return u?[e,S]:[S,e]}s=v,l=d;break;case o.C:v=a[h++],d=a[h++],p=a[h++],y=a[h++],g=a[h++],m=a[h++];var b=u?vs(s,v,p,g,e,f):vs(l,d,y,m,e,f);if(b>0)for(var w=0;w=0){var S=u?zt(l,d,y,m,x):zt(s,v,p,g,x);return u?[e,S]:[S,e]}}s=g,l=m;break}}},t}(vt),TA=function(r){F(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t}(c_),CA=function(r){F(t,r);function t(e){var i=r.call(this,e)||this;return i.type="ec-polygon",i}return t.prototype.getDefaultShape=function(){return new TA},t.prototype.buildPath=function(e,i){var n=i.points,a=i.stackedOnPoints,o=0,s=n.length/2,l=i.smoothMonotone;if(i.connectNulls){for(;s>0&&Ti(n[s*2-2],n[s*2-1]);s--);for(;ot){a?e.push(o(a,l,t)):n&&e.push(o(n,l,0),o(n,l,t));break}else n&&(e.push(o(n,l,0)),n=null),e.push(l),a=l}return e}function LA(r,t,e){var i=r.getVisual("visualMeta");if(!(!i||!i.length||!r.count())&&t.type==="cartesian2d"){for(var n,a,o=i.length-1;o>=0;o--){var s=r.getDimensionInfo(i[o].dimension);if(n=s&&s.coordDim,n==="x"||n==="y"){a=i[o];break}}if(a){var l=t.getAxis(n),u=Z(a.stops,function(_){return{coord:l.toGlobalCoord(l.dataToCoord(_.value)),color:_.color}}),f=u.length,h=a.outerColors.slice();f&&u[0].coord>u[f-1].coord&&(u.reverse(),h.reverse());var c=AA(u,n==="x"?e.getWidth():e.getHeight()),v=c.length;if(!v&&f)return u[0].coord<0?h[1]?h[1]:u[f-1].color:h[0]?h[0]:u[0].color;var d=10,p=c[0].coord-d,y=c[v-1].coord+d,g=y-p;if(g<.001)return"transparent";T(c,function(_){_.offset=(_.coord-p)/g}),c.push({offset:v?c[v-1].offset:.5,color:h[1]||"transparent"}),c.unshift({offset:v?c[0].offset:.5,color:h[0]||"transparent"});var m=new Fh(0,0,0,0,c,!0);return m[n]=p,m[n+"2"]=y,m}}}function IA(r,t,e){var i=r.get("showAllSymbol"),n=i==="auto";if(!(i&&!n)){var a=e.getAxesByScale("ordinal")[0];if(a&&!(n&&PA(a,t))){var o=t.mapDimension(a.dim),s={};return T(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(t.get(o,l))}}}}function PA(r,t){var e=r.getExtent(),i=Math.abs(e[1]-e[0])/r.scale.count();isNaN(i)&&(i=0);for(var n=t.count(),a=Math.max(1,Math.round(n/5)),o=0;oi)return!1;return!0}function kA(r,t){return isNaN(r)||isNaN(t)}function RA(r){for(var t=r.length/2;t>0&&kA(r[t*2-2],r[t*2-1]);t--);return t-1}function Op(r,t){return[r[t*2],r[t*2+1]]}function EA(r,t,e){for(var i=r.length/2,n=e==="x"?0:1,a,o,s=0,l=-1,u=0;u=t||a>=t&&o<=t){l=u;break}s=u,a=o}return{range:[s,l],t:(t-a)/(o-a)}}function p_(r){if(r.get(["endLabel","show"]))return!0;for(var t=0;t0&&e.get(["emphasis","lineStyle","width"])==="bolder"){var H=d.getState("emphasis").style;H.lineWidth=+d.style.lineWidth+1}ft(d).seriesIndex=e.seriesIndex,xa(d,B,U,O);var R=Ep(e.get("smooth")),E=e.get("smoothMonotone");if(d.setShape({smooth:R,smoothMonotone:E,connectNulls:x}),p){var N=s.getCalculationInfo("stackedOnSeries"),X=0;p.useStyle(gt(u.getAreaStyle(),{fill:I,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),N&&(X=Ep(N.get("smooth"))),p.setShape({smooth:R,stackedOnSmooth:X,smoothMonotone:E,connectNulls:x}),Lf(p,e,"areaStyle"),ft(p).seriesIndex=e.seriesIndex,xa(p,B,U,O)}var J=this._changePolyState;s.eachItemGraphicEl(function(yt){yt&&(yt.onHoverStateChange=J)}),this._polyline.onHoverStateChange=J,this._data=s,this._coordSys=a,this._stackedOnPoints=b,this._points=f,this._step=A,this._valueOrigin=_,e.get("triggerLineEvent")&&(this.packEventData(e,d),p&&this.packEventData(e,p))},t.prototype.packEventData=function(e,i){ft(i).eventData={componentType:"series",componentSubType:"line",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"line"}},t.prototype.highlight=function(e,i,n,a){var o=e.getData(),s=Ci(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var f=l[s*2],h=l[s*2+1];if(isNaN(f)||isNaN(h)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(f,h))return;var c=e.get("zlevel")||0,v=e.get("z")||0;u=new Ic(o,s),u.x=f,u.y=h,u.setZ(c,v);var d=u.getSymbolPath().getTextContent();d&&(d.zlevel=c,d.z=v,d.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else Ie.prototype.highlight.call(this,e,i,n,a)},t.prototype.downplay=function(e,i,n,a){var o=e.getData(),s=Ci(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else Ie.prototype.downplay.call(this,e,i,n,a)},t.prototype._changePolyState=function(e){var i=this._polygon;Wv(this._polyline,e),i&&Wv(i,e)},t.prototype._newPolyline=function(e){var i=this._polyline;return i&&this._lineGroup.remove(i),i=new xA({shape:{points:e},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(i),this._polyline=i,i},t.prototype._newPolygon=function(e,i){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new CA({shape:{points:e,stackedOnPoints:i},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},t.prototype._initSymbolLabelAnimation=function(e,i,n){var a,o,s=i.getBaseAxis(),l=s.inverse;i.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):i.type==="polar"&&(a=s.dim==="angle",o=!0);var u=e.hostModel,f=u.get("animationDuration");tt(f)&&(f=f(null));var h=u.get("animationDelay")||0,c=tt(h)?h(null):h;e.eachItemGraphicEl(function(v,d){var p=v;if(p){var y=[v.x,v.y],g=void 0,m=void 0,_=void 0;if(n)if(o){var S=n,b=i.pointToCoord(y);a?(g=S.startAngle,m=S.endAngle,_=-b[1]/180*Math.PI):(g=S.r0,m=S.r,_=b[0])}else{var w=n;a?(g=w.x,m=w.x+w.width,_=v.x):(g=w.y+w.height,m=w.y,_=v.y)}var x=m===g?0:(_-g)/(m-g);l&&(x=1-x);var C=tt(h)?h(d):f*x+c,D=p.getSymbolPath(),A=D.getTextContent();p.attr({scaleX:0,scaleY:0}),p.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:C}),A&&A.animateFrom({style:{opacity:0}},{duration:300,delay:C}),D.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(e,i,n){var a=e.getModel("endLabel");if(p_(e)){var o=e.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new Gt({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var f=RA(l);f>=0&&($a(s,Tn(e,"endLabel"),{inheritColor:n,labelFetcher:e,labelDataIndex:f,defaultText:function(h,c,v){return v!=null?u_(o,v):Lc(o,h)},enableTextSetter:!0},OA(a,i)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},t.prototype._endLabelOnDuring=function(e,i,n,a,o,s,l){var u=this._endLabel,f=this._polyline;if(u){e<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var h=n.getLayout("points"),c=n.hostModel,v=c.get("connectNulls"),d=s.get("precision"),p=s.get("distance")||0,y=l.getBaseAxis(),g=y.isHorizontal(),m=y.inverse,_=i.shape,S=m?g?_.x:_.y+_.height:g?_.x+_.width:_.y,b=(g?p:0)*(m?-1:1),w=(g?0:-p)*(m?-1:1),x=g?"x":"y",C=EA(h,S,x),D=C.range,A=D[1]-D[0],M=void 0;if(A>=1){if(A>1&&!v){var I=Op(h,D[0]);u.attr({x:I[0]+b,y:I[1]+w}),o&&(M=c.getRawValue(D[0]))}else{var I=f.getPointOn(S,x);I&&u.attr({x:I[0]+b,y:I[1]+w});var L=c.getRawValue(D[0]),P=c.getRawValue(D[1]);o&&(M=Sb(n,d,L,P,C.t))}a.lastFrameIndex=D[0]}else{var k=e===1||a.lastFrameIndex>0?D[0]:0,I=Op(h,k);o&&(M=c.getRawValue(k)),u.attr({x:I[0]+b,y:I[1]+w})}if(o){var B=ul(u);typeof B.setLabelText=="function"&&B.setLabelText(M)}}},t.prototype._doUpdateAnimation=function(e,i,n,a,o,s,l){var u=this._polyline,f=this._polygon,h=e.hostModel,c=wA(this._data,e,this._stackedOnPoints,i,this._coordSys,n,this._valueOrigin),v=c.current,d=c.stackedOnCurrent,p=c.next,y=c.stackedOnNext;if(o&&(d=xr(c.stackedOnCurrent,c.current,n,o,l),v=xr(c.current,null,n,o,l),y=xr(c.stackedOnNext,c.next,n,o,l),p=xr(c.next,null,n,o,l)),Rp(v,p)>3e3||f&&Rp(d,y)>3e3){u.stopAnimation(),u.setShape({points:p}),f&&(f.stopAnimation(),f.setShape({points:p,stackedOnPoints:y}));return}u.shape.__points=c.current,u.shape.points=v;var g={shape:{points:p}};c.current!==v&&(g.shape.__points=c.next),u.stopAnimation(),Zt(u,g,h),f&&(f.setShape({points:v,stackedOnPoints:d}),f.stopAnimation(),Zt(f,{shape:{stackedOnPoints:y}},h),u.shape.points!==f.shape.points&&(f.shape.points=u.shape.points));for(var m=[],_=c.status,S=0;S<_.length;S++){var b=_[S].cmd;if(b==="="){var w=e.getItemGraphicEl(_[S].idx1);w&&m.push({el:w,ptIdx:S})}}u.animators&&u.animators.length&&u.animators[0].during(function(){f&&f.dirtyShape();for(var x=u.shape.__points,C=0;Ct&&(t=r[e]);return isFinite(t)?t:NaN},min:function(r){for(var t=1/0,e=0;e10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),f=l.getExtent(),h=i.getDevicePixelRatio(),c=Math.abs(f[1]-f[0])*(h||1),v=Math.round(s/c);if(isFinite(v)&&v>1){a==="lttb"?t.setData(n.lttbDownSample(n.mapDimension(u.dim),1/v)):a==="minmax"&&t.setData(n.minmaxDownSample(n.mapDimension(u.dim),1/v));var d=void 0;Y(a)?d=zA[a]:tt(a)&&(d=a),d&&t.setData(n.downSample(n.mapDimension(u.dim),1/v,d,FA))}}}}}function VA(r){r.registerChartView(BA),r.registerSeriesModel(yA),r.registerLayout(NA("line")),r.registerVisual({seriesType:"line",reset:function(t){var e=t.getData(),i=t.getModel("lineStyle").getLineStyle();i&&!i.stroke&&(i.stroke=e.getVisual("style").fill),e.setVisual("legendLineStyle",i)}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,g_("line"))}var ih=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,i){return Tc(null,this,{useEncodeDefaulter:!0})},t.prototype.getMarkerPosition=function(e,i,n){var a=this.coordinateSystem;if(a&&a.clampData){var o=a.clampData(e),s=a.dataToPoint(o);if(n)T(a.getAxes(),function(c,v){if(c.type==="category"&&i!=null){var d=c.getTicksCoords(),p=c.getTickModel().get("alignWithLabel"),y=o[v],g=i[v]==="x1"||i[v]==="y1";if(g&&!p&&(y+=1),d.length<2)return;if(d.length===2){s[v]=c.toGlobalCoord(c.getExtent()[g?1:0]);return}for(var m=void 0,_=void 0,S=1,b=0;by){_=(w+m)/2;break}b===1&&(S=x-d[0].tickValue)}_==null&&(m?m&&(_=d[d.length-1].coord):_=d[0].coord),s[v]=c.toGlobalCoord(_)}});else{var l=this.getData(),u=l.getLayout("offset"),f=l.getLayout("size"),h=a.getBaseAxis().isHorizontal()?0:1;s[h]+=u+f/2}return s}return[NaN,NaN]},t.type="series.__base_bar__",t.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",defaultBarGap:"10%"},t}(Je);Je.registerClass(ih);var GA=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(){return Tc(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},t.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},t.prototype.getProgressiveThreshold=function(){var e=this.get("progressiveThreshold"),i=this.get("largeThreshold");return i>e&&(e=i),e},t.prototype.brushSelector=function(e,i,n){return n.rect(i.getItemLayout(e))},t.type="series.bar",t.dependencies=["grid","polar"],t.defaultOption=$h(ih.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:W.color.primary,borderWidth:2}},realtimeSort:!1}),t}(ih),HA=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return r}(),Bp=function(r){F(t,r);function t(e){var i=r.call(this,e)||this;return i.type="sausage",i}return t.prototype.getDefaultShape=function(){return new HA},t.prototype.buildPath=function(e,i){var n=i.cx,a=i.cy,o=Math.max(i.r0||0,0),s=Math.max(i.r,0),l=(s-o)*.5,u=o+l,f=i.startAngle,h=i.endAngle,c=i.clockwise,v=Math.PI*2,d=c?h-fMath.PI/2&&fs)return!0;s=h}return!1},t.prototype._isOrderDifferentInView=function(e,i){for(var n=i.scale,a=n.getExtent(),o=Math.max(0,a[0]),s=Math.min(a[1],n.getOrdinalMeta().categories.length-1);o<=s;++o)if(e.ordinalNumbers[o]!==n.getRawOrdinalNumber(o))return!0},t.prototype._updateSortWithinSameData=function(e,i,n,a){if(this._isOrderChangedWithinSameData(e,i,n)){var o=this._dataSort(e,n,i);this._isOrderDifferentInView(o,n)&&(this._removeOnRenderedListener(a),a.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:o}))}},t.prototype._dispatchInitSort=function(e,i,n){var a=i.baseAxis,o=this._dataSort(e,a,function(s){return e.get(e.mapDimension(i.otherAxis.dim),s)});n.dispatchAction({type:"changeAxisOrder",componentType:a.dim+"Axis",isInitSort:!0,axisId:a.index,sortInfo:o})},t.prototype.remove=function(e,i){this._clear(this._model),this._removeOnRenderedListener(i)},t.prototype.dispose=function(e,i){this._removeOnRenderedListener(i)},t.prototype._removeOnRenderedListener=function(e){this._onRendered&&(e.getZr().off("rendered",this._onRendered),this._onRendered=null)},t.prototype._clear=function(e){var i=this.group,n=this._data;e&&e.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl(function(a){es(a,e,ft(a).dataIndex)})):i.removeAll(),this._data=null,this._isFirstFrame=!0},t.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},t.type="bar",t}(Ie),Np={cartesian2d:function(r,t){var e=t.width<0?-1:1,i=t.height<0?-1:1;e<0&&(t.x+=t.width,t.width=-t.width),i<0&&(t.y+=t.height,t.height=-t.height);var n=r.x+r.width,a=r.y+r.height,o=Pu(t.x,r.x),s=ku(t.x+t.width,n),l=Pu(t.y,r.y),u=ku(t.y+t.height,a),f=sn?s:o,t.y=h&&l>a?u:l,t.width=f?0:s-o,t.height=h?0:u-l,e<0&&(t.x+=t.width,t.width=-t.width),i<0&&(t.y+=t.height,t.height=-t.height),f||h},polar:function(r,t){var e=t.r0<=t.r?1:-1;if(e<0){var i=t.r;t.r=t.r0,t.r0=i}var n=ku(t.r,r.r),a=Pu(t.r0,r.r0);t.r=n,t.r0=a;var o=n-a<0;if(e<0){var i=t.r;t.r=t.r0,t.r0=i}return o}},zp={cartesian2d:function(r,t,e,i,n,a,o,s,l){var u=new _t({shape:z({},i),z2:1});if(u.__dataIndex=e,u.name="item",a){var f=u.shape,h=n?"height":"width";f[h]=0}return u},polar:function(r,t,e,i,n,a,o,s,l){var u=!n&&l?Bp:Pi,f=new u({shape:i,z2:1});f.name="item";var h=y_(n);if(f.calculateTextPosition=WA(h,{isRoundCap:u===Bp}),a){var c=f.shape,v=n?"r":"endAngle",d={};c[v]=n?i.r0:i.startAngle,d[v]=i[v],(s?Zt:Pe)(f,{shape:d},a)}return f}};function $A(r,t){var e=r.get("realtimeSort",!0),i=t.getBaseAxis();if(e&&i.type==="category"&&t.type==="cartesian2d")return{baseAxis:i,otherAxis:t.getOtherAxis(i)}}function Fp(r,t,e,i,n,a,o,s){var l,u;a?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(o?Zt:Pe)(e,{shape:l},t,n,null);var f=t?r.baseAxis.model:null;(o?Zt:Pe)(e,{shape:u},f,n)}function Vp(r,t){for(var e=0;e0?1:-1,o=i.height>0?1:-1;return{x:i.x+a*n/2,y:i.y+o*n/2,width:i.width-a*n,height:i.height-o*n}},polar:function(r,t,e){var i=r.getItemLayout(t);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function QA(r){return r.startAngle!=null&&r.endAngle!=null&&r.startAngle===r.endAngle}function y_(r){return function(t){var e=t?"Arc":"Angle";return function(i){switch(i){case"start":case"insideStart":case"end":case"insideEnd":return i+e;default:return i}}}(r)}function Hp(r,t,e,i,n,a,o,s){var l=t.getItemVisual(e,"style");if(s){if(!a.get("roundCap")){var f=r.shape,h=YA(i.getModel("itemStyle"),f);z(f,h),r.setShape(f)}}else{var u=i.get(["itemStyle","borderRadius"])||0;r.setShape("r",u)}r.useStyle(l);var c=i.getShallow("cursor");c&&r.attr("cursor",c);var v=s?o?n.r>=n.r0?"endArc":"startArc":n.endAngle>=n.startAngle?"endAngle":"startAngle":o?n.height>=0?"bottom":"top":n.width>=0?"right":"left",d=Tn(i);$a(r,d,{labelFetcher:a,labelDataIndex:e,defaultText:Lc(a.getData(),e),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:v});var p=r.getTextContent();if(s&&p){var y=i.get(["label","position"]);r.textConfig.inside=y==="middle"?!0:null,UA(r,y==="outside"?v:y,y_(o),i.get(["label","rotate"]))}Dx(p,d,a.getRawValue(e),function(m){return u_(t,m)});var g=i.getModel(["emphasis"]);xa(r,g.get("focus"),g.get("blurScope"),g.get("disabled")),Lf(r,i),QA(n)&&(r.style.fill="none",r.style.stroke="none",T(r.states,function(m){m.style&&(m.style.fill=m.style.stroke="none")}))}function JA(r,t){var e=r.get(["itemStyle","borderColor"]);if(!e||e==="none")return 0;var i=r.get(["itemStyle","borderWidth"])||0,n=isNaN(t.width)?Number.MAX_VALUE:Math.abs(t.width),a=isNaN(t.height)?Number.MAX_VALUE:Math.abs(t.height);return Math.min(i,n,a)}var jA=function(){function r(){}return r}(),Wp=function(r){F(t,r);function t(e){var i=r.call(this,e)||this;return i.type="largeBar",i}return t.prototype.getDefaultShape=function(){return new jA},t.prototype.buildPath=function(e,i){for(var n=i.points,a=this.baseDimIdx,o=1-this.baseDimIdx,s=[],l=[],u=this.barWidth,f=0;f=0?e:null},30,!1);function tL(r,t,e){for(var i=r.baseDimIdx,n=1-i,a=r.shape.points,o=r.largeDataIndices,s=[],l=[],u=r.barWidth,f=0,h=a.length/3;f=s[0]&&t<=s[0]+l[0]&&e>=s[1]&&e<=s[1]+l[1])return o[f]}return-1}function m_(r,t,e){if(yl(e,"cartesian2d")){var i=t,n=e.getArea();return{x:r?i.x:n.x,y:r?n.y:i.y,width:r?i.width:n.width,height:r?n.height:i.height}}else{var n=e.getArea(),a=t;return{cx:n.cx,cy:n.cy,r0:r?n.r0:a.r0,r:r?n.r:a.r,startAngle:r?a.startAngle:0,endAngle:r?a.endAngle:Math.PI*2}}}function eL(r,t,e){var i=r.type==="polar"?Pi:_t;return new i({shape:m_(t,e,r),silent:!0,z2:0})}function rL(r){r.registerChartView(ZA),r.registerSeriesModel(GA),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,St(AD,"bar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,LD("bar")),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,g_("bar")),r.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(n){t.sortInfo&&n.axis.setCategorySortInfo(t.sortInfo)})})}var __={left:0,right:0,top:0,bottom:0},Hs=["25%","25%"],iL=function(r){F(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.mergeDefaultAndTheme=function(e,i){var n=Cn(e.outerBounds);r.prototype.mergeDefaultAndTheme.apply(this,arguments),n&&e.outerBounds&&Or(e.outerBounds,n)},t.prototype.mergeOption=function(e,i){r.prototype.mergeOption.apply(this,arguments),this.option.outerBounds&&e.outerBounds&&Or(this.option.outerBounds,e.outerBounds)},t.type="grid",t.dependencies=["xAxis","yAxis"],t.layoutMode="box",t.defaultOption={show:!1,z:0,left:"15%",top:65,right:"10%",bottom:80,containLabel:!1,outerBoundsMode:"auto",outerBounds:__,outerBoundsContain:"all",outerBoundsClampWidth:Hs[0],outerBoundsClampHeight:Hs[1],backgroundColor:W.color.transparent,borderWidth:1,borderColor:W.color.neutral30},t}(ct),nh=function(r){F(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Yt).models[0]},t.type="cartesian2dAxis",t}(ct);Re(nh,qD);var S_={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:W.color.axisLine,width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15],breakLine:!0},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12,color:W.color.axisLabel,textMargin:[0,3]},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:W.color.axisSplitLine,width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:[W.color.backgroundTint,W.color.backgroundTransparent]}},breakArea:{show:!0,itemStyle:{color:W.color.neutral00,borderColor:W.color.border,borderWidth:1,borderType:[3,3],opacity:.6},zigzagAmplitude:4,zigzagMinSpan:4,zigzagMaxSpan:20,zigzagZ:100,expandOnClick:!0},breakLabelLayout:{moveOverlap:"auto"}},nL=lt({boundaryGap:!0,deduplication:null,jitter:0,jitterOverlap:!0,jitterMargin:2,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto",show:"auto"},axisLabel:{interval:"auto"}},S_),Pc=lt({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:W.color.axisMinorSplitLine,width:1}}},S_),aL=lt({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},Pc),oL=gt({logBase:10},Pc);const sL={category:nL,value:Pc,time:aL,log:oL};var lL={value:1,category:1,time:1,log:1},uL=null;function fL(){return uL}function Xp(r,t,e,i){T(lL,function(n,a){var o=lt(lt({},sL[a],!0),i,!0),s=function(l){F(u,l);function u(){var f=l!==null&&l.apply(this,arguments)||this;return f.type=t+"Axis."+a,f}return u.prototype.mergeDefaultAndTheme=function(f,h){var c=Aa(this),v=c?Cn(f):{},d=h.getTheme();lt(f,d.get(a+"Axis")),lt(f,this.getDefaultOption()),f.type=Zp(f),c&&Or(f,v,c)},u.prototype.optionUpdated=function(){var f=this.option;f.type==="category"&&(this.__ordinalMeta=jf.createByAxisModel(this))},u.prototype.getCategories=function(f){var h=this.option;if(h.type==="category")return f?h.data:this.__ordinalMeta.categories},u.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},u.prototype.updateAxisBreaks=function(f){return{breaks:[]}},u.type=t+"Axis."+a,u.defaultOption=o,u}(e);r.registerComponentModel(s)}),r.registerSubTypeDefaulter(t+"Axis",Zp)}function Zp(r){return r.type||(r.data?"category":"value")}var hL=function(){function r(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return r.prototype.getAxis=function(t){return this._axes[t]},r.prototype.getAxes=function(){return Z(this._dimList,function(t){return this._axes[t]},this)},r.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),It(this.getAxes(),function(e){return e.scale.type===t})},r.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},r}(),ah=["x","y"];function $p(r){return(r.type==="interval"||r.type==="time")&&!r.hasBreaks()}var cL=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=ah,e}return t.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var e=this.getAxis("x").scale,i=this.getAxis("y").scale;if(!(!$p(e)||!$p(i))){var n=e.getExtent(),a=i.getExtent(),o=this.dataToPoint([n[0],a[0]]),s=this.dataToPoint([n[1],a[1]]),l=n[1]-n[0],u=a[1]-a[0];if(!(!l||!u)){var f=(s[0]-o[0])/l,h=(s[1]-o[1])/u,c=o[0]-n[0]*f,v=o[1]-a[0]*h,d=this._transform=[f,0,0,h,c,v];this._invTransform=Na([],d)}}},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},t.prototype.containPoint=function(e){var i=this.getAxis("x"),n=this.getAxis("y");return i.contain(i.toLocalCoord(e[0]))&&n.contain(n.toLocalCoord(e[1]))},t.prototype.containData=function(e){return this.getAxis("x").containData(e[0])&&this.getAxis("y").containData(e[1])},t.prototype.containZone=function(e,i){var n=this.dataToPoint(e),a=this.dataToPoint(i),o=this.getArea(),s=new it(n[0],n[1],a[0]-n[0],a[1]-n[1]);return o.intersect(s)},t.prototype.dataToPoint=function(e,i,n){n=n||[];var a=e[0],o=e[1];if(this._transform&&a!=null&&isFinite(a)&&o!=null&&isFinite(o))return _e(n,e,this._transform);var s=this.getAxis("x"),l=this.getAxis("y");return n[0]=s.toGlobalCoord(s.dataToCoord(a,i)),n[1]=l.toGlobalCoord(l.dataToCoord(o,i)),n},t.prototype.clampData=function(e,i){var n=this.getAxis("x").scale,a=this.getAxis("y").scale,o=n.getExtent(),s=a.getExtent(),l=n.parse(e[0]),u=a.parse(e[1]);return i=i||[],i[0]=Math.min(Math.max(Math.min(o[0],o[1]),l),Math.max(o[0],o[1])),i[1]=Math.min(Math.max(Math.min(s[0],s[1]),u),Math.max(s[0],s[1])),i},t.prototype.pointToData=function(e,i,n){if(n=n||[],this._invTransform)return _e(n,e,this._invTransform);var a=this.getAxis("x"),o=this.getAxis("y");return n[0]=a.coordToData(a.toLocalCoord(e[0]),i),n[1]=o.coordToData(o.toLocalCoord(e[1]),i),n},t.prototype.getOtherAxis=function(e){return this.getAxis(e.dim==="x"?"y":"x")},t.prototype.getArea=function(e){e=e||0;var i=this.getAxis("x").getGlobalExtent(),n=this.getAxis("y").getGlobalExtent(),a=Math.min(i[0],i[1])-e,o=Math.min(n[0],n[1])-e,s=Math.max(i[0],i[1])-a+e,l=Math.max(n[0],n[1])-o+e;return new it(a,o,s,l)},t}(hL),vL=function(r){F(t,r);function t(e,i,n,a,o){var s=r.call(this,e,i,n)||this;return s.index=0,s.type=a||"value",s.position=o||"bottom",s}return t.prototype.isHorizontal=function(){var e=this.position;return e==="top"||e==="bottom"},t.prototype.getGlobalExtent=function(e){var i=this.getExtent();return i[0]=this.toGlobalCoord(i[0]),i[1]=this.toGlobalCoord(i[1]),e&&i[0]>i[1]&&i.reverse(),i},t.prototype.pointToData=function(e,i){return this.coordToData(this.toLocalCoord(e[this.dim==="x"?0:1]),i)},t.prototype.setCategorySortInfo=function(e){if(this.type!=="category")return!1;this.model.option.categorySortInfo=e,this.scale.setSortInfo(e)},t}(fA),dL="expandAxisBreak",Dr=Math.PI,pL=[[1,2,1,2],[5,3,5,3],[8,3,8,3]],gL=[[0,1,0,1],[0,3,0,3],[0,3,0,3]],Ea=bt(),b_=bt(),w_=function(){function r(t){this.recordMap={},this.resolveAxisNameOverlap=t}return r.prototype.ensureRecord=function(t){var e=t.axis.dim,i=t.componentIndex,n=this.recordMap,a=n[e]||(n[e]=[]);return a[i]||(a[i]={ready:{}})},r}();function yL(r,t,e,i){var n=e.axis,a=t.ensureRecord(e),o=[],s,l=kc(r.axisName)&&_n(r.nameLocation);T(i,function(d){var p=Nr(d);if(!(!p||p.label.ignore)){o.push(p);var y=a.transGroup;l&&(y.transform?Na(Hn,y.transform):Th(Hn),p.transform&&ra(Hn,Hn,p.transform),it.copy(Vo,p.localRect),Vo.applyTransform(Hn),s?s.union(Vo):it.copy(s=new it(0,0,0,0),Vo))}});var u=Math.abs(a.dirVec.x)>.1?"x":"y",f=a.transGroup[u];if(o.sort(function(d,p){return Math.abs(d.label[u]-f)-Math.abs(p.label[u]-f)}),l&&s){var h=n.getExtent(),c=Math.min(h[0],h[1]),v=Math.max(h[0],h[1])-c;s.union(new it(c,0,v,1))}a.stOccupiedRect=s,a.labelInfoList=o}var Hn=ur(),Vo=new it(0,0,0,0),x_=function(r,t,e,i,n,a){if(_n(r.nameLocation)){var o=a.stOccupiedRect;o&&T_(dA({},o,a.transGroup.transform),i,n)}else C_(a.labelInfoList,a.dirVec,i,n)};function T_(r,t,e){var i=new dt;Ac(r,t,i,{direction:Math.atan2(e.y,e.x),bidirectional:!1,touchThreshold:.05})&&pA(t,i)}function C_(r,t,e,i){for(var n=dt.dot(i,t)>=0,a=0,o=r.length;a0?"top":"bottom",a="center"):_s(n-Dr)?(o=i>0?"bottom":"top",a="center"):(o="middle",n>0&&n0?"right":"left":a=i>0?"left":"right"),{rotation:n,textAlign:a,textVerticalAlign:o}},r.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},r.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},r}(),mL=["axisLine","axisTickLabelEstimate","axisTickLabelDetermine","axisName"],_L={axisLine:function(r,t,e,i,n,a,o){var s=i.get(["axisLine","show"]);if(s==="auto"&&(s=!0,r.raw.axisLineAutoShow!=null&&(s=!!r.raw.axisLineAutoShow)),!!s){var l=i.axis.getExtent(),u=a.transform,f=[l[0],0],h=[l[1],0],c=f[0]>h[0];u&&(_e(f,f,u),_e(h,h,u));var v=z({lineCap:"round"},i.getModel(["axisLine","lineStyle"]).getLineStyle()),d={strokeContainThreshold:r.raw.strokeContainThreshold||5,silent:!0,z2:1,style:v};if(i.get(["axisLine","breakLine"])&&i.axis.scale.hasBreaks())fL().buildAxisBreakLine(i,n,a,d);else{var p=new Qe(z({shape:{x1:f[0],y1:f[1],x2:h[0],y2:h[1]}},d));Ca(p.shape,p.style.lineWidth),p.anid="line",n.add(p)}var y=i.get(["axisLine","symbol"]);if(y!=null){var g=i.get(["axisLine","symbolSize"]);Y(y)&&(y=[y,y]),(Y(g)||pt(g))&&(g=[g,g]);var m=pl(i.get(["axisLine","symbolOffset"])||0,g),_=g[0],S=g[1];T([{rotate:r.rotation+Math.PI/2,offset:m[0],r:0},{rotate:r.rotation-Math.PI/2,offset:m[1],r:Math.sqrt((f[0]-h[0])*(f[0]-h[0])+(f[1]-h[1])*(f[1]-h[1]))}],function(b,w){if(y[w]!=="none"&&y[w]!=null){var x=cr(y[w],-_/2,-S/2,_,S,v.stroke,!0),C=b.r+b.offset,D=c?h:f;x.attr({rotation:b.rotate,x:D[0]+C*Math.cos(r.rotation),y:D[1]-C*Math.sin(r.rotation),silent:!0,z2:11}),n.add(x)}})}}},axisTickLabelEstimate:function(r,t,e,i,n,a,o,s){var l=Kp(t,n,s);l&&qp(r,t,e,i,n,a,o,ke.estimate)},axisTickLabelDetermine:function(r,t,e,i,n,a,o,s){var l=Kp(t,n,s);l&&qp(r,t,e,i,n,a,o,ke.determine);var u=xL(r,n,a,i);wL(r,t.labelLayoutList,u),TL(r,n,a,i,r.tickDirection)},axisName:function(r,t,e,i,n,a,o,s){var l=e.ensureRecord(i);t.nameEl&&(n.remove(t.nameEl),t.nameEl=l.nameLayout=l.nameLocation=null);var u=r.axisName;if(kc(u)){var f=r.nameLocation,h=r.nameDirection,c=i.getModel("nameTextStyle"),v=i.get("nameGap")||0,d=i.axis.getExtent(),p=i.axis.inverse?-1:1,y=new dt(0,0),g=new dt(0,0);f==="start"?(y.x=d[0]-p*v,g.x=-p):f==="end"?(y.x=d[1]+p*v,g.x=p):(y.x=(d[0]+d[1])/2,y.y=r.labelOffset+h*v,g.y=h);var m=ur();g.transform(Ch(m,m,r.rotation));var _=i.get("nameRotate");_!=null&&(_=_*Dr/180);var S,b;_n(f)?S=kr.innerTextLayout(r.rotation,_??r.rotation,h):(S=SL(r.rotation,f,_||0,d),b=r.raw.axisNameAvailableWidth,b!=null&&(b=Math.abs(b/Math.sin(S.rotation)),!isFinite(b)&&(b=null)));var w=c.getFont(),x=i.get("nameTruncate",!0)||{},C=x.ellipsis,D=ga(r.raw.nameTruncateMaxWidth,x.maxWidth,b),A=s.nameMarginLevel||0,M=new Gt({x:y.x,y:y.y,rotation:S.rotation,silent:kr.isLabelSilent(i),style:Di(c,{text:u,font:w,overflow:"truncate",width:D,ellipsis:C,fill:c.getTextColor()||i.get(["axisLine","lineStyle","color"]),align:c.get("align")||S.textAlign,verticalAlign:c.get("verticalAlign")||S.textVerticalAlign}),z2:1});if(sl({el:M,componentModel:i,itemName:u}),M.__fullText=u,M.anid="name",i.get("triggerEvent")){var I=kr.makeAxisEventDataBase(i);I.targetType="axisName",I.name=u,ft(M).eventData=I}a.add(M),M.updateTransform(),t.nameEl=M;var L=l.nameLayout=Nr({label:M,priority:M.z2,defaultAttr:{ignore:M.ignore},marginDefault:_n(f)?pL[A]:gL[A]});if(l.nameLocation=f,n.add(M),M.decomposeTransform(),r.shouldNameMoveOverlap&&L){var P=e.ensureRecord(i);e.resolveAxisNameOverlap(r,e,i,L,g,P)}}}};function qp(r,t,e,i,n,a,o,s){D_(t)||CL(r,t,n,s,i,o);var l=t.labelLayoutList;ML(r,i,l,a),r.rotation;var u=r.optionHideOverlap;bL(i,l,u),u&&gA(It(l,function(f){return f&&!f.label.ignore})),yL(r,e,i,l)}function SL(r,t,e,i){var n=_y(e-r),a,o,s=i[0]>i[1],l=t==="start"&&!s||t!=="start"&&s;return _s(n-Dr/2)?(o=l?"bottom":"top",a="center"):_s(n-Dr*1.5)?(o=l?"top":"bottom",a="center"):(o="middle",nDr/2?a=l?"left":"right":a=l?"right":"left"),{rotation:n,textAlign:a,textVerticalAlign:o}}function bL(r,t,e){if(Q0(r.axis))return;function i(s,l,u){var f=Nr(t[l]),h=Nr(t[u]);if(!(!f||!h)){if(s===!1||f.suggestIgnore){ta(f.label);return}if(h.suggestIgnore){ta(h.label);return}var c=.1;if(!e){var v=[0,0,0,0];f=Dp({marginForce:v},f),h=Dp({marginForce:v},h)}Ac(f,h,null,{touchThreshold:c})&&ta(s?h.label:f.label)}}var n=r.get(["axisLabel","showMinLabel"]),a=r.get(["axisLabel","showMaxLabel"]),o=t.length;i(n,0,1),i(a,o-1,o-2)}function wL(r,t,e){r.showMinorTicks||T(t,function(i){if(i&&i.label.ignore)for(var n=0;nu[0]&&isFinite(d)&&isFinite(u[0]);)v=Mu(v),d=u[1]-v*o;else{var y=r.getTicks().length-1;y>o&&(v=Mu(v));var g=v*o;p=Math.ceil(u[1]/v)*v,d=Ot(p-g),d<0&&u[0]>=0?(d=0,p=Ot(g)):p>0&&u[1]<=0&&(p=0,d=-Ot(g))}var m=(n[0].value-a[0].value)/s,_=(n[o].value-a[o].value)/s;i.setExtent.call(r,d+v*m,p+v*_),i.setInterval.call(r,v),(m||_)&&i.setNiceExtent.call(r,d+v,p-v)}var Jp=[[3,1],[0,2]],RL=function(){function r(t,e,i){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=ah,this._initCartesian(t,e,i),this.model=t}return r.prototype.getRect=function(){return this._rect},r.prototype.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model);function n(o){var s,l=xt(o),u=l.length;if(u){for(var f=[],h=u-1;h>=0;h--){var c=+l[h],v=o[c],d=v.model,p=v.scale;Qf(p)&&d.get("alignTicks")&&d.get("interval")==null?f.push(v):(wp(p,d),Qf(p)&&(s=v))}f.length&&(s||(s=f.pop(),wp(s.scale,s.model)),T(f,function(y){kL(y.scale,y.model,s.scale)}))}}n(i.x),n(i.y);var a={};T(i.x,function(o){jp(i,"y",o,a)}),T(i.y,function(o){jp(i,"x",o,a)}),this.resize(this.model,e)},r.prototype.resize=function(t,e,i){var n=sc(t,e),a=this._rect=gn(t.getBoxLayoutParams(),n.refContainer),o=this._axesMap,s=this._coordsList,l=t.get("containLabel");if(A_(o,a),!i){var u=OL(a,s,o,l,e),f=void 0;if(l)f=rg(a.clone(),"axisLabel",null,a,o,u,n);else{var h=BL(t,a,n),c=h.outerBoundsRect,v=h.parsedOuterBoundsContain,d=h.outerBoundsClamp;c&&(f=rg(c,v,d,a,o,u,n))}L_(a,o,ke.determine,null,f,n)}T(this._coordsList,function(p){p.calcAffineTransform()})},r.prototype.getAxis=function(t,e){var i=this._axesMap[t];if(i!=null)return i[e||0]},r.prototype.getAxes=function(){return this._axesList.slice()},r.prototype.getCartesian=function(t,e){if(t!=null&&e!=null){var i="x"+t+"y"+e;return this._coordsMap[i]}q(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,a=this._coordsList;n0})==null;return Ms(i,s,!0,!0,e),A_(n,i),l;function u(c){T(n[vi[c]],function(v){if(Ra(v.model)){var d=a.ensureRecord(v.model),p=d.labelInfoList;if(p)for(var y=0;y0&&!pa(v)&&v>1e-4&&(c/=v),c}}function OL(r,t,e,i,n){var a=new w_(NL);return T(e,function(o){return T(o,function(s){if(Ra(s.model)){var l=!i;s.axisBuilder=IL(r,t,s.model,n,a,l)}})}),a}function L_(r,t,e,i,n,a){var o=e===ke.determine;T(t,function(u){return T(u,function(f){Ra(f.model)&&(PL(f.axisBuilder,r,f.model),f.axisBuilder.build(o?{axisTickLabelDetermine:!0}:{axisTickLabelEstimate:!0},{noPxChange:n}))})});var s={x:0,y:0};l(0),l(1);function l(u){s[vi[1-u]]=r[Ta[u]]<=a.refContainer[Ta[u]]*.5?0:1-u===1?2:1}T(t,function(u,f){return T(u,function(h){Ra(h.model)&&((i==="all"||o)&&h.axisBuilder.build({axisName:!0},{nameMarginLevel:s[f]}),o&&h.axisBuilder.build({axisLine:!0}))})})}function BL(r,t,e){var i,n=r.get("outerBoundsMode",!0);n==="same"?i=t.clone():(n==null||n==="auto")&&(i=gn(r.get("outerBounds",!0)||__,e.refContainer));var a=r.get("outerBoundsContain",!0),o;a==null||a==="auto"||ot(["all","axisLabel"],a)<0?o="all":o=a;var s=[Sf($(r.get("outerBoundsClampWidth",!0),Hs[0]),t.width),Sf($(r.get("outerBoundsClampHeight",!0),Hs[1]),t.height)];return{outerBoundsRect:i,parsedOuterBoundsContain:o,outerBoundsClamp:s}}var NL=function(r,t,e,i,n,a){var o=e.axis.dim==="x"?"y":"x";x_(r,t,e,i,n,a),_n(r.nameLocation)||T(t.recordMap[o],function(s){s&&s.labelInfoList&&s.dirVec&&C_(s.labelInfoList,s.dirVec,i,n)})};function zL(r,t){var e={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return FL(e,r,t),e.seriesInvolved&&GL(e,r),e}function FL(r,t,e){var i=t.getComponent("tooltip"),n=t.getComponent("axisPointer"),a=n.get("link",!0)||[],o=[];T(e.getCoordinateSystems(),function(s){if(!s.axisPointerEnabled)return;var l=Oa(s.model),u=r.coordSysAxesInfo[l]={};r.coordSysMap[l]=s;var f=s.model,h=f.getModel("tooltip",i);if(T(s.getAxes(),St(p,!1,null)),s.getTooltipAxes&&i&&h.get("show")){var c=h.get("trigger")==="axis",v=h.get(["axisPointer","type"])==="cross",d=s.getTooltipAxes(h.get(["axisPointer","axis"]));(c||v)&&T(d.baseAxes,St(p,v?"cross":!0,c)),v&&T(d.otherAxes,St(p,"cross",!1))}function p(y,g,m){var _=m.model.getModel("axisPointer",n),S=_.get("show");if(!(!S||S==="auto"&&!y&&!sh(_))){g==null&&(g=_.get("triggerTooltip")),_=y?VL(m,h,n,t,y,g):_;var b=_.get("snap"),w=_.get("triggerEmphasis"),x=Oa(m.model),C=g||b||m.type==="category",D=r.axesInfo[x]={key:x,axis:m,coordSys:s,axisPointerModel:_,triggerTooltip:g,triggerEmphasis:w,involveSeries:C,snap:b,useHandle:sh(_),seriesModels:[],linkGroup:null};u[x]=D,r.seriesInvolved=r.seriesInvolved||C;var A=HL(a,m);if(A!=null){var M=o[A]||(o[A]={axesInfo:{}});M.axesInfo[x]=D,M.mapper=a[A].mapper,D.linkGroup=M}}}})}function VL(r,t,e,i,n,a){var o=t.getModel("axisPointer"),s=["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],l={};T(s,function(c){l[c]=at(o.get(c))}),l.snap=r.type!=="category"&&!!a,o.get("type")==="cross"&&(l.type="line");var u=l.label||(l.label={});if(u.show==null&&(u.show=!1),n==="cross"){var f=o.get(["label","show"]);if(u.show=f??!0,!a){var h=l.lineStyle=o.get("crossStyle");h&>(u,h.textStyle)}}return r.model.getModel("axisPointer",new Ct(l,e,i))}function GL(r,t){t.eachSeries(function(e){var i=e.coordinateSystem,n=e.get(["tooltip","trigger"],!0),a=e.get(["tooltip","show"],!0);!i||!i.model||n==="none"||n===!1||n==="item"||a===!1||e.get(["axisPointer","show"],!0)===!1||T(r.coordSysAxesInfo[Oa(i.model)],function(o){var s=o.axis;i.getAxis(s.dim)===s&&(o.seriesModels.push(e),o.seriesDataCount==null&&(o.seriesDataCount=0),o.seriesDataCount+=e.getData().count())})})}function HL(r,t){for(var e=t.model,i=t.dim,n=0;n=0||r===t}function WL(r){var t=Rc(r);if(t){var e=t.axisPointerModel,i=t.axis.scale,n=e.option,a=e.get("status"),o=e.get("value");o!=null&&(o=i.parse(o));var s=sh(e);a==null&&(n.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(o==null||o>l[1])&&(o=l[1]),o0&&(b[0]=-b[0],b[1]=-b[1]);var x=S[0]<0?-1:1;if(a.__position!=="start"&&a.__position!=="end"){var C=-Math.atan2(S[1],S[0]);h[0].8?"left":c[0]<-.8?"right":"center",p=c[1]>.8?"top":c[1]<-.8?"bottom":"middle";break;case"start":a.x=-c[0]*g+f[0],a.y=-c[1]*m+f[1],d=c[0]>.8?"right":c[0]<-.8?"left":"center",p=c[1]>.8?"bottom":c[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":a.x=g*x+f[0],a.y=f[1]+D,d=S[0]<0?"right":"left",a.originX=-g*x,a.originY=-D;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":a.x=w[0],a.y=w[1]+D,d="center",a.originY=-D;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":a.x=-g*x+h[0],a.y=h[1]+D,d=S[0]>=0?"right":"left",a.originX=g*x,a.originY=-D;break}a.scaleX=a.scaleY=o,a.setStyle({verticalAlign:a.__verticalAlign||p,align:a.__align||d})}},t}(Mt),e2=function(){function r(t){this.group=new Mt,this._LineCtor=t||t2}return r.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var i=this,n=i.group,a=i._lineData;i._lineData=t,a||n.removeAll();var o=ug(t);t.diff(a).add(function(s){e._doAdd(t,s,o)}).update(function(s,l){e._doUpdate(a,t,l,s,o)}).remove(function(s){n.remove(a.getItemGraphicEl(s))}).execute()},r.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,i){e.updateLayout(t,i)},this)},r.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=ug(t),this._lineData=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(t,e){this._progressiveEls=[];function i(s){!s.isGroup&&!r2(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var n=t.start;n0}function ug(r){var t=r.hostModel,e=t.getModel("emphasis");return{lineStyle:t.getModel("lineStyle").getLineStyle(),emphasisLineStyle:e.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:t.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:t.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:e.get("disabled"),blurScope:e.get("blurScope"),focus:e.get("focus"),labelStatesModels:Tn(t)}}function fg(r){return isNaN(r[0])||isNaN(r[1])}function zu(r){return r&&!fg(r[0])&&!fg(r[1])}function fh(r,t,e,i,n,a){r=r||0;var o=e[1]-e[0];if(n!=null&&(n=Qi(n,[0,o])),a!=null&&(a=Math.max(a,n??0)),i==="all"){var s=Math.abs(t[1]-t[0]);s=Qi(s,[0,o]),n=a=Qi(s,[n,a]),i=0}t[0]=Qi(t[0],e),t[1]=Qi(t[1],e);var l=Fu(t,i);t[i]+=r;var u=n||0,f=e.slice();l.sign<0?f[0]+=u:f[1]-=u,t[i]=Qi(t[i],f);var h;return h=Fu(t,i),n!=null&&(h.sign!==l.sign||h.spana&&(t[1-i]=t[i]+h.sign*a),t}function Fu(r,t){var e=r[t]-r[1-t];return{span:Math.abs(e),sign:e>0?-1:e<0?1:t?-1:1}}function Qi(r,t){return Math.min(t[1]!=null?t[1]:1/0,Math.max(t[0]!=null?t[0]:-1/0,r))}var di=bt(),hg=at,Vu=nt,i2=function(){function r(){this._dragging=!1,this.animationThreshold=15}return r.prototype.render=function(t,e,i,n){var a=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,!(!n&&this._lastValue===a&&this._lastStatus===o)){this._lastValue=a,this._lastStatus=o;var s=this._group,l=this._handle;if(!o||o==="hide"){s&&s.hide(),l&&l.hide();return}s&&s.show(),l&&l.show();var u={};this.makeElOption(u,a,t,e,i);var f=u.graphicKey;f!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=f;var h=this._moveAnimation=this.determineAnimation(t,e);if(!s)s=this._group=new Mt,this.createPointerEl(s,u,t,e),this.createLabelEl(s,u,t,e),i.getZr().add(s);else{var c=St(cg,e,h);this.updatePointerEl(s,u,c),this.updateLabelEl(s,u,c,e)}dg(s,e,!0),this._renderHandle(a)}},r.prototype.remove=function(t){this.clear(t)},r.prototype.dispose=function(t){this.clear(t)},r.prototype.determineAnimation=function(t,e){var i=e.get("animation"),n=t.axis,a=n.type==="category",o=e.get("snap");if(!o&&!a)return!1;if(i==="auto"||i==null){var s=this.animationThreshold;if(a&&n.getBandWidth()>s)return!0;if(o){var l=Rc(t).seriesDataCount,u=n.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return i===!0},r.prototype.makeElOption=function(t,e,i,n,a){},r.prototype.createPointerEl=function(t,e,i,n){var a=e.pointer;if(a){var o=di(t).pointerEl=new bx[a.type](hg(e.pointer));t.add(o)}},r.prototype.createLabelEl=function(t,e,i,n){if(e.label){var a=di(t).labelEl=new Gt(hg(e.label));t.add(a),vg(a,n)}},r.prototype.updatePointerEl=function(t,e,i){var n=di(t).pointerEl;n&&e.pointer&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},r.prototype.updateLabelEl=function(t,e,i,n){var a=di(t).labelEl;a&&(a.setStyle(e.label.style),i(a,{x:e.label.x,y:e.label.y}),vg(a,n))},r.prototype._renderHandle=function(t){if(!(this._dragging||!this.updateHandleTransform)){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,a=e.getModel("handle"),o=e.get("status");if(!a.get("show")||!o||o==="hide"){n&&i.remove(n),this._handle=null;return}var s;this._handle||(s=!0,n=this._handle=ol(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(u){fs(u.event)},onmousedown:Vu(this._onHandleDragMove,this,0,0),drift:Vu(this._onHandleDragMove,this),ondragend:Vu(this._onHandleDragEnd,this)}),i.add(n)),dg(n,e,!1),n.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var l=a.get("size");V(l)||(l=[l,l]),n.scaleX=l[0]/2,n.scaleY=l[1]/2,gc(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,s)}},r.prototype._moveHandleToValue=function(t,e){cg(this._axisPointerModel,!e&&this._moveAnimation,this._handle,Gu(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},r.prototype._onHandleDragMove=function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(Gu(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(Gu(n)),di(i).lastProp=null,this._doDispatchAxisPointer()}},r.prototype._doDispatchAxisPointer=function(){var t=this._handle;if(t){var e=this._payloadInfo,i=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:e.cursorPoint[0],y:e.cursorPoint[1],tooltipOption:e.tooltipOption,axesInfo:[{axisDim:i.axis.dim,axisIndex:i.componentIndex}]})}},r.prototype._onHandleDragEnd=function(){this._dragging=!1;var t=this._handle;if(t){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},r.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null),Ps(this,"_doDispatchAxisPointer")},r.prototype.doClear=function(){},r.prototype.buildLabel=function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}},r}();function cg(r,t,e,i){E_(di(e).lastProp,i)||(di(e).lastProp=i,t?Zt(e,i,r):(e.stopAnimation(),e.attr(i)))}function E_(r,t){if(q(r)&&q(t)){var e=!0;return T(t,function(i,n){e=e&&E_(r[n],i)}),!!e}else return r===t}function vg(r,t){r[t.get(["label","show"])?"show":"hide"]()}function Gu(r){return{x:r.x||0,y:r.y||0,rotation:r.rotation||0}}function dg(r,t,e){var i=t.get("z"),n=t.get("zlevel");r&&r.traverse(function(a){a.type!=="group"&&(i!=null&&(a.z=i),n!=null&&(a.zlevel=n),a.silent=e)})}function n2(r){var t=r.get("type"),e=r.getModel(t+"Style"),i;return t==="line"?(i=e.getLineStyle(),i.fill=null):t==="shadow"&&(i=e.getAreaStyle(),i.stroke=null),i}function a2(r,t,e,i,n){var a=e.get("value"),o=O_(a,t.axis,t.ecModel,e.get("seriesDataIndices"),{precision:e.get(["label","precision"]),formatter:e.get(["label","formatter"])}),s=e.getModel("label"),l=cl(s.get("padding")||0),u=s.getFont(),f=dy(o,u),h=n.position,c=f.width+l[1]+l[3],v=f.height+l[0]+l[2],d=n.align;d==="right"&&(h[0]-=c),d==="center"&&(h[0]-=c/2);var p=n.verticalAlign;p==="bottom"&&(h[1]-=v),p==="middle"&&(h[1]-=v/2),o2(h,c,v,i);var y=s.get("backgroundColor");(!y||y==="auto")&&(y=t.get(["axisLine","lineStyle","color"])),r.label={x:h[0],y:h[1],style:Di(s,{text:o,font:u,fill:s.getTextColor(),padding:l,backgroundColor:y}),z2:10}}function o2(r,t,e,i){var n=i.getWidth(),a=i.getHeight();r[0]=Math.min(r[0]+t,n)-t,r[1]=Math.min(r[1]+e,a)-e,r[0]=Math.max(r[0],0),r[1]=Math.max(r[1],0)}function O_(r,t,e,i,n){r=t.scale.parse(r);var a=t.scale.getLabel({value:r},{precision:n.precision}),o=n.formatter;if(o){var s={value:zs(t,{value:r}),axisDimension:t.dim,axisIndex:t.index,seriesData:[]};T(i,function(l){var u=e.getSeriesByIndex(l.seriesIndex),f=l.dataIndexInside,h=u&&u.getDataParams(f);h&&s.seriesData.push(h)}),Y(o)?a=o.replace("{value}",a):tt(o)&&(a=o(s))}return a}function B_(r,t,e){var i=ur();return Ch(i,i,e.rotation),nf(i,i,e.position),Ma([r.dataToCoord(t),(e.labelOffset||0)+(e.labelDirection||1)*(e.labelMargin||0)],i)}function s2(r,t,e,i,n,a){var o=kr.innerTextLayout(e.rotation,0,e.labelDirection);e.labelMargin=n.get(["label","margin"]),a2(t,i,n,a,{position:B_(i.axis,r,e),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function l2(r,t,e){return e=e||0,{x1:r[e],y1:r[1-e],x2:t[e],y2:t[1-e]}}function u2(r,t,e){return e=e||0,{x:r[e],y:r[1-e],width:t[e],height:t[1-e]}}var f2=function(r){F(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,i,n,a,o){var s=n.axis,l=s.grid,u=a.get("type"),f=pg(l,s).getOtherAxis(s).getGlobalExtent(),h=s.toGlobalCoord(s.dataToCoord(i,!0));if(u&&u!=="none"){var c=n2(a),v=h2[u](s,h,f);v.style=c,e.graphicKey=v.type,e.pointer=v}var d=Ws(l.getRect(),n);s2(i,e,d,n,a,o)},t.prototype.getHandleTransform=function(e,i,n){var a=Ws(i.axis.grid.getRect(),i,{labelInside:!1});a.labelMargin=n.get(["handle","margin"]);var o=B_(i.axis,e,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,i,n,a){var o=n.axis,s=o.grid,l=o.getGlobalExtent(!0),u=pg(s,o).getOtherAxis(o).getGlobalExtent(),f=o.dim==="x"?0:1,h=[e.x,e.y];h[f]+=i[f],h[f]=Math.min(l[1],h[f]),h[f]=Math.max(l[0],h[f]);var c=(u[1]+u[0])/2,v=[c,c];v[f]=h[f];var d=[{verticalAlign:"middle"},{align:"center"}];return{x:h[0],y:h[1],rotation:e.rotation,cursorPoint:v,tooltipOption:d[f]}},t}(i2);function pg(r,t){var e={};return e[t.dim+"AxisIndex"]=t.index,r.getCartesian(e)}var h2={line:function(r,t,e){var i=l2([t,e[0]],[t,e[1]],gg(r));return{type:"Line",subPixelOptimize:!0,shape:i}},shadow:function(r,t,e){var i=Math.max(1,r.getBandWidth()),n=e[1]-e[0];return{type:"Rect",shape:u2([t-i/2,e[0]],[i,n],gg(r))}}};function gg(r){return r.dim==="x"?0:1}var c2=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="axisPointer",t.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:W.color.border,width:1,type:"dashed"},shadowStyle:{color:W.color.shadowTint},label:{show:!0,formatter:null,precision:"auto",margin:3,color:W.color.neutral00,padding:[5,7,5,7],backgroundColor:W.color.accent60,borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:W.color.accent40,throttle:40}},t}(ct),lr=bt(),v2=T;function N_(r,t,e){if(!et.node){var i=t.getZr();lr(i).records||(lr(i).records={}),d2(i,t);var n=lr(i).records[r]||(lr(i).records[r]={});n.handler=e}}function d2(r,t){if(lr(r).initialized)return;lr(r).initialized=!0,e("click",St(yg,"click")),e("mousemove",St(yg,"mousemove")),e("globalout",g2);function e(i,n){r.on(i,function(a){var o=y2(t);v2(lr(r).records,function(s){s&&n(s,a,o.dispatchAction)}),p2(o.pendings,t)})}}function p2(r,t){var e=r.showTip.length,i=r.hideTip.length,n;e?n=r.showTip[e-1]:i&&(n=r.hideTip[i-1]),n&&(n.dispatchAction=null,t.dispatchAction(n))}function g2(r,t,e){r.handler("leave",null,e)}function yg(r,t,e,i){t.handler(r,e,i)}function y2(r){var t={showTip:[],hideTip:[]},e=function(i){var n=t[i.type];n?n.push(i):(i.dispatchAction=e,r.dispatchAction(i))};return{dispatchAction:e,pendings:t}}function hh(r,t){if(!et.node){var e=t.getZr(),i=(lr(e).records||{})[r];i&&(lr(e).records[r]=null)}}var m2=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,i,n){var a=i.getComponent("tooltip"),o=e.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";N_("axisPointer",n,function(s,l,u){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&u({type:"updateAxisPointer",currTrigger:s,x:l&&l.offsetX,y:l&&l.offsetY})})},t.prototype.remove=function(e,i){hh("axisPointer",i)},t.prototype.dispose=function(e,i){hh("axisPointer",i)},t.type="axisPointer",t}(be);function z_(r,t){var e=[],i=r.seriesIndex,n;if(i==null||!(n=t.getSeriesByIndex(i)))return{point:[]};var a=n.getData(),o=Ci(a,r);if(o==null||o<0||V(o))return{point:[]};var s=a.getItemGraphicEl(o),l=n.coordinateSystem;if(n.getTooltipPosition)e=n.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)if(r.isStacked){var u=l.getBaseAxis(),f=l.getOtherAxis(u),h=f.dim,c=u.dim,v=h==="x"||h==="radius"?1:0,d=a.mapDimension(c),p=[];p[v]=a.get(d,o),p[1-v]=a.get(a.getCalculationInfo("stackResultDimension"),o),e=l.dataToPoint(p)||[]}else e=l.dataToPoint(a.getValues(Z(l.dimensions,function(g){return a.mapDimension(g)}),o))||[];else if(s){var y=s.getBoundingRect().clone();y.applyTransform(s.transform),e=[y.x+y.width/2,y.y+y.height/2]}return{point:e,el:s}}var mg=bt();function _2(r,t,e){var i=r.currTrigger,n=[r.x,r.y],a=r,o=r.dispatchAction||nt(e.dispatchAction,e),s=t.getComponent("axisPointer").coordSysAxesInfo;if(s){ls(n)&&(n=z_({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},t).point);var l=ls(n),u=a.axesInfo,f=s.axesInfo,h=i==="leave"||ls(n),c={},v={},d={list:[],map:{}},p={showPointer:St(b2,v),showTooltip:St(w2,d)};T(s.coordSysMap,function(g,m){var _=l||g.containPoint(n);T(s.coordSysAxesInfo[m],function(S,b){var w=S.axis,x=M2(u,S);if(!h&&_&&(!u||x)){var C=x&&x.value;C==null&&!l&&(C=w.pointToData(n)),C!=null&&_g(S,C,p,!1,c)}})});var y={};return T(f,function(g,m){var _=g.linkGroup;_&&!v[m]&&T(_.axesInfo,function(S,b){var w=v[b];if(S!==g&&w){var x=w.value;_.mapper&&(x=g.axis.scale.parse(_.mapper(x,Sg(S),Sg(g)))),y[g.key]=x}})}),T(y,function(g,m){_g(f[m],g,p,!0,c)}),x2(v,f,c),T2(d,n,r,o),C2(f,o,e),c}}function _g(r,t,e,i,n){var a=r.axis;if(!(a.scale.isBlank()||!a.containData(t))){if(!r.involveSeries){e.showPointer(r,t);return}var o=S2(t,r),s=o.payloadBatch,l=o.snapToValue;s[0]&&n.seriesIndex==null&&z(n,s[0]),!i&&r.snap&&a.containData(l)&&l!=null&&(t=l),e.showPointer(r,t,s),e.showTooltip(r,o,l)}}function S2(r,t){var e=t.axis,i=e.dim,n=r,a=[],o=Number.MAX_VALUE,s=-1;return T(t.seriesModels,function(l,u){var f=l.getData().mapDimensionsAll(i),h,c;if(l.getAxisTooltipData){var v=l.getAxisTooltipData(f,r,e);c=v.dataIndices,h=v.nestestValue}else{if(c=l.indicesOfNearest(i,f[0],r,e.type==="category"?.5:null),!c.length)return;h=l.getData().get(f[0],c[0])}if(!(h==null||!isFinite(h))){var d=r-h,p=Math.abs(d);p<=o&&((p=0&&s<0)&&(o=p,s=d,n=h,a.length=0),T(c,function(y){a.push({seriesIndex:l.seriesIndex,dataIndexInside:y,dataIndex:l.getData().getRawIndex(y)})}))}}),{payloadBatch:a,snapToValue:n}}function b2(r,t,e,i){r[t.key]={value:e,payloadBatch:i}}function w2(r,t,e,i){var n=e.payloadBatch,a=t.axis,o=a.model,s=t.axisPointerModel;if(!(!t.triggerTooltip||!n.length)){var l=t.coordSys.model,u=Oa(l),f=r.map[u];f||(f=r.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},r.list.push(f)),f.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:n.slice()})}}function x2(r,t,e){var i=e.axesInfo=[];T(t,function(n,a){var o=n.axisPointerModel.option,s=r[a];s?(!n.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!n.useHandle&&(o.status="hide"),o.status==="show"&&i.push({axisDim:n.axis.dim,axisIndex:n.axis.model.componentIndex,value:o.value})})}function T2(r,t,e,i){if(ls(t)||!r.list.length){i({type:"hideTip"});return}var n=((r.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:t[0],y:t[1],tooltipOption:e.tooltipOption,position:e.position,dataIndexInside:n.dataIndexInside,dataIndex:n.dataIndex,seriesIndex:n.seriesIndex,dataByCoordSys:r.list})}function C2(r,t,e){var i=e.getZr(),n="axisPointerLastHighlights",a=mg(i)[n]||{},o=mg(i)[n]={};T(r,function(u,f){var h=u.axisPointerModel.option;h.status==="show"&&u.triggerEmphasis&&T(h.seriesDataIndices,function(c){var v=c.seriesIndex+" | "+c.dataIndex;o[v]=c})});var s=[],l=[];T(a,function(u,f){!o[f]&&l.push(u)}),T(o,function(u,f){!a[f]&&s.push(u)}),l.length&&e.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&e.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function M2(r,t){for(var e=0;e<(r||[]).length;e++){var i=r[e];if(t.axis.dim===i.axisDim&&t.axis.model.componentIndex===i.axisIndex)return i}}function Sg(r){var t=r.axis.model,e={},i=e.axisDim=r.axis.dim;return e.axisIndex=e[i+"AxisIndex"]=t.componentIndex,e.axisName=e[i+"AxisName"]=t.name,e.axisId=e[i+"AxisId"]=t.id,e}function ls(r){return!r||r[0]==null||isNaN(r[0])||r[1]==null||isNaN(r[1])}function F_(r){I_.registerAxisPointerClass("CartesianAxisPointer",f2),r.registerComponentModel(c2),r.registerComponentView(m2),r.registerPreprocessor(function(t){if(t){(!t.axisPointer||t.axisPointer.length===0)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!V(e)&&(t.axisPointer.link=[e])}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=zL(t,e)}),r.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},_2)}function D2(r){Br(QL),Br(F_)}var bg=["x","y","radius","angle","single"],A2=["cartesian2d","polar","singleAxis"];function L2(r){var t=r.get("coordinateSystem");return ot(A2,t)>=0}function Ar(r){return r+"Axis"}function I2(r,t){var e=rt(),i=[],n=rt();r.eachComponent({mainType:"dataZoom",query:t},function(f){n.get(f.uid)||s(f)});var a;do a=!1,r.eachComponent("dataZoom",o);while(a);function o(f){!n.get(f.uid)&&l(f)&&(s(f),a=!0)}function s(f){n.set(f.uid,!0),i.push(f),u(f)}function l(f){var h=!1;return f.eachTargetAxis(function(c,v){var d=e.get(c);d&&d[v]&&(h=!0)}),h}function u(f){f.eachTargetAxis(function(h,c){(e.get(h)||e.set(h,[]))[c]=!0})}return i}function P2(r){var t=r.ecModel,e={infoList:[],infoMap:rt()};return r.eachTargetAxis(function(i,n){var a=t.getComponent(Ar(i),n);if(a){var o=a.getCoordSysModel();if(o){var s=o.uid,l=e.infoMap.get(s);l||(l={model:o,axisModels:[]},e.infoList.push(l),e.infoMap.set(s,l)),l.axisModels.push(a)}}}),e}var Hu=function(){function r(){this.indexList=[],this.indexMap=[]}return r.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},r}(),wg=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._autoThrottle=!0,e._noTarget=!0,e._rangePropMode=["percent","percent"],e}return t.prototype.init=function(e,i,n){var a=xg(e);this.settledOption=a,this.mergeDefaultAndTheme(e,n),this._doInit(a)},t.prototype.mergeOption=function(e){var i=xg(e);lt(this.option,e,!0),lt(this.settledOption,i,!0),this._doInit(i)},t.prototype._doInit=function(e){var i=this.option;this._setDefaultThrottle(e),this._updateRangeUse(e);var n=this.settledOption;T([["start","startValue"],["end","endValue"]],function(a,o){this._rangePropMode[o]==="value"&&(i[a[0]]=n[a[0]]=null)},this),this._resetTarget()},t.prototype._resetTarget=function(){var e=this.get("orient",!0),i=this._targetAxisInfoMap=rt(),n=this._fillSpecifiedTargetAxis(i);n?this._orient=e||this._makeAutoOrientByTargetAxis():(this._orient=e||"horizontal",this._fillAutoTargetAxisByOrient(i,this._orient)),this._noTarget=!0,i.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)},t.prototype._fillSpecifiedTargetAxis=function(e){var i=!1;return T(bg,function(n){var a=this.getReferringComponents(Ar(n),yb);if(a.specified){i=!0;var o=new Hu;T(a.models,function(s){o.add(s.componentIndex)}),e.set(n,o)}},this),i},t.prototype._fillAutoTargetAxisByOrient=function(e,i){var n=this.ecModel,a=!0;if(a){var o=i==="vertical"?"y":"x",s=n.findComponents({mainType:o+"Axis"});l(s,o)}if(a){var s=n.findComponents({mainType:"singleAxis",filter:function(f){return f.get("orient",!0)===i}});l(s,"single")}function l(u,f){var h=u[0];if(h){var c=new Hu;if(c.add(h.componentIndex),e.set(f,c),a=!1,f==="x"||f==="y"){var v=h.getReferringComponents("grid",Yt).models[0];v&&T(u,function(d){h.componentIndex!==d.componentIndex&&v===d.getReferringComponents("grid",Yt).models[0]&&c.add(d.componentIndex)})}}}a&&T(bg,function(u){if(a){var f=n.findComponents({mainType:Ar(u),filter:function(c){return c.get("type",!0)==="category"}});if(f[0]){var h=new Hu;h.add(f[0].componentIndex),e.set(u,h),a=!1}}},this)},t.prototype._makeAutoOrientByTargetAxis=function(){var e;return this.eachTargetAxis(function(i){!e&&(e=i)},this),e==="y"?"vertical":"horizontal"},t.prototype._setDefaultThrottle=function(e){if(e.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var i=this.ecModel.option;this.option.throttle=i.animation&&i.animationDurationUpdate>0?100:20}},t.prototype._updateRangeUse=function(e){var i=this._rangePropMode,n=this.get("rangeMode");T([["start","startValue"],["end","endValue"]],function(a,o){var s=e[a[0]]!=null,l=e[a[1]]!=null;s&&!l?i[o]="percent":!s&&l?i[o]="value":n?i[o]=n[o]:s&&(i[o]="percent")})},t.prototype.noTarget=function(){return this._noTarget},t.prototype.getFirstTargetAxisModel=function(){var e;return this.eachTargetAxis(function(i,n){e==null&&(e=this.ecModel.getComponent(Ar(i),n))},this),e},t.prototype.eachTargetAxis=function(e,i){this._targetAxisInfoMap.each(function(n,a){T(n.indexList,function(o){e.call(i,a,o)})})},t.prototype.getAxisProxy=function(e,i){var n=this.getAxisModel(e,i);if(n)return n.__dzAxisProxy},t.prototype.getAxisModel=function(e,i){var n=this._targetAxisInfoMap.get(e);if(n&&n.indexMap[i])return this.ecModel.getComponent(Ar(e),i)},t.prototype.setRawRange=function(e){var i=this.option,n=this.settledOption;T([["start","startValue"],["end","endValue"]],function(a){(e[a[0]]!=null||e[a[1]]!=null)&&(i[a[0]]=n[a[0]]=e[a[0]],i[a[1]]=n[a[1]]=e[a[1]])},this),this._updateRangeUse(e)},t.prototype.setCalculatedRange=function(e){var i=this.option;T(["start","startValue","end","endValue"],function(n){i[n]=e[n]})},t.prototype.getPercentRange=function(){var e=this.findRepresentativeAxisProxy();if(e)return e.getDataPercentWindow()},t.prototype.getValueRange=function(e,i){if(e==null&&i==null){var n=this.findRepresentativeAxisProxy();if(n)return n.getDataValueWindow()}else return this.getAxisProxy(e,i).getDataValueWindow()},t.prototype.findRepresentativeAxisProxy=function(e){if(e)return e.__dzAxisProxy;for(var i,n=this._targetAxisInfoMap.keys(),a=0;ao[1];if(_&&!S&&!b)return!0;_&&(y=!0),S&&(d=!0),b&&(p=!0)}return y&&d&&p})}else en(f,function(v){if(a==="empty")l.setData(u=u.map(v,function(p){return s(p)?p:NaN}));else{var d={};d[v]=o,u.selectRange(d)}});en(f,function(v){u.setApproximateExtent(o,v)})}});function s(l){return l>=o[0]&&l<=o[1]}},r.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,i=this._dataExtent;en(["min","max"],function(n){var a=e.get(n+"Span"),o=e.get(n+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?a=Et(i[0]+o,i,[0,100],!0):a!=null&&(o=Et(a,[0,100],i,!0)-i[0]),t[n+"Span"]=a,t[n+"ValueSpan"]=o},this)},r.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,i=this._valueWindow;if(e){var n=my(i,[0,500]);n=Math.min(n,20);var a=t.axis.scale.rawExtentInfo;e[0]!==0&&a.setDeterminedMinMax("min",+i[0].toFixed(n)),e[1]!==100&&a.setDeterminedMinMax("max",+i[1].toFixed(n)),a.freeze()}},r}();function E2(r,t,e){var i=[1/0,-1/0];en(e,function(o){$D(i,o.getData(),t)});var n=r.getAxisModel(),a=q0(n.axis.scale,n,i).calculate();return[a.min,a.max]}var O2={getTargetSeries:function(r){function t(n){r.eachComponent("dataZoom",function(a){a.eachTargetAxis(function(o,s){var l=r.getComponent(Ar(o),s);n(o,s,l,a)})})}t(function(n,a,o,s){o.__dzAxisProxy=null});var e=[];t(function(n,a,o,s){o.__dzAxisProxy||(o.__dzAxisProxy=new R2(n,a,s,r),e.push(o.__dzAxisProxy))});var i=rt();return T(e,function(n){T(n.getTargetSeriesModels(),function(a){i.set(a.uid,a)})}),i},overallReset:function(r,t){r.eachComponent("dataZoom",function(e){e.eachTargetAxis(function(i,n){e.getAxisProxy(i,n).reset(e)}),e.eachTargetAxis(function(i,n){e.getAxisProxy(i,n).filterData(e,t)})}),r.eachComponent("dataZoom",function(e){var i=e.findRepresentativeAxisProxy();if(i){var n=i.getDataPercentWindow(),a=i.getDataValueWindow();e.setCalculatedRange({start:n[0],end:n[1],startValue:a[0],endValue:a[1]})}})}};function B2(r){r.registerAction("dataZoom",function(t,e){var i=I2(e,t);T(i,function(n){n.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})})}var Cg=!1;function N2(r){Cg||(Cg=!0,r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,O2),B2(r),r.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function z2(r,t){var e=cl(t.get("padding")),i=t.getItemStyle(["color","opacity"]);i.fill=t.get("backgroundColor");var n=new _t({shape:{x:r.x-e[3],y:r.y-e[0],width:r.width+e[1]+e[3],height:r.height+e[0]+e[2],r:t.get("borderRadius")},style:i,silent:!0,z2:-1});return n}var F2=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="tooltip",t.dependencies=["axisPointer"],t.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,displayTransition:!0,enterable:!1,backgroundColor:W.color.neutral00,shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,defaultBorderColor:W.color.border,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:W.color.borderShade,width:1,type:"dashed",textStyle:{}}},textStyle:{color:W.color.tertiary,fontSize:14}},t}(ct);function V_(r){var t=r.get("confine");return t!=null?!!t:r.get("renderMode")==="richText"}function G_(r){if(et.domSupported){for(var t=document.documentElement.style,e=0,i=r.length;e-1?(s+="top:50%",l+="translateY(-50%) rotate("+(u=a==="left"?-225:-45)+"deg)"):(s+="left:50%",l+="translateX(-50%) rotate("+(u=a==="top"?225:45)+"deg)");var f=u*Math.PI/180,h=o+n,c=h*Math.abs(Math.cos(f))+h*Math.abs(Math.sin(f)),v=Math.round(((c-Math.SQRT2*n)/2+Math.SQRT2*n-(c-h)/2)*100)/100;s+=";"+a+":-"+v+"px";var d=t+" solid "+n+"px;",p=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+l+";","border-bottom:"+d,"border-right:"+d,"background-color:"+i+";"];return''}function X2(r,t,e){var i="cubic-bezier(0.23,1,0.32,1)",n="",a="";return e&&(n=" "+r/2+"s "+i,a="opacity"+n+",visibility"+n),t||(n=" "+r+"s "+i,a+=(a.length?",":"")+(et.transformSupported?""+Ec+n:",left"+n+",top"+n)),H2+":"+a}function Mg(r,t,e){var i=r.toFixed(0)+"px",n=t.toFixed(0)+"px";if(!et.transformSupported)return e?"top:"+n+";left:"+i+";":[["top",n],["left",i]];var a=et.transform3dSupported,o="translate"+(a?"3d":"")+"("+i+","+n+(a?",0":"")+")";return e?"top:0;left:0;"+Ec+":"+o+";":[["top",0],["left",0],[H_,o]]}function Z2(r){var t=[],e=r.get("fontSize"),i=r.getTextColor();i&&t.push("color:"+i),t.push("font:"+r.getFont());var n=$(r.get("lineHeight"),Math.round(e*3/2));e&&t.push("line-height:"+n+"px");var a=r.get("textShadowColor"),o=r.get("textShadowBlur")||0,s=r.get("textShadowOffsetX")||0,l=r.get("textShadowOffsetY")||0;return a&&o&&t.push("text-shadow:"+s+"px "+l+"px "+o+"px "+a),T(["decoration","align"],function(u){var f=r.get(u);f&&t.push("text-"+u+":"+f)}),t.join(";")}function $2(r,t,e,i){var n=[],a=r.get("transitionDuration"),o=r.get("backgroundColor"),s=r.get("shadowBlur"),l=r.get("shadowColor"),u=r.get("shadowOffsetX"),f=r.get("shadowOffsetY"),h=r.getModel("textStyle"),c=e0(r,"html"),v=u+"px "+f+"px "+s+"px "+l;return n.push("box-shadow:"+v),t&&a>0&&n.push(X2(a,e,i)),o&&n.push("background-color:"+o),T(["width","color","radius"],function(d){var p="border-"+d,y=Am(p),g=r.get(y);g!=null&&n.push(p+":"+g+(d==="color"?"":"px"))}),n.push(Z2(h)),c!=null&&n.push("padding:"+cl(c).join("px ")+"px"),n.join(";")+";"}function Dg(r,t,e,i,n){var a=t&&t.painter;if(e){var o=a&&a.getViewportRoot();o&&V1(r,o,e,i,n)}else{r[0]=i,r[1]=n;var s=a&&a.getViewportRootOffset();s&&(r[0]+=s.offsetLeft,r[1]+=s.offsetTop)}r[2]=r[0]/t.getWidth(),r[3]=r[1]/t.getHeight()}var q2=function(){function r(t,e){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,et.wxa)return null;var i=document.createElement("div");i.domBelongToZr=!0,this.el=i;var n=this._zr=t.getZr(),a=e.appendTo,o=a&&(Y(a)?document.querySelector(a):da(a)?a:tt(a)&&a(t.getDom()));Dg(this._styleCoord,n,o,t.getWidth()/2,t.getHeight()/2),(o||t.getDom()).appendChild(i),this._api=t,this._container=o;var s=this;i.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},i.onmousemove=function(l){if(l=l||window.event,!s._enterable){var u=n.handler,f=n.painter.getViewportRoot();ce(f,l,!0),u.dispatch("mousemove",l)}},i.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return r.prototype.update=function(t){if(!this._container){var e=this._api.getDom(),i=G2(e,"position"),n=e.style;n.position!=="absolute"&&i!=="absolute"&&(n.position="relative")}var a=t.get("alwaysShowContent");a&&this._moveIfResized(),this._alwaysShowContent=a,this._enableDisplayTransition=t.get("displayTransition")&&t.get("transitionDuration")>0,this.el.className=t.get("className")||""},r.prototype.show=function(t,e){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var i=this.el,n=i.style,a=this._styleCoord;i.innerHTML?n.cssText=W2+$2(t,!this._firstShow,this._longHide,this._enableDisplayTransition)+Mg(a[0],a[1],!0)+("border-color:"+Ai(e)+";")+(t.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):n.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},r.prototype.setContent=function(t,e,i,n,a){var o=this.el;if(t==null){o.innerHTML="";return}var s="";if(Y(a)&&i.get("trigger")==="item"&&!V_(i)&&(s=Y2(i,n,a)),Y(t))o.innerHTML=t+s;else if(t){o.innerHTML="",V(t)||(t=[t]);for(var l=0;l=0?this._tryShow(a,o):n==="leave"&&this._hide(o))},this))},t.prototype._keepShow=function(){var e=this._tooltipModel,i=this._ecModel,n=this._api,a=e.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!n.isDisposed()&&o.manuallyShowTip(e,i,n,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},t.prototype.manuallyShowTip=function(e,i,n,a){if(!(a.from===this.uid||et.node||!n.getDom())){var o=Ig(a,n);this._ticket="";var s=a.dataByCoordSys,l=rI(a,i,n);if(l){var u=l.el.getBoundingRect().clone();u.applyTransform(l.el.transform),this._tryShow({offsetX:u.x+u.width/2,offsetY:u.y+u.height/2,target:l.el,position:a.position,positionDefault:"bottom"},o)}else if(a.tooltip&&a.x!=null&&a.y!=null){var f=Q2;f.x=a.x,f.y=a.y,f.update(),ft(f).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:f},o)}else if(s)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:s,tooltipOption:a.tooltipOption},o);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(e,i,n,a))return;var h=z_(a,i),c=h.point[0],v=h.point[1];c!=null&&v!=null&&this._tryShow({offsetX:c,offsetY:v,target:h.el,position:a.position,positionDefault:"bottom"},o)}else a.x!=null&&a.y!=null&&(n.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:n.getZr().findHover(a.x,a.y).target},o))}},t.prototype.manuallyHideTip=function(e,i,n,a){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(Ig(a,n))},t.prototype._manuallyAxisShowTip=function(e,i,n,a){var o=a.seriesIndex,s=a.dataIndex,l=i.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||l==null)){var u=i.getSeriesByIndex(o);if(u){var f=u.getData(),h=Wn([f.getItemModel(s),u,(u.coordinateSystem||{}).model],this._tooltipModel);if(h.get("trigger")==="axis")return n.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:a.position}),!0}}},t.prototype._tryShow=function(e,i){var n=e.target,a=this._tooltipModel;if(a){this._lastX=e.offsetX,this._lastY=e.offsetY;var o=e.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,e);else if(n){var s=ft(n);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var l,u;jn(n,function(f){if(f.tooltipDisabled)return l=u=null,!0;l||u||(ft(f).dataIndex!=null?l=f:ft(f).tooltipConfig!=null&&(u=f))},!0),l?this._showSeriesItemTooltip(e,l,i):u?this._showComponentItemTooltip(e,u,i):this._hide(i)}else this._lastDataByCoordSys=null,this._hide(i)}},t.prototype._showOrMove=function(e,i){var n=e.get("showDelay");i=nt(i,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(i,n):i()},t.prototype._showAxisTooltip=function(e,i){var n=this._ecModel,a=this._tooltipModel,o=[i.offsetX,i.offsetY],s=Wn([i.tooltipOption],a),l=this._renderMode,u=[],f=Li("section",{blocks:[],noHeader:!0}),h=[],c=new pu;T(e,function(m){T(m.dataByAxis,function(_){var S=n.getComponent(_.axisDim+"Axis",_.axisIndex),b=_.value;if(!(!S||b==null)){var w=O_(b,S.axis,n,_.seriesDataIndices,_.valueLabelOpt),x=Li("section",{header:w,noHeader:!He(w),sortBlocks:!0,blocks:[]});f.blocks.push(x),T(_.seriesDataIndices,function(C){var D=n.getSeriesByIndex(C.seriesIndex),A=C.dataIndexInside,M=D.getDataParams(A);if(!(M.dataIndex<0)){M.axisDim=_.axisDim,M.axisIndex=_.axisIndex,M.axisType=_.axisType,M.axisId=_.axisId,M.axisValue=zs(S.axis,{value:b}),M.axisValueLabel=w,M.marker=c.makeTooltipMarker("item",Ai(M.color),l);var I=kd(D.formatTooltip(A,!0,null)),L=I.frag;if(L){var P=Wn([D],a).get("valueFormatter");x.blocks.push(P?z({valueFormatter:P},L):L)}I.text&&h.push(I.text),u.push(M)}})}})}),f.blocks.reverse(),h.reverse();var v=i.position,d=s.get("order"),p=Nd(f,c,l,d,n.get("useUTC"),s.get("textStyle"));p&&h.unshift(p);var y=l==="richText"?`
+
+`:"
",g=h.join(y);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(e,u)?this._updatePosition(s,v,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,g,u,Math.random()+"",o[0],o[1],v,null,c)})},t.prototype._showSeriesItemTooltip=function(e,i,n){var a=this._ecModel,o=ft(i),s=o.seriesIndex,l=a.getSeriesByIndex(s),u=o.dataModel||l,f=o.dataIndex,h=o.dataType,c=u.getData(h),v=this._renderMode,d=e.positionDefault,p=Wn([c.getItemModel(f),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,d?{position:d}:null),y=p.get("trigger");if(!(y!=null&&y!=="item")){var g=u.getDataParams(f,h),m=new pu;g.marker=m.makeTooltipMarker("item",Ai(g.color),v);var _=kd(u.formatTooltip(f,!1,h)),S=p.get("order"),b=p.get("valueFormatter"),w=_.frag,x=w?Nd(b?z({valueFormatter:b},w):w,m,v,S,a.get("useUTC"),p.get("textStyle")):_.text,C="item_"+u.name+"_"+f;this._showOrMove(p,function(){this._showTooltipContent(p,x,g,C,e.offsetX,e.offsetY,e.position,e.target,m)}),n({type:"showTip",dataIndexInside:f,dataIndex:c.getRawIndex(f),seriesIndex:s,from:this.uid})}},t.prototype._showComponentItemTooltip=function(e,i,n){var a=this._renderMode==="html",o=ft(i),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(Y(l)){var f=l;l={content:f,formatter:f},u=!0}u&&a&&l.content&&(l=at(l),l.content=Qt(l.content));var h=[l],c=this._ecModel.getComponent(o.componentMainType,o.componentIndex);c&&h.push(c),h.push({formatter:l.content});var v=e.positionDefault,d=Wn(h,this._tooltipModel,v?{position:v}:null),p=d.get("content"),y=Math.random()+"",g=new pu;this._showOrMove(d,function(){var m=at(d.get("formatterParams")||{});this._showTooltipContent(d,p,m,y,e.offsetX,e.offsetY,e.position,i,g)}),n({type:"showTip",from:this.uid})},t.prototype._showTooltipContent=function(e,i,n,a,o,s,l,u,f){if(this._ticket="",!(!e.get("showContent")||!e.get("show"))){var h=this._tooltipContent;h.setEnterable(e.get("enterable"));var c=e.get("formatter");l=l||e.get("position");var v=i,d=this._getNearestPoint([o,s],n,e.get("trigger"),e.get("borderColor"),e.get("defaultBorderColor",!0)),p=d.color;if(c)if(Y(c)){var y=e.ecModel.get("useUTC"),g=V(n)?n[0]:n,m=g&&g.axisType&&g.axisType.indexOf("time")>=0;v=c,m&&(v=hl(g.axisValue,v,y)),v=Lm(v,n,!0)}else if(tt(c)){var _=nt(function(S,b){S===this._ticket&&(h.setContent(b,f,e,p,l),this._updatePosition(e,l,o,s,h,n,u))},this);this._ticket=a,v=c(n,a,_)}else v=c;h.setContent(v,f,e,p,l),h.show(e,p),this._updatePosition(e,l,o,s,h,n,u)}},t.prototype._getNearestPoint=function(e,i,n,a,o){if(n==="axis"||V(i))return{color:a||o};if(!V(i))return{color:a||i.color||i.borderColor}},t.prototype._updatePosition=function(e,i,n,a,o,s,l){var u=this._api.getWidth(),f=this._api.getHeight();i=i||e.get("position");var h=o.getSize(),c=e.get("align"),v=e.get("verticalAlign"),d=l&&l.getBoundingRect().clone();if(l&&d.applyTransform(l.transform),tt(i)&&(i=i([n,a],s,o.el,d,{viewSize:[u,f],contentSize:h.slice()})),V(i))n=Pt(i[0],u),a=Pt(i[1],f);else if(q(i)){var p=i;p.width=h[0],p.height=h[1];var y=gn(p,{width:u,height:f});n=y.x,a=y.y,c=null,v=null}else if(Y(i)&&l){var g=eI(i,d,h,e.get("borderWidth"));n=g[0],a=g[1]}else{var g=j2(n,a,o,u,f,c?null:20,v?null:20);n=g[0],a=g[1]}if(c&&(n-=Pg(c)?h[0]/2:c==="right"?h[0]:0),v&&(a-=Pg(v)?h[1]/2:v==="bottom"?h[1]:0),V_(e)){var g=tI(n,a,o,u,f);n=g[0],a=g[1]}o.moveTo(n,a)},t.prototype._updateContentNotChangedOnAxis=function(e,i){var n=this._lastDataByCoordSys,a=this._cbParamsList,o=!!n&&n.length===e.length;return o&&T(n,function(s,l){var u=s.dataByAxis||[],f=e[l]||{},h=f.dataByAxis||[];o=o&&u.length===h.length,o&&T(u,function(c,v){var d=h[v]||{},p=c.seriesDataIndices||[],y=d.seriesDataIndices||[];o=o&&c.value===d.value&&c.axisType===d.axisType&&c.axisId===d.axisId&&p.length===y.length,o&&T(p,function(g,m){var _=y[m];o=o&&g.seriesIndex===_.seriesIndex&&g.dataIndex===_.dataIndex}),a&&T(c.seriesDataIndices,function(g){var m=g.seriesIndex,_=i[m],S=a[m];_&&S&&S.data!==_.data&&(o=!1)})})}),this._lastDataByCoordSys=e,this._cbParamsList=i,!!o},t.prototype._hide=function(e){this._lastDataByCoordSys=null,e({type:"hideTip",from:this.uid})},t.prototype.dispose=function(e,i){et.node||!i.getDom()||(Ps(this,"_updatePosition"),this._tooltipContent.dispose(),hh("itemTooltip",i))},t.type="tooltip",t}(be);function Wn(r,t,e){var i=t.ecModel,n;e?(n=new Ct(e,i,i),n=new Ct(t.option,n,i)):n=t;for(var a=r.length-1;a>=0;a--){var o=r[a];o&&(o instanceof Ct&&(o=o.get("tooltip",!0)),Y(o)&&(o={formatter:o}),o&&(n=new Ct(o,n,i)))}return n}function Ig(r,t){return r.dispatchAction||nt(t.dispatchAction,t)}function j2(r,t,e,i,n,a,o){var s=e.getSize(),l=s[0],u=s[1];return a!=null&&(r+l+a+2>i?r-=l+a:r+=a),o!=null&&(t+u+o>n?t-=u+o:t+=o),[r,t]}function tI(r,t,e,i,n){var a=e.getSize(),o=a[0],s=a[1];return r=Math.min(r+o,i)-o,t=Math.min(t+s,n)-s,r=Math.max(r,0),t=Math.max(t,0),[r,t]}function eI(r,t,e,i){var n=e[0],a=e[1],o=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=t.width,f=t.height;switch(r){case"inside":s=t.x+u/2-n/2,l=t.y+f/2-a/2;break;case"top":s=t.x+u/2-n/2,l=t.y-a-o;break;case"bottom":s=t.x+u/2-n/2,l=t.y+f+o;break;case"left":s=t.x-n-o,l=t.y+f/2-a/2;break;case"right":s=t.x+u+o,l=t.y+f/2-a/2}return[s,l]}function Pg(r){return r==="center"||r==="middle"}function rI(r,t,e){var i=Ih(r).queryOptionMap,n=i.keys()[0];if(!(!n||n==="series")){var a=Va(t,n,i.get(n),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(o){var s=e.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var f=ft(u).tooltipConfig;if(f&&f.name===r.name)return l=u,!0}),l)return{componentMainType:n,componentIndex:o.componentIndex,el:l}}}}function iI(r){Br(F_),r.registerComponentModel(F2),r.registerComponentView(J2),r.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},ee),r.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},ee)}function nI(r,t){if(!r)return!1;for(var e=V(r)?r:[r],i=0;i=0&&(s[o]=+s[o].toFixed(d)),[s,v]}var Uo={min:St(Wo,"min"),max:St(Wo,"max"),average:St(Wo,"average"),median:St(Wo,"median")};function kg(r,t){if(t){var e=r.getData(),i=r.coordinateSystem,n=i&&i.dimensions;if(!oI(t)&&!V(t.coord)&&V(n)){var a=U_(t,e,i,r);if(t=at(t),t.type&&Uo[t.type]&&a.baseAxis&&a.valueAxis){var o=ot(n,a.baseAxis.dim),s=ot(n,a.valueAxis.dim),l=Uo[t.type](e,a.valueAxis.dim,a.baseDataDim,a.valueDataDim,o,s);t.coord=l[0],t.value=l[1]}else t.coord=[t.xAxis!=null?t.xAxis:t.radiusAxis,t.yAxis!=null?t.yAxis:t.angleAxis]}if(t.coord==null||!V(n)){t.coord=[];var u=r.getBaseAxis();if(u&&t.type&&Uo[t.type]){var f=i.getOtherAxis(u);f&&(t.value=Us(e,e.mapDimension(f.dim),t.type))}}else for(var h=t.coord,c=0;c<2;c++)Uo[h[c]]&&(h[c]=Us(e,e.mapDimension(n[c]),h[c]));return t}}function U_(r,t,e,i){var n={};return r.valueIndex!=null||r.valueDim!=null?(n.valueDataDim=r.valueIndex!=null?t.getDimension(r.valueIndex):r.valueDim,n.valueAxis=e.getAxis(sI(i,n.valueDataDim)),n.baseAxis=e.getOtherAxis(n.valueAxis),n.baseDataDim=t.mapDimension(n.baseAxis.dim)):(n.baseAxis=i.getBaseAxis(),n.valueAxis=e.getOtherAxis(n.baseAxis),n.baseDataDim=t.mapDimension(n.baseAxis.dim),n.valueDataDim=t.mapDimension(n.valueAxis.dim)),n}function sI(r,t){var e=r.getData().getDimensionInfo(t);return e&&e.coordDim}function Rg(r,t){return r&&r.containData&&t.coord&&!aI(t)?r.containData(t.coord):!0}function lI(r,t){return r?function(e,i,n,a){var o=a<2?e.coord&&e.coord[a]:e.value;return vn(o,t[a])}:function(e,i,n,a){return vn(e.value,t[a])}}function Us(r,t,e){if(e==="average"){var i=0,n=0;return r.each(t,function(a,o){isNaN(a)||(i+=a,n++)}),i/n}else return e==="median"?r.getMedian(t):r.getDataExtent(t)[e==="max"?1:0]}var Wu=bt(),uI=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(){this.markerGroupMap=rt()},t.prototype.render=function(e,i,n){var a=this,o=this.markerGroupMap;o.each(function(s){Wu(s).keep=!1}),i.eachSeries(function(s){var l=Sn.getMarkerModelFromSeries(s,a.type);l&&a.renderSeries(s,l,i,n)}),o.each(function(s){!Wu(s).keep&&a.group.remove(s.group)}),fI(i,o,this.type)},t.prototype.markKeep=function(e){Wu(e).keep=!0},t.prototype.toggleBlurSeries=function(e,i){var n=this;T(e,function(a){var o=Sn.getMarkerModelFromSeries(a,n.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(l){l&&(i?Hy(l):Nh(l))})}})},t.type="marker",t}(be);function fI(r,t,e){r.eachSeries(function(i){var n=Sn.getMarkerModelFromSeries(i,e),a=t.get(i.id);if(n&&a&&a.group){var o=Xh(n),s=o.z,l=o.zlevel;Zh(a.group,s,l)}})}var hI=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.createMarkerModelFromSeries=function(e,i,n){return new t(e,i,n)},t.type="markLine",t.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},t}(Sn),Yo=bt(),cI=function(r,t,e,i){var n=r.getData(),a;if(V(i))a=i;else{var o=i.type;if(o==="min"||o==="max"||o==="average"||o==="median"||i.xAxis!=null||i.yAxis!=null){var s=void 0,l=void 0;if(i.yAxis!=null||i.xAxis!=null)s=t.getAxis(i.yAxis!=null?"y":"x"),l=ga(i.yAxis,i.xAxis);else{var u=U_(i,n,t,r);s=u.valueAxis;var f=F0(n,u.valueDataDim);l=Us(n,f,o)}var h=s.dim==="x"?0:1,c=1-h,v=at(i),d={coord:[]};v.type=null,v.coord=[],v.coord[c]=-1/0,d.coord[c]=1/0;var p=e.get("precision");p>=0&&pt(l)&&(l=+l.toFixed(Math.min(p,20))),v.coord[h]=d.coord[h]=l,a=[v,d,{type:o,valueIndex:i.valueIndex,value:l}]}else a=[]}var y=[kg(r,a[0]),kg(r,a[1]),z({},a[2])];return y[2].type=y[2].type||null,lt(y[2],y[0]),lt(y[2],y[1]),y};function Ys(r){return!isNaN(r)&&!isFinite(r)}function Eg(r,t,e,i){var n=1-r,a=i.dimensions[r];return Ys(t[n])&&Ys(e[n])&&t[r]===e[r]&&i.getAxis(a).containData(t[r])}function vI(r,t){if(r.type==="cartesian2d"){var e=t[0].coord,i=t[1].coord;if(e&&i&&(Eg(1,e,i,r)||Eg(0,e,i,r)))return!0}return Rg(r,t[0])&&Rg(r,t[1])}function Uu(r,t,e,i,n){var a=i.coordinateSystem,o=r.getItemModel(t),s,l=Pt(o.get("x"),n.getWidth()),u=Pt(o.get("y"),n.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(i.getMarkerPosition)s=i.getMarkerPosition(r.getValues(r.dimensions,t));else{var f=a.dimensions,h=r.get(f[0],t),c=r.get(f[1],t);s=a.dataToPoint([h,c])}if(yl(a,"cartesian2d")){var v=a.getAxis("x"),d=a.getAxis("y"),f=a.dimensions;Ys(r.get(f[0],t))?s[0]=v.toGlobalCoord(v.getExtent()[e?0:1]):Ys(r.get(f[1],t))&&(s[1]=d.toGlobalCoord(d.getExtent()[e?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}r.setItemLayout(t,s)}var dI=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.updateTransform=function(e,i,n){i.eachSeries(function(a){var o=Sn.getMarkerModelFromSeries(a,"markLine");if(o){var s=o.getData(),l=Yo(o).from,u=Yo(o).to;l.each(function(f){Uu(l,f,!0,a,n),Uu(u,f,!1,a,n)}),s.each(function(f){s.setItemLayout(f,[l.getItemLayout(f),u.getItemLayout(f)])}),this.markerGroupMap.get(a.id).updateLayout()}},this)},t.prototype.renderSeries=function(e,i,n,a){var o=e.coordinateSystem,s=e.id,l=e.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,new e2);this.group.add(f.group);var h=pI(o,e,i),c=h.from,v=h.to,d=h.line;Yo(i).from=c,Yo(i).to=v,i.setData(d);var p=i.get("symbol"),y=i.get("symbolSize"),g=i.get("symbolRotate"),m=i.get("symbolOffset");V(p)||(p=[p,p]),V(y)||(y=[y,y]),V(g)||(g=[g,g]),V(m)||(m=[m,m]),h.from.each(function(S){_(c,S,!0),_(v,S,!1)}),d.each(function(S){var b=d.getItemModel(S),w=b.getModel("lineStyle").getLineStyle();d.setItemLayout(S,[c.getItemLayout(S),v.getItemLayout(S)]);var x=b.get("z2");w.stroke==null&&(w.stroke=c.getItemVisual(S,"style").fill),d.setItemVisual(S,{z2:$(x,0),fromSymbolKeepAspect:c.getItemVisual(S,"symbolKeepAspect"),fromSymbolOffset:c.getItemVisual(S,"symbolOffset"),fromSymbolRotate:c.getItemVisual(S,"symbolRotate"),fromSymbolSize:c.getItemVisual(S,"symbolSize"),fromSymbol:c.getItemVisual(S,"symbol"),toSymbolKeepAspect:v.getItemVisual(S,"symbolKeepAspect"),toSymbolOffset:v.getItemVisual(S,"symbolOffset"),toSymbolRotate:v.getItemVisual(S,"symbolRotate"),toSymbolSize:v.getItemVisual(S,"symbolSize"),toSymbol:v.getItemVisual(S,"symbol"),style:w})}),f.updateData(d),h.line.eachItemGraphicEl(function(S){ft(S).dataModel=i,S.traverse(function(b){ft(b).dataModel=i})});function _(S,b,w){var x=S.getItemModel(b);Uu(S,b,w,e,a);var C=x.getModel("itemStyle").getItemStyle();C.fill==null&&(C.fill=f0(l,"color")),S.setItemVisual(b,{symbolKeepAspect:x.get("symbolKeepAspect"),symbolOffset:$(x.get("symbolOffset",!0),m[w?0:1]),symbolRotate:$(x.get("symbolRotate",!0),g[w?0:1]),symbolSize:$(x.get("symbolSize"),y[w?0:1]),symbol:$(x.get("symbol",!0),p[w?0:1]),style:C})}this.markKeep(f),f.group.silent=i.get("silent")||e.get("silent")},t.type="markLine",t}(uI);function pI(r,t,e){var i;r?i=Z(r&&r.dimensions,function(u){var f=t.getData().getDimensionInfo(t.getData().mapDimension(u))||{};return z(z({},f),{name:u,ordinalMeta:null})}):i=[{name:"value",type:"float"}];var n=new ss(i,e),a=new ss(i,e),o=new ss([],e),s=Z(e.get("data"),St(cI,t,r,e));r&&(s=It(s,St(vI,r)));var l=lI(!!r,i);return n.initData(Z(s,function(u){return u[0]}),null,l),a.initData(Z(s,function(u){return u[1]}),null,l),o.initData(Z(s,function(u){return u[2]})),o.hasItemOption=!0,{from:n,to:a,line:o}}function gI(r){r.registerComponentModel(hI),r.registerComponentView(dI),r.registerPreprocessor(function(t){nI(t.series,"markLine")&&(t.markLine=t.markLine||{})})}var yI=function(r,t){if(t==="all")return{type:"all",title:r.getLocaleModel().get(["legend","selector","all"])};if(t==="inverse")return{type:"inverse",title:r.getLocaleModel().get(["legend","selector","inverse"])}},ch=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode={type:"box",ignoreSize:!0},e}return t.prototype.init=function(e,i,n){this.mergeDefaultAndTheme(e,n),e.selected=e.selected||{},this._updateSelector(e)},t.prototype.mergeOption=function(e,i){r.prototype.mergeOption.call(this,e,i),this._updateSelector(e)},t.prototype._updateSelector=function(e){var i=e.selector,n=this.ecModel;i===!0&&(i=e.selector=["all","inverse"]),V(i)&&T(i,function(a,o){Y(a)&&(a={type:a}),i[o]=lt(a,yI(n,a.type))})},t.prototype.optionUpdated=function(){this._updateData(this.ecModel);var e=this._data;if(e[0]&&this.get("selectedMode")==="single"){for(var i=!1,n=0;n=0},t.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},t.type="legend.plain",t.dependencies=["series"],t.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",bottom:W.size.m,align:"auto",backgroundColor:W.color.transparent,borderColor:W.color.border,borderRadius:0,borderWidth:0,padding:5,itemGap:8,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:W.color.disabled,inactiveBorderColor:W.color.disabled,inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:W.color.disabled,inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:W.color.secondary},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:W.color.tertiary,borderWidth:1,borderColor:W.color.border},emphasis:{selectorLabel:{show:!0,color:W.color.quaternary}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1},triggerEvent:!1},t}(ct),Ji=St,vh=T,Xo=Mt,Y_=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.newlineDisabled=!1,e}return t.prototype.init=function(){this.group.add(this._contentGroup=new Xo),this.group.add(this._selectorGroup=new Xo),this._isFirstRender=!0},t.prototype.getContentGroup=function(){return this._contentGroup},t.prototype.getSelectorGroup=function(){return this._selectorGroup},t.prototype.render=function(e,i,n){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!e.get("show",!0)){var o=e.get("align"),s=e.get("orient");(!o||o==="auto")&&(o=e.get("left")==="right"&&s==="vertical"?"right":"left");var l=e.get("selector",!0),u=e.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,e,i,n,l,s,u);var f=sc(e,n).refContainer,h=e.getBoxLayoutParams(),c=e.get("padding"),v=gn(h,f,c),d=this.layoutInner(e,o,v,a,l,u),p=gn(gt({width:d.width,height:d.height},h),f,c);this.group.x=p.x-d.x,this.group.y=p.y-d.y,this.group.markRedraw(),this.group.add(this._backgroundEl=z2(d,e))}},t.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},t.prototype.renderInner=function(e,i,n,a,o,s,l){var u=this.getContentGroup(),f=rt(),h=i.get("selectedMode"),c=i.get("triggerEvent"),v=[];n.eachRawSeries(function(d){!d.get("legendHoverLink")&&v.push(d.id)}),vh(i.getData(),function(d,p){var y=this,g=d.get("name");if(!this.newlineDisabled&&(g===""||g===`
+`)){var m=new Xo;m.newline=!0,u.add(m);return}var _=n.getSeriesByName(g)[0];if(!f.get(g))if(_){var S=_.getData(),b=S.getVisual("legendLineStyle")||{},w=S.getVisual("legendIcon"),x=S.getVisual("style"),C=this._createItem(_,g,p,d,i,e,b,x,w,h,a);C.on("click",Ji(Og,g,null,a,v)).on("mouseover",Ji(dh,_.name,null,a,v)).on("mouseout",Ji(ph,_.name,null,a,v)),n.ssr&&C.eachChild(function(D){var A=ft(D);A.seriesIndex=_.seriesIndex,A.dataIndex=p,A.ssrType="legend"}),c&&C.eachChild(function(D){y.packEventData(D,i,_,p,g)}),f.set(g,!0)}else n.eachRawSeries(function(D){var A=this;if(!f.get(g)&&D.legendVisualProvider){var M=D.legendVisualProvider;if(!M.containName(g))return;var I=M.indexOfName(g),L=M.getItemVisual(I,"style"),P=M.getItemVisual(I,"legendIcon"),k=Xe(L.fill);k&&k[3]===0&&(k[3]=.2,L=z(z({},L),{fill:za(k,"rgba")}));var B=this._createItem(D,g,p,d,i,e,{},L,P,h,a);B.on("click",Ji(Og,null,g,a,v)).on("mouseover",Ji(dh,null,g,a,v)).on("mouseout",Ji(ph,null,g,a,v)),n.ssr&&B.eachChild(function(U){var O=ft(U);O.seriesIndex=D.seriesIndex,O.dataIndex=p,O.ssrType="legend"}),c&&B.eachChild(function(U){A.packEventData(U,i,D,p,g)}),f.set(g,!0)}},this)},this),o&&this._createSelector(o,i,a,s,l)},t.prototype.packEventData=function(e,i,n,a,o){var s={componentType:"legend",componentIndex:i.componentIndex,dataIndex:a,value:o,seriesIndex:n.seriesIndex};ft(e).eventData=s},t.prototype._createSelector=function(e,i,n,a,o){var s=this.getSelectorGroup();vh(e,function(u){var f=u.type,h=new Gt({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:f==="all"?"legendAllSelect":"legendInverseSelect",legendId:i.id})}});s.add(h);var c=i.getModel("selectorLabel"),v=i.getModel(["emphasis","selectorLabel"]);$a(h,{normal:c,emphasis:v},{defaultText:u.title}),Ts(h)})},t.prototype._createItem=function(e,i,n,a,o,s,l,u,f,h,c){var v=e.visualDrawType,d=o.get("itemWidth"),p=o.get("itemHeight"),y=o.isSelected(i),g=a.get("symbolRotate"),m=a.get("symbolKeepAspect"),_=a.get("icon");f=_||f||"roundRect";var S=mI(f,a,l,u,v,y,c),b=new Xo,w=a.getModel("textStyle");if(tt(e.getLegendIcon)&&(!_||_==="inherit"))b.add(e.getLegendIcon({itemWidth:d,itemHeight:p,icon:f,iconRotate:g,itemStyle:S.itemStyle,lineStyle:S.lineStyle,symbolKeepAspect:m}));else{var x=_==="inherit"&&e.getData().getVisual("symbol")?g==="inherit"?e.getData().getVisual("symbolRotate"):g:0;b.add(_I({itemWidth:d,itemHeight:p,icon:f,iconRotate:x,itemStyle:S.itemStyle,symbolKeepAspect:m}))}var C=s==="left"?d+5:-5,D=s,A=o.get("formatter"),M=i;Y(A)&&A?M=A.replace("{name}",i??""):tt(A)&&(M=A(i));var I=y?w.getTextColor():a.get("inactiveColor");b.add(new Gt({style:Di(w,{text:M,x:C,y:p/2,fill:I,align:D,verticalAlign:"middle"},{inheritColor:I})}));var L=new _t({shape:b.getBoundingRect(),style:{fill:"transparent"}}),P=a.getModel("tooltip");return P.get("show")&&sl({el:L,componentModel:o,itemName:i,itemTooltipOption:P.option}),b.add(L),b.eachChild(function(k){k.silent=!0}),L.silent=!h,this.getContentGroup().add(b),Ts(b),b.__legendDataIndex=n,b},t.prototype.layoutInner=function(e,i,n,a,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();fa(e.get("orient"),l,e.get("itemGap"),n.width,n.height);var f=l.getBoundingRect(),h=[-f.x,-f.y];if(u.markRedraw(),l.markRedraw(),o){fa("horizontal",u,e.get("selectorItemGap",!0));var c=u.getBoundingRect(),v=[-c.x,-c.y],d=e.get("selectorButtonGap",!0),p=e.getOrient().index,y=p===0?"width":"height",g=p===0?"height":"width",m=p===0?"y":"x";s==="end"?v[p]+=f[y]+d:h[p]+=c[y]+d,v[1-p]+=f[g]/2-c[g]/2,u.x=v[0],u.y=v[1],l.x=h[0],l.y=h[1];var _={x:0,y:0};return _[y]=f[y]+d+c[y],_[g]=Math.max(f[g],c[g]),_[m]=Math.min(0,c[m]+v[1-p]),_}else return l.x=h[0],l.y=h[1],this.group.getBoundingRect()},t.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},t.type="legend.plain",t}(be);function mI(r,t,e,i,n,a,o){function s(y,g){y.lineWidth==="auto"&&(y.lineWidth=g.lineWidth>0?2:0),vh(y,function(m,_){y[_]==="inherit"&&(y[_]=g[_])})}var l=t.getModel("itemStyle"),u=l.getItemStyle(),f=r.lastIndexOf("empty",0)===0?"fill":"stroke",h=l.getShallow("decal");u.decal=!h||h==="inherit"?i.decal:Yf(h,o),u.fill==="inherit"&&(u.fill=i[n]),u.stroke==="inherit"&&(u.stroke=i[f]),u.opacity==="inherit"&&(u.opacity=(n==="fill"?i:e).opacity),s(u,i);var c=t.getModel("lineStyle"),v=c.getLineStyle();if(s(v,e),u.fill==="auto"&&(u.fill=i.fill),u.stroke==="auto"&&(u.stroke=i.fill),v.stroke==="auto"&&(v.stroke=i.fill),!a){var d=t.get("inactiveBorderWidth"),p=u[f];u.lineWidth=d==="auto"?i.lineWidth>0&&p?2:0:u.lineWidth,u.fill=t.get("inactiveColor"),u.stroke=t.get("inactiveBorderColor"),v.stroke=c.get("inactiveColor"),v.lineWidth=c.get("inactiveWidth")}return{itemStyle:u,lineStyle:v}}function _I(r){var t=r.icon||"roundRect",e=cr(t,0,0,r.itemWidth,r.itemHeight,r.itemStyle.fill,r.symbolKeepAspect);return e.setStyle(r.itemStyle),e.rotation=(r.iconRotate||0)*Math.PI/180,e.setOrigin([r.itemWidth/2,r.itemHeight/2]),t.indexOf("empty")>-1&&(e.style.stroke=e.style.fill,e.style.fill=W.color.neutral00,e.style.lineWidth=2),e}function Og(r,t,e,i){ph(r,t,e,i),e.dispatchAction({type:"legendToggleSelect",name:r??t}),dh(r,t,e,i)}function X_(r){for(var t=r.getZr().storage.getDisplayList(),e,i=0,n=t.length;in[o],y=[-v.x,-v.y];i||(y[a]=f[u]);var g=[0,0],m=[-d.x,-d.y],_=$(e.get("pageButtonGap",!0),e.get("itemGap",!0));if(p){var S=e.get("pageButtonPosition",!0);S==="end"?m[a]+=n[o]-d[o]:g[a]+=d[o]+_}m[1-a]+=v[s]/2-d[s]/2,f.setPosition(y),h.setPosition(g),c.setPosition(m);var b={x:0,y:0};if(b[o]=p?n[o]:v[o],b[s]=Math.max(v[s],d[s]),b[l]=Math.min(0,d[l]+m[1-a]),h.__rectSize=n[o],p){var w={x:0,y:0};w[o]=Math.max(n[o]-d[o]-_,0),w[s]=b[s],h.setClipPath(new _t({shape:w})),h.__rectSize=w[o]}else c.eachChild(function(C){C.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(e);return x.pageIndex!=null&&Zt(f,{x:x.contentPosition[0],y:x.contentPosition[1]},p?e:null),this._updatePageInfoView(e,x),b},t.prototype._pageGo=function(e,i,n){var a=this._getPageInfo(i)[e];a!=null&&n.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:i.id})},t.prototype._updatePageInfoView=function(e,i){var n=this._controllerGroup;T(["pagePrev","pageNext"],function(f){var h=f+"DataIndex",c=i[h]!=null,v=n.childOfName(f);v&&(v.setStyle("fill",c?e.get("pageIconColor",!0):e.get("pageIconInactiveColor",!0)),v.cursor=c?"pointer":"default")});var a=n.childOfName("pageText"),o=e.get("pageFormatter"),s=i.pageIndex,l=s!=null?s+1:0,u=i.pageCount;a&&o&&a.setStyle("text",Y(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},t.prototype._getPageInfo=function(e){var i=e.get("scrollDataIndex",!0),n=this.getContentGroup(),a=this._containerGroup.__rectSize,o=e.getOrient().index,s=Yu[o],l=Xu[o],u=this._findTargetItemIndex(i),f=n.children(),h=f[u],c=f.length,v=c?1:0,d={contentPosition:[n.x,n.y],pageCount:v,pageIndex:v-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!h)return d;var p=S(h);d.contentPosition[o]=-p.s;for(var y=u+1,g=p,m=p,_=null;y<=c;++y)_=S(f[y]),(!_&&m.e>g.s+a||_&&!b(_,g.s))&&(m.i>g.i?g=m:g=_,g&&(d.pageNextDataIndex==null&&(d.pageNextDataIndex=g.i),++d.pageCount)),m=_;for(var y=u-1,g=p,m=p,_=null;y>=-1;--y)_=S(f[y]),(!_||!b(m,_.s))&&g.i=x&&w.s<=x+a}},t.prototype._findTargetItemIndex=function(e){if(!this._showController)return 0;var i,n=this.getContentGroup(),a;return n.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===e&&(i=s)}),i??a},t.type="legend.scroll",t}(Y_);function TI(r){r.registerAction("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;i!=null&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(n){n.setScrollDataIndex(i)})})}function CI(r){Br(Z_),r.registerComponentModel(wI),r.registerComponentView(xI),TI(r)}function MI(r){Br(Z_),Br(CI)}var DI=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="dataZoom.slider",t.layoutMode="box",t.defaultOption=$h(wg.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:W.color.accent10,borderRadius:0,backgroundColor:W.color.transparent,dataBackground:{lineStyle:{color:W.color.accent30,width:.5},areaStyle:{color:W.color.accent20,opacity:.2}},selectedDataBackground:{lineStyle:{color:W.color.accent40,width:.5},areaStyle:{color:W.color.accent20,opacity:.3}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:W.color.neutral00,borderColor:W.color.accent20},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:W.color.accent40,opacity:.5},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:W.color.tertiary},brushSelect:!0,brushStyle:{color:W.color.accent30,opacity:.3},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:W.color.accent40},moveHandleStyle:{opacity:.8}},defaultLocationEdgeGap:15}),t}(wg),Yn=_t,AI=1,Zu=30,LI=7,Xn="horizontal",Fg="vertical",II=5,PI=["line","bar","candlestick","scatter"],kI={easing:"cubicOut",duration:100,delay:0},RI=function(r){F(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._displayables={},e}return t.prototype.init=function(e,i){this.api=i,this._onBrush=nt(this._onBrush,this),this._onBrushEnd=nt(this._onBrushEnd,this)},t.prototype.render=function(e,i,n,a){if(r.prototype.render.apply(this,arguments),gc(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),e.get("show")===!1){this.group.removeAll();return}if(e.noTarget()){this._clear(),this.group.removeAll();return}(!a||a.type!=="dataZoom"||a.from!==this.uid)&&this._buildView(),this._updateView()},t.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},t.prototype._clear=function(){Ps(this,"_dispatchZoomAction");var e=this.api.getZr();e.off("mousemove",this._onBrush),e.off("mouseup",this._onBrushEnd)},t.prototype._buildView=function(){var e=this.group;e.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var i=this._displayables.sliderGroup=new Mt;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),e.add(i),this._positionGroup()},t.prototype._resetLocation=function(){var e=this.dataZoomModel,i=this.api,n=e.get("brushSelect"),a=n?LI:0,o=sc(e,i).refContainer,s=this._findCoordRect(),l=e.get("defaultLocationEdgeGap",!0)||0,u=this._orient===Xn?{right:o.width-s.x-s.width,top:o.height-Zu-l-a,width:s.width,height:Zu}:{right:l,top:s.y,width:Zu,height:s.height},f=Cn(e.option);T(["right","top","width","height"],function(c){f[c]==="ph"&&(f[c]=u[c])});var h=gn(f,o);this._location={x:h.x,y:h.y},this._size=[h.width,h.height],this._orient===Fg&&this._size.reverse()},t.prototype._positionGroup=function(){var e=this.group,i=this._location,n=this._orient,a=this.dataZoomModel.getFirstTargetAxisModel(),o=a&&a.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(n===Xn&&!o?{scaleY:l?1:-1,scaleX:1}:n===Xn&&o?{scaleY:l?1:-1,scaleX:-1}:n===Fg&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var u=e.getBoundingRect([s]);e.x=i.x-u.x,e.y=i.y-u.y,e.markRedraw()},t.prototype._getViewExtent=function(){return[0,this._size[0]]},t.prototype._renderBackground=function(){var e=this.dataZoomModel,i=this._size,n=this._displayables.sliderGroup,a=e.get("brushSelect");n.add(new Yn({silent:!0,shape:{x:0,y:0,width:i[0],height:i[1]},style:{fill:e.get("backgroundColor")},z2:-40}));var o=new Yn({shape:{x:0,y:0,width:i[0],height:i[1]},style:{fill:"transparent"},z2:0,onclick:nt(this._onClickPanel,this)}),s=this.api.getZr();a?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),n.add(o)},t.prototype._renderDataShadow=function(){var e=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!e)return;var i=this._size,n=this._shadowSize||[],a=e.series,o=a.getRawData(),s=a.getShadowDim&&a.getShadowDim(),l=s&&o.getDimensionInfo(s)?a.getShadowDim():e.otherDim;if(l==null)return;var u=this._shadowPolygonPts,f=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||i[0]!==n[0]||i[1]!==n[1]){var h=o.getDataExtent(e.thisDim),c=o.getDataExtent(l),v=(c[1]-c[0])*.3;c=[c[0]-v,c[1]+v];var d=[0,i[1]],p=[0,i[0]],y=[[i[0],0],[0,0]],g=[],m=p[1]/Math.max(1,o.count()-1),_=i[0]/(h[1]-h[0]),S=e.thisAxis.type==="time",b=-m,w=Math.round(o.count()/i[0]),x;o.each([e.thisDim,l],function(I,L,P){if(w>0&&P%w){S||(b+=m);return}b=S?(+I-h[0])*_:b+m;var k=L==null||isNaN(L)||L==="",B=k?0:Et(L,c,d,!0);k&&!x&&P?(y.push([y[y.length-1][0],0]),g.push([g[g.length-1][0],0])):!k&&x&&(y.push([b,0]),g.push([b,0])),k||(y.push([b,B]),g.push([b,B])),x=k}),u=this._shadowPolygonPts=y,f=this._shadowPolylinePts=g}this._shadowData=o,this._shadowDim=l,this._shadowSize=[i[0],i[1]];var C=this.dataZoomModel;function D(I){var L=C.getModel(I?"selectedDataBackground":"dataBackground"),P=new Mt,k=new Wa({shape:{points:u},segmentIgnoreThreshold:1,style:L.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),B=new Ua({shape:{points:f},segmentIgnoreThreshold:1,style:L.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return P.add(k),P.add(B),P}for(var A=0;A<3;A++){var M=D(A===1);this._displayables.sliderGroup.add(M),this._displayables.dataShadowSegs.push(M)}},t.prototype._prepareDataShadowInfo=function(){var e=this.dataZoomModel,i=e.get("showDataShadow");if(i!==!1){var n,a=this.ecModel;return e.eachTargetAxis(function(o,s){var l=e.getAxisProxy(o,s).getTargetSeriesModels();T(l,function(u){if(!n&&!(i!==!0&&ot(PI,u.get("type"))<0)){var f=a.getComponent(Ar(o),s).axis,h=EI(o),c,v=u.coordinateSystem;h!=null&&v.getOtherAxis&&(c=v.getOtherAxis(f).inverse),h=u.getData().mapDimension(h);var d=u.getData().mapDimension(o);n={thisAxis:f,series:u,thisDim:d,otherDim:h,otherAxisInverse:c}}},this)},this),n}},t.prototype._renderHandle=function(){var e=this.group,i=this._displayables,n=i.handles=[null,null],a=i.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,u=this.api,f=l.get("borderRadius")||0,h=l.get("brushSelect"),c=i.filler=new Yn({silent:h,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(c),o.add(new Yn({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:f},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:AI,fill:W.color.transparent}})),T([0,1],function(_){var S=l.get("handleIcon");!Rs[S]&&S.indexOf("path://")<0&&S.indexOf("image://")<0&&(S="path://"+S);var b=cr(S,-1,0,2,2,null,!0);b.attr({cursor:OI(this._orient),draggable:!0,drift:nt(this._onDragMove,this,_),ondragend:nt(this._onDragEnd,this),onmouseover:nt(this._showDataInfo,this,!0),onmouseout:nt(this._showDataInfo,this,!1),z2:5});var w=b.getBoundingRect(),x=l.get("handleSize");this._handleHeight=Pt(x,this._size[1]),this._handleWidth=w.width/w.height*this._handleHeight,b.setStyle(l.getModel("handleStyle").getItemStyle()),b.style.strokeNoScale=!0,b.rectHover=!0,b.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),Ts(b);var C=l.get("handleColor");C!=null&&(b.style.fill=C),o.add(n[_]=b);var D=l.getModel("textStyle"),A=l.get("handleLabel")||{},M=A.show||!1;e.add(a[_]=new Gt({silent:!0,invisible:!M,style:Di(D,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:D.getTextColor(),font:D.getFont()}),z2:10}))},this);var v=c;if(h){var d=Pt(l.get("moveHandleSize"),s[1]),p=i.moveHandle=new _t({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:d}}),y=d*.8,g=i.moveHandleIcon=cr(l.get("moveHandleIcon"),-y/2,-y/2,y,y,W.color.neutral00,!0);g.silent=!0,g.y=s[1]+d/2-.5,p.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var m=Math.min(s[1]/2,Math.max(d,10));v=i.moveZone=new _t({invisible:!0,shape:{y:s[1]-m,height:d+m}}),v.on("mouseover",function(){u.enterEmphasis(p)}).on("mouseout",function(){u.leaveEmphasis(p)}),o.add(p),o.add(g),o.add(v)}v.attr({draggable:!0,cursor:"default",drift:nt(this._onDragMove,this,"all"),ondragstart:nt(this._showDataInfo,this,!0),ondragend:nt(this._onDragEnd,this),onmouseover:nt(this._showDataInfo,this,!0),onmouseout:nt(this._showDataInfo,this,!1)})},t.prototype._resetInterval=function(){var e=this._range=this.dataZoomModel.getPercentRange(),i=this._getViewExtent();this._handleEnds=[Et(e[0],[0,100],i,!0),Et(e[1],[0,100],i,!0)]},t.prototype._updateInterval=function(e,i){var n=this.dataZoomModel,a=this._handleEnds,o=this._getViewExtent(),s=n.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];fh(i,a,o,n.get("zoomLock")?"all":e,s.minSpan!=null?Et(s.minSpan,l,o,!0):null,s.maxSpan!=null?Et(s.maxSpan,l,o,!0):null);var u=this._range,f=this._range=Kn([Et(a[0],o,l,!0),Et(a[1],o,l,!0)]);return!u||u[0]!==f[0]||u[1]!==f[1]},t.prototype._updateView=function(e){var i=this._displayables,n=this._handleEnds,a=Kn(n.slice()),o=this._size;T([0,1],function(v){var d=i.handles[v],p=this._handleHeight;d.attr({scaleX:p/2,scaleY:p/2,x:n[v]+(v?-1:1),y:o[1]/2-p/2})},this),i.filler.setShape({x:a[0],y:0,width:a[1]-a[0],height:o[1]});var s={x:a[0],width:a[1]-a[0]};i.moveHandle&&(i.moveHandle.setShape(s),i.moveZone.setShape(s),i.moveZone.getBoundingRect(),i.moveHandleIcon&&i.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=i.dataShadowSegs,u=[0,a[0],a[1],o[0]],f=0;fi[0]||n[1]<0||n[1]>i[1])){var a=this._handleEnds,o=(a[0]+a[1])/2,s=this._updateInterval("all",n[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},t.prototype._onBrushStart=function(e){var i=e.offsetX,n=e.offsetY;this._brushStart=new dt(i,n),this._brushing=!0,this._brushStartTime=+new Date},t.prototype._onBrushEnd=function(e){if(this._brushing){var i=this._displayables.brushRect;if(this._brushing=!1,!!i){i.attr("ignore",!0);var n=i.shape,a=+new Date;if(!(a-this._brushStartTime<200&&Math.abs(n.width)<5)){var o=this._getViewExtent(),s=[0,100],l=this._handleEnds=[n.x,n.x+n.width],u=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();fh(0,l,o,0,u.minSpan!=null?Et(u.minSpan,s,o,!0):null,u.maxSpan!=null?Et(u.maxSpan,s,o,!0):null),this._range=Kn([Et(l[0],o,s,!0),Et(l[1],o,s,!0)]),this._updateView(),this._dispatchZoomAction(!1)}}}},t.prototype._onBrush=function(e){this._brushing&&(fs(e.event),this._updateBrushRect(e.offsetX,e.offsetY))},t.prototype._updateBrushRect=function(e,i){var n=this._displayables,a=this.dataZoomModel,o=n.brushRect;o||(o=n.brushRect=new Yn({silent:!0,style:a.getModel("brushStyle").getItemStyle()}),n.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,u=l.transformCoordToLocal(e,i),f=l.transformCoordToLocal(s.x,s.y),h=this._size;u[0]=Math.max(Math.min(h[0],u[0]),0),o.setShape({x:f[0],y:0,width:u[0]-f[0],height:h[1]})},t.prototype._dispatchZoomAction=function(e){var i=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:e?kI:null,start:i[0],end:i[1]})},t.prototype._findCoordRect=function(){var e,i=P2(this.dataZoomModel).infoList;if(!e&&i.length){var n=i[0].model.coordinateSystem;e=n.getRect&&n.getRect()}if(!e){var a=this.api.getWidth(),o=this.api.getHeight();e={x:a*.2,y:o*.2,width:a*.6,height:o*.6}}return e},t.type="dataZoom.slider",t}(k2);function EI(r){var t={x:"y",y:"x",radius:"angle",angle:"radius"};return t[r]}function OI(r){return r==="vertical"?"ns-resize":"ew-resize"}function BI(r){r.registerComponentModel(DI),r.registerComponentView(RI),N2(r)}function Vg(r,t,e){var i=fr.createCanvas(),n=t.getWidth(),a=t.getHeight(),o=i.style;return o&&(o.position="absolute",o.left="0",o.top="0",o.width=n+"px",o.height=a+"px",i.setAttribute("data-zr-dom-id",r)),i.width=n*e,i.height=a*e,i}var $u=function(r){F(t,r);function t(e,i,n){var a=r.call(this)||this;a.motionBlur=!1,a.lastFrameAlpha=.7,a.dpr=1,a.virtual=!1,a.config={},a.incremental=!1,a.zlevel=0,a.maxRepaintRectCount=5,a.__dirty=!0,a.__firstTimePaint=!0,a.__used=!1,a.__drawIndex=0,a.__startIndex=0,a.__endIndex=0,a.__prevStartIndex=null,a.__prevEndIndex=null;var o;n=n||ys,typeof e=="string"?o=Vg(e,i,n):q(e)&&(o=e,e=o.id),a.id=e,a.dom=o;var s=o.style;return s&&($g(o),o.onselectstart=function(){return!1},s.padding="0",s.margin="0",s.borderWidth="0"),a.painter=i,a.dpr=n,a}return t.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},t.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},t.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},t.prototype.setUnpainted=function(){this.__firstTimePaint=!0},t.prototype.createBackBuffer=function(){var e=this.dpr;this.domBack=Vg("back-"+this.id,this.painter,e),this.ctxBack=this.domBack.getContext("2d"),e!==1&&this.ctxBack.scale(e,e)},t.prototype.createRepaintRects=function(e,i,n,a){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var o=[],s=this.maxRepaintRectCount,l=!1,u=new it(0,0,0,0);function f(m){if(!(!m.isFinite()||m.isZero()))if(o.length===0){var _=new it(0,0,0,0);_.copy(m),o.push(_)}else{for(var S=!1,b=1/0,w=0,x=0;x=s)}}for(var h=this.__startIndex;h15)break}}P.prevElClipPaths&&g.restore()};if(m)if(m.length===0)C=y.__endIndex;else for(var A=v.dpr,M=0;M0&&t>n[0]){for(l=0;lt);l++);s=i[n[l]]}if(n.splice(l+1,0,t),i[t]=e,!e.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(e.dom,u.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.painter||(e.painter=this)}},r.prototype.eachLayer=function(t,e){for(var i=this._zlevelList,n=0;n0?Zo:0),this._needsManuallyCompositing),f.__builtin__||_h("ZLevel "+u+" has been used by unkown layer "+f.id),f!==a&&(f.__used=!0,f.__startIndex!==l&&(f.__dirty=!0),f.__startIndex=l,f.incremental?f.__drawIndex=-1:f.__drawIndex=l,e(l),a=f),n.__dirty&oe&&!n.__inHover&&(f.__dirty=!0,f.incremental&&f.__drawIndex<0&&(f.__drawIndex=l))}e(l),this.eachBuiltinLayer(function(h,c){!h.__used&&h.getElementCount()>0&&(h.__dirty=!0,h.__startIndex=h.__endIndex=h.__drawIndex=0),h.__dirty&&h.__drawIndex<0&&(h.__drawIndex=h.__startIndex)})},r.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},r.prototype._clearLayer=function(t){t.clear()},r.prototype.setBackgroundColor=function(t){this._backgroundColor=t,T(this._layers,function(e){e.setUnpainted()})},r.prototype.configLayer=function(t,e){if(e){var i=this._layerConfig;i[t]?lt(i[t],e,!0):i[t]=e;for(var n=0;nS+b.searches,0),c=f.reduce((S,b)=>S+b.saves,0),v=f.length||1;let d=0,p=0;return f.forEach((S,b)=>{const w=S.searches+S.saves;w>p&&(p=w,d=b)}),{totalSearches:h,totalSaves:c,avgSearches:Math.round(h/v),avgSaves:Math.round(c/v),peakDay:((g=(y=f[d])==null?void 0:y.date)==null?void 0:g.slice(5))||"—",peakSearches:((m=f[d])==null?void 0:m.searches)||0,peakSaves:((_=f[d])==null?void 0:_.saves)||0,dayCount:v}}function l(){const f=e.value,h=r.value;if(!f)return;const c=s(h);if(typeof t=="function"?t(c):t&&(t.value=c),!h.length){i&&(i.dispose(),i=null),f.innerHTML='暂无使用数据
';return}(!i||i.getDom()!==f)&&(i&&i.dispose(),i=VM(f),u());const v=h.map(S=>S.date.slice(5)),d=h.length,p=Math.max(...h.map(S=>Math.max(S.searches,S.saves)),1),y=Math.ceil(p*1.35)||1,g=Math.round(c.totalSearches/d),m=d>=30,_={tooltip:{trigger:"axis",axisPointer:{type:"shadow"},backgroundColor:"rgba(255,255,255,0.97)",borderColor:"#e8e8e8",borderWidth:1,borderRadius:8,padding:[10,14],textStyle:{fontSize:12,color:"#303133"},formatter:S=>{var M,I;const b=((M=S[0])==null?void 0:M.dataIndex)??0,w=((I=h[b])==null?void 0:I.date)||"",x=h[b],C=new Set,D=S.filter(L=>{const P=L.seriesName;return C.has(P)?!1:(C.add(P),!0)});let A=`${w}
`;return D.forEach(L=>{const P=L.value,k=Array.isArray(P)?P[1]:P,B=L.seriesType==="bar",O=L.seriesName==="搜索"?x==null?void 0:x.searchDelta:x==null?void 0:x.saveDelta,H=O!==void 0&&O!==0?`${O>0?"↑":"↓"}${Math.abs(O)}`:O===0?'→0':"",R=B?``:``;A+=`${R}${L.seriesName}:${k} 次${H}
`}),A}},legend:{data:["搜索","保存"],bottom:m?30:0,left:"center",itemWidth:14,itemHeight:10,textStyle:{fontSize:11,color:"#666"}},grid:{left:8,right:12,top:28,bottom:m?70:42,containLabel:!0},xAxis:{type:"category",data:v,axisLabel:{interval:0,fontSize:11,color:"#909399",rotate:d>15?45:0},axisLine:{lineStyle:{color:"#e8e8e8"}},splitLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",name:"次",nameTextStyle:{fontSize:10,color:"#909399"},min:0,max:y,splitNumber:4,axisLabel:{fontSize:10,color:"#909399"},splitLine:{lineStyle:{color:"#f5f5f5",type:"dashed"}}},series:[{name:"搜索",type:"bar",data:h.map(S=>S.searches),barWidth:a,barGap:o,itemStyle:{color:new ji(0,0,0,1,[{offset:0,color:"#6366f1"},{offset:1,color:"#a5b4fc"}]),borderRadius:[4,4,0,0]},emphasis:{itemStyle:{color:new ji(0,0,0,1,[{offset:0,color:"#4f46e5"},{offset:1,color:"#818cf8"}])}},animationDuration:500,animationEasing:"cubicOut"},{name:"保存",type:"bar",data:h.map(S=>S.saves),barWidth:a,barGap:o,itemStyle:{color:new ji(0,0,0,1,[{offset:0,color:"#10b981"},{offset:1,color:"#6ee7b7"}]),borderRadius:[4,4,0,0]},emphasis:{itemStyle:{color:new ji(0,0,0,1,[{offset:0,color:"#059669"},{offset:1,color:"#34d399"}])}},animationDuration:500,animationEasing:"cubicOut"},{name:"搜索",type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:h.map(S=>S.searches),lineStyle:{width:2.5,color:"#4f46e5"},itemStyle:{color:"#4f46e5",borderColor:"#fff",borderWidth:2},areaStyle:{color:new ji(0,0,0,1,[{offset:0,color:"rgba(99,102,241,0.12)"},{offset:1,color:"rgba(99,102,241,0.01)"}])},label:{show:!1},connectNulls:!0,animationDuration:700,animationEasing:"cubicOut",z:3,markLine:g>0?{silent:!0,symbol:"none",lineStyle:{color:"#6366f1",type:"dashed",width:1,opacity:.5},label:{formatter:`均 ${g}`,position:"insideEndTop",fontSize:10,color:"#6366f1"},data:[{yAxis:g,name:"日均搜索"}]}:void 0},{name:"保存",type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:h.map(S=>S.saves),lineStyle:{width:2.5,color:"#059669"},itemStyle:{color:"#059669",borderColor:"#fff",borderWidth:2},areaStyle:{color:new ji(0,0,0,1,[{offset:0,color:"rgba(16,185,129,0.12)"},{offset:1,color:"rgba(16,185,129,0.01)"}])},label:{show:!1},connectNulls:!0,animationDuration:700,animationEasing:"cubicOut",z:3,markLine:g>0?{silent:!0,symbol:"none",lineStyle:{color:"#10b981",type:"dashed",width:1,opacity:.5},label:{formatter:`均 ${Math.round(c.totalSaves/d)}`,position:"insideEndTop",fontSize:10,color:"#10b981"},data:[{yAxis:Math.round(c.totalSaves/d),name:"日均保存"}]}:void 0}],...m?{dataZoom:[{type:"slider",bottom:6,height:20,start:0,end:100,borderColor:"#e8e8e8",fillerColor:"rgba(99,102,241,0.08)",handleStyle:{color:"#6366f1",borderColor:"#6366f1"},textStyle:{fontSize:10,color:"#909399"}}]}:{}};i.setOption(_,!0)}qu(r,()=>{Hg(()=>l())},{deep:!0});function u(){e.value&&(n&&(n.disconnect(),n=null),n=new ResizeObserver(()=>{i==null||i.resize()}),n.observe(e.value))}return $_(()=>{n==null||n.disconnect(),n=null,i==null||i.dispose(),i=null}),{chartRef:e,render:l,initResize:u}}const WI={class:"section-content"},UI={class:"dash-row dash-row-stats"},YI={class:"stat-label"},XI={class:"stat-value"},ZI={class:"dash-row"},$I={class:"storage-grid"},qI={class:"drive-header"},KI=["src"],QI={class:"drive-name"},JI={class:"drive-space"},jI={class:"drive-used"},tP={class:"drive-total"},eP={class:"dash-row dash-row-cols-3"},rP={class:"insight-header"},iP={class:"trend-day-btns"},nP=["onClick"],aP={key:0,class:"trend-summary-row"},oP={class:"trend-summary-item"},sP={class:"trend-summary-num"},lP={class:"trend-summary-item"},uP={class:"trend-summary-num"},fP={class:"trend-summary-item"},hP={class:"trend-summary-num"},cP={class:"trend-summary-item"},vP={class:"trend-summary-num"},dP={class:"trend-summary-desc"},pP={class:"keyword-list"},gP={class:"kw-count"},yP={class:"ip-list"},mP={class:"ip-rank"},_P={class:"ip-addr"},SP={key:0,class:"ip-loc"},bP={class:"ip-count"},wP={class:"province-list"},xP={class:"province-rank"},TP={class:"province-bar-wrap"},CP={class:"province-name"},MP={class:"province-count"},DP={key:0,class:"section-content"},AP={class:"cloud-toggle-grid"},LP=["src"],IP={class:"cloud-label"},PP={key:1,class:"section-content"},kP={key:2,class:"section-content"},RP=q_({__name:"AdminDashboard",setup(r){t1();const t=Ce(""),e=Ce({todaySearches:0,todaySaves:0,monthSearches:0,monthSaves:0,totalSearches:0,totalSaves:0,hotKeywords:[],trendTrend:[],cloudUsage:[],topIps:[],provinceRankings:[]}),i=Ce(""),n=Ce([]),{chartRef:a,render:o,initResize:s}=HI(Ka(()=>e.value.trendTrend),R=>{b.value=R}),l=a;qu(()=>e.value.trendTrend,()=>{o()},{deep:!0}),qu(()=>x.value,(R,E)=>{R==="dashboard"&&E!=="dashboard"&&Hg(()=>{const N=document.querySelector(".trend-chart-echarts");N&&N.childElementCount===0?(o(),s()):N&&s()})});const u=[{key:"todaySearches",label:"今日搜索"},{key:"todaySaves",label:"今日保存"},{key:"monthSearches",label:"本月搜索"},{key:"monthSaves",label:"本月保存"},{key:"totalSearches",label:"总搜索量"},{key:"totalSaves",label:"总保存量"}];function f(R){return R===0?"danger":R<3?"warning":R<8?"":"info"}function h(R){return R?R.replace(/^(中国|China)\s*/i,"").trim():""}const c=Ka(()=>{const R=e.value.provinceRankings;return R.length>0?Math.max(...R.map(E=>E.count)):1}),v=["#409eff","#67c23a","#e6a23c","#f56c6c","#909399","#b37feb","#36cfc9","#ff85c0"];function d(R){return v[R%v.length]}const p=Ce("ip");function y(){}const g="data:image/svg+xml,"+encodeURIComponent('');function m(R){var E;return((E=n.value.find(N=>N.type===R))==null?void 0:E.icon)||g}const _=[7,15,30,60],S=Ce(7),b=Ce(null);async function w(R){S.value=R,await U()}const x=Ce("dashboard"),C=Ce(""),D=Ce([]),A=Q_({uptime:"--",memory:"--",version:"--",dbOk:!1,redisOk:!1,pansouOk:!1});async function M(){try{const R=await a1(1,5);D.value=R.records||[]}catch{D.value=[]}}async function I(){var R,E,N;try{const J=await(await fetch("/health")).json();A.uptime=L(J.uptime||0),A.memory=P(J.memory||0),A.version=J.version||"--",A.dbOk=((R=J.components)==null?void 0:R.db)==="connected",A.redisOk=((E=J.components)==null?void 0:E.redis)==="connected",A.pansouOk=((N=J.components)==null?void 0:N.pansou)==="ok"}catch{}}function L(R){const E=Math.floor(R/86400),N=Math.floor(R%86400/3600),X=Math.floor(R%3600/60),J=[];return E>0&&J.push(E+"天"),N>0&&J.push(N+"时"),J.push(X+"分"),J.join(" ")}function P(R){return R>=1073741824?(R/1073741824).toFixed(1)+" GB":R>=1048576?(R/1048576).toFixed(0)+" MB":(R/1024).toFixed(0)+" KB"}const k=Ka(()=>x.value==="cloud-configs-toggle"),B=Ka(()=>x.value.startsWith("sys-"));K_(async()=>{try{const R=await e1();R.site_name&&(i.value=R.site_name,document.title=R.site_name+" - 管理后台")}catch{}try{const[R,E]=await Promise.all([r1(),i1()]);n.value=E.types,await U(),await M(),await I(),s()}catch(R){console.error("加载数据失败",R)}});async function U(){try{e.value=await n1(S.value);try{const E=await(await fetch("/health")).json();t.value=E.version}catch{}}catch(R){console.error("加载统计数据失败",R)}}function O(R){if(!R.storageUsed||!R.storageTotal)return 0;const E=parseFloat(R.storageUsed),N=parseFloat(R.storageTotal);return N<=0?0:Math.round(E/N*100)}async function H(R,E){const N=n.value.find(X=>X.type===R);if(N)try{await o1(R,E),N.enabled=E}catch(X){j_.error(X.message||"切换失败"),N.enabled=!E}}return(R,E)=>{const N=Hr("el-card"),X=Hr("el-progress"),J=Hr("el-empty"),yt=Hr("el-tag"),Bt=Hr("el-tab-pane"),ue=Hr("el-tabs"),xe=Hr("el-switch");return Tt(),Nt("div",null,[ml(Q("div",WI,[Q("div",UI,[(Tt(),Nt(Vr,null,Gr(u,K=>$t(N,{key:K.key,class:"stat-card",shadow:"never"},{default:qt(()=>[Q("div",YI,wt(K.label),1),Q("div",XI,wt(e.value[K.key]??0),1)]),_:2},1024)),64))]),Q("div",ZI,[$t(N,{class:"storage-card",shadow:"never"},{header:qt(()=>[...E[1]||(E[1]=[Q("span",null,"💾 网盘存储空间",-1)])]),default:qt(()=>[Q("div",$I,[(Tt(!0),Nt(Vr,null,Gr(e.value.cloudUsage,K=>(Tt(),Nt("div",{key:K.cloudType+"-"+(K.nickname||""),class:"storage-drive-card"},[Q("div",qI,[Q("img",{src:m(K.cloudType),class:"drive-icon"},null,8,KI),Q("span",QI,wt(K.nickname||K.cloudType),1),Q("span",{class:Nc(["drive-status",K.isActive?"active":"inactive"])},wt(K.isActive?"正常":"停用"),3)]),Q("div",JI,[Q("span",jI,wt(K.storageUsed||"--"),1),E[2]||(E[2]=Q("span",{class:"drive-sep"},"/",-1)),Q("span",tP,wt(K.storageTotal||"--"),1)]),$t(X,{percentage:O(K),"stroke-width":10,color:O(K)>80?"#f56c6c":O(K)>60?"#e6a23c":"#67c23a"},null,8,["percentage","color"])]))),128)),e.value.cloudUsage.length===0?(Tt(),Ei(J,{key:0,description:"暂无网盘数据","image-size":72})):Oe("",!0)])]),_:1})]),Q("div",eP,[$t(N,{class:"insight-card trend-card",shadow:"never"},{header:qt(()=>[Q("div",rP,[E[3]||(E[3]=Q("span",null,"📈 使用趋势",-1)),Q("div",iP,[(Tt(),Nt(Vr,null,Gr(_,K=>Q("button",{key:K,class:Nc(["trend-day-btn",{active:S.value===K}]),onClick:ut=>w(K)},wt(K)+"天",11,nP)),64))])])]),default:qt(()=>[b.value?(Tt(),Nt("div",aP,[Q("div",oP,[Q("span",sP,wt(b.value.totalSearches),1),E[4]||(E[4]=Q("span",{class:"trend-summary-desc"},"总搜索",-1))]),Q("div",lP,[Q("span",uP,wt(b.value.totalSaves),1),E[5]||(E[5]=Q("span",{class:"trend-summary-desc"},"总保存",-1))]),Q("div",fP,[Q("span",hP,wt(b.value.avgSearches)+"/"+wt(b.value.avgSaves),1),E[6]||(E[6]=Q("span",{class:"trend-summary-desc"},"日均搜索/保存",-1))]),Q("div",cP,[Q("span",vP,wt(b.value.peakDay),1),Q("span",dP,"峰值日 "+wt(b.value.peakSearches)+"+"+wt(b.value.peakSaves),1)])])):Oe("",!0),Q("div",{ref_key:"chartRef",ref:l,class:"trend-chart-echarts"},null,512)]),_:1}),$t(N,{class:"insight-card",shadow:"never"},{header:qt(()=>[...E[7]||(E[7]=[Q("span",null,"🔍 热门搜索 Top 20",-1)])]),default:qt(()=>[Q("div",pP,[(Tt(!0),Nt(Vr,null,Gr(e.value.hotKeywords,(K,ut)=>(Tt(),Ei(yt,{key:K.keyword,type:f(ut),size:"small",class:"keyword-tag"},{default:qt(()=>[zc(wt(K.keyword),1),Q("sup",gP,wt(K.count),1)]),_:2},1032,["type"]))),128)),e.value.hotKeywords.length===0?(Tt(),Ei(J,{key:0,description:"暂无搜索数据","image-size":56})):Oe("",!0)])]),_:1}),$t(N,{class:"insight-card",shadow:"never"},{header:qt(()=>[$t(ue,{modelValue:p.value,"onUpdate:modelValue":E[0]||(E[0]=K=>p.value=K),class:"card-tabs",onTabClick:y},{default:qt(()=>[$t(Bt,{label:"🌐 IP Top 10",name:"ip"}),$t(Bt,{label:"🗺️ 地域 Top 10",name:"province"})]),_:1},8,["modelValue"])]),default:qt(()=>{var K;return[ml(Q("div",yP,[(Tt(!0),Nt(Vr,null,Gr(e.value.topIps,(ut,j)=>(Tt(),Nt("div",{key:ut.ip,class:"ip-row"},[Q("span",mP,wt(j+1),1),Q("span",_P,wt(ut.ip),1),ut.ip_location?(Tt(),Nt("span",SP,wt(h(ut.ip_location)),1)):Oe("",!0),Q("span",bP,wt(ut.count)+" 次",1)]))),128)),e.value.topIps.length===0?(Tt(),Ei(J,{key:0,description:"暂无数据","image-size":56})):Oe("",!0)],512),[[_l,p.value==="ip"]]),ml(Q("div",wP,[(Tt(!0),Nt(Vr,null,Gr(e.value.provinceRankings.slice(0,10),(ut,j)=>(Tt(),Nt("div",{key:ut.province,class:"province-row"},[Q("span",xP,wt(j+1),1),Q("span",TP,[Q("span",{class:"province-bar",style:J_({width:ut.count/c.value*100+"%",background:d(j)})},null,4)]),Q("span",CP,wt(ut.province),1),Q("span",MP,wt(ut.count)+" 次",1)]))),128)),(K=e.value.provinceRankings)!=null&&K.length?Oe("",!0):(Tt(),Ei(J,{key:0,description:"暂无数据","image-size":56}))],512),[[_l,p.value==="province"]])]}),_:1})])],512),[[_l,x.value==="dashboard"]]),k.value?(Tt(),Nt("div",DP,[$t(N,{class:"config-card",shadow:"never"},{header:qt(()=>[...E[8]||(E[8]=[Q("span",null,"📂 网盘类型开关",-1)])]),default:qt(()=>[Q("div",AP,[(Tt(!0),Nt(Vr,null,Gr(n.value,K=>(Tt(),Nt("div",{key:K.type,class:"cloud-toggle-chip"},[Q("img",{src:K.icon,class:"cloud-icon-img"},null,8,LP),Q("span",IP,wt(K.label),1),K.type==="others"?(Tt(),Ei(yt,{key:0,size:"small",type:"info"},{default:qt(()=>[...E[9]||(E[9]=[zc("关",-1)])]),_:1})):Oe("",!0),$t(xe,{"model-value":K.enabled,size:"small",onChange:ut=>H(K.type,ut)},null,8,["model-value","onChange"])]))),128))]),E[10]||(E[10]=Q("div",{class:"form-tip",style:{"margin-top":"12px"}}," 关闭的网盘类型在搜索结果中不会展示。修改后立即生效,无需点击保存。 ",-1))]),_:1}),$t(l1)])):Oe("",!0),B.value?(Tt(),Nt("div",PP,[$t(u1,{section:C.value},null,8,["section"])])):Oe("",!0),x.value==="save-records"?(Tt(),Nt("div",kP,[$t(f1)])):Oe("",!0)])}}}),GP=s1(RP,[["__scopeId","data-v-e2acf813"]]);export{GP as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/AdminLayout-DHRMhPUk.js b/source_clean/frontend-src/dist-vite/assets/AdminLayout-DHRMhPUk.js
new file mode 100644
index 0000000..f014134
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/AdminLayout-DHRMhPUk.js
@@ -0,0 +1 @@
+import{d as B,o as N,a as V,c as I,b as n,t as c,f as e,w as t,h as g,v as y,j as i,k as r,C as M,l,D as T,G as j,H as q,I as z,J as A,u as D,z as H}from"./index-D279dJND.js";import{a as L,_ as R}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const E={class:"admin-layout"},G={class:"admin-sidebar"},J={class:"sidebar-brand"},W={class:"sidebar-brand-text"},F={class:"sidebar-version"},K={class:"admin-content"},O={class:"content-header"},P={class:"content-breadcrumb"},Q={class:"breadcrumb-current"},U={class:"content-actions"},X={class:"content-body"},Y=B({__name:"AdminLayout",setup(Z){const d=D(),f=H(),m=g(""),_=g(""),b={dashboard:"仪表盘","cloud-configs-toggle":"网盘设置及授权","cloud-configs-cleanup":"存储清理","sys-site":"网站设置","sys-services":"外部服务 & 缓存","sys-strategy":"性能配置","sys-password":"修改管理员密码","sys-notify":"消息推送","save-records":"转存日志"},p=y(()=>{const o=f.name;return o==="admin-cloud-configs"?"cloud-configs-toggle":o==="admin-cleanup"?"cloud-configs-cleanup":o==="admin-system"?f.query.section||"sys-site":o==="admin-save-records"?"save-records":"dashboard"}),x=y(()=>b[p.value]||"仪表盘");function w(o){o==="dashboard"?d.push("/admin/dashboard"):o==="cloud-configs-toggle"?d.push("/admin/cloud-configs"):o==="cloud-configs-cleanup"?d.push("/admin/cleanup"):o.startsWith("sys-")?d.push({path:"/admin/system",query:{section:o}}):o==="save-records"?d.push("/admin/save-records"):o==="logout"&&(localStorage.removeItem("admin_token"),d.push("/admin/login"))}function h(){d.push("/")}return N(async()=>{try{const o=await L();m.value=o.site_name||""}catch{}try{const s=await(await fetch("/health")).json();_.value=s.version}catch{}}),(o,s)=>{const u=i("el-icon"),a=i("el-menu-item"),v=i("el-sub-menu"),C=i("el-menu"),k=i("el-button"),S=i("router-view");return V(),I("div",E,[n("aside",G,[n("div",J,[s[1]||(s[1]=n("div",{class:"sidebar-logo"},"☁️",-1)),n("div",W,[n("h2",null,c(m.value||"CloudSearch"),1),s[0]||(s[0]=n("p",null,"管理控制台",-1))])]),e(C,{"default-active":p.value,class:"sidebar-menu",onSelect:w},{default:t(()=>[e(a,{index:"dashboard"},{default:t(()=>[e(u,null,{default:t(()=>[e(r(M))]),_:1}),s[2]||(s[2]=n("span",null,"仪表盘",-1))]),_:1}),e(v,{index:"cloud-configs"},{title:t(()=>[e(u,null,{default:t(()=>[e(r(T))]),_:1}),s[3]||(s[3]=n("span",null,"网盘管理",-1))]),default:t(()=>[e(a,{index:"cloud-configs-toggle"},{default:t(()=>[...s[4]||(s[4]=[l("📋 设置及授权",-1)])]),_:1}),e(a,{index:"cloud-configs-cleanup"},{default:t(()=>[...s[5]||(s[5]=[l("🧹 存储清理",-1)])]),_:1})]),_:1}),e(v,{index:"system"},{title:t(()=>[e(u,null,{default:t(()=>[e(r(j))]),_:1}),s[6]||(s[6]=n("span",null,"系统设置",-1))]),default:t(()=>[e(a,{index:"sys-site"},{default:t(()=>[...s[7]||(s[7]=[l("🌐 网站设置",-1)])]),_:1}),e(a,{index:"sys-services"},{default:t(()=>[...s[8]||(s[8]=[l("🔗 外部服务 & 缓存",-1)])]),_:1}),e(a,{index:"sys-strategy"},{default:t(()=>[...s[9]||(s[9]=[l("⚡ 性能配置",-1)])]),_:1}),e(a,{index:"sys-password"},{default:t(()=>[...s[10]||(s[10]=[l("🔑 修改密码",-1)])]),_:1}),e(a,{index:"sys-notify"},{default:t(()=>[...s[11]||(s[11]=[l("📬 消息推送",-1)])]),_:1})]),_:1}),e(a,{index:"save-records"},{default:t(()=>[e(u,null,{default:t(()=>[e(r(q))]),_:1}),s[12]||(s[12]=n("span",null,"转存日志",-1))]),_:1}),s[14]||(s[14]=n("div",{class:"sidebar-spacer"},null,-1)),n("div",F,"v"+c(_.value),1),e(a,{index:"logout"},{default:t(()=>[e(u,null,{default:t(()=>[e(r(z))]),_:1}),s[13]||(s[13]=n("span",null,"退出登录",-1))]),_:1})]),_:1},8,["default-active"])]),n("div",K,[n("header",O,[n("div",P,[n("span",Q,c(x.value),1)]),n("div",U,[e(k,{text:"",size:"small",onClick:h},{default:t(()=>[e(u,null,{default:t(()=>[e(r(A))]),_:1}),s[15]||(s[15]=l(" 返回前台 ",-1))]),_:1})])]),n("main",X,[e(S)])])])}}}),es=R(Y,[["__scopeId","data-v-29c9acc0"]]);export{es as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/AdminLayout-e6gnzMQk.css b/source_clean/frontend-src/dist-vite/assets/AdminLayout-e6gnzMQk.css
new file mode 100644
index 0000000..70729d5
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/AdminLayout-e6gnzMQk.css
@@ -0,0 +1 @@
+.admin-layout[data-v-29c9acc0]{display:flex;height:100vh;background:var(--bg-page)}.admin-sidebar[data-v-29c9acc0]{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#111827,#1e293b);position:relative;z-index:10}.sidebar-brand[data-v-29c9acc0]{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-logo[data-v-29c9acc0]{font-size:28px;line-height:1;flex-shrink:0}.sidebar-brand-text h2[data-v-29c9acc0]{font-size:16px;font-weight:700;margin:0;color:#fff;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-brand-text p[data-v-29c9acc0]{font-size:11px;margin:2px 0 0;color:#ffffff73;letter-spacing:1px}.sidebar-menu[data-v-29c9acc0]{flex:1;display:flex;flex-direction:column;background:transparent!important;border-right:none!important;padding:4px 0}.sidebar-menu[data-v-29c9acc0] .el-menu-item,.sidebar-menu[data-v-29c9acc0] .el-sub-menu__title{color:#ffffffa6;height:44px;line-height:44px;transition:all .2s ease;margin:0 6px;border-radius:var(--radius-sm)}.sidebar-menu[data-v-29c9acc0] .el-menu-item:hover,.sidebar-menu[data-v-29c9acc0] .el-sub-menu__title:hover{background:#ffffff14;color:#ffffffe6}.sidebar-menu[data-v-29c9acc0] .el-menu-item.is-active{color:#fff;background:linear-gradient(90deg,#409eff40,#6366f126);font-weight:500}.sidebar-menu[data-v-29c9acc0] .el-menu-item:after{display:none}.sidebar-menu[data-v-29c9acc0] .el-sub-menu .el-menu{background:#0003!important}.sidebar-menu[data-v-29c9acc0] .el-sub-menu .el-menu .el-menu-item{padding-left:52px!important;font-size:13px;height:38px;line-height:38px}.sidebar-menu[data-v-29c9acc0] .el-icon{font-size:16px}.sidebar-spacer[data-v-29c9acc0]{flex:1}.sidebar-version[data-v-29c9acc0]{text-align:center;font-size:11px;color:#ffffff40;padding:8px 0;letter-spacing:.5px}.admin-content[data-v-29c9acc0]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.content-header[data-v-29c9acc0]{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:var(--bg-card);border-bottom:1px solid var(--border-light);flex-shrink:0}.content-breadcrumb[data-v-29c9acc0]{display:flex;align-items:center;gap:8px}.breadcrumb-current[data-v-29c9acc0]{font-size:18px;font-weight:700;color:var(--text)}.content-actions[data-v-29c9acc0] .el-button{color:var(--text-secondary);gap:4px}.content-body[data-v-29c9acc0]{flex:1;overflow-y:auto;padding:24px 28px}.content-body[data-v-29c9acc0] .save-bar{position:fixed;bottom:32px;right:32px;z-index:100;background:var(--bg-card);padding:12px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:0 4px 16px #0000001f;display:flex;gap:10px;transition:box-shadow .2s,transform .2s}.content-body[data-v-29c9acc0] .save-bar:hover{box-shadow:0 6px 24px #0000002e;transform:translateY(-2px)}
diff --git a/source_clean/frontend-src/dist-vite/assets/AdminLogin-DFflDgjp.css b/source_clean/frontend-src/dist-vite/assets/AdminLogin-DFflDgjp.css
new file mode 100644
index 0000000..710efa4
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/AdminLogin-DFflDgjp.css
@@ -0,0 +1 @@
+.admin-login-page[data-v-bd0b6672]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);position:relative;overflow:hidden}.login-bg-pattern[data-v-bd0b6672]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 50%,rgba(102,126,234,.12) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(118,75,162,.12) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(64,158,255,.08) 0%,transparent 50%)}.login-card[data-v-bd0b6672]{position:relative;width:400px;padding:48px 40px 36px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:0 24px 64px #00000040}.login-brand[data-v-bd0b6672]{text-align:center;margin-bottom:36px}.login-logo[data-v-bd0b6672]{font-size:48px;margin-bottom:8px;line-height:1}.login-title[data-v-bd0b6672]{font-size:26px;font-weight:800;color:#1d2129;margin:0 0 4px;letter-spacing:1px}.login-subtitle[data-v-bd0b6672]{font-size:14px;color:#86909c;margin:0;letter-spacing:2px}.login-btn[data-v-bd0b6672]{width:100%;height:44px;font-size:15px;letter-spacing:4px;border-radius:var(--radius-md)}.error-msg[data-v-bd0b6672]{text-align:center;color:#f56c6c;font-size:13px;margin-top:12px;padding:8px 12px;background:#fef0f0;border-radius:var(--radius-sm);line-height:1.4}.login-footer[data-v-bd0b6672]{text-align:center;color:#c9cdd4;font-size:11px;margin-top:20px;margin-bottom:0}[data-theme=dark] .login-card[data-v-bd0b6672]{background:#1d1d1df2}[data-theme=dark] .login-title[data-v-bd0b6672]{color:#e5e5e5}[data-theme=dark] .login-subtitle[data-v-bd0b6672]{color:#666}[data-theme=dark] .error-msg[data-v-bd0b6672]{background:#f56c6c1f}
diff --git a/source_clean/frontend-src/dist-vite/assets/AdminLogin-DxE2POP4.js b/source_clean/frontend-src/dist-vite/assets/AdminLogin-DxE2POP4.js
new file mode 100644
index 0000000..b64c5cd
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/AdminLogin-DxE2POP4.js
@@ -0,0 +1 @@
+import{d as k,o as C,a as w,c as y,b as a,t as m,f as t,w as i,g as x,e as L,h as d,j as p,l as N,i as S,E as B}from"./index-D279dJND.js";import{a as E,d as M,_ as U}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const j={class:"admin-login-page"},q={class:"login-card"},A={class:"login-brand"},I={class:"login-title"},K={key:0,class:"error-msg"},R={class:"login-footer"},z=k({__name:"AdminLogin",setup(D){const f=d(),u=d(!1),c=d(""),g=d(""),v=d("");E().then(l=>{l.site_name&&(g.value=l.site_name)}).catch(()=>{});const s=S({username:"",password:""}),b={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]};async function h(){var e,r,n;if(await((e=f.value)==null?void 0:e.validate().catch(()=>!1))){u.value=!0,c.value="";try{const o=await M(s.username,s.password);localStorage.setItem("admin_token",o.token),B.success("登录成功"),window.location.href="/admin"}catch(o){c.value=((n=(r=o==null?void 0:o.response)==null?void 0:r.data)==null?void 0:n.message)||(o==null?void 0:o.message)||"登录失败"}finally{u.value=!1}}}return C(async()=>{try{const e=await(await fetch("/health")).json();v.value=e.version||""}catch{}}),(l,e)=>{const r=p("el-input"),n=p("el-form-item"),o=p("el-button"),V=p("el-form");return w(),y("div",j,[e[4]||(e[4]=a("div",{class:"login-bg-pattern"},null,-1)),a("div",q,[a("div",A,[e[2]||(e[2]=a("div",{class:"login-logo"},"☁️",-1)),a("h1",I,m(g.value||"CloudSearch"),1),e[3]||(e[3]=a("p",{class:"login-subtitle"},"管理后台",-1))]),t(V,{ref_key:"formRef",ref:f,model:s,rules:b,"label-width":"0",size:"large",onKeyup:x(h,["enter"])},{default:i(()=>[t(n,{prop:"username"},{default:i(()=>[t(r,{modelValue:s.username,"onUpdate:modelValue":e[0]||(e[0]=_=>s.username=_),placeholder:"用户名","prefix-icon":"User"},null,8,["modelValue"])]),_:1}),t(n,{prop:"password"},{default:i(()=>[t(r,{modelValue:s.password,"onUpdate:modelValue":e[1]||(e[1]=_=>s.password=_),type:"password",placeholder:"密码","prefix-icon":"Lock","show-password":""},null,8,["modelValue"])]),_:1}),t(n,null,{default:i(()=>[t(o,{type:"primary",loading:u.value,class:"login-btn",onClick:h},{default:i(()=>[N(m(u.value?"登录中...":"登 录"),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),c.value?(w(),y("p",K,m(c.value),1)):L("",!0),a("p",R,"CloudSearch v"+m(v.value),1)])])}}}),G=U(z,[["__scopeId","data-v-bd0b6672"]]);export{G as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/Cleanup-Cq_o1Z9e.css b/source_clean/frontend-src/dist-vite/assets/Cleanup-Cq_o1Z9e.css
new file mode 100644
index 0000000..d808645
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/Cleanup-Cq_o1Z9e.css
@@ -0,0 +1 @@
+.cleanup-section[data-v-dfd5abc7] .el-card__header{font-size:16px;font-weight:600;letter-spacing:.5px;border-bottom:1px solid var(--border)}.cleanup-grid[data-v-dfd5abc7]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cleanup-group[data-v-dfd5abc7]{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;background:var(--bg-card);transition:box-shadow .2s}.cleanup-group[data-v-dfd5abc7]:hover{box-shadow:var(--shadow-sm)}.cleanup-group-label[data-v-dfd5abc7]{font-size:14px;font-weight:600;color:var(--primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed var(--border-light)}.cleanup-hint[data-v-dfd5abc7]{color:var(--text-tertiary);font-size:12px;line-height:1.5}.cleanup-actions[data-v-dfd5abc7]{margin-top:20px;padding:16px 18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.cleanup-actions-buttons[data-v-dfd5abc7]{display:flex;gap:10px;flex-wrap:wrap}.cleanup-info[data-v-dfd5abc7]{font-size:13px;color:var(--text-tertiary);display:flex;flex-wrap:wrap;gap:4px}@media (max-width: 900px){.cleanup-grid[data-v-dfd5abc7]{grid-template-columns:1fr}}
diff --git a/source_clean/frontend-src/dist-vite/assets/Cleanup-CwLcANun.js b/source_clean/frontend-src/dist-vite/assets/Cleanup-CwLcANun.js
new file mode 100644
index 0000000..34744fd
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/Cleanup-CwLcANun.js
@@ -0,0 +1 @@
+import{d as X,o as Y,a as _,c as f,f as a,w as u,j as p,i as Z,b as t,F as ee,r as le,y as N,l as m,t as v,e as g,g as ae,h as y,v as r,E as d}from"./index-D279dJND.js";import{k as te,p as se,r as ne,v as oe,_ as ue}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const ie={class:"cleanup-section"},re={class:"cleanup-grid"},pe={class:"cleanup-group"},de={style:{display:"flex","align-items":"center",gap:"10px","flex-wrap":"wrap"}},ce={style:{display:"flex","align-items":"center",gap:"10px"}},_e={style:{width:"100%"}},me={key:0,style:{display:"flex",gap:"6px","flex-wrap":"wrap","margin-bottom":"6px"}},fe={style:{display:"flex",gap:"6px"}},ve={class:"cleanup-group"},ge={style:{display:"flex","align-items":"center",gap:"8px"}},ye={style:{display:"flex","align-items":"center",gap:"8px"}},he={style:{display:"flex","align-items":"center",gap:"8px"}},be={style:{display:"flex","align-items":"center",gap:"8px"}},xe={class:"cleanup-group"},we={class:"cleanup-group"},Ve={class:"cleanup-actions"},Ce={class:"cleanup-actions-buttons"},Se={key:0,class:"cleanup-info"},ke={key:0,style:{"margin-left":"12px"}},ze=X({__name:"Cleanup",setup(Ne){const s=Z({}),h=y(!1),b=y(!1),z=y(!1),D=r(()=>String(s.cleanup_last_run||"")),T=r(()=>{const l=String(s.cleanup_last_stats||"");if(!l)return"";try{const e=JSON.parse(l),n=[];return e.filesTrashed>0&&n.push(`移入回收站 ${e.filesTrashed} 个文件夹`),e.logsDeleted>0&&n.push(`删除 ${e.logsDeleted} 条日志`),e.trashEmptied&&n.push("已清空回收站"),e.errors>0&&n.push(`⚠️ ${e.errors} 个错误`),n.join(" / ")||"无操作"}catch{return""}}),U=r({get:()=>String(s.cleanup_enabled)==="true",set:l=>{s.cleanup_enabled=l?"true":"false"}}),E=r({get:()=>String(s.cleanup_empty_trash)!=="false",set:l=>{s.cleanup_empty_trash=l?"true":"false"}}),R=r({get:()=>Number(s.cleanup_file_retention_days??7),set:l=>{s.cleanup_file_retention_days=l}}),B=r({get:()=>Number(s.cleanup_log_retention_days??30),set:l=>{s.cleanup_log_retention_days=l}}),x=r({get:()=>String(s.cleanup_space_threshold_enabled)==="true",set:l=>{s.cleanup_space_threshold_enabled=l?"true":"false"}}),M=r({get:()=>Number(s.cleanup_space_threshold_percent??90),set:l=>{s.cleanup_space_threshold_percent=l}}),W=r({get:()=>Number(s.cleanup_space_threshold_delete_percent??10),set:l=>{s.cleanup_space_threshold_delete_percent=l}}),$=r({get:()=>String(s.save_reuse_enabled)!=="false",set:l=>{s.save_reuse_enabled=l?"true":"false"}}),c=y([]),w=y("");function L(){try{const l=String(s.cleanup_whitelist_dirs||"[]");c.value=JSON.parse(l)}catch{c.value=[]}}function F(){const l=w.value.trim();if(l){if(c.value.includes(l)){d.warning("该目录已在白名单中");return}c.value.push(l),w.value=""}}function P(l){c.value.splice(l,1)}const I=r({get:()=>Number(s.cleanup_verify_interval??30),set:l=>{s.cleanup_verify_interval=l}}),J=r({get:()=>Number(s.storage_refresh_interval??180),set:l=>{s.storage_refresh_interval=l}});async function O(){try{const l=await te();for(const e of l)s[e.key]=e.value;L()}catch(l){console.error("加载清理配置失败",l)}}async function A(){var l,e;z.value=!0;try{const i=["cleanup_enabled","cleanup_file_retention_days","cleanup_log_retention_days","cleanup_empty_trash","cleanup_space_threshold_enabled","cleanup_space_threshold_percent","cleanup_space_threshold_delete_percent","save_reuse_enabled","cleanup_verify_interval","storage_refresh_interval"].map(V=>({key:V,value:String(s[V]??"")}));i.push({key:"cleanup_whitelist_dirs",value:JSON.stringify(c.value)}),await se(i),d.success("清理配置已保存")}catch(n){d.error(((e=(l=n.response)==null?void 0:l.data)==null?void 0:e.error)||"保存失败")}finally{z.value=!1}}async function q(){var l,e;h.value=!0;try{const n=await ne();n.success?d.success(n.message):d.warning(n.message),await O()}catch(n){d.error(((e=(l=n.response)==null?void 0:l.data)==null?void 0:e.error)||"清理失败")}finally{h.value=!1}}async function G(){var l,e;b.value=!0;try{const n=await oe();n.success?d.success(n.message):d.warning(n.message)}catch(n){d.error(((e=(l=n.response)==null?void 0:l.data)==null?void 0:e.error)||"清空回收站失败")}finally{b.value=!1}}return Y(()=>{O()}),(l,e)=>{const n=p("el-switch"),i=p("el-form-item"),V=p("el-tag"),H=p("el-input"),C=p("el-button"),S=p("el-form"),k=p("el-input-number"),j=p("el-slider"),Q=p("el-card");return _(),f("div",ie,[a(Q,{class:"config-card"},{header:u(()=>[...e[11]||(e[11]=[t("span",null,"🧹 存储清理",-1)])]),default:u(()=>[t("div",re,[t("div",pe,[e[15]||(e[15]=t("div",{class:"cleanup-group-label"},"⏱ 基础清理策略",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"自动清理"},{default:u(()=>[t("div",de,[a(n,{modelValue:U.value,"onUpdate:modelValue":e[0]||(e[0]=o=>U.value=o),size:"small"},null,8,["modelValue"]),e[12]||(e[12]=t("span",{class:"cleanup-hint"},"每天自动检查一次,删除过期日志、移入回收站文件",-1))])]),_:1}),a(i,{label:"清空回收站"},{default:u(()=>[t("div",ce,[a(n,{modelValue:E.value,"onUpdate:modelValue":e[1]||(e[1]=o=>E.value=o),size:"small"},null,8,["modelValue"]),e[13]||(e[13]=t("span",{class:"cleanup-hint"},"清理时一并清空各网盘回收站",-1))])]),_:1}),a(i,{label:"白名单目录"},{default:u(()=>[t("div",_e,[c.value.length?(_(),f("div",me,[(_(!0),f(ee,null,le(c.value,(o,K)=>(_(),N(V,{key:K,closable:"",size:"small",onClose:De=>P(K)},{default:u(()=>[m(v(o),1)]),_:2},1032,["onClose"]))),128))])):g("",!0),t("div",fe,[a(H,{modelValue:w.value,"onUpdate:modelValue":e[2]||(e[2]=o=>w.value=o),placeholder:"输入目录名",size:"small",style:{width:"160px"},onKeyup:ae(F,["enter"])},null,8,["modelValue"]),a(C,{type:"primary",size:"small",onClick:F},{default:u(()=>[...e[14]||(e[14]=[m("添加",-1)])]),_:1})])])]),_:1})]),_:1})]),t("div",ve,[e[20]||(e[20]=t("div",{class:"cleanup-group-label"},"📦 保留设置",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"文件保留"},{default:u(()=>[t("div",ge,[a(k,{modelValue:R.value,"onUpdate:modelValue":e[3]||(e[3]=o=>R.value=o),min:1,max:365,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[16]||(e[16]=t("span",null,"天",-1))])]),_:1}),a(i,{label:"日志保留"},{default:u(()=>[t("div",ye,[a(k,{modelValue:B.value,"onUpdate:modelValue":e[4]||(e[4]=o=>B.value=o),min:1,max:365,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[17]||(e[17]=t("span",null,"天",-1))])]),_:1}),a(i,{label:"Cookie检测"},{default:u(()=>[t("div",he,[a(k,{modelValue:I.value,"onUpdate:modelValue":e[5]||(e[5]=o=>I.value=o),min:5,max:1440,step:5,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[18]||(e[18]=t("span",null,"分钟",-1))])]),_:1}),a(i,{label:"空间校准"},{default:u(()=>[t("div",be,[a(k,{modelValue:J.value,"onUpdate:modelValue":e[6]||(e[6]=o=>J.value=o),min:5,max:1440,step:5,style:{width:"100px"},size:"small"},null,8,["modelValue"]),e[19]||(e[19]=t("span",null,"分钟",-1))])]),_:1})]),_:1})]),t("div",xe,[e[22]||(e[22]=t("div",{class:"cleanup-group-label"},"📊 空间阈值自动清理",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"启用"},{default:u(()=>[a(n,{modelValue:x.value,"onUpdate:modelValue":e[7]||(e[7]=o=>x.value=o),size:"small"},null,8,["modelValue"]),e[21]||(e[21]=t("span",{class:"cleanup-hint",style:{"margin-left":"8px"}},"已用空间超过阈值时,按比例删除最旧的转存文件",-1))]),_:1}),x.value?(_(),N(i,{key:0,label:"使用阈值"},{default:u(()=>[a(j,{modelValue:M.value,"onUpdate:modelValue":e[8]||(e[8]=o=>M.value=o),min:50,max:99,style:{width:"140px"},"show-input":"",size:"small"},null,8,["modelValue"])]),_:1})):g("",!0),x.value?(_(),N(i,{key:1,label:"删除比例"},{default:u(()=>[a(j,{modelValue:W.value,"onUpdate:modelValue":e[9]||(e[9]=o=>W.value=o),min:5,max:50,step:5,style:{width:"140px"},"show-input":"",size:"small"},null,8,["modelValue"])]),_:1})):g("",!0)]),_:1})]),t("div",we,[e[24]||(e[24]=t("div",{class:"cleanup-group-label"},"🔗 分享链接复用",-1)),a(S,{"label-width":"120px","label-position":"left",size:"small"},{default:u(()=>[a(i,{label:"复用"},{default:u(()=>[a(n,{modelValue:$.value,"onUpdate:modelValue":e[10]||(e[10]=o=>$.value=o),size:"small"},null,8,["modelValue"]),e[23]||(e[23]=t("span",{class:"cleanup-hint",style:{"margin-left":"8px"}},"相同原始链接不再重复转存,复用已有分享链接(会自动验证原链接有效性;60秒内重复请求直接返回已有链接)",-1))]),_:1})]),_:1})])]),t("div",Ve,[t("div",Ce,[a(C,{type:"primary",loading:z.value,onClick:A},{default:u(()=>[...e[25]||(e[25]=[m("💾 保存清理配置",-1)])]),_:1},8,["loading"]),a(C,{type:"danger",loading:h.value,onClick:q},{default:u(()=>[m(v(h.value?"清理中...":"🗑️ 立即清理"),1)]),_:1},8,["loading"]),a(C,{type:"warning",loading:b.value,onClick:G},{default:u(()=>[m(v(b.value?"清空中...":"🧹 清空回收站"),1)]),_:1},8,["loading"])]),D.value?(_(),f("div",Se,[m(" ⏰ 上次清理:"+v(D.value)+" ",1),T.value?(_(),f("span",ke,"📊 "+v(T.value),1)):g("",!0)])):g("",!0)])]),_:1})])}}}),Ee=ue(ze,[["__scopeId","data-v-dfd5abc7"]]);export{Ee as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/CloudBadge-B7b7xKko.css b/source_clean/frontend-src/dist-vite/assets/CloudBadge-B7b7xKko.css
new file mode 100644
index 0000000..1ffa291
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/CloudBadge-B7b7xKko.css
@@ -0,0 +1 @@
+.cloud-badge[data-v-9106805f]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;color:#fff;font-size:12px;line-height:1.5;white-space:nowrap}.badge-icon[data-v-9106805f]{width:14px;height:14px;object-fit:contain}
diff --git a/source_clean/frontend-src/dist-vite/assets/CloudBadge-OZZzB6Zg.js b/source_clean/frontend-src/dist-vite/assets/CloudBadge-OZZzB6Zg.js
new file mode 100644
index 0000000..165c35f
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/CloudBadge-OZZzB6Zg.js
@@ -0,0 +1 @@
+import{C as s,b as a,a as n}from"./index-Bn7NwETH.js";import{d as l,a as t,c,p as d,k as o,e as r,l as u,t as m}from"./index-D279dJND.js";import{_}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const p=["src"],i=l({__name:"CloudBadge",props:{cloud_type:{},showIcon:{type:Boolean}},setup(e){return(C,y)=>(t(),c("span",{class:"cloud-badge",style:d({background:o(s)[e.cloud_type]})},[e.showIcon&&o(a)[e.cloud_type]?(t(),c("img",{key:0,src:o(a)[e.cloud_type],class:"badge-icon"},null,8,p)):r("",!0),u(" "+m(o(n)[e.cloud_type]),1)],4))}}),L=_(i,[["__scopeId","data-v-9106805f"]]);export{L as C};
diff --git a/source_clean/frontend-src/dist-vite/assets/CloudConfig-BADbnuPV.js b/source_clean/frontend-src/dist-vite/assets/CloudConfig-BADbnuPV.js
new file mode 100644
index 0000000..e3eeb94
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/CloudConfig-BADbnuPV.js
@@ -0,0 +1,40 @@
+import{d as ke,o as L,m as ve,E as _,a as c,c as k,f as n,w as a,b as r,h as C,j as p,i as be,F as R,r as K,t as v,y as g,l as d,e as A,k as Ce,M as he,p as xe,n as H,K as Be,L as Te,v as h}from"./index-D279dJND.js";import{a as x}from"./index-Bn7NwETH.js";import{c as we,k as Fe,h as Ne,l as G,t as Ve,u as P,m as ze,n as Se,o as $e,_ as Ue}from"./_plugin-vue_export-helper-1Z-znrfZ.js";import{C as De}from"./CloudBadge-OZZzB6Zg.js";const Ie={class:"cloud-config"},Me={class:"cloud-toggle-grid"},Oe=["src"],qe={class:"cloud-label"},Ee={class:"toolbar"},Le={key:0,class:"nickname-text"},Re={key:0,class:"promotion-text"},Ke={key:0,class:"uid-cell"},Ae={key:0,class:"verifying"},He={key:0,class:"storage-cell"},Ge={class:"storage-bar-wrap"},Pe={class:"storage-text"},je={class:"storage-used"},Je={class:"storage-total"},Qe={class:"storage-free"},We={key:0,class:"save-count"},Xe={style:{"line-height":"1.6"}},Ye={class:"cookie-tips-header"},Ze={class:"cookie-tips-title"},et=["innerHTML"],tt=ke({__name:"CloudConfig",setup(ot){const z=C([]),D=C(),F=C([]),B=C(!1),T=C(!1),b=C(null),l=be({cloud_type:"",nickname:"",promotion_account:"",is_transfer_enabled:!1,cookie:"",_verifying:!1,_storageUsed:"",_storageTotal:""}),j=h(()=>({cloud_type:[{required:!0,message:"请选择网盘类型",trigger:"change"}],nickname:[{required:!1,message:"请填写昵称(区分多个同类型网盘)",trigger:"blur"}],promotion_account:[{required:!0,message:"请填写推广平台及账号",trigger:"blur"}]})),J=h(()=>Object.entries(x)),Q=h(()=>{if(!l.cloud_type)return"请先选择网盘类型";const t=l.cloud_type;return t==="quark"||t==="baidu"?`请输入 ${x[t]||t} 的完整 Cookie`:b.value?"留空则保持原有":"输入完整 Cookie"}),W=h(()=>x[l.cloud_type]||l.cloud_type||""),X=h(()=>{const t=l.cloud_type;return t?{quark:`在电脑上打开 pan.quark.cn 并登录你的夸克账号
+按 F12 打开开发者工具 → 切换到 网络 (Network) 选项卡
+刷新页面,在请求列表中点击任意一个请求(如 account/info)
+在右侧 请求头 (Request Headers) 中找到 Cookie 字段
+复制整个 Cookie 值(从开头到结束的完整内容),粘贴到上方输入框
+点击「自动获取」按钮验证 Cookie 是否有效
+⚠️ 必须包含 __st=s%... 字段!请复制浏览器请求头的 整个 Cookie(F12 → Network → 请求头 → Cookie 项),不要只复制部分。
`,baidu:`在电脑上打开 pan.baidu.com 并登录你的百度账号
+按 F12 打开开发者工具 → 切换到 网络 (Network) 选项卡
+刷新页面,在请求列表中点击任意一个请求
+在右侧 请求头 (Request Headers) 中找到 Cookie 字段
+复制整个 Cookie 值,粘贴到上方输入框
+点击「自动获取」按钮验证 Cookie 是否有效
+💡 需要包含 BDUSS 和 STOKEN
`,aliyun:`在电脑上打开 aliyundrive.com 并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,找到任意请求 → 复制 Cookie
+粘贴到上方输入框,点击「自动获取」验证
+💡 需包含 token 等有效字段
`,115:`在电脑上打开 115.com 并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,找到任意请求 → 复制 Cookie
+粘贴到上方输入框,点击「自动获取」验证
+💡 需包含 UID、CID、SEID 等字段
`,tianyi:`在电脑上打开 cloud.189.cn 并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,找到任意请求 → 复制 Cookie
+粘贴到上方输入框,点击「自动获取」验证
+💡 需包含 COOKIE_LOGIN_USER、SESSION 等字段
`,"123pan":`在电脑上打开 123pan.com 并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,找到任意请求 → 复制 Cookie
+粘贴到上方输入框,点击「自动获取」验证`,uc:`在电脑上打开 drive.uc.cn 并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,找到任意请求 → 复制 Cookie
+粘贴到上方输入框,点击「自动获取」验证`,xunlei:`在电脑上打开 pan.xunlei.com 并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,找到任意请求 → 复制 Cookie
+粘贴到上方输入框,点击「自动获取」验证`,pikpak:`在电脑上打开 mypikpak.com 并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,找到任意请求 → 复制 Cookie
+粘贴到上方输入框,点击「自动获取」验证`}[t]||`在电脑上打开该网盘网站并登录
+按 F12 打开开发者工具 → 网络 (Network)
+刷新页面,复制任意请求的 Cookie
+粘贴到上方输入框,点击「自动获取」验证`:""});L(async()=>{await $(),await Y(),await Z()});let S=null;L(()=>{S=setInterval(()=>{le()},30*60*1e3)}),ve(()=>{S&&clearInterval(S)});async function Y(){try{const t=await we();z.value=t.types}catch(t){console.error("加载网盘类型失败",t)}}const I=C({}),M=h(()=>{try{const t=I.value.cleanup_whitelist_dirs||"[]",e=JSON.parse(t);return Array.isArray(e)&&e.length>0?e:[]}catch{return[]}});async function Z(){try{const t=await Fe(),e={};for(const i of t)e[i.key]=i.value;I.value=e}catch(t){console.error("加载系统配置失败",t)}}async function ee(t,e){const i=z.value.find(s=>s.type===t);if(i)try{await Ve(t,e),i.enabled=e}catch(s){_.error(s.message||"切换失败"),i.enabled=!e}}async function $(){try{F.value=await Ne()}catch(t){console.error("加载网盘配置失败",t)}}async function te(t,e){var s,m;const i=e?1:0;try{await P({id:t.id,cloud_type:t.cloud_type,nickname:t.nickname||"",promotion_account:t.promotion_account||"",is_transfer_enabled:i,is_active:t.is_active,cookie:void 0}),t.is_transfer_enabled=i,_.success(e?"转存已开启":"转存已关闭")}catch(f){_.error(((m=(s=f.response)==null?void 0:s.data)==null?void 0:m.error)||"操作失败")}}async function oe(t,e){var i,s;try{await ze(t.id,e),t.is_primary=e?1:0,_.success(e?`已将「${t.nickname||t.cloud_type}」设为默认账号`:"已取消默认账号")}catch(m){_.error(((s=(i=m.response)==null?void 0:i.data)==null?void 0:s.error)||m.message||"操作失败")}}async function le(){for(const t of F.value)(t.cookie_preview||t.nickname)&&await U(t,!0)}async function ae(){for(const t of F.value)(t.cookie_preview||t.nickname)&&!t._verifying&&await U(t,!1);_.success("全部验证完成")}async function U(t,e=!1){if(!t.cookie_preview&&!t.nickname){e||_.warning("该配置没有 Cookie,请先编辑保存后再验证");return}t._verifying=!0;try{const i=await G(t.cloud_type,void 0,t.id);t.verification_status=i.success?"valid":"invalid",i.success?(i.nickname&&!t.nickname&&(t.nickname=i.nickname),i.storage_used&&(t.storage_used=i.storage_used),i.storage_total&&(t.storage_total=i.storage_total),e||_.success(`${x[t.cloud_type]}:${i.message}`)):e||_.error(`${x[t.cloud_type]}:${i.message}`)}catch{t.verification_status="invalid",e||_.error(`${x[t.cloud_type]}:验证失败`)}finally{t._verifying=!1}}function O(t){t?(b.value=t.id??null,l.cloud_type=t.cloud_type,l.nickname=t.nickname||"",l.promotion_account=t.promotion_account||"",l.is_transfer_enabled=t.is_transfer_enabled!==0,l.cookie=t.cookie||"",l._verifying=!1,l._storageUsed="",l._storageTotal=""):(b.value=null,l.cloud_type="",l.nickname="",l.promotion_account="",l.is_transfer_enabled=!1,l.cookie="",l._verifying=!1,l._storageUsed="",l._storageTotal=""),B.value=!0}function ie(){}async function ne(){var e,i,s,m,f;if(await((e=D.value)==null?void 0:e.validate().catch(()=>!1))){T.value=!0;try{if(l.cookie)try{const u=await G(l.cloud_type,l.cookie);if(!u.success){_.error(`Cookie验证失败:${u.message}`),T.value=!1;return}}catch(u){_.error(`Cookie验证失败:${((s=(i=u.response)==null?void 0:i.data)==null?void 0:s.error)||"网络错误"}`),T.value=!1;return}if(b.value)await P({id:b.value,cloud_type:l.cloud_type,nickname:l.nickname,promotion_account:l.promotion_account,is_transfer_enabled:l.is_transfer_enabled?1:0,cookie:l.cookie||void 0,is_active:1}),_.success("配置更新成功");else{const u=await Se({cloud_type:l.cloud_type,nickname:l.nickname,promotion_account:l.promotion_account,is_transfer_enabled:l.is_transfer_enabled?1:0,cookie:l.cookie,is_active:1});_.success("配置保存成功")}B.value=!1,b.value=null,await $()}catch(u){_.error(((f=(m=u.response)==null?void 0:m.data)==null?void 0:f.error)||"保存失败")}finally{T.value=!1}}}async function se(t){try{await $e(t.id),_.success("删除成功"),await $()}catch{_.error("删除失败")}}function N(t){const e=t.match(/^([\d.]+)\s*(B|KB|MB|GB|TB)$/i);if(!e)return 0;const i=parseFloat(e[1]),s={B:1,KB:1024,MB:1024**2,GB:1024**3,TB:1024**4};return i*(s[e[2].toUpperCase()]||1)}function q(t){if(!t.storage_total||t.storage_total==="-"||!t.storage_used)return 0;const e=N(t.storage_total),i=N(t.storage_used);return e===0?0:Math.min(100,Math.round(i/e*100))}function re(t){const e=q(t);return e>=90?"bar-danger":e>=70?"bar-warning":"bar-normal"}function ce(t){if(!t.storage_total||t.storage_total==="-")return"?";if(!t.storage_used)return"计算中...";const e=N(t.storage_total),i=N(t.storage_used);if(e===0)return"?";const s=e-i;return s<1024?"小于 1 KB":s<1024*1024?(s/1024).toFixed(1)+" KB":s<1024*1024*1024?(s/(1024*1024)).toFixed(1)+" MB":s<1024*1024*1024*1024?(s/(1024*1024*1024)).toFixed(1)+" GB":(s/(1024*1024*1024*1024)).toFixed(1)+" TB"}return(t,e)=>{const i=p("el-tag"),s=p("el-switch"),m=p("el-card"),f=p("el-button"),u=p("el-table-column"),w=p("el-text"),de=p("el-icon"),ue=p("el-popconfirm"),_e=p("el-table"),pe=p("el-alert"),fe=p("el-option"),me=p("el-select"),V=p("el-form-item"),E=p("el-input"),ge=p("el-form"),ye=p("el-dialog");return c(),k("div",Ie,[n(m,{class:"toggle-card",style:{"margin-bottom":"20px"}},{header:a(()=>[...e[6]||(e[6]=[r("span",null,"📂 网盘设置及授权",-1)])]),default:a(()=>[r("div",Me,[(c(!0),k(R,null,K(z.value,o=>(c(),k("div",{key:o.type,class:"cloud-toggle-chip"},[r("img",{src:o.icon,class:"cloud-icon-img"},null,8,Oe),r("span",qe,v(o.label),1),o.type==="others"?(c(),g(i,{key:0,size:"small",type:"info"},{default:a(()=>[...e[7]||(e[7]=[d("关",-1)])]),_:1})):A("",!0),n(s,{"model-value":o.enabled,size:"small",onChange:y=>ee(o.type,y)},null,8,["model-value","onChange"])]))),128))]),e[8]||(e[8]=r("div",{class:"form-tip",style:{"margin-top":"12px"}}," 关闭的网盘类型在搜索结果中不会展示。修改后立即生效,无需点击保存。 ",-1))]),_:1}),r("div",Ee,[n(f,{type:"primary",onClick:e[0]||(e[0]=o=>O(null))},{default:a(()=>[...e[9]||(e[9]=[d("新增配置",-1)])]),_:1}),n(f,{onClick:ae},{default:a(()=>[...e[10]||(e[10]=[d("全部重新验证",-1)])]),_:1})]),n(m,{shadow:"never",class:"table-card"},{header:a(()=>[...e[11]||(e[11]=[r("span",null,"📋 网盘配置列表",-1)])]),default:a(()=>[n(_e,{data:F.value,stripe:"",style:{width:"100%"},"empty-text":"暂无网盘配置,点击上方「新增配置」添加"},{default:a(()=>[n(u,{label:"网盘类型",width:"110"},{default:a(({row:o})=>[n(De,{cloud_type:o.cloud_type},null,8,["cloud_type"])]),_:1}),n(u,{prop:"nickname",label:"昵称",width:"140"},{default:a(({row:o})=>[o.nickname?(c(),k("span",Le,v(o.nickname),1)):(c(),g(w,{key:1,type:"info",size:"small"},{default:a(()=>[...e[12]||(e[12]=[d("未设置",-1)])]),_:1}))]),_:1}),n(u,{prop:"promotion_account",label:"推广账号",width:"160"},{default:a(({row:o})=>[o.promotion_account?(c(),k("span",Re,v(o.promotion_account),1)):(c(),g(w,{key:1,type:"info",size:"small"},{default:a(()=>[...e[13]||(e[13]=[d("-",-1)])]),_:1}))]),_:1}),n(u,{prop:"cloud_type_uid",label:"标识(__uid)",width:"180"},{default:a(({row:o})=>[o.cloud_type_uid?(c(),k("span",Ke,v(o.cloud_type_uid),1)):(c(),g(w,{key:1,type:"info",size:"small"},{default:a(()=>[...e[14]||(e[14]=[d("-",-1)])]),_:1}))]),_:1}),n(u,{label:"验证",width:"80",align:"center"},{default:a(({row:o})=>[o._verifying?(c(),k("span",Ae,[n(de,{class:"is-loading"},{default:a(()=>[n(Ce(he))]),_:1})])):o.verification_status==="valid"?(c(),g(i,{key:1,type:"success",size:"small"},{default:a(()=>[...e[15]||(e[15]=[d("有效",-1)])]),_:1})):o.verification_status==="invalid"?(c(),g(i,{key:2,type:"danger",size:"small"},{default:a(()=>[...e[16]||(e[16]=[d("无效",-1)])]),_:1})):(c(),g(i,{key:3,type:"info",size:"small"},{default:a(()=>[...e[17]||(e[17]=[d("未验证",-1)])]),_:1}))]),_:1}),n(u,{label:"空间",width:"200"},{default:a(({row:o})=>[o.storage_total&&o.storage_total!=="-"?(c(),k("div",He,[r("div",Ge,[r("div",{class:H(["storage-bar-fill",re(o)]),style:xe({width:q(o)+"%"})},null,6)]),r("div",Pe,[r("span",je,v(o.storage_used||"计算中..."),1),e[18]||(e[18]=r("span",{class:"storage-sep"},"/",-1)),r("span",Je,v(o.storage_total),1),r("span",Qe,"(可用 "+v(ce(o))+")",1)])])):(c(),g(w,{key:1,type:"info",size:"small"},{default:a(()=>[...e[19]||(e[19]=[d("—",-1)])]),_:1}))]),_:1}),n(u,{label:"转存数",width:"80",align:"center"},{default:a(({row:o})=>[o.total_saves>0?(c(),k("span",We,v(o.total_saves)+"次",1)):(c(),g(w,{key:1,type:"info",size:"small"},{default:a(()=>[...e[20]||(e[20]=[d("-",-1)])]),_:1}))]),_:1}),n(u,{label:"转存启用",width:"80",align:"center"},{default:a(({row:o})=>[n(s,{"model-value":o.is_transfer_enabled!==0,size:"small",onChange:y=>te(o,y)},null,8,["model-value","onChange"])]),_:1}),n(u,{label:"默认账号",width:"100",align:"center"},{default:a(({row:o})=>[n(s,{"model-value":o.is_primary===1,disabled:!o.is_transfer_enabled,size:"small",onChange:y=>oe(o,y)},null,8,["model-value","disabled","onChange"])]),_:1}),n(u,{label:"操作",width:"390",align:"center"},{default:a(({row:o})=>[n(f,{text:"",type:"primary",onClick:y=>O(o)},{default:a(()=>[...e[21]||(e[21]=[d("编辑",-1)])]),_:1},8,["onClick"]),n(f,{text:"",type:"primary",onClick:y=>U(o)},{default:a(()=>[...e[22]||(e[22]=[d("验证",-1)])]),_:1},8,["onClick"]),n(ue,{title:"确定删除该配置?",onConfirm:y=>se(o)},{reference:a(()=>[n(f,{text:"",type:"danger"},{default:a(()=>[...e[23]||(e[23]=[d("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:1})]),_:1},8,["data"])]),_:1}),n(ye,{modelValue:B.value,"onUpdate:modelValue":e[5]||(e[5]=o=>B.value=o),title:b.value?"编辑配置":"新增配置",width:"560px"},{footer:a(()=>[n(f,{onClick:e[4]||(e[4]=o=>B.value=!1)},{default:a(()=>[...e[27]||(e[27]=[d("取消",-1)])]),_:1}),n(f,{type:"primary",loading:T.value,onClick:ne},{default:a(()=>[...e[28]||(e[28]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[n(ge,{ref_key:"formRef",ref:D,model:l,rules:j.value,"label-width":"120px"},{default:a(()=>[Be(n(pe,{type:"warning","show-icon":"",closable:!1,style:{"margin-bottom":"18px"}},{title:a(()=>[r("div",Xe,[r("div",null,[e[24]||(e[24]=d("🧹 请在网盘主目录内创建:",-1)),r("b",null,v(M.value.join("、")),1),e[25]||(e[25]=d(" 目录",-1))]),e[26]||(e[26]=r("div",null,[d("并将你的重要文件移至该目录,"),r("b",null,"只有这个目录不会被自动清理")],-1))])]),_:1},512),[[Te,M.value.length>0]]),n(V,{label:"网盘类型",prop:"cloud_type"},{default:a(()=>[n(me,{modelValue:l.cloud_type,"onUpdate:modelValue":e[1]||(e[1]=o=>l.cloud_type=o),style:{width:"100%"},disabled:!!b.value,onChange:ie},{default:a(()=>[(c(!0),k(R,null,K(J.value,([o,y])=>(c(),g(fe,{key:o,label:y,value:o},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),n(V,{label:"推广平台及账号",prop:"promotion_account",style:{"margin-bottom":"18px"}},{default:a(()=>[n(E,{modelValue:l.promotion_account,"onUpdate:modelValue":e[2]||(e[2]=o=>l.promotion_account=o),placeholder:"请填写您的推广平台及账号,例:蜂小推-13288889999",clearable:""},null,8,["modelValue"])]),_:1}),n(V,{label:"Cookie",prop:"cookie"},{default:a(()=>[n(E,{modelValue:l.cookie,"onUpdate:modelValue":e[3]||(e[3]=o=>l.cookie=o),type:"textarea",autosize:{minRows:2,maxRows:4},placeholder:Q.value,"input-style":"font-family: monospace; font-size: 12px;"},null,8,["modelValue","placeholder"])]),_:1}),l.cloud_type&&l.cloud_type!==""?(c(),g(V,{key:0,label:" ",class:"cookie-tips-item"},{default:a(()=>[r("div",{class:H(["cookie-tips",`cookie-tips-${l.cloud_type}`])},[r("div",Ye,[r("span",Ze,"📖 "+v(W.value)+" Cookie 获取教程",1)]),r("ol",{class:"cookie-tips-steps",innerHTML:X.value},null,8,et)],2)]),_:1})):A("",!0)]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),rt=Ue(tt,[["__scopeId","data-v-f03a9373"]]);export{rt as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/CloudConfig-BEjvFHzE.css b/source_clean/frontend-src/dist-vite/assets/CloudConfig-BEjvFHzE.css
new file mode 100644
index 0000000..ca3be8a
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/CloudConfig-BEjvFHzE.css
@@ -0,0 +1 @@
+.table-card[data-v-f03a9373]{border-radius:var(--radius-lg);border:1px solid var(--border)!important;margin-bottom:20px}.table-card[data-v-f03a9373] .el-card__header{font-size:15px;font-weight:600;background:var(--bg-card-header);border-bottom:1px solid var(--border);padding:12px 18px}.table-card[data-v-f03a9373] .el-card__body{padding:0}.toolbar[data-v-f03a9373]{margin-bottom:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nickname-text[data-v-f03a9373]{font-weight:600;color:var(--text)}.promotion-text[data-v-f03a9373]{font-size:12px;color:var(--text-secondary)}.uid-cell[data-v-f03a9373]{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;color:var(--text-tertiary);letter-spacing:.3px}.save-count[data-v-f03a9373]{font-size:12px;color:var(--text-tertiary)}.verifying[data-v-f03a9373]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.storage-cell[data-v-f03a9373]{display:flex;flex-direction:column;gap:3px;padding:2px 0}.storage-bar-wrap[data-v-f03a9373]{height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.storage-bar-fill[data-v-f03a9373]{height:100%;border-radius:2px;transition:width .3s}.storage-bar-fill.bar-normal[data-v-f03a9373]{background:#67c23a}.storage-bar-fill.bar-warning[data-v-f03a9373]{background:#e6a23c}.storage-bar-fill.bar-danger[data-v-f03a9373]{background:#f56c6c}.storage-text[data-v-f03a9373]{font-size:11px;color:var(--text-tertiary);display:flex;align-items:center;gap:3px}.storage-used[data-v-f03a9373]{color:var(--text-secondary);font-weight:600}.storage-total[data-v-f03a9373]{color:var(--text);font-weight:600}.storage-free[data-v-f03a9373]{color:var(--text-tertiary)}.cookie-tips-item[data-v-f03a9373] .el-form-item__content{margin-left:0!important}.cookie-tips[data-v-f03a9373]{background:#f8faff;border:1px solid #e8f0fe;border-radius:var(--radius-sm);padding:14px 16px;font-size:12px;line-height:1.8;color:var(--text-secondary);width:100%;box-sizing:border-box}.cookie-tips-header[data-v-f03a9373]{margin-bottom:10px}.cookie-tips-title[data-v-f03a9373]{font-weight:700;color:var(--primary);font-size:13px}.cookie-tips-steps[data-v-f03a9373]{margin:0;padding-left:20px}.cookie-tips-steps li[data-v-f03a9373]{margin-bottom:4px}.cookie-tips-steps code[data-v-f03a9373]{background:var(--primary-soft);padding:1px 5px;border-radius:3px;font-size:11px;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.cookie-tips-note[data-v-f03a9373]{margin-top:8px;padding:6px 10px;background:#fffbe6;border:1px solid #fff3c4;border-radius:4px;color:#8a6d3b;font-size:11px;line-height:1.5}.cookie-tips-note code[data-v-f03a9373]{background:#f5f0e0;font-size:11px}[data-theme=dark] .cookie-tips[data-v-f03a9373]{background:#409eff0f;border-color:#409eff26}[data-theme=dark] .cookie-tips-title[data-v-f03a9373]{color:#66b1ff}[data-theme=dark] .cookie-tips-steps code[data-v-f03a9373]{background:#409eff1f}[data-theme=dark] .cookie-tips-note[data-v-f03a9373]{background:#ffc1071a;border-color:#ffc10733;color:#d4a84b}[data-theme=dark] .cookie-tips-note code[data-v-f03a9373]{background:#ffc1071f}.cloud-toggle-grid[data-v-f03a9373]{display:flex;flex-wrap:wrap;gap:8px}.cloud-toggle-chip[data-v-f03a9373]{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.cloud-toggle-chip[data-v-f03a9373]:hover{border-color:var(--primary)}.cloud-icon-img[data-v-f03a9373]{width:20px;height:20px;object-fit:contain;flex-shrink:0}.cloud-label[data-v-f03a9373]{font-size:13px;font-weight:500}[data-v-f03a9373] .el-dialog__header{font-weight:700;font-size:16px}[data-v-f03a9373] .el-dialog__body{padding:20px 24px}[data-v-f03a9373] .el-dialog__wrapper .el-dialog{border-radius:var(--radius-lg)}
diff --git a/source_clean/frontend-src/dist-vite/assets/HomePage--KOSYv1j.js b/source_clean/frontend-src/dist-vite/assets/HomePage--KOSYv1j.js
new file mode 100644
index 0000000..c672733
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/HomePage--KOSYv1j.js
@@ -0,0 +1 @@
+import{d as K,o as G,a as n,c as a,b as o,F as w,t as c,e as h,f as v,w as f,g as Q,r as z,h as l,i as B,j as x,u as W,k as Y,s as J,l as D,n as I}from"./index-D279dJND.js";import{g as X,a as Z,_ as ee}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const te={class:"home-page"},se={class:"hero-section"},oe=["src","alt"],ne={key:1,class:"logo-text"},ae={class:"search-box"},ie={key:1,class:"quote-section"},ce={class:"quote-text"},le={class:"quote-author"},re={class:"content-section"},ue={key:0,class:"rankings-grid"},de={class:"panel-header"},_e={class:"panel-title"},he={class:"panel-tabs"},ve=["onClick"],pe=["onClick"],ge={class:"panel-body"},fe=["onClick"],me={class:"rank-name"},ye={class:"rank-cnt"},ke=["onClick"],Ce={class:"panel-footer"},be={key:0},we={key:1},xe={key:2},Ie={key:3},qe={class:"footer-time"},Ae={key:0,class:"site-footer"},Se={class:"footer-inner"},Ne={class:"footer-actions"},R=8,Te=K({__name:"HomePage",setup(Ve){const q=W(),m=l(""),u=l([]),d=B({}),_=B({}),p=l(""),y=l(""),k=l(""),A=l(!1),g=l(""),C=l(""),S=l(""),F={movie:"🎬",western_movie:"🎥",western_tv:"🌍",donghua:"🐉",global_anime:"🌐",tv:"📺",niche:"💎",hotsite:"🏆"};function L(e){return F[e]||"📋"}function j(e){const t=[];if(e.rating&&t.push(`⭐${e.rating}`),e.searchCount>0){const i=e.searchCount;i>=1e8?t.push(`${(i/1e8).toFixed(1)}亿`):i>=1e4?t.push(`${(i/1e4).toFixed(0)}万`):t.push(String(i))}return t.join(" ")||""}function N(e){return(_[e.category]||"hot")==="hot"?e.hot||[]:e.newest||[]}function E(e){const t=N(e);return d[e.category]?t:t.slice(0,R)}function H(e){return N(e).length>R&&!d[e.category]}function M(e){d[e]=!0}function T(e,t){_[e]=t,d[e]=!1}function O(){window.open("/disclaimer/","_blank")}G(async()=>{try{const t=await(await fetch("https://v1.hitokoto.cn/")).json();g.value=t.hitokoto||"",C.value=t.from_who||t.from||""}catch{g.value="学而时习之,不亦说乎。",C.value="孔子"}try{const[e,t]=await Promise.all([X(),Z()]);e.fetchedAt?(S.value=e.fetchedAt,u.value=e.categories||[]):u.value=Array.isArray(e)?e:[];for(const i of u.value)_[i.category]="hot",d[i.category]=!1;t.site_logo&&(p.value=t.site_logo),t.site_name&&(y.value=t.site_name),t.site_disclaimer&&(k.value=t.site_disclaimer),A.value=!0}catch(e){console.error("加载首页数据失败",e)}});function V(){const e=m.value.trim();e&&q.push("/search?q="+encodeURIComponent(e))}function P(e){q.push("/search?q="+encodeURIComponent(e))}return(e,t)=>{const i=x("el-icon"),U=x("el-input"),$=x("el-button");return n(),a("div",te,[o("div",se,[A.value?(n(),a(w,{key:0},[p.value?(n(),a("img",{key:0,src:p.value,alt:y.value||"CloudSearch",class:"logo-img",onError:t[0]||(t[0]=s=>{s.target.style.display="none",p.value=""})},null,40,oe)):(n(),a("div",ne,c(y.value||"CloudSearch"),1))],64)):h("",!0),o("div",ae,[v(U,{modelValue:m.value,"onUpdate:modelValue":t[1]||(t[1]=s=>m.value=s),placeholder:"搜索网盘资源,或粘贴视频/网盘链接...",size:"large",clearable:"",onKeyup:Q(V,["enter"])},{prefix:f(()=>[v(i,null,{default:f(()=>[v(Y(J))]),_:1})]),_:1},8,["modelValue"]),v($,{type:"primary",size:"large",onClick:V,class:"search-btn"},{default:f(()=>[...t[2]||(t[2]=[D(" 搜 索 ",-1)])]),_:1})]),g.value?(n(),a("div",ie,[o("span",ce,"「 "+c(g.value)+" 」",1),o("span",le,"---"+c(C.value),1)])):h("",!0)]),o("div",re,[u.value.length>0?(n(),a("div",ue,[(n(!0),a(w,null,z(u.value,s=>(n(),a("div",{key:s.category,class:"rank-panel"},[o("div",de,[o("span",_e,c(L(s.category))+" "+c(s.label),1),o("div",he,[o("span",{class:I(["panel-tab",{active:_[s.category]==="hot"}]),onClick:r=>T(s.category,"hot")},"热榜",10,ve),o("span",{class:I(["panel-tab",{active:_[s.category]==="newest"}]),onClick:r=>T(s.category,"newest")},"最新",10,pe)])]),o("div",ge,[(n(!0),a(w,null,z(E(s),(r,b)=>(n(),a("div",{key:s.category+"-"+b,class:"rank-item",onClick:$e=>P(r.keyword)},[o("span",{class:I(["rank-idx",{"top-three":b<3}])},c(b+1),3),o("span",me,c(r.keyword),1),o("span",ye,c(j(r)),1)],8,fe))),128)),H(s)?(n(),a("div",{key:0,class:"rank-expand",onClick:r=>M(s.category)}," 展开全部 ▼ ",8,ke)):h("",!0)]),o("div",Ce,[s.category==="hotsite"?(n(),a("span",be,"基于本站搜索数据")):s.category==="donghua"||s.category==="global_anime"?(n(),a("span",we,"数据来源:Bilibili")):s.category==="movie"||s.category==="tv"?(n(),a("span",xe,"数据来源:百度")):(n(),a("span",Ie,"数据来源:TMDB")),o("span",qe,c(S.value),1)])]))),128))])):h("",!0)]),k.value?(n(),a("div",Ae,[o("div",Se,c(k.value),1),o("div",Ne,[v($,{class:"footer-disclaimer-btn",size:"small",onClick:O},{default:f(()=>[...t[3]||(t[3]=[D("📜 免责声明",-1)])]),_:1})])])):h("",!0)])}}}),De=ee(Te,[["__scopeId","data-v-1f536d99"]]);export{De as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/HomePage-BVcQlSvu.css b/source_clean/frontend-src/dist-vite/assets/HomePage-BVcQlSvu.css
new file mode 100644
index 0000000..9f62b4b
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/HomePage-BVcQlSvu.css
@@ -0,0 +1 @@
+.home-page[data-v-1f536d99]{min-height:100vh;display:flex;flex-direction:column}.hero-section[data-v-1f536d99]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px 40px}.logo-text[data-v-1f536d99]{font-size:64px;font-weight:700;color:var(--primary-color);margin-bottom:32px;letter-spacing:-2px}.logo-img[data-v-1f536d99]{max-width:500px;max-height:120px;width:auto;height:auto;object-fit:contain;margin-bottom:32px}.search-box[data-v-1f536d99]{display:flex;align-items:center;width:100%;max-width:640px;border:1px solid #dfe1e5;border-radius:24px;background:#fff;box-shadow:none;transition:box-shadow .2s,border-color .2s;overflow:hidden}.search-box[data-v-1f536d99]:focus-within{box-shadow:0 1px 6px #20212447;border-color:#dfe1e500}.search-box[data-v-1f536d99] .el-input__wrapper{border:none;box-shadow:none;background:transparent;padding:4px 20px;border-radius:0}.search-box[data-v-1f536d99] .el-input__inner{font-size:15px}.search-btn[data-v-1f536d99]{flex-shrink:0;border:none;border-radius:999px;padding:0 24px;height:38px;line-height:38px;margin:4px;font-size:14px;font-weight:600;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s;letter-spacing:1px}.search-btn[data-v-1f536d99]:hover{background:#3a7be0}.search-btn[data-v-1f536d99]:active{background:#2d6ccf}.quote-section[data-v-1f536d99]{margin-top:18px;max-width:640px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-text[data-v-1f536d99]{font-size:14px;color:#aab0b8;font-style:italic;letter-spacing:.5px}.quote-author[data-v-1f536d99]{font-size:12px;color:#c0c4cc;display:inline-block;margin-left:4px}.content-section[data-v-1f536d99]{max-width:1500px;width:100%;margin:0 auto;padding:0 16px 60px}.rankings-grid[data-v-1f536d99]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:8px}.rank-panel[data-v-1f536d99]{background:var(--bg-white,#fff);border-radius:12px;padding:14px;border:1px solid #ebeef5;box-shadow:0 1px 4px #0000000a;display:flex;flex-direction:column}.panel-header[data-v-1f536d99]{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:2px solid #f0f0f0;margin-bottom:4px}.panel-title[data-v-1f536d99]{font-size:15px;font-weight:700;color:#303133;white-space:nowrap}.panel-tabs[data-v-1f536d99]{display:flex;gap:2px;background:#f0f2f5;border-radius:6px;padding:2px}.panel-tab[data-v-1f536d99]{font-size:11px;padding:3px 10px;border-radius:5px;cursor:pointer;color:#909399;font-weight:500;transition:all .2s;-webkit-user-select:none;user-select:none}.panel-tab.active[data-v-1f536d99]{background:#fff;color:var(--primary-color);font-weight:600;box-shadow:0 1px 3px #0000000f}.panel-body[data-v-1f536d99]{flex:1;display:flex;flex-direction:column;gap:1px}.rank-item[data-v-1f536d99]{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer;transition:background .15s}.rank-item[data-v-1f536d99]:hover{background:#f0f5ff}.rank-item[data-v-1f536d99]:active{background:#e6f0ff}.rank-idx[data-v-1f536d99]{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#909399;background:#f0f0f0;flex-shrink:0}.rank-idx.top-three[data-v-1f536d99]{background:var(--primary-color);color:#fff}.rank-name[data-v-1f536d99]{flex:1;min-width:0;font-size:13px;font-weight:500;color:#303133;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-cnt[data-v-1f536d99]{font-size:11px;color:#c0c4cc;white-space:nowrap;flex-shrink:0}.rank-expand[data-v-1f536d99]{text-align:center;padding:6px;margin-top:2px;font-size:12px;color:var(--primary-color);cursor:pointer;border-radius:6px;transition:background .15s;-webkit-user-select:none;user-select:none}.rank-expand[data-v-1f536d99]:hover{background:#ecf5ff}.panel-footer[data-v-1f536d99]{margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#c0c4cc}.footer-time[data-v-1f536d99]{font-family:monospace;font-size:10px}@media (max-width: 900px){.hero-section[data-v-1f536d99]{padding:36px 16px 24px}.logo-text[data-v-1f536d99]{font-size:36px;margin-bottom:20px}.logo-img[data-v-1f536d99]{max-width:360px;max-height:100px;margin-bottom:20px}.rankings-scroll[data-v-1f536d99]{gap:12px}}.site-footer[data-v-1f536d99]{margin-top:auto;padding:20px 16px 32px;background:#f9fafb;border-top:1px solid #ebeef5}.footer-inner[data-v-1f536d99]{max-width:800px;margin:0 auto;font-size:12px;line-height:1.8;color:#909399;text-align:center;white-space:pre-line}.footer-actions[data-v-1f536d99]{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.footer-disclaimer-btn[data-v-1f536d99]{font-size:12px!important;color:#909399!important}.footer-disclaimer-btn[data-v-1f536d99]:hover{color:#409eff!important}
diff --git a/source_clean/frontend-src/dist-vite/assets/ResultDetail-CVwsv2ff.css b/source_clean/frontend-src/dist-vite/assets/ResultDetail-CVwsv2ff.css
new file mode 100644
index 0000000..d8b72e0
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/ResultDetail-CVwsv2ff.css
@@ -0,0 +1 @@
+.cloud-select[data-v-098423df]{width:100%}.result-detail-page[data-v-755e2105]{min-height:100vh;background:#f5f7fa;padding:40px 24px}.detail-container[data-v-755e2105]{max-width:1080px;margin:0 auto}.detail-card[data-v-755e2105]{background:var(--bg-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:32px}.detail-header[data-v-755e2105]{display:flex;gap:24px;margin-bottom:24px}.detail-cover[data-v-755e2105]{position:relative;flex-shrink:0;width:240px;height:180px;border-radius:12px;overflow:hidden}.detail-cover img[data-v-755e2105]{width:100%;height:100%;object-fit:cover}.detail-info[data-v-755e2105]{flex:1}.detail-info h1[data-v-755e2105]{font-size:24px;font-weight:700;color:#303133;margin-bottom:12px;line-height:1.4}.detail-meta[data-v-755e2105]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.detail-desc[data-v-755e2105]{font-size:15px;color:#606266;line-height:1.6}.detail-actions[data-v-755e2105]{border-top:1px solid var(--border-color);padding-top:20px}.detail-video[data-v-755e2105]{margin-bottom:24px}.video-preview[data-v-755e2105]{position:relative;width:100%;border-radius:12px;overflow:hidden;margin-bottom:20px}.video-preview img[data-v-755e2105]{width:100%;max-height:400px;object-fit:cover;display:block}.play-overlay[data-v-755e2105]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0000004d;cursor:pointer;transition:background .2s}.play-overlay[data-v-755e2105]:hover{background:#0006}.play-btn[data-v-755e2105]{padding:12px 32px;background:#ffffffe6;border-radius:24px;font-size:18px;font-weight:600;color:#303133}.video-info h1[data-v-755e2105]{font-size:24px;font-weight:700;color:#303133;margin-bottom:12px}.video-author[data-v-755e2105],.video-platform[data-v-755e2105]{font-size:15px;color:var(--text-secondary);margin-bottom:6px}.video-player-wrapper[data-v-755e2105]{margin-top:24px;border-top:1px solid var(--border-color);padding-top:24px}.video-player[data-v-755e2105]{width:100%;border-radius:8px}.loading-state[data-v-755e2105]{padding:40px 0}.save-dialog-content[data-v-755e2105]{display:flex;flex-direction:column;gap:16px}.save-file-name[data-v-755e2105]{font-size:15px;font-weight:500;color:#303133}.result-dialog-content[data-v-755e2105]{display:flex;flex-direction:column;gap:16px}.share-link-box[data-v-755e2105]{display:flex;flex-direction:column;gap:8px}.share-label[data-v-755e2105]{font-size:14px;color:#606266}.share-link-row[data-v-755e2105]{display:flex;gap:8px}
diff --git a/source_clean/frontend-src/dist-vite/assets/ResultDetail-DdE8ZRMU.js b/source_clean/frontend-src/dist-vite/assets/ResultDetail-DdE8ZRMU.js
new file mode 100644
index 0000000..02b0772
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/ResultDetail-DdE8ZRMU.js
@@ -0,0 +1 @@
+import{d as U,h as i,o as N,a,c,f as o,w as n,F as j,r as H,y as w,k as G,j as f,b as l,t as r,e as g,z as J,l as p,E as D}from"./index-D279dJND.js";import{C as K}from"./CloudBadge-OZZzB6Zg.js";import{a as Q}from"./index-Bn7NwETH.js";import{h as W,_ as T,q as X,f as Y,e as Z}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const ee={class:"cloud-select"},le=U({__name:"CloudSelect",props:{modelValue:{}},emits:["select","update:modelValue"],setup(R,{emit:E}){const V=R,t=E,s=i(V.modelValue),C=i([]);N(async()=>{try{C.value=await W()}catch(v){console.error("获取网盘配置失败",v)}});function m(v){t("select",v),t("update:modelValue",v)}return(v,y)=>{const b=f("el-option"),h=f("el-select");return a(),c("div",ee,[o(h,{modelValue:s.value,"onUpdate:modelValue":y[0]||(y[0]=_=>s.value=_),placeholder:"选择目标网盘",onChange:m},{default:n(()=>[(a(!0),c(j,null,H(C.value,_=>(a(),w(b,{key:_.cloud_type,label:_.nickname||G(Q)[_.cloud_type],value:_.cloud_type},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])}}}),te=T(le,[["__scopeId","data-v-098423df"]]),se={class:"result-detail-page"},ae={class:"detail-container"},oe={key:0,class:"loading-state"},ne={key:1,class:"detail-card"},ie={class:"detail-header"},ue={class:"detail-cover"},de=["src","alt"],re={class:"detail-info"},ce={class:"detail-meta"},ve={key:0,class:"detail-desc"},_e={class:"detail-actions"},pe={key:2,class:"detail-card"},fe={class:"detail-video"},me={class:"video-preview"},ye=["src","alt"],ge={class:"video-info"},he={key:0,class:"video-author"},ke={class:"video-platform"},Ve={key:1,class:"detail-desc"},Ce={class:"detail-actions"},we={key:0,class:"video-player-wrapper"},be=["src"],Se={class:"save-dialog-content"},xe={class:"save-file-name"},De={class:"result-dialog-content"},Ee={class:"share-link-box"},Le={class:"share-link-row"},Re=U({__name:"ResultDetail",setup(R){const E=J(),V=i(!1),t=i(null),s=i(null),C=i(!1),m=i(!1),v=i(!1),y=i(""),b=i(!1),h=i(!1),_=i(null),S=i("");N(async()=>{const u=E.params.id;if(u){V.value=!0;try{const e=await X(u);e.intent==="SEARCH"&&e.results.length>0?t.value=e.results[0]:e.intent==="VIDEO_PARSE"&&e.results.length>0&&(s.value=e.results[0])}catch(e){console.error("获取详情失败",e)}finally{V.value=!1}}});function B(){b.value=!!s.value,m.value=!0}function $(){C.value=!0}function A(u){y.value=u}async function I(){if(!y.value){D.warning("请选择目标网盘");return}v.value=!0;try{let u;if(b.value&&s.value)u=await Y({video_url:s.value.video_url,title:s.value.title,target_cloud:y.value});else if(t.value)u=await Z({type:"search",source:t.value,target_cloud:y.value});else return;_.value=u,S.value=u.share_url,m.value=!1,h.value=!0}catch(u){console.error("保存失败",u),D.error("保存失败")}finally{v.value=!1}}async function q(){try{await navigator.clipboard.writeText(S.value),D.success("链接已复制到剪贴板")}catch{D.warning("复制失败,请手动复制")}}return(u,e)=>{const F=f("el-skeleton"),L=f("el-tag"),k=f("el-button"),M=f("el-empty"),z=f("el-dialog"),O=f("el-alert"),P=f("el-input");return a(),c("div",se,[l("div",ae,[V.value?(a(),c("div",oe,[o(F,{rows:6,animated:""})])):t.value?(a(),c("div",ne,[l("div",ie,[l("div",ue,[l("img",{src:t.value.cover,alt:t.value.title},null,8,de),o(K,{cloud_type:t.value.cloud_type},null,8,["cloud_type"])]),l("div",re,[l("h1",null,r(t.value.title),1),l("div",ce,[t.value.file_size?(a(),w(L,{key:0},{default:n(()=>[p("📦 "+r(t.value.file_size),1)]),_:1})):g("",!0),t.value.update_time?(a(),w(L,{key:1},{default:n(()=>[p("🕐 "+r(t.value.update_time),1)]),_:1})):g("",!0),t.value.source?(a(),w(L,{key:2},{default:n(()=>[p("📂 "+r(t.value.source),1)]),_:1})):g("",!0)]),t.value.description?(a(),c("p",ve,r(t.value.description),1)):g("",!0)])]),l("div",_e,[o(k,{type:"primary",size:"large",onClick:B},{default:n(()=>[...e[5]||(e[5]=[p(" 📥 保存到网盘 ",-1)])]),_:1})])])):s.value?(a(),c("div",pe,[l("div",fe,[l("div",me,[l("img",{src:s.value.cover,alt:s.value.title},null,8,ye),l("div",{class:"play-overlay",onClick:$},[...e[6]||(e[6]=[l("div",{class:"play-btn"},"▶ 播放",-1)])])]),l("div",ge,[l("h1",null,r(s.value.title),1),s.value.author?(a(),c("p",he,"👤 "+r(s.value.author),1)):g("",!0),l("p",ke,"📺 "+r(s.value.platform),1),s.value.description?(a(),c("p",Ve,r(s.value.description),1)):g("",!0)])]),l("div",Ce,[o(k,{type:"primary",size:"large",onClick:B},{default:n(()=>[...e[7]||(e[7]=[p(" 📥 保存到云盘 ",-1)])]),_:1})]),C.value?(a(),c("div",we,[l("video",{src:s.value.video_url,controls:"",autoplay:"",class:"video-player"},null,8,be)])):g("",!0)])):(a(),w(M,{key:3,description:"未找到该资源"}))]),o(z,{modelValue:m.value,"onUpdate:modelValue":e[1]||(e[1]=d=>m.value=d),title:"保存到网盘",width:"420px"},{footer:n(()=>[o(k,{onClick:e[0]||(e[0]=d=>m.value=!1)},{default:n(()=>[...e[8]||(e[8]=[p("取消",-1)])]),_:1}),o(k,{type:"primary",loading:v.value,onClick:I},{default:n(()=>[...e[9]||(e[9]=[p("确认保存",-1)])]),_:1},8,["loading"])]),default:n(()=>{var d,x;return[l("div",Se,[l("p",xe,"📄 "+r(((d=t.value)==null?void 0:d.title)||((x=s.value)==null?void 0:x.title)),1),o(te,{onSelect:A})])]}),_:1},8,["modelValue"]),o(z,{modelValue:h.value,"onUpdate:modelValue":e[4]||(e[4]=d=>h.value=d),title:"保存成功",width:"420px"},{footer:n(()=>[o(k,{type:"primary",onClick:e[3]||(e[3]=d=>h.value=!1)},{default:n(()=>[...e[12]||(e[12]=[p("关闭",-1)])]),_:1})]),default:n(()=>{var d;return[l("div",De,[o(O,{type:"success",title:((d=_.value)==null?void 0:d.message)||"保存成功","show-icon":"",closable:!1},null,8,["title"]),l("div",Ee,[e[11]||(e[11]=l("p",{class:"share-label"},"分享链接:",-1)),l("div",Le,[o(P,{modelValue:S.value,"onUpdate:modelValue":e[2]||(e[2]=x=>S.value=x),readonly:""},null,8,["modelValue"]),o(k,{onClick:q},{default:n(()=>[...e[10]||(e[10]=[p("复制",-1)])]),_:1})])])])]}),_:1},8,["modelValue"])])}}}),Te=T(Re,[["__scopeId","data-v-755e2105"]]);export{Te as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/SaveRecords-C2kQYC3g.css b/source_clean/frontend-src/dist-vite/assets/SaveRecords-C2kQYC3g.css
new file mode 100644
index 0000000..bada0e7
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/SaveRecords-C2kQYC3g.css
@@ -0,0 +1 @@
+.save-records[data-v-ccd92f86]{padding:0}.toolbar-row[data-v-ccd92f86]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;padding-bottom:16px;flex-wrap:wrap;border-bottom:1px solid var(--el-border-color-light, #ebeef5)}.filter-group[data-v-ccd92f86]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-actions[data-v-ccd92f86]{display:flex;align-items:center;gap:12px}.record-count[data-v-ccd92f86]{font-size:13px;color:var(--text-secondary, #909399);white-space:nowrap}.time-btns[data-v-ccd92f86]{display:flex;gap:2px;background:var(--el-fill-color-light, #f0f2f5);border-radius:8px;padding:3px}.time-btn[data-v-ccd92f86]{border:none;background:transparent;padding:6px 14px;border-radius:6px;font-size:13px;color:#606266;cursor:pointer;transition:all .25s ease}.time-btn[data-v-ccd92f86]:hover{color:var(--el-color-primary);background:#409eff0f}.time-btn.active[data-v-ccd92f86]{background:linear-gradient(135deg,var(--el-color-primary),var(--el-color-primary-light-3, #79bbff));color:#fff;font-weight:600;box-shadow:0 2px 6px #409eff4d}.save-table-card[data-v-ccd92f86]{border-radius:var(--radius-lg);border:1px solid var(--border)!important}.save-table-card[data-v-ccd92f86] .el-card__header{font-size:15px;font-weight:600;background:var(--bg-card-header);border-bottom:1px solid var(--border);padding:12px 18px}.save-table-card[data-v-ccd92f86] .el-card__body{padding:0}.save-records[data-v-ccd92f86] .el-table{border:1px solid var(--el-border-color-light, #ebeef5);border-radius:8px}.save-records .el-table-wrap[data-v-ccd92f86]{overflow-x:auto}.save-records[data-v-ccd92f86] .el-table th.el-table__cell{background-color:var(--el-fill-color-light, #f5f7fa);font-weight:600;color:var(--el-text-color-primary, #303133);white-space:nowrap}.save-records[data-v-ccd92f86] .el-table .el-table__cell{padding:8px;white-space:nowrap!important}.save-records[data-v-ccd92f86] .el-table .el-table__cell .cell{white-space:nowrap!important}.cell-nowrap[data-v-ccd92f86]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-records[data-v-ccd92f86] .el-table__row:hover>.el-table__cell{background-color:var(--el-color-primary-light-9, #ecf5ff)}.save-records[data-v-ccd92f86] .row-failed>.el-table__cell{background-color:#f56c6c0a}.status-badge[data-v-ccd92f86]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:13px;font-weight:700}.status-ok[data-v-ccd92f86]{background:#67c23a26;color:#67c23a}.status-reuse[data-v-ccd92f86]{background:#409eff26;color:#409eff}.status-fail[data-v-ccd92f86]{background:#f56c6c26;color:#f56c6c}.ip-text[data-v-ccd92f86]{font-family:monospace;font-size:12px}.loc-badge[data-v-ccd92f86]{display:inline-block;background:linear-gradient(135deg,#e8f4ff,#f0f8ff);color:#1a6ea0;font-size:12px;padding:2px 10px;border-radius:4px;border:1px solid #b8d9f0;white-space:nowrap}.err-msg[data-v-ccd92f86]{color:var(--el-color-danger);font-size:12px}.reuse-msg[data-v-ccd92f86]{color:var(--el-color-primary);font-size:12px}.no-data[data-v-ccd92f86]{color:var(--text-secondary, #c0c4cc)}.duration[data-v-ccd92f86]{font-size:12px;font-family:monospace}.dur-fast[data-v-ccd92f86]{color:#67c23a}.dur-warn[data-v-ccd92f86]{color:#e6a23c}.dur-slow[data-v-ccd92f86]{color:#f56c6c;font-weight:600}.expand-detail[data-v-ccd92f86]{padding:16px 24px;background:var(--el-fill-color-lighter, #fafafa);border-radius:6px;display:flex;flex-direction:column;gap:12px}.detail-row[data-v-ccd92f86]{display:flex;align-items:flex-start;gap:16px 24px;flex-wrap:wrap}.detail-cell[data-v-ccd92f86]{display:flex;flex-direction:column;gap:4px;flex:none}.detail-cell.detail-full[data-v-ccd92f86]{flex:1 1 100%}.detail-label[data-v-ccd92f86]{font-size:12px;color:#909399;font-weight:500}.detail-link[data-v-ccd92f86]{color:var(--el-color-primary);font-size:13px;word-break:break-all;text-decoration:none}.detail-link[data-v-ccd92f86]:hover{text-decoration:underline}.detail-code[data-v-ccd92f86]{font-size:12px;background:#f0f0f0;padding:4px 8px;border-radius:4px;word-break:break-all}.detail-error[data-v-ccd92f86]{margin:0;font-size:12px;color:#f56c6c;background:#f56c6c14;padding:8px 12px;border-radius:4px;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.action-cell[data-v-ccd92f86]{display:flex;align-items:center;justify-content:center;gap:2px}.pagination-wrap[data-v-ccd92f86]{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:12px 16px;background:var(--el-fill-color-light, #f5f7fa);border-radius:8px;flex-wrap:wrap;gap:12px}.pagination-info[data-v-ccd92f86]{font-size:13px;color:var(--text-secondary, #909399);white-space:nowrap}.save-summary[data-v-ccd92f86]{display:flex;align-items:center;gap:8px;padding:10px 16px;margin-bottom:8px;background:var(--el-fill-color-light, #f5f7fa);border-radius:8px;font-size:13px;flex-wrap:wrap}.summary-item[data-v-ccd92f86]{white-space:nowrap}.summary-success strong[data-v-ccd92f86]{color:#67c23a}.summary-failed strong[data-v-ccd92f86]{color:#f56c6c}.summary-reused strong[data-v-ccd92f86]{color:#e6a23c}.summary-rate[data-v-ccd92f86]{color:#909399}.summary-rate strong[data-v-ccd92f86]{color:#409eff}.summary-divider[data-v-ccd92f86]{color:#dcdfe6;font-size:12px;-webkit-user-select:none;user-select:none}
diff --git a/source_clean/frontend-src/dist-vite/assets/SaveRecords-DLmXAM3V.js b/source_clean/frontend-src/dist-vite/assets/SaveRecords-DLmXAM3V.js
new file mode 100644
index 0000000..59d3f81
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/SaveRecords-DLmXAM3V.js
@@ -0,0 +1 @@
+import{d as Ce,o as xe,a as u,c as r,b as a,f as l,w as d,F as Z,r as q,g as De,t as n,l as g,e as _,h as p,j as m,y as ee,n as M,k as R,s as Se,K as we,O as ze,P as Ne,E as te,Q as Te}from"./index-D279dJND.js";import{c as Be,j as $e,_ as Me}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const Fe={class:"save-records"},Ve={class:"toolbar"},Ee={class:"toolbar-row"},He={class:"filter-group"},je={style:{display:"inline-flex",alignItems:"center",gap:"6px"}},Ie=["src"],Le={class:"time-btns"},Ye=["onClick"],Ae={class:"toolbar-actions"},Ge={class:"record-count"},Ke={key:0,class:"save-summary"},Re={class:"summary-item summary-all"},Ue={class:"summary-item summary-success"},Pe={class:"summary-item summary-reused"},Je={class:"summary-item summary-failed"},Oe={key:0,class:"summary-item summary-rate"},Qe={class:"el-table-wrap"},Xe={class:"expand-detail"},We={class:"detail-row"},Ze={class:"detail-cell",style:{flex:"2"}},qe=["href"],et={key:0,class:"detail-cell"},tt={class:"detail-code"},at={key:1,class:"detail-cell"},st={key:2,class:"detail-cell"},lt={key:3,class:"detail-cell"},nt={class:"detail-row"},ot={key:0,class:"detail-cell"},it={key:1,class:"detail-cell"},dt={class:"detail-code"},ut={key:2,class:"detail-cell"},rt={class:"detail-code"},ct={class:"detail-row"},_t={key:0,class:"detail-cell",style:{flex:"2"}},pt=["href"],gt={key:1,class:"detail-cell"},ft={class:"detail-cell"},mt={key:0,class:"detail-row"},vt={class:"detail-cell"},ht={class:"detail-code"},yt={key:0,class:"detail-cell"},bt={class:"detail-code"},kt={class:"detail-cell"},Ct={class:"detail-code"},xt={key:1,class:"detail-row"},Dt={class:"detail-cell detail-full"},St={class:"detail-error"},wt={key:2,class:"detail-row"},zt={class:"detail-cell detail-full"},Nt={class:"detail-error"},Tt=["title"],Bt=["src"],$t=["title"],Mt={key:0,class:"loc-badge"},Ft={key:1,class:"no-data"},Vt=["title"],Et={key:1,class:"err-msg"},Ht={key:2,class:"reuse-msg"},jt={key:3,class:"no-data"},It={class:"action-cell"},Lt={key:1,class:"pagination-wrap"},Yt={class:"pagination-info"},At='',Gt=Ce({__name:"SaveRecords",setup(Kt){const U=p([]),k=p(0),C=p(1),x=p(20),F=p(!1),S=p(""),w=p(""),z=p(""),V=p("today"),E=p(""),H=p(""),N=p(null),j=p([]),v=p(null),ae=[{key:"today",label:"今日"},{key:"week",label:"本周"},{key:"month",label:"本月"},{key:"lastMonth",label:"上月"}],I=p({});async function se(){try{const s=await Be(),e={};for(const o of s.types)e[o.type]={label:o.label,icon:o.icon};I.value=e}catch{}}function L(s){var e;return((e=I.value[s])==null?void 0:e.label)||s}function P(s){var e;return((e=I.value[s])==null?void 0:e.icon)||At}function le(s){const e=new Set;s.forEach(i=>{i.source_type&&e.add(i.source_type)});const o=new Set(j.value);e.forEach(i=>{o.has(i)||j.value.push(i)})}function Y(s){const e=s.getFullYear(),o=String(s.getMonth()+1).padStart(2,"0"),i=String(s.getDate()).padStart(2,"0");return`${e}-${o}-${i}`}function J(s){if(!s)return"-";let e=s;/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)&&(e=e.replace(" ","T")+"+08:00");const o=new Date(e);if(isNaN(o.getTime()))return s;const i=c=>String(c).padStart(2,"0");return`${o.getFullYear()}-${i(o.getMonth()+1)}-${i(o.getDate())} ${i(o.getHours())}:${i(o.getMinutes())}:${i(o.getSeconds())}`}function O(s){return s?s<1e3?`${s}ms`:`${(s/1e3).toFixed(1)}s`:"-"}function Q(s){return s?s>3e4?"dur-slow":s>1e4?"dur-warn":"dur-fast":""}function ne(s){return s.length>50?s.slice(0,50)+"…":s}function oe(s){return s==="success"?"转存成功":s==="reused"?"♻️ 复用已有分享链接":"转存失败"}function ie(s){return s==="success"?"status-ok":s==="reused"?"status-reuse":"status-fail"}function de(s){return s==="success"?"✓":s==="reused"?"♻️":"✗"}const ue={Anhui:"安徽",Beijing:"北京",Chongqing:"重庆",Fujian:"福建",Gansu:"甘肃",Guangdong:"广东",Guangxi:"广西",Guizhou:"贵州",Hainan:"海南",Hebei:"河北",Henan:"河南",Heilongjiang:"黑龙江",Hubei:"湖北",Hunan:"湖南","Inner Mongolia":"内蒙古",Jiangsu:"江苏",Jiangxi:"江西",Jilin:"吉林",Liaoning:"辽宁",Ningxia:"宁夏",Qinghai:"青海",Shaanxi:"陕西",Shandong:"山东",Shanghai:"上海",Shanxi:"山西",Sichuan:"四川",Tianjin:"天津",Tibet:"西藏",Xinjiang:"新疆",Yunnan:"云南",Zhejiang:"浙江","Hong Kong":"香港",Macau:"澳门",Taiwan:"台湾",Changsha:"长沙",Hefei:"合肥",Fuzhou:"福州",Lanzhou:"兰州",Guangzhou:"广州",Nanning:"南宁",Guiyang:"贵阳",Haikou:"海口",Shijiazhuang:"石家庄",Zhengzhou:"郑州",Harbin:"哈尔滨",Wuhan:"武汉",Nanjing:"南京",Nanchang:"南昌",Changchun:"长春",Shenyang:"沈阳",Yinchuan:"银川",Xining:"西宁","Xi'an":"西安",Jinan:"济南",Taiyuan:"太原",Chengdu:"成都",Shenzhen:"深圳",Hangzhou:"杭州",Suzhou:"苏州",Wuxi:"无锡",Ningbo:"宁波",Dongguan:"东莞",Foshan:"佛山",Zhuhai:"珠海",Qingdao:"青岛",Dalian:"大连",Xiamen:"厦门",Kunming:"昆明",Lhasa:"拉萨",Urumqi:"乌鲁木齐",Linyi:"临沂",Wenzhou:"温州",Quanzhou:"泉州"},re={"China Telecom":"中国电信","China Mobile":"中国移动","China Unicom":"中国联通",Chinanet:"中国电信",ChinaNet:"中国电信",CMNET:"中国移动","CNC Group":"中国联通",unicom:"中国联通",telecom:"中国电信",mobile:"中国移动","China Education and Research Network":"教育网",CERNET:"教育网","China Networks":"中国网络",China163:"中国电信","CHINANET BACKBONE":"中国电信","Tencent Cloud":"腾讯云","Alibaba Cloud":"阿里云",Aliyun:"阿里云","Huawei Cloud":"华为云",Baidu:"百度","Beijing Baidu":"百度"};function X(s){return s.replace(/^(中国|China)\s*/i,"").split(/\s+/).filter(Boolean).map(i=>ue[i]||re[i]||i).join(" ")}function ce({row:s}){return s.status==="failed"?"row-failed":""}async function _e(s){try{await navigator.clipboard.writeText(s),te.success("已复制到剪贴板")}catch{const e=document.createElement("textarea");e.value=s,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),te.success("已复制到剪贴板")}}function pe(s){window.open(s,"_blank")}function ge(s,e){}function T(s){V.value=s,N.value=null;const e=new Date,o=e.getFullYear(),i=e.getMonth();let c,f;switch(s){case"today":c=new Date(o,i,e.getDate()),f=c;break;case"week":{const D=e.getDay();c=new Date(o,i,e.getDate()+(D===0?-6:1-D)),f=e;break}case"month":c=new Date(o,i,1),f=e;break;case"lastMonth":c=new Date(o,i-1,1),f=new Date(o,i,0);break;default:c=new Date(o,i,e.getDate()),f=c}E.value=Y(c);const A=new Date(f.getFullYear(),f.getMonth(),f.getDate()+1);H.value=Y(A),y(1)}function fe(s){if(s&&s.length===2){V.value="",E.value=s[0];const e=new Date(s[1]);e.setDate(e.getDate()+1),H.value=Y(e),y(1)}else T("today")}function me(){S.value="",w.value="",z.value="",N.value=null,T("today")}async function y(s=1){F.value=!0;try{C.value=s;const e=S.value||void 0,o=w.value||void 0,i=z.value||void 0,c=await $e(s,x.value,E.value,H.value,e,o,i);U.value=c.records,k.value=c.total,v.value=c.summary||null,le(c.records)}catch(e){console.error("加载转存记录失败",e)}finally{F.value=!1}}return xe(()=>{T("today"),se()}),(s,e)=>{const o=m("el-option"),i=m("el-select"),c=m("el-date-picker"),f=m("el-icon"),A=m("el-input"),D=m("el-button"),W=m("el-tag"),h=m("el-table-column"),B=m("el-tooltip"),ve=m("el-table"),he=m("el-card"),ye=m("el-pagination"),be=Te("loading");return u(),r("div",Fe,[a("div",Ve,[a("div",Ee,[a("div",He,[l(i,{modelValue:S.value,"onUpdate:modelValue":e[0]||(e[0]=t=>S.value=t),placeholder:"状态",clearable:"",style:{width:"100px"},onChange:e[1]||(e[1]=t=>y(1))},{default:d(()=>[l(o,{label:"全部状态",value:""}),l(o,{label:"✓ 成功",value:"success"}),l(o,{label:"♻️ 复用",value:"reused"}),l(o,{label:"✗ 失败",value:"failed"})]),_:1},8,["modelValue"]),l(i,{modelValue:w.value,"onUpdate:modelValue":e[2]||(e[2]=t=>w.value=t),placeholder:"网盘",clearable:"",style:{width:"100px"},onChange:e[3]||(e[3]=t=>y(1))},{default:d(()=>[l(o,{label:"全部网盘",value:""}),(u(!0),r(Z,null,q(j.value,t=>(u(),ee(o,{key:t,label:L(t),value:t},{default:d(()=>[a("span",je,[a("img",{src:P(t),style:{width:"16px",height:"16px"}},null,8,Ie),g(" "+n(L(t)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),a("div",Le,[(u(),r(Z,null,q(ae,t=>a("button",{key:t.key,class:M(["time-btn",{active:V.value===t.key}]),onClick:b=>T(t.key)},n(t.label),11,Ye)),64))]),l(c,{modelValue:N.value,"onUpdate:modelValue":e[4]||(e[4]=t=>N.value=t),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"220px"},onChange:fe},null,8,["modelValue"]),l(A,{modelValue:z.value,"onUpdate:modelValue":e[5]||(e[5]=t=>z.value=t),placeholder:"搜索资源名称…",clearable:"",style:{width:"180px"},onClear:e[6]||(e[6]=t=>y(1)),onKeyup:e[7]||(e[7]=De(t=>y(1),["enter"]))},{prefix:d(()=>[l(f,null,{default:d(()=>[l(R(Se))]),_:1})]),_:1},8,["modelValue"])]),a("div",Ae,[l(D,{size:"small",onClick:me},{default:d(()=>[...e[11]||(e[11]=[g("重置筛选",-1)])]),_:1}),a("span",Ge,"共 "+n(k.value)+" 条",1)])])]),v.value?(u(),r("div",Ke,[a("span",Re,[e[12]||(e[12]=g("📊 共 ",-1)),a("strong",null,n(v.value.total),1),e[13]||(e[13]=g(" 条",-1))]),e[18]||(e[18]=a("span",{class:"summary-divider"},"|",-1)),a("span",Ue,[e[14]||(e[14]=g("✅ 成功 ",-1)),a("strong",null,n(v.value.success),1)]),a("span",Pe,[e[15]||(e[15]=g("♻️ 复用 ",-1)),a("strong",null,n(v.value.reused),1)]),a("span",Je,[e[16]||(e[16]=g("❌ 失败 ",-1)),a("strong",null,n(v.value.failed),1)]),v.value.total>0?(u(),r("span",Oe,[e[17]||(e[17]=g(" 成功率 ",-1)),a("strong",null,n(((v.value.success+v.value.reused)/v.value.total*100).toFixed(1))+"%",1)])):_("",!0)])):_("",!0),l(he,{shadow:"never",class:"save-table-card"},{header:d(()=>[...e[19]||(e[19]=[a("span",null,"📋 转存日志列表",-1)])]),default:d(()=>[a("div",Qe,[we((u(),ee(ve,{data:U.value,stripe:"",style:{width:"100%"},"empty-text":"暂无转存记录",onExpandChange:ge,"row-class-name":ce},{default:d(()=>[l(h,{type:"expand",width:"36"},{default:d(({row:t})=>[a("div",Xe,[a("div",We,[a("div",Ze,[e[20]||(e[20]=a("span",{class:"detail-label"},"原始链接",-1)),a("a",{href:t.source_url,target:"_blank",class:"detail-link"},n(t.source_url),9,qe)]),t.file_size?(u(),r("div",et,[e[21]||(e[21]=a("span",{class:"detail-label"},"文件大小",-1)),a("code",tt,n(t.file_size?function(b){if(b==null||b==="")return"-";var G=typeof b=="string"?parseInt(b,10):b;if(!G||G<=0)return"-";for(var ke=["B","KB","MB","GB","TB"],$=0,K=G;K>=1024&&$<4;)K/=1024,$++;return K.toFixed($===0?0:2)+" "+ke[$]}(t.file_size):"-"),1)])):_("",!0),t.status!=="reused"&&(t.folder_count>0||t.file_count>0)?(u(),r("div",at,[e[23]||(e[23]=a("span",{class:"detail-label"},"文件夹",-1)),a("span",null,[a("strong",null,n(t.folder_count||0),1),e[22]||(e[22]=g(" 个",-1))])])):_("",!0),t.status!=="reused"&&(t.folder_count>0||t.file_count>0)?(u(),r("div",st,[e[25]||(e[25]=a("span",{class:"detail-label"},"文件",-1)),a("span",null,[a("strong",null,n(t.file_count||0),1),e[24]||(e[24]=g(" 个",-1))])])):_("",!0),t.status==="reused"?(u(),r("div",lt,[...e[26]||(e[26]=[a("span",{class:"detail-label"},"复用方式",-1),a("span",{class:"reuse-msg"},"♻️ 直接使用已有分享链接,无需实际转存",-1)])])):_("",!0)]),a("div",nt,[t.config_nickname?(u(),r("div",ot,[e[27]||(e[27]=a("span",{class:"detail-label"},"使用账号",-1)),l(W,{size:"small",type:"success",effect:"plain"},{default:d(()=>[g(n(t.config_nickname),1)]),_:2},1024)])):_("",!0),t.original_folder_name?(u(),r("div",it,[e[28]||(e[28]=a("span",{class:"detail-label"},"原始文件夹名",-1)),a("code",dt,n(t.original_folder_name),1)])):_("",!0),t.folder_name?(u(),r("div",ut,[e[29]||(e[29]=a("span",{class:"detail-label"},"转存文件夹",-1)),a("code",rt,n(t.folder_name),1)])):_("",!0)]),a("div",ct,[t.share_url?(u(),r("div",_t,[e[30]||(e[30]=a("span",{class:"detail-label"},"分享链接",-1)),a("a",{href:t.share_url,target:"_blank",class:"detail-link"},n(t.share_url),9,pt)])):_("",!0),t.share_pwd?(u(),r("div",gt,[e[31]||(e[31]=a("span",{class:"detail-label"},"分享密码",-1)),l(W,{size:"small",type:"warning"},{default:d(()=>[g(n(t.share_pwd),1)]),_:2},1024)])):_("",!0),a("div",ft,[e[32]||(e[32]=a("span",{class:"detail-label"},"耗时",-1)),a("span",{class:M(["detail-duration",Q(t.duration_ms)])},n(O(t.duration_ms)),3)])]),t.ip_address?(u(),r("div",mt,[a("div",vt,[e[33]||(e[33]=a("span",{class:"detail-label"},"IP 地址",-1)),a("code",ht,n(t.ip_address),1)]),t.ip_location?(u(),r("div",yt,[e[34]||(e[34]=a("span",{class:"detail-label"},"归属地",-1)),a("code",bt,n(X(t.ip_location)),1)])):_("",!0),a("div",kt,[e[35]||(e[35]=a("span",{class:"detail-label"},"时间",-1)),a("code",Ct,n(J(t.created_at)),1)])])):_("",!0),t.status==="failed"&&t.error_message?(u(),r("div",xt,[a("div",Dt,[e[36]||(e[36]=a("span",{class:"detail-label"},"错误信息",-1)),a("pre",St,n(t.error_message.includes(" | ")?t.error_message.split(" | ")[1]:t.error_message.split(" | ")[0]),1)])])):_("",!0),t.status==="failed"&&t.error_message&&t.error_message.includes(" | ")?(u(),r("div",wt,[a("div",zt,[e[37]||(e[37]=a("span",{class:"detail-label"},"友好提示",-1)),a("pre",Nt,n(t.error_message.split(" | ")[0]),1)])])):_("",!0)])]),_:1}),l(h,{label:"序号",width:"68",align:"center"},{default:d(({$index:t})=>[g(n((C.value-1)*x.value+t+1),1)]),_:1}),l(h,{label:"时间",width:"140"},{default:d(({row:t})=>[a("span",{title:t.created_at},n(J(t.created_at)),9,Tt)]),_:1}),l(h,{label:"网盘",width:"70",align:"center"},{default:d(({row:t})=>[l(B,{content:L(t.source_type),placement:"top"},{default:d(()=>[a("img",{src:P(t.source_type),style:{width:"22px",height:"22px",cursor:"default"}},null,8,Bt)]),_:2},1032,["content"])]),_:1}),l(h,{label:"状态",width:"72",align:"center"},{default:d(({row:t})=>[l(B,{content:oe(t.status),placement:"top"},{default:d(()=>[a("span",{class:M(["status-badge",ie(t.status)])},n(de(t.status)),3)]),_:2},1032,["content"])]),_:1}),l(h,{label:"资源名称","min-width":"160","show-overflow-tooltip":""},{default:d(({row:t})=>[a("span",{title:t.source_title||""},n(t.source_title||"-"),9,$t)]),_:1}),l(h,{label:"耗时",width:"85",align:"center"},{default:d(({row:t})=>[a("span",{class:M(["duration",Q(t.duration_ms)])},n(O(t.duration_ms)),3)]),_:1}),l(h,{label:"归属地","min-width":"130","show-overflow-tooltip":""},{default:d(({row:t})=>[t.ip_location?(u(),r("span",Mt,n(X(t.ip_location)),1)):(u(),r("span",Ft,"-"))]),_:1}),l(h,{label:"备注","min-width":"200","show-overflow-tooltip":""},{default:d(({row:t})=>[t.status==="failed"&&t.error_message?(u(),r("span",{key:0,class:"err-msg",title:t.error_message},n(ne(t.error_message)),9,Vt)):t.status==="failed"?(u(),r("span",Et,"失败")):t.status==="reused"?(u(),r("span",Ht,"♻️ 复用已有链接")):(u(),r("span",jt,"-"))]),_:1}),l(h,{label:"操作",width:"80",fixed:"right",align:"center"},{default:d(({row:t})=>[a("div",It,[l(B,{content:"复制分享链接",placement:"top"},{default:d(()=>[l(D,{size:"small",circle:"",text:"",disabled:!t.share_url,onClick:b=>_e(t.share_url)},{default:d(()=>[l(f,null,{default:d(()=>[l(R(ze))]),_:1})]),_:1},8,["disabled","onClick"])]),_:2},1024),l(B,{content:"打开分享链接",placement:"top"},{default:d(()=>[l(D,{size:"small",circle:"",text:"",disabled:!t.share_url,onClick:b=>pe(t.share_url)},{default:d(()=>[l(f,null,{default:d(()=>[l(R(Ne))]),_:1})]),_:1},8,["disabled","onClick"])]),_:2},1024)])]),_:1})]),_:1},8,["data"])),[[be,F.value]])])]),_:1}),k.value>0?(u(),r("div",Lt,[a("div",Yt," 第 "+n((C.value-1)*x.value+1)+"-"+n(Math.min(C.value*x.value,k.value))+" 条,共 "+n(k.value)+" 条 ",1),l(ye,{"current-page":C.value,"onUpdate:currentPage":e[8]||(e[8]=t=>C.value=t),"page-size":x.value,"onUpdate:pageSize":e[9]||(e[9]=t=>x.value=t),total:k.value,"page-sizes":[15,20,30,50,100],layout:"sizes, prev, pager, next, jumper",onCurrentChange:y,onSizeChange:e[10]||(e[10]=t=>y(1))},null,8,["current-page","page-size","total"])])):_("",!0)])}}}),Pt=Me(Gt,[["__scopeId","data-v-ccd92f86"]]);export{Pt as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/SearchResult-B_gCJbmx.css b/source_clean/frontend-src/dist-vite/assets/SearchResult-B_gCJbmx.css
new file mode 100644
index 0000000..b8b96ed
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/SearchResult-B_gCJbmx.css
@@ -0,0 +1 @@
+.result-card[data-v-862af59b]{display:flex;background:#fff;border-radius:10px;padding:12px;gap:14px;border:1px solid #ebeef5;transition:all .2s ease;content-visibility:auto;contain-intrinsic-size:130px 120px;min-width:0}.result-card[data-v-862af59b]:hover{border-color:#c0c4cc;box-shadow:0 2px 12px #0000000f}.result-card.clickable[data-v-862af59b]{cursor:pointer}.result-card.clickable[data-v-862af59b]:hover{border-color:#409eff;box-shadow:0 2px 12px #409eff1f}.card-cover[data-v-862af59b]{position:relative;flex:0 0 100px;max-width:130px;border-radius:8px;overflow:hidden;background:#f0f2f5;display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:100%}.card-cover img[data-v-862af59b]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;position:absolute;top:0;left:0}.card-cover img.fallback-img[data-v-862af59b]{object-fit:contain;background:#f0f2f5;loading:eager}.result-card:hover .card-cover img[data-v-862af59b]{transform:scale(1.05)}.cover-placeholder[data-v-862af59b]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0}.placeholder-icon[data-v-862af59b]{font-size:30px;opacity:.5;filter:grayscale(.2)}.cover-tag[data-v-862af59b]{position:absolute;bottom:5px;left:5px;padding:1px 7px;border-radius:4px;color:#fff;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.3px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1}.card-body[data-v-862af59b]{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.card-title[data-v-862af59b]{font-size:15px;font-weight:700;color:#1a1a2e;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-time[data-v-862af59b]{font-size:12px;color:#909399;display:flex;align-items:center;gap:10px}.meta-size[data-v-862af59b]{color:#67c23a;white-space:nowrap;font-size:11px}.card-tags[data-v-862af59b]{display:flex;flex-wrap:wrap;gap:4px}.tag[data-v-862af59b]{display:inline-block;padding:1px 7px;border-radius:4px;font-size:11px;line-height:1.8;white-space:nowrap;transition:opacity .2s}.tag-quality[data-v-862af59b]{background:#fef0f0;color:#e74c3c}.tag-subtitle[data-v-862af59b]{background:#f0f9eb;color:#67c23a}.tag-default[data-v-862af59b]{background:#ecf5ff;color:#409eff}.card-bottom-row[data-v-862af59b]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.bottom-left[data-v-862af59b]{display:flex;align-items:center;gap:6px;min-width:0}.bottom-right[data-v-862af59b]{display:flex;align-items:center;gap:6px;flex-shrink:0}.meta-source[data-v-862af59b]{color:#909399;background:#f4f4f5;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.action-btn[data-v-862af59b]{padding:5px 12px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.get-link-btn[data-v-862af59b]{background:var(--primary-color);color:#fff}.get-link-btn[data-v-862af59b]:hover{background:var(--primary-dark);transform:scale(1.05)}.open-link-btn[data-v-862af59b]{background:#67c23a;color:#fff}.open-link-btn[data-v-862af59b]:hover{background:#5daf34;transform:scale(1.05)}@media (max-width: 640px){.result-card[data-v-862af59b]{flex-direction:column;gap:10px}.card-cover[data-v-862af59b]{width:100%;height:160px;align-self:auto}.card-cover img[data-v-862af59b]{position:static;height:160px}.card-cover img.fallback-img[data-v-862af59b],.cover-placeholder[data-v-862af59b]{position:static}.card-bottom-row[data-v-862af59b]{flex-wrap:wrap}}.video-card[data-v-c6df203e]{display:flex;background:var(--bg-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.video-card[data-v-c6df203e]:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001f}.video-cover[data-v-c6df203e]{position:relative;flex-shrink:0;width:200px;height:120px;border-radius:8px;overflow:hidden}.video-cover img[data-v-c6df203e]{width:100%;height:100%;object-fit:cover}.play-icon[data-v-c6df203e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.platform-tag[data-v-c6df203e]{position:absolute;top:8px;right:8px;padding:2px 8px;background:#000000b3;color:#fff;font-size:12px;border-radius:4px}.video-info[data-v-c6df203e]{flex:1;min-width:0}.video-info h4[data-v-c6df203e]{font-size:16px;font-weight:600;color:#303133;margin-bottom:8px}.video-author[data-v-c6df203e]{font-size:14px;color:var(--text-secondary);margin-bottom:6px}.video-desc[data-v-c6df203e]{font-size:14px;color:#606266;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-actions[data-v-c6df203e]{display:flex;align-items:flex-end;flex-shrink:0}.save-btn[data-v-c6df203e]{padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;white-space:nowrap;transition:background .2s}.save-btn[data-v-c6df203e]:hover{background:var(--primary-dark)}.search-result-page[data-v-ceea2d94]{min-height:100vh;background:var(--bg-color, #f5f5f5)}.top-search-bar[data-v-ceea2d94]{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e8e8e8;padding:12px 24px}.search-bar-inner[data-v-ceea2d94]{max-width:800px;margin:0 auto;display:flex;align-items:center;gap:12px}.search-box-inner[data-v-ceea2d94]{display:flex;align-items:center;flex:1;border:1px solid #dfe1e5;border-radius:24px;background:#fff;box-shadow:none;transition:box-shadow .2s,border-color .2s;overflow:hidden}.search-box-inner[data-v-ceea2d94]:focus-within{box-shadow:0 1px 6px #20212447;border-color:#dfe1e500}.marquee-bar[data-v-ceea2d94]{max-width:680px;margin:0 auto;padding:6px 12px;display:flex;align-items:center;gap:8px;overflow:hidden}.marquee-icon[data-v-ceea2d94]{flex-shrink:0;font-size:15px;line-height:1}.marquee-track[data-v-ceea2d94]{flex:1;overflow:hidden;white-space:nowrap}.marquee-text[data-v-ceea2d94]{display:inline-block;font-size:13px;color:#e6a23c;animation:marquee-scroll-ceea2d94 20s linear infinite;padding-left:100%}@keyframes marquee-scroll-ceea2d94{0%{transform:translate(0)}to{transform:translate(-100%)}}.search-box-inner[data-v-ceea2d94] .el-input__wrapper{border:none;box-shadow:none;background:transparent;padding:4px 20px;border-radius:0}.search-box-inner[data-v-ceea2d94] .el-input__inner{font-size:15px}.top-right-user[data-v-ceea2d94]{position:absolute;top:12px;right:20px;display:flex;align-items:center;gap:8px;z-index:100;flex-shrink:0}.user-badge[data-v-ceea2d94]{font-size:13px;color:var(--primary-color, #409eff);font-weight:600;white-space:nowrap}.login-error[data-v-ceea2d94]{color:#f56c6c;font-size:13px;text-align:center;margin:0}.logo-link[data-v-ceea2d94]{text-decoration:none;flex-shrink:0}.logo-icon[data-v-ceea2d94]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#409eff14;transition:background .2s}.logo-icon[data-v-ceea2d94]:hover{background:#409eff26}.logo-text-only[data-v-ceea2d94]{font-size:18px;font-weight:700;color:var(--primary-color);white-space:nowrap;flex-shrink:0}.logo-img[data-v-ceea2d94]{width:auto;height:40px;max-width:160px;object-fit:contain;flex-shrink:0}.result-search-btn[data-v-ceea2d94]{height:38px!important;padding:0 22px!important;border:none!important;border-radius:999px!important;margin:4px;font-size:14px!important;font-weight:600!important;letter-spacing:.5px;flex-shrink:0;background:var(--primary-color);color:#fff;transition:all .2s}.result-search-btn[data-v-ceea2d94]:hover{background:#3a7be0}.result-search-btn[data-v-ceea2d94]:active{background:#2d6ccf}.share-input[data-v-ceea2d94]{flex:1}.share-pwd-row[data-v-ceea2d94]{display:flex;align-items:center;gap:8px;margin-top:8px}.pwd-label[data-v-ceea2d94]{font-size:13px;color:var(--text-secondary, #909399)}.pwd-hint[data-v-ceea2d94]{font-size:12px;color:var(--text-secondary, #909399)}.result-info-bar[data-v-ceea2d94]{max-width:800px;margin:16px auto 0;padding:0 24px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#909399}.info-left[data-v-ceea2d94],.info-right[data-v-ceea2d94]{display:flex;align-items:center;gap:10px}.info-item[data-v-ceea2d94]{white-space:nowrap}.info-count[data-v-ceea2d94]{font-weight:600;color:#303133}.info-type[data-v-ceea2d94]{color:#909399;font-size:12px;background:#f4f4f5;padding:1px 7px;border-radius:4px}.info-time[data-v-ceea2d94]{font-family:monospace;background:#f4f4f5;padding:1px 7px;border-radius:4px;color:#909399}.info-hasmore[data-v-ceea2d94]{color:#c0c4cc}.filter-badge[data-v-ceea2d94]{background:#fef0f0;color:#f56c6c;padding:2px 8px;border-radius:4px;font-size:12px}.skip-badge[data-v-ceea2d94]{background:#fdf6ec;color:#e6a23c;padding:2px 8px;border-radius:4px;font-size:12px}.refresh-btn[data-v-ceea2d94]{background:none;border:1px solid #e4e7ed;border-radius:6px;padding:2px 10px;font-size:12px;color:#909399;cursor:pointer;transition:all .2s}.refresh-btn[data-v-ceea2d94]:hover{color:#409eff;border-color:#409eff;background:#409eff0d}.intent-badge[data-v-ceea2d94]{max-width:800px;margin:12px auto 0;padding:0 24px}.intent-tag[data-v-ceea2d94]{font-size:13px;color:#909399;background:#f0f2f5;padding:2px 10px;border-radius:4px}.loading-section[data-v-ceea2d94]{max-width:800px;margin:24px auto;padding:0 24px}.progress-track[data-v-ceea2d94]{width:100%;height:4px;background:#e8e8e8;border-radius:2px;overflow:hidden}.progress-bar[data-v-ceea2d94]{height:100%;background:linear-gradient(90deg,#409eff,#67c23a);border-radius:2px;transition:width .3s ease}.progress-label[data-v-ceea2d94]{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:#909399}.progress-time[data-v-ceea2d94]{margin-left:auto;font-family:monospace;color:#c0c4cc}.validate-count[data-v-ceea2d94]{font-family:monospace;color:#409eff;font-weight:600}.loading-skeleton[data-v-ceea2d94]{margin-top:16px}.cloud-tabs[data-v-ceea2d94]{margin:16px auto 0;display:flex;flex-wrap:wrap;gap:6px}.cloud-tab[data-v-ceea2d94]{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:700;letter-spacing:.5px;color:#606266;background:#f0f2f5;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.cloud-tab[data-v-ceea2d94]:hover{background:#e4e7ed;color:#303133}.cloud-tab.active[data-v-ceea2d94]{background:#409eff1a;color:#409eff;font-weight:600}.tab-icon[data-v-ceea2d94]{font-size:15px;line-height:1}.tab-icon-img[data-v-ceea2d94]{width:16px;height:16px;vertical-align:middle;margin-right:2px}.tab-count[data-v-ceea2d94]{font-size:11px;color:#c0c4cc;margin-left:2px}.result-content[data-v-ceea2d94]{max-width:1080px;margin:0 auto;padding:0 24px 48px}@media (min-width: 1280px){.result-content[data-v-ceea2d94]{max-width:1080px}.search-bar-inner[data-v-ceea2d94]{max-width:800px}}.result-list[data-v-ceea2d94]{display:flex;flex-direction:column;gap:16px;margin-top:16px}.no-match-tip[data-v-ceea2d94]{margin-top:32px;text-align:center;color:#909399;font-size:14px;display:flex;flex-direction:column;align-items:center;gap:12px}.channel-section[data-v-ceea2d94]{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 4px #0000000a;border:1px solid #ebeef5}.channel-header[data-v-ceea2d94]{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.channel-icon[data-v-ceea2d94]{font-size:16px;line-height:1}.channel-icon-img[data-v-ceea2d94]{width:18px;height:18px;vertical-align:middle;margin-right:4px}.channel-label[data-v-ceea2d94]{font-size:15px;font-weight:600;color:#303133}.channel-total-badge[data-v-ceea2d94]{font-size:12px;color:#909399;background:#f4f4f5;padding:1px 8px;border-radius:10px;margin-left:2px}.channel-time[data-v-ceea2d94]{margin-left:auto;font-size:12px;color:#b8860b;white-space:nowrap}.flat-list[data-v-ceea2d94]{display:grid!important;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 720px){.flat-list[data-v-ceea2d94],.channel-section[data-v-ceea2d94]{grid-template-columns:1fr}}@media (min-width: 721px) and (max-width: 1079px){.flat-list[data-v-ceea2d94],.channel-section[data-v-ceea2d94]{grid-template-columns:repeat(2,1fr)}}.channel-list[data-v-ceea2d94]{gap:14px}.channel-section[data-v-ceea2d94]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.channel-section .channel-header[data-v-ceea2d94],.channel-section .channel-load-more[data-v-ceea2d94]{grid-column:1 / -1}.channel-load-more[data-v-ceea2d94]{margin-top:8px;text-align:center;padding:8px;border:1px dashed #dcdfe6;border-radius:8px;cursor:pointer;transition:all .2s;background:#fafafa}.channel-load-more[data-v-ceea2d94]:hover{background:#f0f2f5;border-color:#c0c4cc}.channel-load-more-text[data-v-ceea2d94]{font-size:13px;color:#909399}.load-more[data-v-ceea2d94]{text-align:center;margin-top:24px}.load-more-inline[data-v-ceea2d94]{text-align:center;margin-top:8px}.load-more-btn[data-v-ceea2d94]{width:100%;border-radius:8px;padding:10px;border:1px dashed #dcdfe6;background:#fafafa;color:#909399;font-size:13px;transition:all .2s}.load-more-btn[data-v-ceea2d94]:hover{background:#f0f2f5;border-color:#c0c4cc;color:#606266}.save-dialog[data-v-ceea2d94] .el-dialog__title{font-weight:700;font-size:16px}.save-dialog[data-v-ceea2d94]{width:650px!important}.save-dialog[data-v-ceea2d94] .el-dialog{--el-dialog-width: 650px !important}.dialog-title-bold[data-v-ceea2d94]{font-size:16px;font-weight:700;color:#303133;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.result-dialog-content[data-v-ceea2d94]{min-height:80px}.progress-flow[data-v-ceea2d94]{display:flex;flex-direction:column;gap:12px;padding:8px 0}.progress-step[data-v-ceea2d94]{display:flex;align-items:flex-start;gap:12px;opacity:.4;transition:all .3s ease}.progress-step.active[data-v-ceea2d94]{opacity:1}.progress-step.done[data-v-ceea2d94]{opacity:.7}.step-dot[data-v-ceea2d94]{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#e4e7ed;color:#909399;transition:all .3s}.progress-step.active .step-dot[data-v-ceea2d94]{background:#409eff;color:#fff;box-shadow:0 0 0 4px #409eff33}.progress-step.done .step-dot[data-v-ceea2d94]{background:#67c23a;color:#fff}.step-check[data-v-ceea2d94]{font-size:14px}.step-body[data-v-ceea2d94]{flex:1;padding-top:3px;display:flex;align-items:center;gap:10px}.step-title[data-v-ceea2d94]{font-size:14px;color:#303133;font-weight:500}.step-status[data-v-ceea2d94]{font-size:12px;padding:1px 8px;border-radius:10px;white-space:nowrap}.step-status.loading[data-v-ceea2d94]{background:#ecf5ff;color:#409eff}.step-status.done[data-v-ceea2d94]{background:#f0f9eb;color:#67c23a}.step-status.pending[data-v-ceea2d94]{background:#f4f4f5;color:#c0c4cc}.share-result[data-v-ceea2d94]{padding:8px 0}.share-layout[data-v-ceea2d94]{display:flex;gap:24px;align-items:stretch}.qr-left[data-v-ceea2d94]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#fafafa;border-radius:12px;border:1px solid #ebeef5;align-self:stretch}.qr-canvas[data-v-ceea2d94]{border-radius:8px}.qr-hint[data-v-ceea2d94]{margin:4px 0 0;font-size:12px;color:#409eff;font-weight:600}.qr-subhint[data-v-ceea2d94]{margin:0;font-size:11px;color:#c0c4cc}.qr-disclaimer-short[data-v-ceea2d94]{margin-top:8px;padding:4px 8px;background:#fff7e6;border:1px solid #ffe7ba;border-radius:4px;font-size:10px;color:#d46b08;text-align:center;line-height:1.4}.link-right[data-v-ceea2d94]{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.success-header[data-v-ceea2d94]{display:flex;align-items:center;gap:6px}.success-text[data-v-ceea2d94]{font-size:15px;font-weight:700;color:#303133}.link-row[data-v-ceea2d94]{display:flex;gap:8px}.share-input[data-v-ceea2d94] .el-input__wrapper{background:#f5f7fa}.share-tip[data-v-ceea2d94]{margin:0;font-size:12px;line-height:1.5;background:#fdf6ec;padding:8px 10px;border-radius:6px;text-align:left;display:flex;gap:6px;align-items:flex-start}.share-tip strong[data-v-ceea2d94]{color:#d46b08;font-weight:700}.share-tip-warn[data-v-ceea2d94]{font-size:18px;line-height:1.5;flex-shrink:0;display:inline-flex;align-items:flex-start;padding-top:1px}.share-tip-text[data-v-ceea2d94]{flex:1;min-width:0;line-height:1.6}.dialog-actions[data-v-ceea2d94]{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:8px}.disclaimer-btn[data-v-ceea2d94]{margin-right:auto!important;font-size:12px!important;color:#909399!important}.disclaimer-btn[data-v-ceea2d94]:hover{color:#409eff!important}.warnings-box[data-v-ceea2d94]{display:flex;flex-direction:column;gap:4px;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;padding:8px 10px}.warning-item[data-v-ceea2d94]{margin:0;font-size:12px;line-height:1.8;font-weight:700;white-space:nowrap}.warning-item[data-v-ceea2d94]:nth-child(odd){color:#cf1322}.warning-item[data-v-ceea2d94]:nth-child(2n){color:#d46b08}.warning-item[data-v-ceea2d94]:last-child{color:#b71c1c;font-size:13px}.save-error[data-v-ceea2d94]{padding:8px 0}.media-strip[data-v-ceea2d94]{margin:10px auto 0;width:100%}.media-strip-inner[data-v-ceea2d94]{display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(135deg,#f8faff,#f0f5ff);border:1px solid #e8f0fe;border-radius:10px;text-decoration:none;color:inherit;font-size:13px;line-height:1.4;transition:all .2s}.media-strip-inner[data-v-ceea2d94]:hover{border-color:#c0d9ff;background:linear-gradient(135deg,#f0f7ff,#e6f0ff)}.strip-thumb[data-v-ceea2d94]{flex-shrink:0;width:32px;height:44px;border-radius:4px;overflow:hidden;background:#e8ecf1;display:flex;align-items:center;justify-content:center}.strip-thumb img[data-v-ceea2d94]{width:100%;height:100%;object-fit:cover}.strip-thumb-fallback[data-v-ceea2d94]{font-size:18px;opacity:.5}.strip-title[data-v-ceea2d94]{font-weight:700;color:#1a1a2e;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.strip-year[data-v-ceea2d94]{color:#909399;font-size:12px;flex-shrink:0}.strip-rating[data-v-ceea2d94]{color:#e6a23c;font-size:12px;font-weight:600;flex-shrink:0}.strip-genres[data-v-ceea2d94]{display:flex;gap:2px;flex-wrap:wrap}.strip-genre[data-v-ceea2d94]{font-size:11px;color:#67c23a;background:#f0f9eb;padding:1px 7px;border-radius:4px}.strip-tags[data-v-ceea2d94]{display:flex;gap:3px;flex-wrap:wrap}.strip-tag[data-v-ceea2d94]{font-size:11px;color:#409eff;background:#ecf5ff;padding:1px 7px;border-radius:4px}.strip-right[data-v-ceea2d94]{font-size:12px;color:#909399;margin-left:auto;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:2px}.rename-info-bar[data-v-ceea2d94]{margin-bottom:12px}.rename-item[data-v-ceea2d94]{font-size:11px;color:#909399;margin-top:4px;word-break:break-all;line-height:1.4}@media (max-width: 768px){.save-dialog[data-v-ceea2d94]{width:96vw!important}.save-dialog[data-v-ceea2d94] .el-dialog{--el-dialog-width: 96vw !important;margin:5vh auto!important}.save-dialog[data-v-ceea2d94] .el-dialog__body{padding:12px}.share-layout[data-v-ceea2d94]{flex-direction:column;align-items:center}.qr-left[data-v-ceea2d94]{width:100%;align-self:auto}.link-right[data-v-ceea2d94]{width:100%}.warnings-box[data-v-ceea2d94]{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 640px){.top-search-bar[data-v-ceea2d94]{flex-direction:column;gap:8px}.top-search-bar .search-bar-inner[data-v-ceea2d94]{width:100%}.top-search-bar .search-bar-inner .el-input[data-v-ceea2d94]{min-width:0}.top-right-user[data-v-ceea2d94]{position:static;align-self:flex-end}.result-info-bar[data-v-ceea2d94]{flex-direction:column;gap:6px}.info-left[data-v-ceea2d94],.info-right[data-v-ceea2d94]{flex-wrap:wrap}.cloud-tabs[data-v-ceea2d94]{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px}.cloud-tab[data-v-ceea2d94]{flex-shrink:0;font-size:12px;padding:4px 10px}}.empty-wrapper[data-v-ceea2d94]{display:flex;flex-direction:column;align-items:center;padding:60px 20px 40px;text-align:center}.empty-icon[data-v-ceea2d94]{font-size:48px;margin-bottom:16px}.empty-title[data-v-ceea2d94]{font-size:18px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.empty-hint[data-v-ceea2d94]{font-size:14px;color:#909399;margin-bottom:20px;max-width:360px;line-height:1.5}.empty-tips[data-v-ceea2d94]{display:flex;flex-direction:column;gap:8px}.empty-tip-item[data-v-ceea2d94]{font-size:13px;color:#606266;background:#f4f8ff;padding:8px 16px;border-radius:8px;border:1px solid #e8f0fe;line-height:1.4;max-width:400px}.site-footer[data-v-ceea2d94]{margin-top:40px;padding:20px 16px 32px;background:#f9fafb;border-top:1px solid #ebeef5}.footer-inner[data-v-ceea2d94]{max-width:800px;margin:0 auto;font-size:12px;line-height:1.8;color:#909399;text-align:center;white-space:pre-line}.footer-actions[data-v-ceea2d94]{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.footer-disclaimer-btn[data-v-ceea2d94]{font-size:12px!important;color:#909399!important}.footer-disclaimer-btn[data-v-ceea2d94]:hover{color:#409eff!important}
diff --git a/source_clean/frontend-src/dist-vite/assets/SearchResult-DLXOMefi.js b/source_clean/frontend-src/dist-vite/assets/SearchResult-DLXOMefi.js
new file mode 100644
index 0000000..dd0075f
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/SearchResult-DLXOMefi.js
@@ -0,0 +1,8 @@
+import{d as ht,o as nn,m as qn,a as d,c as f,n as we,b as g,p as ut,t as m,k as Oe,e as R,F as $,r as oe,q as Gt,h as E,v as J,x as Qt,f as z,w as K,g as Xt,y as Me,l as G,z as Hn,j as le,s as Kn,A as On,i as xn,E as Re,u as Jn,B as Wn}from"./index-D279dJND.js";import{C as sn,a as Ae,b as on}from"./index-Bn7NwETH.js";import{_ as vt,b as Yn,s as jn,c as Gn,d as Qn,q as Xn,e as Zn,f as $n}from"./_plugin-vue_export-helper-1Z-znrfZ.js";var Ne={},es=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},an={},se={};let pt;const ts=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];se.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};se.getSymbolTotalCodewords=function(t){return ts[t]};se.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};se.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');pt=t};se.isKanjiModeEnabled=function(){return typeof pt<"u"};se.toSJIS=function(t){return pt(t)};var We={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(a){if(typeof a!="string")throw new Error("Param is not a string");switch(a.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+a)}}e.isValid=function(s){return s&&typeof s.bit<"u"&&s.bit>=0&&s.bit<4},e.from=function(s,n){if(e.isValid(s))return s;try{return t(s)}catch{return n}}})(We);function ln(){this.buffer=[],this.length=0}ln.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let a=0;a>>t-a-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var ns=ln;function Le(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}Le.prototype.set=function(e,t,a,s){const n=e*this.size+t;this.data[n]=a,s&&(this.reservedBit[n]=!0)};Le.prototype.get=function(e,t){return this.data[e*this.size+t]};Le.prototype.xor=function(e,t,a){this.data[e*this.size+t]^=a};Le.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var ss=Le,rn={};(function(e){const t=se.getSymbolSize;e.getRowColCoords=function(s){if(s===1)return[];const n=Math.floor(s/7)+2,o=t(s),r=o===145?26:Math.ceil((o-13)/(2*n-2))*2,i=[o-7];for(let u=1;u=0&&n<=7},e.from=function(n){return e.isValid(n)?parseInt(n,10):void 0},e.getPenaltyN1=function(n){const o=n.size;let r=0,i=0,u=0,v=null,h=null;for(let D=0;D=5&&(r+=t.N1+(i-5)),v=y,i=1),y=n.get(T,D),y===h?u++:(u>=5&&(r+=t.N1+(u-5)),h=y,u=1)}i>=5&&(r+=t.N1+(i-5)),u>=5&&(r+=t.N1+(u-5))}return r},e.getPenaltyN2=function(n){const o=n.size;let r=0;for(let i=0;i=10&&(i===1488||i===93)&&r++,u=u<<1&2047|n.get(h,v),h>=10&&(u===1488||u===93)&&r++}return r*t.N3},e.getPenaltyN4=function(n){let o=0;const r=n.data.length;for(let u=0;u=0;){const r=o[0];for(let u=0;u0){const o=new Uint8Array(this.degree);return o.set(s,n),o}return s};var as=mt,gn={},ve={},yt={};yt.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var re={};const hn="[0-9]+",ls="[A-Z $%*+\\-./:]+";let Pe="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Pe=Pe.replace(/u/g,"\\u");const rs="(?:(?![A-Z0-9 $%*+\\-./:]|"+Pe+`)(?:.|[\r
+]))+`;re.KANJI=new RegExp(Pe,"g");re.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");re.BYTE=new RegExp(rs,"g");re.NUMERIC=new RegExp(hn,"g");re.ALPHANUMERIC=new RegExp(ls,"g");const is=new RegExp("^"+Pe+"$"),us=new RegExp("^"+hn+"$"),cs=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");re.testKanji=function(t){return is.test(t)};re.testNumeric=function(t){return us.test(t)};re.testAlphanumeric=function(t){return cs.test(t)};(function(e){const t=yt,a=re;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,r){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?o.ccBits[0]:r<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return a.testNumeric(o)?e.NUMERIC:a.testAlphanumeric(o)?e.ALPHANUMERIC:a.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function s(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+n)}}e.from=function(o,r){if(e.isValid(o))return o;try{return s(o)}catch{return r}}})(ve);(function(e){const t=se,a=Ye,s=We,n=ve,o=yt,r=7973,i=t.getBCHDigit(r);function u(T,y,M){for(let I=1;I<=40;I++)if(y<=e.getCapacity(I,M,T))return I}function v(T,y){return n.getCharCountIndicator(T,y)+4}function h(T,y){let M=0;return T.forEach(function(I){const F=v(I.mode,y);M+=F+I.getBitsLength()}),M}function D(T,y){for(let M=1;M<=40;M++)if(h(T,M)<=e.getCapacity(M,y,n.MIXED))return M}e.from=function(y,M){return o.isValid(y)?parseInt(y,10):M},e.getCapacity=function(y,M,I){if(!o.isValid(y))throw new Error("Invalid QR Code version");typeof I>"u"&&(I=n.BYTE);const F=t.getSymbolTotalCodewords(y),_=a.getTotalCodewordsCount(y,M),C=(F-_)*8;if(I===n.MIXED)return C;const w=C-v(I,y);switch(I){case n.NUMERIC:return Math.floor(w/10*3);case n.ALPHANUMERIC:return Math.floor(w/11*2);case n.KANJI:return Math.floor(w/13);case n.BYTE:default:return Math.floor(w/8)}},e.getBestVersionForData=function(y,M){let I;const F=s.from(M,s.M);if(Array.isArray(y)){if(y.length>1)return D(y,F);if(y.length===0)return 1;I=y[0]}else I=y;return u(I.mode,I.getLength(),F)},e.getEncodedBits=function(y){if(!o.isValid(y)||y<7)throw new Error("Invalid QR Code version");let M=y<<12;for(;t.getBCHDigit(M)-i>=0;)M^=r<=0;)n^=pn<0&&(s=this.data.substr(a),n=parseInt(s,10),t.put(n,o*3+1))};var gs=ke;const hs=ve,st=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function be(e){this.mode=hs.ALPHANUMERIC,this.data=e}be.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};be.prototype.getLength=function(){return this.data.length};be.prototype.getBitsLength=function(){return be.getBitsLength(this.data.length)};be.prototype.write=function(t){let a;for(a=0;a+2<=this.data.length;a+=2){let s=st.indexOf(this.data[a])*45;s+=st.indexOf(this.data[a+1]),t.put(s,11)}this.data.length%2&&t.put(st.indexOf(this.data[a]),6)};var vs=be;const ps=ve;function Ce(e){this.mode=ps.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}Ce.getBitsLength=function(t){return t*8};Ce.prototype.getLength=function(){return this.data.length};Ce.prototype.getBitsLength=function(){return Ce.getBitsLength(this.data.length)};Ce.prototype.write=function(e){for(let t=0,a=this.data.length;t=33088&&a<=40956)a-=33088;else if(a>=57408&&a<=60351)a-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
+Make sure your charset is UTF-8`);a=(a>>>8&255)*192+(a&255),e.put(a,13)}};var ws=Ee,yn={exports:{}};(function(e){var t={single_source_shortest_paths:function(a,s,n){var o={},r={};r[s]=0;var i=t.PriorityQueue.make();i.push(s,0);for(var u,v,h,D,T,y,M,I,F;!i.empty();){u=i.pop(),v=u.value,D=u.cost,T=a[v]||{};for(h in T)T.hasOwnProperty(h)&&(y=T[h],M=D+y,I=r[h],F=typeof r[h]>"u",(F||I>M)&&(r[h]=M,i.push(h,M),o[h]=v))}if(typeof n<"u"&&typeof r[n]>"u"){var _=["Could not find a path from ",s," to ",n,"."].join("");throw new Error(_)}return o},extract_shortest_path_from_predecessor_list:function(a,s){for(var n=[],o=s;o;)n.push(o),a[o],o=a[o];return n.reverse(),n},find_path:function(a,s,n){var o=t.single_source_shortest_paths(a,s,n);return t.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(a){var s=t.PriorityQueue,n={},o;a=a||{};for(o in s)s.hasOwnProperty(o)&&(n[o]=s[o]);return n.queue=[],n.sorter=a.sorter||s.default_sorter,n},default_sorter:function(a,s){return a.cost-s.cost},push:function(a,s){var n={value:a,cost:s};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(yn);var ks=yn.exports;(function(e){const t=ve,a=gs,s=vs,n=ms,o=ws,r=re,i=se,u=ks;function v(_){return unescape(encodeURIComponent(_)).length}function h(_,C,w){const k=[];let L;for(;(L=_.exec(w))!==null;)k.push({data:L[0],index:L.index,mode:C,length:L[0].length});return k}function D(_){const C=h(r.NUMERIC,t.NUMERIC,_),w=h(r.ALPHANUMERIC,t.ALPHANUMERIC,_);let k,L;return i.isKanjiModeEnabled()?(k=h(r.BYTE,t.BYTE,_),L=h(r.KANJI,t.KANJI,_)):(k=h(r.BYTE_KANJI,t.BYTE,_),L=[]),C.concat(w,k,L).sort(function(V,b){return V.index-b.index}).map(function(V){return{data:V.data,mode:V.mode,length:V.length}})}function T(_,C){switch(C){case t.NUMERIC:return a.getBitsLength(_);case t.ALPHANUMERIC:return s.getBitsLength(_);case t.KANJI:return o.getBitsLength(_);case t.BYTE:return n.getBitsLength(_)}}function y(_){return _.reduce(function(C,w){const k=C.length-1>=0?C[C.length-1]:null;return k&&k.mode===w.mode?(C[C.length-1].data+=w.data,C):(C.push(w),C)},[])}function M(_){const C=[];for(let w=0;w<_.length;w++){const k=_[w];switch(k.mode){case t.NUMERIC:C.push([k,{data:k.data,mode:t.ALPHANUMERIC,length:k.length},{data:k.data,mode:t.BYTE,length:k.length}]);break;case t.ALPHANUMERIC:C.push([k,{data:k.data,mode:t.BYTE,length:k.length}]);break;case t.KANJI:C.push([k,{data:k.data,mode:t.BYTE,length:v(k.data)}]);break;case t.BYTE:C.push([{data:k.data,mode:t.BYTE,length:v(k.data)}])}}return C}function I(_,C){const w={},k={start:{}};let L=["start"];for(let B=0;B<_.length;B++){const V=_[B],b=[];for(let P=0;P=0&&i<=6&&(u===0||u===6)||u>=0&&u<=6&&(i===0||i===6)||i>=2&&i<=4&&u>=2&&u<=4?e.set(o+i,r+u,!0,!0):e.set(o+i,r+u,!1,!0))}}function As(e){const t=e.size;for(let a=8;a>i&1)===1,e.set(n,o,r,!0),e.set(o,n,r,!0)}function lt(e,t,a){const s=e.size,n=Bs.getEncodedBits(t,a);let o,r;for(o=0;o<15;o++)r=(n>>o&1)===1,o<6?e.set(o,8,r,!0):o<8?e.set(o+1,8,r,!0):e.set(s-15+o,8,r,!0),o<8?e.set(8,s-o-1,r,!0):o<9?e.set(8,15-o-1+1,r,!0):e.set(8,15-o-1,r,!0);e.set(s-8,8,1,!0)}function Ns(e,t){const a=e.size;let s=-1,n=a-1,o=7,r=0;for(let i=a-1;i>0;i-=2)for(i===6&&i--;;){for(let u=0;u<2;u++)if(!e.isReserved(n,i-u)){let v=!1;r>>o&1)===1),e.set(n,i-u,v),o--,o===-1&&(r++,o=7)}if(n+=s,n<0||a<=n){n-=s,s=-s;break}}}function Ls(e,t,a){const s=new bs;a.forEach(function(u){s.put(u.mode.bit,4),s.put(u.getLength(),Ms.getCharCountIndicator(u.mode,e)),u.write(s)});const n=Ge.getSymbolTotalCodewords(e),o=ft.getTotalCodewordsCount(e,t),r=(n-o)*8;for(s.getLengthInBits()+4<=r&&s.put(0,4);s.getLengthInBits()%8!==0;)s.putBit(0);const i=(r-s.getLengthInBits())/8;for(let u=0;u=7&&Ps(u,t),Ns(u,r),isNaN(s)&&(s=dt.getBestMask(u,lt.bind(null,u,a))),dt.applyMask(s,u),lt(u,a,s),{modules:u,version:t,errorCorrectionLevel:a,maskPattern:s,segments:n}}an.create=function(t,a){if(typeof t>"u"||t==="")throw new Error("No input text");let s=ot.M,n,o;return typeof a<"u"&&(s=ot.from(a.errorCorrectionLevel,ot.M),n=Je.from(a.version),o=dt.from(a.maskPattern),a.toSJISFunc&&Ge.setToSJISFunction(a.toSJISFunc)),Us(t,n,s,o)};var _n={},_t={};(function(e){function t(a){if(typeof a=="number"&&(a=a.toString()),typeof a!="string")throw new Error("Color should be defined as hex string");let s=a.slice().replace("#","").split("");if(s.length<3||s.length===5||s.length>8)throw new Error("Invalid hex color: "+a);(s.length===3||s.length===4)&&(s=Array.prototype.concat.apply([],s.map(function(o){return[o,o]}))),s.length===6&&s.push("F","F");const n=parseInt(s.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:"#"+s.slice(0,6).join("")}}e.getOptions=function(s){s||(s={}),s.color||(s.color={});const n=typeof s.margin>"u"||s.margin===null||s.margin<0?4:s.margin,o=s.width&&s.width>=21?s.width:void 0,r=s.scale||4;return{width:o,scale:o?4:r,margin:n,color:{dark:t(s.color.dark||"#000000ff"),light:t(s.color.light||"#ffffffff")},type:s.type,rendererOpts:s.rendererOpts||{}}},e.getScale=function(s,n){return n.width&&n.width>=s+n.margin*2?n.width/(s+n.margin*2):n.scale},e.getImageWidth=function(s,n){const o=e.getScale(s,n);return Math.floor((s+n.margin*2)*o)},e.qrToImageData=function(s,n,o){const r=n.modules.size,i=n.modules.data,u=e.getScale(r,o),v=Math.floor((r+o.margin*2)*u),h=o.margin*u,D=[o.color.light,o.color.dark];for(let T=0;T=h&&y>=h&&T"u"&&(!r||!r.getContext)&&(u=r,r=void 0),r||(v=s()),u=t.getOptions(u);const h=t.getImageWidth(o.modules.size,u),D=v.getContext("2d"),T=D.createImageData(h,h);return t.qrToImageData(T.data,o,u),a(D,v,h),D.putImageData(T,0,0),v},e.renderToDataURL=function(o,r,i){let u=i;typeof u>"u"&&(!r||!r.getContext)&&(u=r,r=void 0),u||(u={});const v=e.render(o,r,u),h=u.type||"image/png",D=u.rendererOpts||{};return v.toDataURL(h,D.quality)}})(_n);var wn={};const Vs=_t;function en(e,t){const a=e.a/255,s=t+'="'+e.hex+'"';return a<1?s+" "+t+'-opacity="'+a.toFixed(2).slice(1)+'"':s}function rt(e,t,a){let s=e+t;return typeof a<"u"&&(s+=" "+a),s}function Fs(e,t,a){let s="",n=0,o=!1,r=0;for(let i=0;i0&&u>0&&e[i-1]||(s+=o?rt("M",u+a,.5+v+a):rt("m",n,0),n=0,o=!1),u+1':"",v="',h='viewBox="0 0 '+i+" "+i+'"',T='
+`;return typeof s=="function"&&s(null,T),T};const zs=es,gt=an,kn=_n,qs=wn;function wt(e,t,a,s,n){const o=[].slice.call(arguments,1),r=o.length,i=typeof o[r-1]=="function";if(!i&&!zs())throw new Error("Callback required as last argument");if(i){if(r<2)throw new Error("Too few arguments provided");r===2?(n=a,a=t,t=s=void 0):r===3&&(t.getContext&&typeof n>"u"?(n=s,s=void 0):(n=s,s=a,a=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(a=t,t=s=void 0):r===2&&!t.getContext&&(s=a,a=t,t=void 0),new Promise(function(u,v){try{const h=gt.create(a,s);u(e(h,t,s))}catch(h){v(h)}})}try{const u=gt.create(a,s);n(null,e(u,t,s))}catch(u){n(u)}}Ne.create=gt.create;Ne.toCanvas=wt.bind(null,kn.render);Ne.toDataURL=wt.bind(null,kn.renderToDataURL);Ne.toString=wt.bind(null,function(e,t,a){return qs.render(e,a)});const Hs={class:"card-cover"},Ks=["src","alt"],Os=["src"],xs={class:"placeholder-icon"},Js=["src"],Ws={key:1},Ys={class:"card-body"},js=["title"],Gs={class:"card-time"},Qs={key:0,class:"meta-size"},Xs={key:0,class:"card-tags"},Zs={class:"card-bottom-row"},$s={class:"bottom-left"},eo=["title"],to={class:"bottom-right"},no=1e4,so=ht({__name:"ResultCard",props:{data:{},fallbackTags:{},fallbackImage:{},loggedIn:{type:Boolean},cloudTypeMap:{}},emits:["save"],setup(e,{emit:t}){const a=e,s=t,n=E(!1),o=E(!1),r=E(!1);let i=null;nn(()=>{if(a.data.cover&&!n.value){r.value=!0;const b=new Image;let P=!1;i=setTimeout(()=>{P||(P=!0,r.value=!1)},no),b.onload=()=>{P||(P=!0,n.value=!0,r.value=!1,i&&clearTimeout(i))},b.onerror=()=>{P||(P=!0,r.value=!1,i&&clearTimeout(i))},b.src=a.data.cover}}),qn(()=>{i&&clearTimeout(i)});function u(){n.value=!1}function v(){o.value=!0}const h=J(()=>{var P,q;return((q=(P=a.cloudTypeMap)==null?void 0:P[a.data.cloud_type])==null?void 0:q.icon)||on[a.data.cloud_type]||"📁"}),D=J(()=>({quark:"linear-gradient(135deg, #e8f5e9, #c8e6c9)",baidu:"linear-gradient(135deg, #e3f2fd, #bbdefb)",aliyun:"linear-gradient(135deg, #fff3e0, #ffe0b2)",115:"linear-gradient(135deg, #f3e5f5, #e1bee7)",xunlei:"linear-gradient(135deg, #e8f5e9, #a5d6a7)",magnet:"linear-gradient(135deg, #e8eaf6, #c5cae9)"})[a.data.cloud_type]||"linear-gradient(135deg, #f5f5f5, #e0e0e0)");function T(b){if(!b)return"";const P=Date.now(),q=new Date(b);if(isNaN(q.getTime()))return b.slice(0,10);const j=P-q.getTime();if(j<0)return b.slice(0,10);const Y=Math.floor(j/1e3);if(Y<60)return"刚刚";const O=Math.floor(Y/60);if(O<60)return`${O} 分钟前`;const ee=Math.floor(O/60);if(ee<24)return`${ee} 小时前`;const Q=Math.floor(ee/24);return Q<30?`${Q} 天前`:Q<365?`${Math.floor(Q/30)} 个月前`:`${Math.floor(Q/365)} 年前`}const y=J(()=>T(a.data.update_time||a.data.datetime)),M=J(()=>{const b=a.data.source||"";return b?b.startsWith("tg:")?"@"+b.slice(3):b.startsWith("plugin:")?b.slice(7):b:""}),I=J(()=>{const b=a.data.source||"";return b.startsWith("tg:")?"📢":b.startsWith("plugin:")?"🔌":"📎"}),F=[/^\[夸克网盘\][::]?\s*/,/^【#电影名称:】\s*/,/^【#电影名称[::]】\s*/,/^【[^】]*[网盘|分享|电影|下载|资源]】[::]?\s*/,/^\[[^\]]*[网盘|分享|电影|下载|资源]\]\s*/,/^[##]电影名称[::]?\s*/,/^[##]资源名称[::]?\s*/,/^[##]标题[::]?\s*/,/^【[^】]*资源名称[^】]*】\s*/,/^【影片名称】\s*/,/^【资源名称】\s*/,/^【标题】\s*/],_=J(()=>{let b=a.data.title||"";for(const P of F)b=b.replace(P,"");return b=b.replace(/【[^】]+】/g,"").trim(),b||a.data.title}),C=new Set(["4K","1080P","2160P","720P","480P","HDR","HDR10","HDR10+","DV","杜比视界","杜比全景声","高码率","BluRay","REMUX","HEVC","x264","x265","AVC","内封简繁英字幕","内嵌中英字幕","内封简繁","内嵌字幕","字幕","中文字幕","简繁字幕","中英字幕","内封字幕","臻彩","高清","WEB-DL","WEBRip","蓝光"]),w=[/\b(4K)\b/,/\b(1080[Pp])\b/,/\b(2160[Pp])\b/,/\b(720[Pp])\b/,/\b(HDR10?\+?)\b/i,/\b(DV)\b/i,/\b(BluRay|蓝光)\b/i,/\b(REMUX)\b/i,/\b(HEVC)\b/i,/\b(x264)\b/i,/\b(x265)\b/i,/\b(WEB-DL)\b/i,/\b(WEBRip)\b/i],k=J(()=>{const b=a.data.title||"",P=[],q=b.matchAll(/【([^】]+)】/g);for(const Y of q){const ee=Y[1].split(/[.·、,,\/\\|]/);for(const Q of ee){const ie=Q.trim();ie&&C.has(ie)&&!P.includes(ie)&&P.push(ie)}}for(const Y of w){const O=b.match(Y);if(O){const ee=O[1];P.includes(ee)||P.push(ee)}}const j=["杜比视界","杜比全景声","高码率","内封简繁英字幕","内嵌中英字幕","内封简繁","内嵌字幕","中文字幕","简繁字幕","中英字幕","内封字幕","臻彩"];for(const Y of j)b.includes(Y)&&!P.includes(Y)&&P.push(Y);return P.length===0&&a.fallbackTags&&a.fallbackTags.length>0?a.fallbackTags.slice(0,6):P.slice(0,10)});function L(b){return["4K","1080P","2160P","720P","480P","HDR","HDR10","HDR10+","DV","杜比视界","BluRay","REMUX","HEVC","x264","x265","臻彩","高清","WEB-DL","WEBRip"].includes(b)?"quality":b.includes("字幕")||b==="杜比全景声"||b==="高码率"?"subtitle":"default"}function B(){s("save",a.data)}function V(){a.data.share_url&&window.open(a.data.share_url,"_blank")}return(b,P)=>(d(),f("div",{class:we(["result-card",{clickable:e.loggedIn}]),onClick:P[0]||(P[0]=q=>e.loggedIn&&V())},[g("div",Hs,[n.value?(d(),f("img",{key:0,src:e.data.cover,alt:e.data.title,onError:u,loading:"lazy",fetchpriority:"low"},null,40,Ks)):e.fallbackImage&&!o.value?(d(),f("img",{key:1,src:e.fallbackImage,alt:"cover",class:"fallback-img",onError:v},null,40,Os)):(d(),f("div",{key:2,class:"cover-placeholder",style:ut({background:D.value})},[g("span",xs,[h.value.startsWith("data:")||h.value.startsWith("http")||h.value.startsWith("/")?(d(),f("img",{key:0,src:h.value,style:{width:"36px",height:"36px"}},null,8,Js)):(d(),f("span",Ws,m(h.value),1))])],4)),g("span",{class:"cover-tag",style:ut({background:Oe(sn)[e.data.cloud_type]})},m(Oe(Ae)[e.data.cloud_type]),5)]),g("div",Ys,[g("div",{class:"card-title",title:e.data.title},m(_.value),9,js),g("div",Gs,[g("span",null,"🕐 "+m(y.value),1),e.data.file_size?(d(),f("span",Qs,"📦 "+m(e.data.file_size),1)):R("",!0)]),k.value.length>0?(d(),f("div",Xs,[(d(!0),f($,null,oe(k.value,(q,j)=>(d(),f("span",{key:j,class:we(["tag","tag-"+L(q)])},m(q),3))),128))])):R("",!0),g("div",Zs,[g("div",$s,[M.value?(d(),f("span",{key:0,class:"meta-source",title:e.data.source},m(I.value)+" "+m(M.value),9,eo)):R("",!0)]),g("div",to,[e.data.share_url&&!e.loggedIn?(d(),f("button",{key:0,class:"action-btn get-link-btn",onClick:Gt(B,["stop"])}," 🔗 获取分享链接 ")):R("",!0),e.data.share_url&&e.loggedIn?(d(),f("button",{key:1,class:"action-btn open-link-btn",onClick:Gt(V,["stop"])}," 🔗 打开链接 ")):R("",!0)])])])],2))}}),tn=vt(so,[["__scopeId","data-v-862af59b"]]),oo={class:"video-card"},ao={class:"video-cover"},lo=["src","alt"],ro={class:"platform-tag"},io={class:"video-info"},uo={key:0,class:"video-author"},co={key:1,class:"video-desc"},fo=ht({__name:"VideoResultCard",props:{data:{}},emits:["save"],setup(e,{emit:t}){const a=e,s=t;function n(){s("save",a.data)}return(o,r)=>(d(),f("div",oo,[g("div",ao,[g("img",{src:e.data.cover,alt:e.data.title},null,8,lo),r[0]||(r[0]=g("div",{class:"play-icon"},"▶",-1)),g("span",ro,m(e.data.platform),1)]),g("div",io,[g("h4",null,m(e.data.title),1),e.data.author?(d(),f("p",uo,"👤 "+m(e.data.author),1)):R("",!0),e.data.description?(d(),f("p",co,m(e.data.description),1)):R("",!0)]),g("div",{class:"video-actions"},[g("button",{class:"save-btn",onClick:n},"📥 保存到云盘并获取下载链接")])]))}}),go=vt(fo,[["__scopeId","data-v-c6df203e"]]),ho={class:"search-result-page"},vo={class:"top-search-bar"},po={class:"search-bar-inner"},mo=["src","alt"],yo={key:1,class:"logo-text-only"},_o={key:2,class:"logo-icon"},wo={class:"search-box-inner"},ko={class:"top-right-user"},bo={class:"user-badge"},Co={key:0,class:"marquee-bar"},Eo={class:"marquee-track"},To={class:"marquee-text"},Io={class:"result-content"},Bo={key:0,class:"result-info-bar"},Mo={class:"info-left"},Ro={key:0,class:"info-item info-count"},Ao={key:1,class:"info-item info-type"},So={key:2,class:"filter-badge"},Po={key:3,class:"skip-badge"},No={class:"info-right"},Lo={key:0,class:"info-item info-time"},Do={key:1,class:"info-hasmore"},Uo={key:1,class:"loading-section"},Vo={class:"progress-track"},Fo={class:"progress-label"},zo={key:0},qo={key:1},Ho={key:0,class:"validate-count"},Ko={key:2},Oo={class:"progress-time"},xo={key:2,class:"cloud-tabs"},Jo=["onClick"],Wo=["src"],Yo={key:1,class:"tab-icon"},jo={key:2,class:"tab-count"},Go={key:3,class:"media-strip"},Qo=["href"],Xo={key:0,class:"strip-thumb"},Zo=["src"],$o={key:1,class:"strip-thumb strip-thumb-fallback"},ea={class:"strip-title"},ta={key:2,class:"strip-year"},na={key:3,class:"strip-rating"},sa={key:4,class:"strip-genres"},oa={key:5,class:"strip-tags"},aa={key:1,class:"media-strip-inner"},la={key:0,class:"strip-thumb"},ra=["src"],ia={key:1,class:"strip-thumb strip-thumb-fallback"},ua={class:"strip-title"},ca={key:2,class:"strip-year"},da={key:3,class:"strip-rating"},fa={key:4,class:"strip-genres"},ga={key:5,class:"strip-tags"},ha={key:0,class:"result-list flat-list"},va={key:0,class:"load-more-inline"},pa={key:1,class:"result-list channel-list"},ma={class:"channel-header"},ya=["src"],_a={key:1,class:"channel-icon"},wa={class:"channel-label"},ka={class:"channel-total-badge"},ba={key:2,class:"channel-time"},Ca=["onClick"],Ea={class:"channel-load-more-text"},Ta={key:2,class:"no-match-tip"},Ia={key:5,class:"result-list"},Ba={key:6,class:"empty-wrapper"},Ma={class:"empty-hint"},Ra={key:0,class:"empty-tips"},Aa={key:7,class:"load-more"},Sa={class:"dialog-title-bold"},Pa={class:"result-dialog-content"},Na={key:0,class:"progress-flow"},La={class:"step-dot"},Da={key:0,class:"step-check"},Ua={key:1,class:"step-num"},Va={class:"step-body"},Fa={class:"step-title"},za={key:0,class:"step-status loading"},qa={key:1,class:"step-status done"},Ha={class:"step-dot"},Ka={key:0,class:"step-check"},Oa={key:1,class:"step-num"},xa={class:"step-body"},Ja={key:0,class:"step-status loading"},Wa={key:1,class:"step-status done"},Ya={key:2,class:"step-status pending"},ja={class:"step-dot"},Ga={key:0,class:"step-check"},Qa={key:1,class:"step-num"},Xa={class:"step-body"},Za={key:0,class:"step-status loading"},$a={key:1,class:"step-status done"},el={key:2,class:"step-status pending"},tl={key:1,class:"save-error"},nl={key:2,class:"rename-info-bar"},sl={style:{"font-size":"13px"}},ol={key:3,class:"share-result"},al={class:"share-layout"},ll={class:"qr-left"},rl={class:"qr-hint"},il={class:"link-right"},ul={class:"success-header"},cl={class:"success-text"},dl={class:"link-row"},fl={key:0,class:"share-pwd-row"},gl={class:"share-tip"},hl={class:"share-tip-text"},vl={class:"dialog-actions"},pl={key:0,class:"login-error"},ml={key:0,class:"site-footer"},yl={class:"footer-inner"},_l={class:"footer-actions"},it=30,Ke=20,wl=ht({__name:"SearchResult",setup(e){const t=Hn(),a=Jn(),s=E(""),n=E(!1),o=E(!1),r=E(null),i=E([]),u=E([]),v=E([]),h=E([]),D=E(0),T=E(0),y=E(!1),M=E(1),I=E(0),F=E(0),_=E(""),C=E(0),w=E("search"),k=E(0),L=E(0),B=E(null),V=E([]),b=J(()=>P.value||q.value||""),P=E(""),q=E(""),j=E(""),Y=E(""),O=E(""),ee=E(!1),Q=E(null),ie=E(!1),kt=E(),ue=xn({username:"",password:""}),Qe=E(!1),De=E(""),bn={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},Xe=E(new Map),Ze=E([]),Te=E(it),pe=E({}),Ue=E({});function bt(c){var l;return((l=Ue.value[c])==null?void 0:l.icon)||on[c]||"📁"}async function Cn(){try{const c=await Gn(),l={};for(const N of c.types)l[N.type]={label:N.label,icon:N.icon};Ue.value=l}catch{}}nn(async()=>{const c=t.query.q||"";c&&(s.value=c,ze(c));const l=await Yn().catch(()=>({loggedIn:!1}));l.loggedIn&&l.username&&(Q.value={username:l.username}),Cn()});async function Ct(){var l,N,S;if(await((l=kt.value)==null?void 0:l.validate().catch(()=>!1))){Qe.value=!0,De.value="";try{const A=await Qn(ue.username,ue.password);localStorage.setItem("admin_token",A.token),Q.value={username:ue.username},ie.value=!1,ue.password="",Re.success("登录成功")}catch(A){De.value=((S=(N=A==null?void 0:A.response)==null?void 0:N.data)==null?void 0:S.error)||(A==null?void 0:A.message)||"登录失败"}finally{Qe.value=!1}}}function En(){localStorage.removeItem("admin_token"),Q.value=null,Re.success("已退出")}const $e=J(()=>{const c={};for(const H of i.value){const ne=H.cloud_type||"others";c[ne]=(c[ne]||0)+1}const l=[];l.push({type:"",label:"全部",count:i.value.length,icon:"📋"});const N={quark:1,baidu:2,aliyun:3,115:4,tianyi:5,"123pan":6,uc:7,xunlei:8,pikpak:9,magnet:10,ed2k:11,others:12},A=Object.keys(Ae).sort((H,ne)=>(N[H]??99)-(N[ne]??99));for(const H of A)l.push({type:H,label:Ae[H],count:c[H]||0,icon:bt(H)});return l}),Et=J(()=>$e.value.filter(c=>c.count>0));function Tn(){const c=$e.value.find(l=>l.type===_.value);return(c==null?void 0:c.label)||_.value||""}const et=J(()=>{const c=[];for(const l of h.value)c.push(...l.items);return c.sort((l,N)=>{const S=l.update_time||l.datetime||"",A=N.update_time||N.datetime||"";return!S&&!A?0:S?A?A.localeCompare(S):-1:1})}),Tt=J(()=>et.value.slice(0,Te.value)),In=J(()=>Te.value{const c=s.value.trim();return c?c.length<2?`「${c}」太短了,试试输入更完整的关键词`:c.length>30?"关键词太长啦,试试用几个核心词代替整句话":(c.match(/[\u4e00-\u9fff]/g)||[]).length===0?"网盘资源通常以中文命名,试试用中文搜索":`「${c}」暂时没找到匹配的资源`:"请输入关键词进行搜索"}),It=J(()=>{const c=s.value.trim();if(!c)return["输入电视剧/电影/文件名称试试"];const l=[];c.length<2&&l.push("输入至少 2 个字符,试试完整的资源名称"),c.length>30&&l.push("缩短到 2-10 个字,用核心关键词搜索更精准");const N=(c.match(/[\u4e00-\u9fff]/g)||[]).length;return N===0&&l.push("国内网盘资源标题大多是中文,试试转换为中文名称"),N>0&&N=2&&l.push("混合了太多非中文字符,提取核心中文关键词试试"),(c.includes(" ")||c.includes(" "))&&l.push("搜索词中包含了空格,试试去掉空格连续输入"),["的","了","是","在","有","我","他","她","它","这","那","和","与","及","或","但","而","且"].filter(ne=>c.includes(ne)).length>=2&&c.length>6&&l.push("看起来像是一句话,试着只保留资源核心名称(去掉「的」「了」「我」等词)"),(c.match(/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~`《》【】!@#¥%……&*()——+|]/g)||[]).length>2&&l.push("特殊符号过多,试试只用中英文和数字"),c.length===1&&N===1&&l.push("单个汉字过于宽泛,试试完整的剧名或文件名"),l.length===0&&(l.push("试试更换关键词或减短搜索词"),l.push("检查一下是否输入了正确的资源名称")),l.slice(0,4)});function Mn(){Te.value+=it}function Bt(c){const l=pe.value[c.cloud_type]||Ke;return(c.items||[]).slice(0,l)}function Rn(c){const l=pe.value[c.cloud_type]||Ke;return(c.items||[]).length>l}function An(c){pe.value={...pe.value,[c]:(pe.value[c]||Ke)+Ke}}function Sn(){pe.value={}}const Mt=J(()=>{let c=h.value;return _.value&&(c=c.filter(l=>l.cloud_type===_.value)),c}),Pn=J(()=>I.value<=0?1:Math.ceil(I.value/20)),Rt=J(()=>$e.value.filter(c=>c.type!==""&&c.count>0).length);function Nn(){s.value.trim()&&ze(s.value.trim())}function Ln(){C.value=0,w.value="search";const c=Date.now();F.value=0;const l=setInterval(()=>{if(!n.value){C.value=100,clearInterval(l);return}F.value=Date.now()-c,C.value<60?C.value+=1+Math.random()*3:C.value<85?(w.value="validate",C.value+=.5+Math.random()*1):C.value<98&&(C.value+=.2+Math.random()*.5)},200);return l}function tt(c){const l=c.map(N=>N.update_time||N.datetime||"").filter(Boolean).sort().reverse();return l.length===0?"":Dn(l[0])}function Dn(c){if(!c)return"";const l=Date.now(),N=new Date(c);if(isNaN(N.getTime()))return c.slice(0,10);const S=l-N.getTime();if(S<0)return c.slice(0,10);const A=Math.floor(S/6e4);if(A<60)return A<=1?"刚刚":`${A} 分钟前`;const H=Math.floor(A/60);if(H<24)return`${H} 小时前`;const ne=Math.floor(H/24);return ne<30?`${ne} 天前`:`${Math.floor(ne/30)} 个月前`}function Ie(c){return bt(c)}Qt(()=>t.query.q,c=>{c&&c!==s.value&&(s.value=c,ze(c))});const me=E(!1),Ve=E(null),ye=E(!1),ce=E(!1),fe=E(null),ae=E(""),Be=E(""),_e=E([]),nt=E(null),W=E(0),Fe=J(()=>{var l;const c=((l=Ve.value)==null?void 0:l.cloud_type)||"quark";return Ae[c]||"夸克网盘"}),Un=J(()=>{var N;const c=((N=Ve.value)==null?void 0:N.title)||"";return c.replace(/【[^】]+】/g,"").trim()||c||"资源"});async function ze(c){n.value=!0;const l=Date.now();Te.value=it,M.value=1,i.value=[],u.value=[],v.value=[],h.value=[],Ze.value=[],Xe.value=new Map,D.value=0,T.value=0,y.value=!1,_.value="",F.value=0,ee.value=!1,O.value="",Sn();const N=Ln();try{r.value="SEARCH";let S=0,A=0;const H=new Map;let ne=!1;await jn(c,{onStats:U=>{if(F.value=Date.now()-l,I.value=U.total,B.value=U.content_info||null,V.value=U.content_tags||[],U.fallback_image){P.value=U.fallback_image;const X=new Image;X.onload=()=>{},X.onerror=()=>{P.value=""},X.src=U.fallback_image}if(U.site_logo&&(q.value=U.site_logo),U.site_name&&(j.value=U.site_name),U.site_disclaimer&&(Y.value=U.site_disclaimer),U.site_marquee&&(O.value=U.site_marquee),w.value="validate",U.channels){const X=new Map,te=[];for(const x of U.channels)for(const de of x.items||[])X.set(de.id,de),te.push(de);Xe.value=X,v.value=te}U.link_validation&&(k.value=U.total)},onResult:(U,X)=>{if(S++,L.value=S,F.value=Date.now()-l,X){const te=Xe.value.get(U);te&&(Ze.value.push(te),i.value=[...Ze.value],h.value=At(i.value).map(x=>({...x,newestTime:tt(x.items)})))}},onComplete:U=>{F.value=Date.now()-l;const X=U.results||[];I.value=X.length,D.value=U.filtered||0,T.value=U.skipped||0,y.value=!1,L.value=k.value,i.value=X,h.value=(U.channels||[]).map(x=>({...x,newestTime:tt(x.items)}));const te={};for(const x of X){const de=x.cloud_type||"others";te[de]||(te[de]=[]),te[de].push(x)}h.value=h.value.map(x=>({...x,count:(te[x.cloud_type]||[]).length,items:te[x.cloud_type]||[]})).filter(x=>x.count>0),v.value=X,n.value=!1,w.value="done",C.value=100,clearInterval(N)},onError:U=>{console.error("搜索失败",U),n.value=!1,w.value="done",C.value=100,clearInterval(N)}})}catch(S){console.error("搜索异常",S),n.value=!1,w.value="done",C.value=100,clearInterval(N)}}function At(c){const l={},N={quark:1,baidu:2,aliyun:3,115:4,tianyi:5,"123pan":6,uc:7,xunlei:8,pikpak:9,magnet:10,ed2k:11,others:12};for(const S of c){const A=S.cloud_type||"others";l[A]||(l[A]=[]),l[A].push(S)}return Object.entries(l).sort((S,A)=>(N[S[0]]??99)-(N[A[0]]??99)).map(([S,A])=>({cloud_type:S,label:Ae[S]||S,color:sn[S]||"#95a5a6",count:A.length,items:A,newestTime:tt(A)}))}async function St(){o.value=!0,M.value++;try{const c=await Xn(s.value,M.value),l=c.results;i.value.push(...l),I.value=c.total,y.value=c.total>i.value.length,D.value+=c.filtered||0,h.value=At(i.value)}catch(c){console.error("加载更多失败",c)}finally{o.value=!1}}function Pt(){const c=s.value.trim();c&&(a.replace("/search?q="+encodeURIComponent(c)),ze(c))}async function Nt(c){var N;Ve.value=c,ce.value=!1,fe.value=null,ae.value="",Be.value="",_e.value=[],me.value=!0,ye.value=!0,W.value=1;const l=c.cloud_type||"quark";try{const S=await Zn({type:"search",source:c,target_cloud:l});fe.value=S,ce.value=S.success,S.success&&(((N=S.renamed)==null?void 0:N.length)>0&&(_e.value=S.renamed),W.value=2,await new Promise(A=>setTimeout(A,600)),W.value=3,await new Promise(A=>setTimeout(A,400)),S.share_url&&(ae.value=S.share_url,Be.value=S.share_pwd||S.sharePwd||"",await new Promise(A=>setTimeout(A,300))),W.value=4)}catch(S){fe.value={success:!1,share_url:"",file_name:"",file_size:"",message:S.message||"保存请求失败"},ce.value=!1}finally{me.value=!1}}async function Vn(c){Ve.value=c,ce.value=!1,fe.value=null,ae.value="",Be.value="",_e.value=[],me.value=!0,ye.value=!0;try{const l=await $n({video_url:c.video_url,title:c.title,target_cloud:"quark"});fe.value=l,ce.value=l.success,l.success&&l.share_url&&(ae.value=l.share_url)}catch(l){fe.value={success:!1,share_url:"",file_name:"",file_size:"",message:l.message||"保存请求失败"},ce.value=!1}finally{me.value=!1}}Qt([ae,me],async([c,l])=>{c&&!l&&ye.value&&(await Wn(),nt.value&&Ne.toCanvas(nt.value,c,{width:180,margin:1}))});function Fn(){if(!ae.value)return;const c=ae.value;navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(c).then(()=>{Re.success("链接已复制")}).catch(()=>{Dt(c)}):Dt(c)}function Lt(){window.open("/disclaimer/","_blank")}function Dt(c){const l=document.createElement("textarea");l.value=c,l.style.position="fixed",l.style.left="-9999px",l.style.top="-9999px",l.style.opacity="0",document.body.appendChild(l),l.select();try{document.execCommand("copy"),Re.success("链接已复制")}catch{Re.warning("复制失败,请手动复制链接")}document.body.removeChild(l)}return(c,l)=>{var Ut,Vt,Ft,zt,qt,Ht,Kt,Ot,xt,Jt,Wt,Yt,jt;const N=le("router-link"),S=le("el-icon"),A=le("el-input"),H=le("el-button"),ne=le("el-skeleton"),U=le("el-alert"),X=le("el-tag"),te=le("el-dialog"),x=le("el-form-item"),de=le("el-form");return d(),f($,null,[g("div",ho,[g("div",vo,[g("div",po,[z(N,{to:"/",class:"logo-link",title:"返回首页"},{default:K(()=>[q.value?(d(),f("img",{key:0,src:q.value,alt:j.value||"首页",class:"logo-img",onError:l[0]||(l[0]=p=>p.target.style.display="none")},null,40,mo)):j.value?(d(),f("div",yo,m(j.value),1)):(d(),f("div",_o,[...l[11]||(l[11]=[g("svg",{viewBox:"0 0 28 28",width:"28",height:"28",fill:"none"},[g("circle",{cx:"14",cy:"14",r:"13",stroke:"var(--primary-color)","stroke-width":"2"}),g("path",{d:"M8 14l4 4 8-8",stroke:"var(--primary-color)","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]))]),_:1}),g("div",wo,[z(A,{modelValue:s.value,"onUpdate:modelValue":l[1]||(l[1]=p=>s.value=p),placeholder:"搜索网盘资源,或粘贴视频/网盘链接...",size:"large",clearable:"",onKeyup:Xt(Pt,["enter"])},{prefix:K(()=>[z(S,null,{default:K(()=>[z(Oe(Kn))]),_:1})]),_:1},8,["modelValue"]),z(H,{type:"primary",size:"large",onClick:Pt,class:"result-search-btn"},{default:K(()=>[...l[12]||(l[12]=[G("搜 索",-1)])]),_:1})])]),g("div",ko,[Q.value?(d(),f($,{key:0},[g("span",bo,m(Q.value.username),1),z(H,{size:"small",text:"",onClick:En},{default:K(()=>[...l[13]||(l[13]=[G("退出",-1)])]),_:1})],64)):(d(),Me(H,{key:1,size:"small",onClick:l[2]||(l[2]=p=>ie.value=!0)},{default:K(()=>[...l[14]||(l[14]=[G("登录",-1)])]),_:1}))])]),O.value?(d(),f("div",Co,[l[15]||(l[15]=g("span",{class:"marquee-icon marquee-icon-left"},"📢",-1)),g("div",Eo,[g("span",To,m(O.value),1)]),l[16]||(l[16]=g("span",{class:"marquee-icon marquee-icon-right"},"📢",-1))])):R("",!0),g("div",Io,[r.value==="SEARCH"&&!n.value?(d(),f("div",Bo,[g("div",Mo,[I.value>0?(d(),f("span",Ro,"已为您挑选到最符合 "+m(I.value)+" 条结果",1)):R("",!0),Rt.value>0?(d(),f("span",Ao,"📂 "+m(Rt.value)+" 个网盘",1)):R("",!0),D.value>0?(d(),f("span",So,"❌ 失效 "+m(D.value),1)):R("",!0),T.value>0?(d(),f("span",Po,"⏭ 跳过 "+m(T.value),1)):R("",!0)]),g("div",No,[F.value>0?(d(),f("span",Lo,"⏱ "+m(F.value)+"ms",1)):R("",!0),y.value?(d(),f("span",Do,"📄 第 "+m(M.value)+" 页",1)):R("",!0),g("button",{class:"refresh-btn",onClick:Nn,title:"强制刷新"},"🔄 刷新")])])):R("",!0),n.value?(d(),f("div",Uo,[g("div",Vo,[g("div",{class:"progress-bar",style:ut({width:C.value+"%"})},null,4)]),g("div",Fo,[w.value==="search"?(d(),f("span",zo,"🔍 正在搜索中...")):w.value==="validate"?(d(),f("span",qo,[l[17]||(l[17]=G(" ✅ 正在验证链接有效性 ",-1)),k.value>0?(d(),f("span",Ho," ("+m(L.value)+" / "+m(k.value)+") ",1)):R("",!0)])):(d(),f("span",Ko,"⏳ 加载中...")),g("span",Oo,"⏱ "+m(F.value)+"ms",1)]),z(ne,{rows:3,animated:"",class:"loading-skeleton"})])):R("",!0),r.value==="SEARCH"&&Et.value.length>0&&!n.value?(d(),f("div",xo,[(d(!0),f($,null,oe(Et.value,p=>(d(),f("div",{key:p.type||"all",class:we(["cloud-tab",{active:_.value===(p.type||"")}]),onClick:Z=>_.value=p.type||""},[p.icon&&(p.icon.startsWith("data:")||p.icon.startsWith("http")||p.icon.startsWith("/"))?(d(),f("img",{key:0,src:p.icon,class:"tab-icon-img"},null,8,Wo)):p.icon?(d(),f("span",Yo,m(p.icon),1)):R("",!0),G(" "+m(p.label)+" ",1),p.count>0?(d(),f("span",jo,m(p.count),1)):R("",!0)],10,Jo))),128))])):R("",!0),!n.value&&(B.value||V.value.length>0)&&r.value==="SEARCH"?(d(),f("div",Go,[(Ut=B.value)!=null&&Ut.tmdb_url?(d(),f("a",{key:0,href:B.value.tmdb_url,target:"_blank",class:"media-strip-inner",rel:"noopener"},[(Vt=B.value)!=null&&Vt.cover&&!ee.value?(d(),f("span",Xo,[g("img",{src:B.value.cover,onError:l[3]||(l[3]=p=>ee.value=!0)},null,40,Zo)])):(d(),f("span",$o,"🎬")),g("span",ea,m(((Ft=B.value)==null?void 0:Ft.title)||s.value),1),(zt=B.value)!=null&&zt.year?(d(),f("span",ta,m(B.value.year),1)):R("",!0),(qt=B.value)!=null&&qt.rating?(d(),f("span",na,"⭐ "+m(B.value.rating),1)):R("",!0),(Kt=(Ht=B.value)==null?void 0:Ht.genres)!=null&&Kt.length?(d(),f("span",sa,[(d(!0),f($,null,oe(B.value.genres.slice(0,3),(p,Z)=>(d(),f("span",{key:Z,class:"strip-genre"},m(p),1))),128))])):R("",!0),V.value.length>0?(d(),f("span",oa,[(d(!0),f($,null,oe(V.value.slice(0,3),p=>(d(),f("span",{key:p,class:"strip-tag"},m(p),1))),128))])):R("",!0),l[18]||(l[18]=g("span",{class:"strip-right"},"信息来源 TMDB · 更多详情 →",-1))],8,Qo)):(d(),f("div",aa,[(Ot=B.value)!=null&&Ot.cover&&!ee.value?(d(),f("span",la,[g("img",{src:B.value.cover,onError:l[4]||(l[4]=p=>ee.value=!0)},null,40,ra)])):(d(),f("span",ia,"🎬")),g("span",ua,m(((xt=B.value)==null?void 0:xt.title)||s.value),1),(Jt=B.value)!=null&&Jt.year?(d(),f("span",ca,m(B.value.year),1)):R("",!0),(Wt=B.value)!=null&&Wt.rating?(d(),f("span",da,"⭐ "+m(B.value.rating),1)):R("",!0),(jt=(Yt=B.value)==null?void 0:Yt.genres)!=null&&jt.length?(d(),f("span",fa,[(d(!0),f($,null,oe(B.value.genres.slice(0,3),(p,Z)=>(d(),f("span",{key:Z,class:"strip-genre"},m(p),1))),128))])):R("",!0),V.value.length>0?(d(),f("span",ga,[(d(!0),f($,null,oe(V.value.slice(0,3),p=>(d(),f("span",{key:p,class:"strip-tag"},m(p),1))),128))])):R("",!0),l[19]||(l[19]=g("span",{class:"strip-right"},"信息来源 TMDB · 更多详情 →",-1))]))])):R("",!0),!n.value&&r.value==="SEARCH"?(d(),f($,{key:4},[!_.value&&Tt.value.length>0?(d(),f("div",ha,[(d(!0),f($,null,oe(Tt.value,(p,Z)=>(d(),Me(tn,{key:"flat-"+Z,data:p,fallbackTags:V.value,fallbackImage:b.value,loggedIn:Q.value!==null,cloudTypeMap:Ue.value,onSave:Nt},null,8,["data","fallbackTags","fallbackImage","loggedIn","cloudTypeMap"]))),128)),In.value?(d(),f("div",va,[z(H,{onClick:Mn,loading:o.value,class:"load-more-btn"},{default:K(()=>[G(" 加载更多 (已显示 "+m(Te.value)+" / "+m(et.value.length)+") ",1)]),_:1},8,["loading"])])):R("",!0)])):_.value&&Mt.value.length>0?(d(),f("div",pa,[(d(!0),f($,null,oe(Mt.value,(p,Z)=>(d(),f("div",{key:"ch-"+p.cloud_type,class:"channel-section"},[g("span",ma,[Ie(p.cloud_type).startsWith("data:")||Ie(p.cloud_type).startsWith("http")||Ie(p.cloud_type).startsWith("/")?(d(),f("img",{key:0,src:Ie(p.cloud_type),class:"channel-icon-img"},null,8,ya)):(d(),f("span",_a,m(Ie(p.cloud_type)),1)),g("span",wa,m(p.label),1),g("span",ka,m(p.count)+" 条资源",1),p.newestTime?(d(),f("span",ba,"🕐 "+m(p.newestTime),1)):R("",!0)]),(d(!0),f($,null,oe(Bt(p),(ge,zn)=>(d(),Me(tn,{key:"ch-"+Z+"-"+zn,data:ge,fallbackTags:V.value,fallbackImage:b.value,loggedIn:Q.value!==null,cloudTypeMap:Ue.value,onSave:Nt},null,8,["data","fallbackTags","fallbackImage","loggedIn","cloudTypeMap"]))),128)),Rn(p)?(d(),f("div",{key:0,class:"channel-load-more",onClick:ge=>An(p.cloud_type)},[g("span",Ea," 展开更多 (已显示 "+m(Bt(p).length)+" / "+m(p.count)+") ",1)],8,Ca)):R("",!0)]))),128))])):I.value>0&&_.value?(d(),f("div",Ta,[g("span",null,"当前页暂无「"+m(Tn())+"」资源",1),y.value?(d(),Me(H,{key:0,size:"small",onClick:St,loading:o.value},{default:K(()=>[...l[20]||(l[20]=[G(" 加载更多试试 ",-1)])]),_:1},8,["loading"])):R("",!0)])):R("",!0)],64)):!n.value&&r.value==="VIDEO_PARSE"?(d(),f("div",Ia,[(d(!0),f($,null,oe(u.value,(p,Z)=>(d(),Me(go,{key:Z,data:p,onSave:Vn},null,8,["data"]))),128))])):R("",!0),!n.value&&!o.value&&I.value===0&&v.value.length===0?(d(),f("div",Ba,[l[21]||(l[21]=g("div",{class:"empty-icon"},"🔍",-1)),l[22]||(l[22]=g("div",{class:"empty-title"},"没有找到相关资源",-1)),g("div",Ma,m(Bn.value),1),It.value.length>0?(d(),f("div",Ra,[(d(!0),f($,null,oe(It.value,(p,Z)=>(d(),f("div",{key:Z,class:"empty-tip-item"},"💡 "+m(p),1))),128))])):R("",!0)])):R("",!0),y.value&&r.value==="SEARCH"&&!n.value?(d(),f("div",Aa,[z(H,{loading:o.value,onClick:St},{default:K(()=>[G("加载更多 ("+m(M.value)+"/"+m(Pn.value)+")",1)]),_:1},8,["loading"])])):R("",!0)]),z(te,{modelValue:ye.value,"onUpdate:modelValue":l[7]||(l[7]=p=>ye.value=p),width:"650px","close-on-click-modal":!1,class:"save-dialog"},{header:K(()=>[g("strong",Sa,m(Un.value),1)]),default:K(()=>{var p,Z;return[g("div",Pa,[me.value?(d(),f("div",Na,[g("div",{class:we(["progress-step",{active:W.value>=1,done:W.value>1}])},[g("div",La,[W.value>1?(d(),f("span",Da,"✓")):(d(),f("span",Ua,"1"))]),g("div",Va,[g("span",Fa,"正在转存到"+m(Fe.value)+"...",1),W.value===1?(d(),f("span",za,"进行中")):(d(),f("span",qa,"已完成"))])],2),g("div",{class:we(["progress-step",{active:W.value>=2,done:W.value>2}])},[g("div",Ha,[W.value>2?(d(),f("span",Ka,"✓")):(d(),f("span",Oa,"2"))]),g("div",xa,[l[23]||(l[23]=g("span",{class:"step-title"},"正在重命名文件(防和谐)...",-1)),W.value===2?(d(),f("span",Ja,"进行中")):W.value>2?(d(),f("span",Wa,"已完成")):(d(),f("span",Ya,"等待中"))])],2),g("div",{class:we(["progress-step",{active:W.value>=3,done:W.value>3}])},[g("div",ja,[W.value>3?(d(),f("span",Ga,"✓")):(d(),f("span",Qa,"3"))]),g("div",Xa,[l[24]||(l[24]=g("span",{class:"step-title"},"正在生成分享链接...",-1)),W.value===3?(d(),f("span",Za,"进行中")):W.value>3?(d(),f("span",$a,"已完成")):(d(),f("span",el,"等待中"))])],2)])):ce.value?R("",!0):(d(),f("div",tl,[z(U,{type:"error",title:((p=fe.value)==null?void 0:p.message)||((Z=fe.value)==null?void 0:Z.error)||"保存失败","show-icon":"",closable:!1},null,8,["title"])])),ce.value&&_e.value.length>0&&ae.value?(d(),f("div",nl,[z(U,{type:"warning",closable:!1,"show-icon":""},{title:K(()=>[g("span",sl,"已对 "+m(_e.value.length)+" 个文件执行防和谐重命名",1)]),default:K(()=>[(d(!0),f($,null,oe(_e.value,ge=>(d(),f("div",{key:ge,class:"rename-item"},m(ge),1))),128))]),_:1})])):R("",!0),ce.value&&ae.value?(d(),f("div",ol,[g("div",al,[g("div",ll,[g("canvas",{ref_key:"qrCanvasRef",ref:nt,class:"qr-canvas"},null,512),g("p",rl,m(Fe.value)+"APP扫码转存",1),l[25]||(l[25]=g("p",{class:"qr-subhint"},"保存到你自己网盘",-1)),l[26]||(l[26]=g("div",{class:"qr-disclaimer-short"},[g("span",null,"⚠️ 本站资源仅供学习交流,请于24h内删除")],-1))]),g("div",il,[g("div",ul,[z(S,{class:"success-icon",size:20,color:"#67c23a"},{default:K(()=>[z(Oe(On))]),_:1}),g("span",cl,[G("【"+m(Fe.value)+"】",1),l[27]||(l[27]=g("strong",null,"分享链接已生成!",-1))])]),g("div",dl,[z(A,{modelValue:ae.value,"onUpdate:modelValue":l[5]||(l[5]=ge=>ae.value=ge),readonly:"",class:"share-input"},null,8,["modelValue"])]),Be.value?(d(),f("div",fl,[l[28]||(l[28]=g("span",{class:"pwd-label"},"🔑 提取密码:",-1)),z(X,{type:"warning"},{default:K(()=>[G(m(Be.value),1)]),_:1}),l[29]||(l[29]=g("span",{class:"pwd-hint"},"打开链接后需输入密码",-1))])):R("",!0),g("div",gl,[l[34]||(l[34]=g("span",{class:"share-tip-warn"},"⚠️",-1)),g("div",hl,[l[30]||(l[30]=g("strong",null,"请尽快复制链接到浏览器打开",-1)),l[31]||(l[31]=G(" 或 ",-1)),g("strong",null,"用"+m(Fe.value)+"APP扫码",1),l[32]||(l[32]=g("br",null,null,-1)),l[33]||(l[33]=g("strong",null,"转存至您的网盘,以免资源被官方和谐",-1))])]),l[38]||(l[38]=g("div",{class:"warnings-box"},[g("p",{class:"warning-item"},"郑重警告一:网盘内除您所需资源外,不要打开任何不相关内容。"),g("p",{class:"warning-item"},"郑重警告二:网盘内除您所需资源外,不要打开任何不相关内容。"),g("p",{class:"warning-item"},"郑重警告三:网盘内除您所需资源外,不要打开任何不相关内容。"),g("p",{class:"warning-item"},"郑重警告四:以上警告说三遍,你还要明知故犯吗?")],-1)),g("div",vl,[z(H,{class:"disclaimer-btn",onClick:Lt},{default:K(()=>[...l[35]||(l[35]=[G("📜 免责声明",-1)])]),_:1}),z(H,{onClick:l[6]||(l[6]=ge=>ye.value=!1)},{default:K(()=>[...l[36]||(l[36]=[G("关闭",-1)])]),_:1}),z(H,{type:"primary",onClick:Fn},{default:K(()=>[...l[37]||(l[37]=[G("一键复制链接",-1)])]),_:1})])])])])):R("",!0)])]}),_:1},8,["modelValue"])]),z(te,{modelValue:ie.value,"onUpdate:modelValue":l[10]||(l[10]=p=>ie.value=p),title:"登录",width:"380px","close-on-click-modal":!1,top:"25vh"},{default:K(()=>[z(de,{ref_key:"loginFormRef",ref:kt,model:ue,rules:bn,"label-width":"0",onKeyup:Xt(Ct,["enter"])},{default:K(()=>[z(x,{prop:"username"},{default:K(()=>[z(A,{modelValue:ue.username,"onUpdate:modelValue":l[8]||(l[8]=p=>ue.username=p),placeholder:"用户名","prefix-icon":"User"},null,8,["modelValue"])]),_:1}),z(x,{prop:"password"},{default:K(()=>[z(A,{modelValue:ue.password,"onUpdate:modelValue":l[9]||(l[9]=p=>ue.password=p),type:"password",placeholder:"密码","prefix-icon":"Lock","show-password":""},null,8,["modelValue"])]),_:1}),z(x,null,{default:K(()=>[z(H,{type:"primary",loading:Qe.value,style:{width:"100%"},onClick:Ct},{default:K(()=>[...l[39]||(l[39]=[G("登录",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),De.value?(d(),f("p",pl,m(De.value),1)):R("",!0)]),_:1},8,["modelValue"]),Y.value?(d(),f("div",ml,[g("div",yl,m(Y.value),1),g("div",_l,[z(H,{class:"footer-disclaimer-btn",size:"small",onClick:Lt},{default:K(()=>[...l[40]||(l[40]=[G("📜 免责声明",-1)])]),_:1})])])):R("",!0)],64)}}}),El=vt(wl,[["__scopeId","data-v-ceea2d94"]]);export{El as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/SystemConfig-C3is0eeI.js b/source_clean/frontend-src/dist-vite/assets/SystemConfig-C3is0eeI.js
new file mode 100644
index 0000000..04fd1e4
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/SystemConfig-C3is0eeI.js
@@ -0,0 +1,16 @@
+import{d as Tl,o as Il,E as u,x as Ol,a as p,c as y,K as q,L as M,f as a,w as i,b as l,v as D,h as g,i as Z,j as V,l as r,k as Re,N as jl,e as W,t as b,n as $e,y as k,M as Al,F as O,r as j,z as Bl,u as El}from"./index-D279dJND.js";import{k as Ll,w as Rl,x as $l,p as Nl,y as Fl,z as Gl,A as ee,B as Wl,C as Kl,D as ql,_ as Ml}from"./_plugin-vue_export-helper-1Z-znrfZ.js";const Dl={class:"system-config"},Jl={class:"fallback-upload-wrap"},Hl={class:"fallback-upload-row"},Yl={key:0,class:"fallback-preview"},Ql=["src"],Xl={style:{display:"flex",gap:"8px","align-items":"center",width:"100%"}},Zl={key:0,style:{"font-size":"11px",color:"#e6a23c","white-space":"nowrap"}},et={class:"pansou-status-grid"},lt={class:"db-stat-item"},tt={class:"db-stat-item"},st={class:"db-stat-value"},at={class:"db-stat-item"},ot={class:"db-stat-value"},nt={class:"db-stat-item"},it={class:"db-stat-value"},dt={class:"db-stat-item"},rt={class:"db-stat-value"},ut={style:{display:"flex",gap:"8px","align-items":"center",width:"100%"}},pt={style:{display:"flex",gap:"8px","align-items":"center",width:"100%"}},ft={style:{display:"flex",gap:"8px","align-items":"center",width:"100%"}},ct={style:{display:"flex",gap:"8px","align-items":"center",width:"100%"}},vt={style:{display:"flex",gap:"8px","align-items":"center",width:"100%"}},mt={key:0,style:{"text-align":"center",padding:"16px"}},yt={key:1,class:"db-status-grid"},_t={class:"db-stat-item"},gt={class:"db-stat-item"},bt={class:"db-stat-value"},wt={class:"db-stat-item"},xt={class:"db-stat-value"},kt={class:"db-stat-item"},Vt={class:"db-stat-value"},ht={class:"db-stat-item"},Ct={class:"db-stat-value"},Pt={class:"db-stat-item"},St={class:"db-stat-value"},Ut={class:"strategy-section"},zt={class:"field-block"},Tt={class:"field-label-row"},It={class:"field-block"},Ot={class:"field-label-row"},jt={class:"strategy-grid"},At={class:"grid-cell"},Bt={class:"field-label-row"},Et={class:"grid-cell"},Lt={class:"field-label-row"},Rt={class:"grid-cell"},$t={class:"field-label-row"},Nt={class:"grid-cell"},Ft={class:"field-label-row"},Gt={class:"grid-cell"},Wt={class:"field-label-row"},Kt={class:"grid-cell"},qt={class:"field-label-row"},Mt={class:"field-block"},Dt={style:{display:"flex",gap:"8px","align-items":"stretch"}},Jt={key:0,class:"tag-list"},Ht={key:1,class:"tag-empty"},Yt={class:"field-block"},Qt={style:{display:"flex",gap:"8px","align-items":"stretch"}},Xt={key:0,class:"tag-list"},Zt={key:1,class:"tag-empty"},es={class:"field-block"},ls={style:{display:"flex",gap:"8px","align-items":"stretch"}},ts={key:0,class:"tag-list"},ss={key:1,class:"tag-empty"},as={class:"field-block"},os={style:{display:"flex",gap:"8px","align-items":"stretch"}},ns={key:0,class:"tag-list"},is={key:1,class:"tag-empty"},ds={class:"field-block"},rs={style:{display:"flex",gap:"8px","align-items":"stretch"}},us={key:0,class:"tag-list"},ps={key:1,class:"tag-empty"},fs={class:"strategy-section"},cs={style:{display:"grid","grid-template-columns":"repeat(2,1fr)",gap:"8px"}},vs={style:{display:"flex","align-items":"center",gap:"8px","margin-bottom":"6px"}},ms={key:0},ys={style:{display:"flex","flex-wrap":"wrap",gap:"16px"}},_s={style:{border:"1px solid var(--el-border-color-light)","border-radius":"6px",padding:"12px 16px","margin-bottom":"16px"}},gs={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},bs={key:1,style:{color:"#ccc"}},ws={key:1,style:{color:"#ccc"}},xs={key:1,style:{color:"#ccc"}},ks={key:1,style:{color:"#ccc"}},Vs={key:0,style:{color:"#909399","font-size":"12px"}},hs={class:"save-bar"},Cs=Tl({__name:"SystemConfig",props:{section:{}},setup(Ne){const Fe=Ne,Ge=Bl();El();const U=D(()=>Fe.section||Ge.query.section||""),_e=g(),ue=g([]),d=Z({}),E=g([]),J=g(""),L=g([]),H=g(""),R=g([]),Y=g(""),$=g([]),Q=g(""),X=g(""),N=g([]),pe=g(!1),fe=g(!1),A=Z({db_size:"-",save_records:0,search_stats:0,cloud_configs:0,content_cache:0,redis_status:"未连接"}),ge=g(!0),le=g(!1),te=g(!1),se=g(!1),ae=g(!1),oe=g(!1),ne=g(!1),P=g(null),be=g(!0),ie=g(!1),ce=D({get:()=>String(d.search_proxy_enabled)==="true",set:t=>{d.search_proxy_enabled=t?"true":"false"}}),we=D({get:()=>String(d.pansou_web_enabled)==="true",set:t=>{d.pansou_web_enabled=t?"true":"false"}}),xe=D({get:()=>String(d.search_all_channels)==="true",set:t=>{d.search_all_channels=t?"true":"false"}}),ke=D({get:()=>String(d.auto_update_enabled)==="true",set:t=>{d.auto_update_enabled=t?"true":"false"}}),Ve=g([]),F=g({}),ve=g(!1),he=g([]);async function We(){try{const t=await fetch("/api/admin/cloud-configs",{headers:{Authorization:"Bearer "+(localStorage.getItem("admin_token")||"")}});if(!t.ok)return;const e=await t.json(),s=Array.isArray(e)?[...new Set(e.map(o=>o.promotion_account||"").filter(Boolean))]:[];he.value=s}catch{}}const v=Z({id:null,account:"",channels:[],events:{on_save_success:!0,on_save_fail:!0,on_cookie_expire:!0,on_cleanup:!1}}),Ke=D(()=>{var e;const t={};for(const[s,o]of Object.entries(F.value))(e=m.channels[s])!=null&&e._enabled&&(t[s]=o);return t}),m=Z({channels:{},events:{on_save_success:!0,on_save_fail:!0,on_cookie_expire:!0,on_cleanup:!1}});function qe(t){var e,s,o,w;if(t){v.id=t.id,v.account=t.account;const f=t.notify_config||{};v.channels=Object.keys(f.channels||{}),v.events={on_save_success:((e=f.events)==null?void 0:e.on_save_success)!==!1,on_save_fail:((s=f.events)==null?void 0:s.on_save_fail)!==!1,on_cookie_expire:((o=f.events)==null?void 0:o.on_cookie_expire)!==!1,on_cleanup:((w=f.events)==null?void 0:w.on_cleanup)===!0}}else v.id=null,v.account="",v.channels=[],v.events={on_save_success:!0,on_save_fail:!0,on_cookie_expire:!0,on_cleanup:!1}}function Me(){v.id=null,v.account="",v.channels=[],v.events={on_save_success:!0,on_save_fail:!0,on_cookie_expire:!0,on_cleanup:!1}}function de(t,e){return((t.notify_config||{}).events||{})[e]===!0}async function De(){if(!v.account){u.warning("请填写推广账号");return}ve.value=!0;try{const t={account:v.account,notify_config:{channels:{},events:v.events}},e={};for(const o of v.channels)e[o]={};t.notify_config.channels=e,v.id?await fetch("/api/admin/push-users/"+v.id,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:"Bearer "+(localStorage.getItem("admin_token")||"")},body:JSON.stringify(t)}):await fetch("/api/admin/push-users",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+(localStorage.getItem("admin_token")||"")},body:JSON.stringify(t)});const s=!!v.id;v.id=null,v.account="",v.channels=[],v.events={on_save_success:!0,on_save_fail:!0,on_cookie_expire:!0,on_cleanup:!1},u.success(s?"推送用户已更新":"推送用户已添加"),await me()}catch(t){u.error(t.message||"保存失败")}finally{ve.value=!1}}async function me(){try{const t=await fetch("/api/admin/push-users",{headers:{Authorization:"Bearer "+(localStorage.getItem("admin_token")||"")}});t.ok&&(Ve.value=await t.json())}catch(t){console.error("Failed to load push users",t)}}async function Je(){try{F.value=await $l()}catch(t){console.error("Failed to load providers",t)}}async function He(t){try{await fetch("/api/admin/push-users/"+t.id,{method:"DELETE",headers:{Authorization:"Bearer "+(localStorage.getItem("admin_token")||"")}}),u.success("已删除"),await me()}catch(e){u.error(e.message||"删除失败")}}function Ce(t){var s;return((s=t.notify_config)==null?void 0:s.channels)||{}}function Ye(t){var e;return((e=F.value[t])==null?void 0:e.label)||t}function Qe(t){return Object.keys(Ce(t)).length>0}function Xe(){const t={};for(const[e,s]of Object.entries(F.value)){t[e]={_enabled:!1,_testing:!1};for(const o of s.params||[])t[e][o.key]=o.default||""}m.channels=t,m.events={on_save_success:!0,on_save_fail:!0,on_cookie_expire:!0,on_cleanup:!1}}async function Ze(){try{const s=(await(await fetch("/api/admin/system-configs",{headers:{Authorization:"Bearer "+(localStorage.getItem("admin_token")||"")}})).json()).find(o=>o.key==="global_notify_config");if(s&&s.value)try{const o=JSON.parse(s.value),w=o.channels||{};for(const[f,h]of Object.entries(w))if(m.channels[f]){m.channels[f]._enabled=!0;for(const[z,x]of Object.entries(h))m.channels[f][z]=x}o.events&&(m.events.on_save_success=o.events.on_save_success!==!1,m.events.on_save_fail=o.events.on_save_fail!==!1,m.events.on_cookie_expire=o.events.on_cookie_expire!==!1,m.events.on_cleanup=o.events.on_cleanup===!0)}catch{}}catch{}}async function el(t){const e=m.channels[t];if(!(!e||!e._enabled)){e._testing=!0;try{const s=await Fl(t);s.success?u.success(s.message):u.error(s.message)}catch(s){u.error(s.message||"测试失败")}finally{e._testing=!1}}}const S=Z({oldPassword:"",newPassword:"",confirmPassword:""}),ll={oldPassword:[{required:!0,message:"请输入原密码",trigger:"blur"}],newPassword:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"新密码至少需要6个字符",trigger:"blur"}],confirmPassword:[{required:!0,message:"请确认新密码",trigger:"blur"},{validator:(t,e,s)=>{e!==S.newPassword?s(new Error("两次输入的密码不一致")):s()},trigger:"blur"}]};Il(async()=>{try{ue.value=await Ll();for(const f of ue.value)d[f.key]=f.value;const t=String(d.title_filter_rules||"");E.value=t.split(`
+`).filter(f=>f.trim());const e=String(d.link_invalid_keywords||"");L.value=e.split(`
+`).filter(f=>f.trim());const s=String(d.quark_ad_keywords||"");R.value=s.split(`
+`).filter(f=>f.trim());const o=String(d.quark_warning_folder_names||"");$.value=o.split(`
+`).filter(f=>f.trim());const w=String(d.quark_sus_extensions||"");N.value=w.split(`
+`).filter(f=>f.trim())}catch{u.error("加载系统配置失败")}try{const t=await Rl();Object.assign(A,t)}catch{A.db_size="无法读取"}finally{ge.value=!1}ye(),await Je(),Xe(),await Ze(),me(),We()}),Ol(F,()=>{for(const[t,e]of Object.entries(F.value))if(!m.channels[t]){m.channels[t]={_enabled:!1,_testing:!1};for(const s of e.params||[])m.channels[t][s.key]=s.default||""}});async function tl(){var e,s;const t=String(d.redis_url||"redis://redis:6379");le.value=!0;try{const o=await Gl(t);o.ok?u.success(`✅ Redis 连接成功 — ${o.info}`):u.error(`❌ Redis 连接失败 — ${o.info}`)}catch(o){u.error(((s=(e=o.response)==null?void 0:e.data)==null?void 0:s.error)||"测试请求失败")}finally{le.value=!1}}async function ye(){be.value=!0;try{const t=localStorage.getItem("admin_token"),e={};t&&(e.Authorization="Bearer "+t);const s=await fetch("/api/admin/pansou-info",{headers:e});if(!s.ok)throw new Error("HTTP "+s.status);const o=await s.json();P.value=o}catch{P.value={status:"disconnected",version:"-",channelCount:0,pluginCount:0,diskCount:0}}finally{be.value=!1}}async function sl(){ie.value=!0;try{const t=localStorage.getItem("admin_token"),e={"Content-Type":"application/json"};t&&(e.Authorization="Bearer "+t);const o=await(await fetch("/api/admin/update-pansou",{method:"POST",headers:e})).json();o.ok?(u.success("✅ PanSou 已更新并重启"),setTimeout(()=>ye(),3e3)):u.error("❌ 更新失败 — "+(o.error||"未知错误"))}catch(t){u.error(t.message||"更新请求失败")}finally{ie.value=!1}}async function al(){var t,e;te.value=!0;try{const s=await ee({type:"pansou",url:String(d.pansou_url||"")});s.ok?(ye(),u.success(`✅ PanSou 连接成功 — ${s.info}`)):u.error(`❌ PanSou 连接失败 — ${s.info}`)}catch(s){u.error(((e=(t=s.response)==null?void 0:t.data)==null?void 0:e.error)||"测试请求失败")}finally{te.value=!1}}async function ol(){var t,e;se.value=!0;try{const s=await ee({type:"video_parser",url:String(d.video_parser_url||"")});s.ok?u.success(`✅ 视频解析服务连接成功 — ${s.info}`):u.error(`❌ 视频解析服务连接失败 — ${s.info}`)}catch(s){u.error(((e=(t=s.response)==null?void 0:t.data)==null?void 0:e.error)||"测试请求失败")}finally{se.value=!1}}async function nl(){var t,e;ae.value=!0;try{const s=await ee({type:"tmdb",token:String(d.tmdb_api_token||"")});s.ok?u.success(`✅ TMDB 令牌有效 — ${s.info}`):u.error(`❌ TMDB 连接失败 — ${s.info}`)}catch(s){u.error(((e=(t=s.response)==null?void 0:t.data)==null?void 0:e.error)||"测试请求失败")}finally{ae.value=!1}}async function il(){var t,e;oe.value=!0;try{const s=await ee({type:"proxy",url:String(d.search_proxy_url||"")});s.ok?u.success(`✅ 搜索代理可用 — ${s.info}`):u.error(`❌ 搜索代理不可用 — ${s.info}`)}catch(s){u.error(((e=(t=s.response)==null?void 0:t.data)==null?void 0:e.error)||"测试请求失败")}finally{oe.value=!1}}async function dl(){var t,e;ne.value=!0;try{const s=String(d.ip_geo_api_url||"");if(!s){u.warning("请先输入 IP 归属地查询 API 地址");return}const o=await ee({type:"ip_geo",url:s});o.ok?u.success("✅ IP 归属地接口可用 — "+o.info):u.error("❌ IP 归属地接口不可用 — "+o.info)}catch(s){u.error(((e=(t=s.response)==null?void 0:t.data)==null?void 0:e.error)||"测试请求失败")}finally{ne.value=!1}}function rl(){const t=J.value.trim();if(!t)return;const e=t.split(`
+`).map(o=>o.trim()).filter(o=>o);let s=0;for(const o of e)E.value.includes(o)||(E.value.push(o),s++);J.value="",Pe(),s>0?u.success(`已添加 ${s} 条规则`):u.info("所有规则已存在")}function ul(t){E.value.splice(t,1),Pe()}function pl(t){return t.startsWith("#")?"info":t.startsWith("/")&&(t.endsWith("/")||t.endsWith("/g")||t.endsWith("/i")||t.endsWith("/gi"))?"warning":""}function Pe(){d.title_filter_rules=E.value.join(`
+`)}function fl(){const t=H.value.trim();if(!t)return;const e=t.split(`
+`).map(o=>o.trim()).filter(o=>o);let s=0;for(const o of e)L.value.includes(o)||(L.value.push(o),s++);H.value="",Se(),s>0?u.success(`已添加 ${s} 个关键词`):u.info("所有关键词已存在")}function cl(t){L.value.splice(t,1),Se()}function Se(){d.link_invalid_keywords=L.value.join(`
+`)}function vl(){const t=Y.value.trim();if(!t)return;const e=t.split(`
+`).map(o=>o.trim()).filter(o=>o);let s=0;for(const o of e)R.value.includes(o)||(R.value.push(o),s++);Y.value="",Ue(),s>0?u.success():u.info("所有关键词已存在")}function ml(t){R.value.splice(t,1),Ue()}function Ue(){d.quark_ad_keywords=R.value.join(`
+`)}function yl(){const t=Q.value.trim();if(!t)return;const e=t.split(`
+`).map(o=>o.trim()).filter(o=>o);let s=0;for(const o of e)$.value.includes(o)||($.value.push(o),s++);Q.value="",ze(),s>0?u.success():u.info("所有文件夹名已存在")}function _l(t){$.value.splice(t,1),ze()}function ze(){d.quark_warning_folder_names=$.value.join(`
+`)}function gl(){const t=X.value.trim();if(!t)return;const e=t.split(`
+`).map(o=>o.trim().toLowerCase().replace(/^\./,"")).filter(o=>o);let s=0;for(const o of e)N.value.includes(o)||(N.value.push(o),s++);X.value="",Te(),s>0?u.success("已添加 ${added} 个后缀"):u.info("所有后缀已存在")}function bl(t){N.value.splice(t,1),Te()}function Te(){d.quark_sus_extensions=N.value.join(`
+`)}async function wl(){var t,e;pe.value=!0;try{const s={};for(const[w,f]of Object.entries(m.channels))if(f._enabled){const h={};for(const[z,x]of Object.entries(f))!z.startsWith("_")&&x!==""&&(h[z]=String(x));Object.keys(h).length>0&&(s[w]=h)}const o=ue.value.map(w=>({key:w.key,value:String(d[w.key]??w.value)}));o.push({key:"global_notify_config",value:JSON.stringify({channels:s,events:m.events})}),await Nl(o),u.success("配置已保存")}catch(s){u.error(((e=(t=s.response)==null?void 0:t.data)==null?void 0:e.error)||"保存失败")}finally{pe.value=!1}}async function xl(){var e,s,o;if(await((e=_e.value)==null?void 0:e.validate().catch(()=>!1))){fe.value=!0;try{const w=await Wl(S.oldPassword,S.newPassword);w.success?(u.success("✅ 密码修改成功,下次登录请使用新密码"),S.oldPassword="",S.newPassword="",S.confirmPassword=""):u.error(w.message)}catch(w){u.error(((o=(s=w.response)==null?void 0:s.data)==null?void 0:o.error)||"密码修改失败")}finally{fe.value=!1}}}const Ie=g();function kl(){var t;(t=Ie.value)==null||t.click()}async function Vl(t){var o,w,f;const e=t.target,s=(o=e.files)==null?void 0:o[0];if(s){if(!s.type.startsWith("image/")){u.error("仅支持图片文件(JPEG/PNG/WebP)"),e.value="";return}if(s.size>2*1024*1024){u.error("图片大小不能超过 2MB"),e.value="";return}try{const h=await Kl(s);h.success?(d.site_logo=h.url,u.success("✅ LOGO 已上传并生效")):u.error(h.message)}catch(h){u.error(((f=(w=h.response)==null?void 0:w.data)==null?void 0:f.error)||"上传失败")}e.value=""}}async function hl(){try{d.site_logo="",await ql("site_logo",""),u.success("已移除 LOGO")}catch{u.error("移除失败")}}return(t,e)=>{const s=V("el-input"),o=V("el-form-item"),w=V("el-icon"),f=V("el-button"),h=V("el-form"),z=V("el-card"),x=V("el-switch"),B=V("el-divider"),Oe=V("el-radio"),Cl=V("el-radio-group"),K=V("el-input-number"),T=V("el-tag"),Pl=V("el-collapse-item"),Sl=V("el-collapse"),je=V("el-option"),Ae=V("el-select"),G=V("el-table-column"),Ul=V("el-popconfirm"),zl=V("el-table");return p(),y("div",Dl,[q(a(z,{id:"section-sys-site"},{header:i(()=>[...e[40]||(e[40]=[l("span",null,"🌐 网站设置",-1)])]),default:i(()=>[a(h,{"label-width":"180px","label-position":"left"},{default:i(()=>[a(o,{label:"网站名称"},{default:i(()=>[a(s,{modelValue:d.site_name,"onUpdate:modelValue":e[0]||(e[0]=n=>d.site_name=n),placeholder:"CloudSearch",style:{"max-width":"300px"}},null,8,["modelValue"]),e[41]||(e[41]=l("div",{class:"form-tip"},"显示在网站标题和页脚",-1))]),_:1}),a(o,{label:"网站 LOGO"},{default:i(()=>[l("div",Jl,[l("div",Hl,[a(f,{type:"primary",onClick:kl},{icon:i(()=>[a(w,null,{default:i(()=>[a(Re(jl))]),_:1})]),default:i(()=>[e[42]||(e[42]=r(" 选择LOGO图片并上传 ",-1))]),_:1}),l("input",{ref_key:"logoInputRef",ref:Ie,type:"file",accept:".jpg,.jpeg,.png,.webp",hidden:"",onChange:Vl},null,544),e[43]||(e[43]=l("div",{class:"form-tip",style:{"margin-left":"12px"}},[r(" 推荐 "),l("strong",null,"320×60"),r(" 或宽比例(如 4:1),JPEG/PNG/WebP,最大 2MB。"),l("br"),r(" LOGO 同时也作为搜索结果无封面图时的兜底图使用。 ")],-1))]),d.site_logo?(p(),y("div",Yl,[l("img",{src:String(d.site_logo),alt:"LOGO预览",onError:e[1]||(e[1]=n=>n.target.style.display="none")},null,40,Ql),a(f,{size:"small",type:"danger",plain:"",onClick:hl},{default:i(()=>[...e[44]||(e[44]=[r("移除",-1)])]),_:1})])):W("",!0)])]),_:1}),a(o,{label:"底部免责声明"},{default:i(()=>[a(s,{modelValue:d.site_disclaimer,"onUpdate:modelValue":e[2]||(e[2]=n=>d.site_disclaimer=n),type:"textarea",rows:4,placeholder:"输入免责声明内容"},null,8,["modelValue"]),e[45]||(e[45]=l("div",{class:"form-tip"},"显示在网站底部,留空则不显示",-1))]),_:1}),a(o,{label:"滚动通知文字"},{default:i(()=>[a(s,{modelValue:d.site_marquee,"onUpdate:modelValue":e[3]||(e[3]=n=>d.site_marquee=n),placeholder:"📢 欢迎使用CloudSearch",style:{"max-width":"500px"}},null,8,["modelValue"]),e[46]||(e[46]=l("div",{class:"form-tip"},"搜索栏下方滚动的通知条(从右往左滚动),留空则不显示",-1))]),_:1}),a(o,{label:"系统时区"},{default:i(()=>[a(s,{modelValue:d.timezone,"onUpdate:modelValue":e[4]||(e[4]=n=>d.timezone=n),placeholder:"Asia/Shanghai",style:{"max-width":"300px"}},null,8,["modelValue"]),e[47]||(e[47]=l("div",{class:"form-tip"},"例如 Asia/Shanghai、America/New_York、UTC,修改后保存配置即可生效",-1))]),_:1})]),_:1})]),_:1},512),[[M,!U.value||U.value==="sys-site"]]),q(a(z,{id:"section-sys-services"},{header:i(()=>[...e[48]||(e[48]=[l("span",null,"🔗 外部服务 & 缓存",-1)])]),default:i(()=>[a(h,{"label-width":"180px","label-position":"left"},{default:i(()=>{var n,c,_,I,Be,Ee;return[a(o,{label:"PanSou 搜索引擎地址"},{default:i(()=>{var C,Le;return[l("div",Xl,[a(s,{modelValue:d.pansou_url,"onUpdate:modelValue":e[5]||(e[5]=re=>d.pansou_url=re),placeholder:"http://pansou:8888",style:{"max-width":"360px"}},null,8,["modelValue"]),a(f,{type:"primary",loading:te.value,onClick:al,size:"default",style:{width:"100px"}},{default:i(()=>[r(b(te.value?"测试中...":"验证连接"),1)]),_:1},8,["loading"]),a(f,{type:"warning",loading:ie.value,onClick:sl,size:"default",style:{width:"130px"},disabled:!((C=P.value)!=null&&C.hasUpdate)},{default:i(()=>{var re;return[r(b(ie.value?"更新中...":(re=P.value)!=null&&re.hasUpdate?"🔄 有新版本":"无更新"),1)]}),_:1},8,["loading","disabled"]),(Le=P.value)!=null&&Le.latestVersion?(p(),y("span",Zl,b(P.value.latestVersion),1)):W("",!0)]),e[49]||(e[49]=l("div",{class:"form-tip",style:{"margin-top":"4px"}},"盘搜搜索引擎的地址",-1))]}),_:1}),l("div",et,[l("div",lt,[l("div",{class:$e(["db-stat-value",((n=P.value)==null?void 0:n.status)==="connected"?"text-success":"text-warning"])},b(((c=P.value)==null?void 0:c.status)==="connected"?"已连接":P.value?"未连接":"-"),3),e[50]||(e[50]=l("div",{class:"db-stat-label"},"PanSou 状态",-1))]),l("div",tt,[l("div",st,b(((_=P.value)==null?void 0:_.channelCount)??"-"),1),e[51]||(e[51]=l("div",{class:"db-stat-label"},"频道数量",-1))]),l("div",at,[l("div",ot,b(((I=P.value)==null?void 0:I.pluginCount)??"-"),1),e[52]||(e[52]=l("div",{class:"db-stat-label"},"插件数量",-1))]),l("div",nt,[l("div",it,b(((Be=P.value)==null?void 0:Be.diskCount)??"-"),1),e[53]||(e[53]=l("div",{class:"db-stat-label"},"网盘数量",-1))]),l("div",dt,[l("div",rt,b(((Ee=P.value)==null?void 0:Ee.version)||"-"),1),e[54]||(e[54]=l("div",{class:"db-stat-label"},"版本",-1))])]),a(o,{label:"PanSou Web 端访问"},{default:i(()=>[a(x,{modelValue:we.value,"onUpdate:modelValue":e[6]||(e[6]=C=>we.value=C),"active-text":"启用","inactive-text":"关闭"},null,8,["modelValue"]),e[55]||(e[55]=l("div",{class:"form-tip",style:{"margin-left":"12px"}},[r(" 开启后可通过 "),l("code",null,"/pansou/"),r(" 路径访问 PanSou 搜索引擎管理界面 ")],-1))]),_:1}),a(o,{label:"启用代理"},{default:i(()=>[a(x,{modelValue:ce.value,"onUpdate:modelValue":e[7]||(e[7]=C=>ce.value=C),"active-text":"启用","inactive-text":"关闭"},null,8,["modelValue"]),e[56]||(e[56]=l("div",{class:"form-tip",style:{"margin-left":"8px"}}," 仅 PanSou 需要此配置,开启后搜索请求将经过代理转发 ",-1))]),_:1}),ce.value?(p(),k(o,{key:0,label:"代理地址",style:{"margin-top":"-12px"}},{default:i(()=>[l("div",ut,[a(s,{modelValue:d.search_proxy_url,"onUpdate:modelValue":e[8]||(e[8]=C=>d.search_proxy_url=C),placeholder:"http://127.0.0.1:7890",style:{"max-width":"360px"}},null,8,["modelValue"]),a(f,{type:"primary",loading:oe.value,onClick:il,size:"default",style:{width:"100px"}},{default:i(()=>[r(b(oe.value?"测试中...":"测试代理"),1)]),_:1},8,["loading"])]),e[57]||(e[57]=l("div",{class:"form-tip",style:{"margin-top":"4px"}},"HTTP 或 SOCKS5 协议地址",-1))]),_:1})):W("",!0),a(o,{label:"视频解析服务地址"},{default:i(()=>[l("div",pt,[a(s,{modelValue:d.video_parser_url,"onUpdate:modelValue":e[9]||(e[9]=C=>d.video_parser_url=C),placeholder:"http://video-parser:3001",style:{"max-width":"360px"}},null,8,["modelValue"]),a(f,{type:"primary",loading:se.value,onClick:ol,size:"default",style:{width:"100px"}},{default:i(()=>[r(b(se.value?"测试中...":"验证连接"),1)]),_:1},8,["loading"])]),e[58]||(e[58]=l("div",{class:"form-tip",style:{"margin-top":"4px"}},"视频链接解析服务地址",-1))]),_:1}),a(o,{label:"TMDB 读取令牌"},{default:i(()=>[l("div",ft,[a(s,{modelValue:d.tmdb_api_token,"onUpdate:modelValue":e[10]||(e[10]=C=>d.tmdb_api_token=C),type:"password","show-password":"",placeholder:"输入 TMDB API 读取令牌(Bearer Token)",style:{"max-width":"360px"}},null,8,["modelValue"]),a(f,{type:"primary",loading:ae.value,onClick:nl,size:"default",style:{width:"100px"}},{default:i(()=>[r(b(ae.value?"测试中...":"验证令牌"),1)]),_:1},8,["loading"])]),e[59]||(e[59]=l("div",{class:"form-tip",style:{"margin-top":"4px"}},[r(" 用于搜索 TMDB 获取评分、导演、演员等完整内容信息。 "),l("a",{href:"https://www.themoviedb.org/settings/api",target:"_blank",rel:"noopener",style:{color:"var(--primary-color)"}},"获取令牌 →")],-1))]),_:1}),a(o,{label:"IP 归属地查询"},{default:i(()=>[l("div",ct,[a(s,{modelValue:d.ip_geo_api_url,"onUpdate:modelValue":e[11]||(e[11]=C=>d.ip_geo_api_url=C),placeholder:"https://cn.apihz.cn/api/ip/chaapi.php?id=xxx&key=***&ip={ip}&td=0",style:{"max-width":"360px"}},null,8,["modelValue"]),a(f,{type:"primary",loading:ne.value,onClick:dl,size:"default",style:{width:"100px"}},{default:i(()=>[r(b(ne.value?"测试中...":"验证接口"),1)]),_:1},8,["loading"])]),e[60]||(e[60]=l("div",{class:"form-tip",style:{"margin-top":"4px"}},[r(" IP 归属地查询 API 地址,"),l("code",null,"{ip}"),r(" 会被替换为实际 IP。 ")],-1)),e[61]||(e[61]=l("div",{style:{color:"var(--el-color-warning)","font-size":"13px","margin-top":"2px",width:"100%"}}," ⚠ 当前仅支持 接口盒子(apihz.cn) 格式 ",-1))]),_:1}),a(B,{"content-position":"left"},{default:i(()=>[...e[62]||(e[62]=[r("Redis 缓存",-1)])]),_:1}),a(o,{label:"Redis 连接地址"},{default:i(()=>[l("div",vt,[a(s,{modelValue:d.redis_url,"onUpdate:modelValue":e[12]||(e[12]=C=>d.redis_url=C),placeholder:"redis://:***@172.17.0.1:6379",style:{"max-width":"360px"}},null,8,["modelValue"]),a(f,{type:"primary",size:"default",loading:le.value,onClick:tl,style:{width:"100px"}},{default:i(()=>[r(b(le.value?"测试中...":"验证连接"),1)]),_:1},8,["loading"])]),e[63]||(e[63]=l("div",{class:"form-tip",style:{"margin-top":"4px"}},[r(" Redis 用于缓存搜索验证结果,提升响应速度。"),l("br"),l("strong",null,"带密码格式:"),l("code",null,"redis://:你的密码@地址:6379"),l("br"),r(" 修改后保存配置即可生效,无需重启。"),l("strong",null,"切换 Redis 只会清空缓存,不影响任何重要数据。")],-1))]),_:1})]}),_:1}),ge.value?(p(),y("div",mt,[a(w,{class:"is-loading",size:20},{default:i(()=>[a(Re(Al))]),_:1}),e[64]||(e[64]=l("span",{style:{"margin-left":"8px",color:"#909399"}},"加载中...",-1))])):(p(),y("div",yt,[l("div",_t,[l("div",{class:$e(["db-stat-value",A.redis_status==="已连接"?"text-success":"text-warning"])},b(A.redis_status),3),e[65]||(e[65]=l("div",{class:"db-stat-label"},"Redis 状态",-1))]),l("div",gt,[l("div",bt,b(A.db_size),1),e[66]||(e[66]=l("div",{class:"db-stat-label"},"数据库大小",-1))]),l("div",wt,[l("div",xt,b(A.save_records),1),e[67]||(e[67]=l("div",{class:"db-stat-label"},"转存记录",-1))]),l("div",kt,[l("div",Vt,b(A.search_stats),1),e[68]||(e[68]=l("div",{class:"db-stat-label"},"搜索记录",-1))]),l("div",ht,[l("div",Ct,b(A.cloud_configs),1),e[69]||(e[69]=l("div",{class:"db-stat-label"},"网盘配置",-1))]),l("div",Pt,[l("div",St,b(A.content_cache),1),e[70]||(e[70]=l("div",{class:"db-stat-label"},"内容缓存",-1))])]))]),_:1},512),[[M,!U.value||U.value==="sys-services"]]),q(a(z,{id:"section-sys-strategy"},{header:i(()=>[...e[71]||(e[71]=[l("span",null,"🔧 性能配置",-1)])]),default:i(()=>[l("div",Ut,[a(B,{"content-position":"left"},{default:i(()=>[...e[72]||(e[72]=[r("搜索结果返回方式",-1)])]),_:1}),l("div",zt,[l("div",Tt,[e[73]||(e[73]=l("span",{class:"field-label"},"开启资源链接有效性监测",-1)),a(x,{modelValue:d.link_validation_enabled,"onUpdate:modelValue":e[13]||(e[13]=n=>d.link_validation_enabled=n),"active-value":"true","inactive-value":"false","active-text":"开启","inactive-text":"关闭"},null,8,["modelValue"])]),e[74]||(e[74]=l("div",{class:"field-desc"},"开启后搜索时会自动检测链接是否有效,过滤失效链接。关闭则直接返回所有结果(更快)",-1))]),l("div",It,[l("div",Ot,[e[77]||(e[77]=l("span",{class:"field-label"},"搜索结果方式",-1)),a(Cl,{modelValue:d.search_strategy,"onUpdate:modelValue":e[14]||(e[14]=n=>d.search_strategy=n)},{default:i(()=>[a(Oe,{value:"wait_all"},{default:i(()=>[...e[75]||(e[75]=[r("等待全部结果后展示",-1)])]),_:1}),a(Oe,{value:"stream_channel"},{default:i(()=>[...e[76]||(e[76]=[r("频道结果逐步展示",-1)])]),_:1})]),_:1},8,["modelValue"])]),e[78]||(e[78]=l("div",{class:"field-desc"},"逐步展示会分频道并发请求并优先展示先返回的频道;该模式下频道顺序按返回先后,不按配置顺序。",-1))]),a(B,{"content-position":"left"},{default:i(()=>[...e[79]||(e[79]=[r("搜索策略",-1)])]),_:1}),l("div",jt,[l("div",At,[l("div",Bt,[e[80]||(e[80]=l("span",{class:"field-label"},"使用所有频道参与搜索",-1)),a(x,{modelValue:xe.value,"onUpdate:modelValue":e[15]||(e[15]=n=>xe.value=n),"active-text":"开启","inactive-text":"关闭"},null,8,["modelValue"])]),e[81]||(e[81]=l("div",{class:"field-desc"},"包含未启用频道,命中更广但请求压力更高。",-1))]),l("div",Et,[l("div",Lt,[e[82]||(e[82]=l("span",{class:"field-label"},"每类网盘有效结果数",-1)),a(K,{modelValue:d.search_result_limit,"onUpdate:modelValue":e[16]||(e[16]=n=>d.search_result_limit=n),min:1,max:100},null,8,["modelValue"])]),e[83]||(e[83]=l("div",{class:"field-desc"},"每个网盘类型最多展示的有效链接数量",-1))]),l("div",Rt,[l("div",$t,[e[84]||(e[84]=l("span",{class:"field-label"},"验证并发数",-1)),a(K,{modelValue:d.validation_concurrency,"onUpdate:modelValue":e[17]||(e[17]=n=>d.validation_concurrency=n),min:1,max:50},null,8,["modelValue"])]),e[85]||(e[85]=l("div",{class:"field-desc"},"同时验证的链接数量",-1))]),l("div",Nt,[l("div",Ft,[e[86]||(e[86]=l("span",{class:"field-label"},"有效链接缓存 (s)",-1)),a(K,{modelValue:d.validation_cache_ttl_valid,"onUpdate:modelValue":e[18]||(e[18]=n=>d.validation_cache_ttl_valid=n),min:60,max:86400,step:60},null,8,["modelValue"])]),e[87]||(e[87]=l("div",{class:"field-desc"},"有效验证结果的缓存时间",-1))]),l("div",Gt,[l("div",Wt,[e[88]||(e[88]=l("span",{class:"field-label"},"无效链接缓存 (s)",-1)),a(K,{modelValue:d.validation_cache_ttl_invalid,"onUpdate:modelValue":e[19]||(e[19]=n=>d.validation_cache_ttl_invalid=n),min:60,max:86400,step:60},null,8,["modelValue"])]),e[89]||(e[89]=l("div",{class:"field-desc"},"无效验证结果的缓存时间",-1))]),l("div",Kt,[l("div",qt,[e[90]||(e[90]=l("span",{class:"field-label"},"验证超时 (ms)",-1)),a(K,{modelValue:d.validation_timeout,"onUpdate:modelValue":e[20]||(e[20]=n=>d.validation_timeout=n),min:1e3,max:3e4,step:500},null,8,["modelValue"])]),e[91]||(e[91]=l("div",{class:"field-desc"},"单个链接验证超时毫秒数",-1))])]),a(B,{"content-position":"left"},{default:i(()=>[...e[92]||(e[92]=[r("链接检测配置",-1)])]),_:1}),l("div",Mt,[e[94]||(e[94]=l("div",{class:"field-label-row"},[l("span",{class:"field-label"},"搜索标题过滤规则")],-1)),l("div",Dt,[a(s,{modelValue:J.value,"onUpdate:modelValue":e[21]||(e[21]=n=>J.value=n),type:"textarea",rows:1,placeholder:"每行一条规则,回车分隔",style:{"max-width":"420px","font-family":"monospace","font-size":"12px"}},null,8,["modelValue"]),a(f,{type:"primary",onClick:rl,disabled:!J.value.trim()},{default:i(()=>[...e[93]||(e[93]=[r(" 确认添加 ",-1)])]),_:1},8,["disabled"])]),E.value.length>0?(p(),y("div",Jt,[(p(!0),y(O,null,j(E.value,(n,c)=>(p(),k(T,{key:c,closable:"",type:pl(n),"disable-transitions":!1,onClose:_=>ul(c)},{default:i(()=>[r(b(n),1)]),_:2},1032,["type","onClose"]))),128))])):(p(),y("div",Ht,"暂无过滤规则")),e[95]||(e[95]=l("div",{class:"filter-rule-help"},[l("div",{class:"help-title"},"📖 规则说明"),l("div",{class:"help-row"},[l("code",null,"# 注释内容"),r(" — "),l("code",null,"#"),r(" 后必须跟"),l("strong",null,"空格"),r("才会被识别为注释,单纯的 "),l("code",null,"#动漫"),r(" 会被当作要移除的文本")]),l("div",{class:"help-row"},[l("code",null,"/正则表达式/标志"),r(" — 正则匹配,匹配到的内容会被删除。如 "),l("code",null,"/^\\\\d+[、,.\\\\s]/"),r(" 去掉开头的序号")]),l("div",{class:"help-row"},[l("code",null,"纯文本"),r(" — 直接写要移除的文字(支持 emoji),凡是标题中含有的都会被删除")])],-1))]),l("div",Yt,[e[97]||(e[97]=l("div",{class:"field-label-row"},[l("span",{class:"field-label"},"失效关键词")],-1)),l("div",Qt,[a(s,{modelValue:H.value,"onUpdate:modelValue":e[22]||(e[22]=n=>H.value=n),type:"textarea",rows:1,placeholder:"每行一个关键词,回车分隔",style:{"max-width":"420px","font-family":"monospace","font-size":"12px"}},null,8,["modelValue"]),a(f,{type:"danger",onClick:fl,disabled:!H.value.trim()},{default:i(()=>[...e[96]||(e[96]=[r(" 确认添加 ",-1)])]),_:1},8,["disabled"])]),e[98]||(e[98]=l("div",{class:"field-desc"},"自定义失效关键词,PanSou 检测 summary 或 HTML 页面内容包含即判为失效。",-1)),L.value.length>0?(p(),y("div",Xt,[(p(!0),y(O,null,j(L.value,(n,c)=>(p(),k(T,{key:c,closable:"",type:"danger","disable-transitions":!1,onClose:_=>cl(c)},{default:i(()=>[r(b(n),1)]),_:2},1032,["onClose"]))),128))])):(p(),y("div",Zt,"暂无失效关键词,所有链接将默认判为有效"))]),a(B,{"content-position":"left"},{default:i(()=>[...e[99]||(e[99]=[r("夸克网盘转存清理",-1)])]),_:1}),l("div",es,[e[101]||(e[101]=l("div",{class:"field-label-row"},[l("span",{class:"field-label"},"广告关键词")],-1)),l("div",ls,[a(s,{modelValue:Y.value,"onUpdate:modelValue":e[23]||(e[23]=n=>Y.value=n),type:"textarea",rows:1,placeholder:"每行一个关键词,回车分隔",style:{"max-width":"420px","font-family":"monospace","font-size":"12px"}},null,8,["modelValue"]),a(f,{type:"danger",onClick:vl,disabled:!Y.value.trim()},{default:i(()=>[...e[100]||(e[100]=[r(" 确认添加 ",-1)])]),_:1},8,["disabled"])]),e[102]||(e[102]=l("div",{class:"field-desc"},"夸克转存完成后自动删除文件名/文件夹名含这些关键词的内容(防广告病毒)",-1)),R.value.length>0?(p(),y("div",ts,[(p(!0),y(O,null,j(R.value,(n,c)=>(p(),k(T,{key:c,closable:"",type:"warning","disable-transitions":!1,onClose:_=>ml(c)},{default:i(()=>[r(b(n),1)]),_:2},1032,["onClose"]))),128))])):(p(),y("div",ss,"暂未配置广告关键词,不会进行广告清理"))]),l("div",as,[e[104]||(e[104]=l("div",{class:"field-label-row"},[l("span",{class:"field-label"},"警示文件夹名")],-1)),l("div",os,[a(s,{modelValue:Q.value,"onUpdate:modelValue":e[24]||(e[24]=n=>Q.value=n),type:"textarea",rows:1,placeholder:"每行一个文件夹名,回车分隔",style:{"max-width":"420px","font-family":"monospace","font-size":"12px"}},null,8,["modelValue"]),a(f,{type:"primary",onClick:yl,disabled:!Q.value.trim()},{default:i(()=>[...e[103]||(e[103]=[r(" 确认添加 ",-1)])]),_:1},8,["disabled"])]),e[105]||(e[105]=l("div",{class:"field-desc"},"夸克转存完成后在网盘根目录自动创建这些警示文件夹(自动加上 ⚠️ 前缀)",-1)),$.value.length>0?(p(),y("div",ns,[(p(!0),y(O,null,j($.value,(n,c)=>(p(),k(T,{key:c,closable:"",type:"info","disable-transitions":!1,onClose:_=>_l(c)},{default:i(()=>[r(b(n),1)]),_:2},1032,["onClose"]))),128))])):(p(),y("div",is,"暂未配置警示文件夹"))]),l("div",ds,[e[107]||(e[107]=l("div",{class:"field-label-row"},[l("span",{class:"field-label"},"可疑文件后缀")],-1)),l("div",rs,[a(s,{modelValue:X.value,"onUpdate:modelValue":e[25]||(e[25]=n=>X.value=n),type:"textarea",rows:1,placeholder:"每行一个后缀,不要带点号,回车分隔",style:{"max-width":"420px","font-family":"monospace","font-size":"12px"}},null,8,["modelValue"]),a(f,{type:"danger",onClick:gl,disabled:!X.value.trim()},{default:i(()=>[...e[106]||(e[106]=[r(" 确认添加 ",-1)])]),_:1},8,["disabled"])]),e[108]||(e[108]=l("div",{class:"field-desc"},"夸克转存完成后自动删除后缀匹配的文件(防病毒,如 bat、exe、scr 等)",-1)),N.value.length>0?(p(),y("div",us,[(p(!0),y(O,null,j(N.value,(n,c)=>(p(),k(T,{key:c,closable:"",type:"danger","disable-transitions":!1,onClose:_=>bl(c)},{default:i(()=>[r("."+b(n),1)]),_:2},1032,["onClose"]))),128))])):(p(),y("div",ps,"暂无配置,使用默认列表:bat、exe、vbs、scr、cmd、com、pif、js、jar、msi、reg、inf、ps1"))])])]),_:1},512),[[M,!U.value||U.value==="sys-strategy"]]),q(a(z,{id:"section-sys-password"},{header:i(()=>[...e[109]||(e[109]=[l("span",null,"🔑 修改管理员密码",-1)])]),default:i(()=>[a(h,{ref_key:"passwordFormRef",ref:_e,model:S,rules:ll,"label-width":"120px","label-position":"left"},{default:i(()=>[a(o,{label:"原密码",prop:"oldPassword"},{default:i(()=>[a(s,{modelValue:S.oldPassword,"onUpdate:modelValue":e[26]||(e[26]=n=>S.oldPassword=n),type:"password","show-password":"",placeholder:"输入原密码",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1}),a(o,{label:"新密码",prop:"newPassword"},{default:i(()=>[a(s,{modelValue:S.newPassword,"onUpdate:modelValue":e[27]||(e[27]=n=>S.newPassword=n),type:"password","show-password":"",placeholder:"输入新密码(至少6位)",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1}),a(o,{label:"确认新密码",prop:"confirmPassword"},{default:i(()=>[a(s,{modelValue:S.confirmPassword,"onUpdate:modelValue":e[28]||(e[28]=n=>S.confirmPassword=n),type:"password","show-password":"",placeholder:"再次输入新密码",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1}),a(o,null,{default:i(()=>[a(f,{type:"primary",loading:fe.value,onClick:xl},{default:i(()=>[...e[110]||(e[110]=[r("修改密码",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])]),_:1},512),[[M,!U.value||U.value==="sys-password"]]),q(a(z,{id:"section-sys-notify"},{header:i(()=>[...e[111]||(e[111]=[l("div",{style:{display:"flex","align-items":"center","justify-content":"space-between"}},[l("span",null,"📬 消息推送")],-1)])]),default:i(()=>[a(Sl,{"model-value":["global"]},{default:i(()=>[a(Pl,{title:"全局推送(管理员兜底)",name:"global"},{default:i(()=>[l("div",fs,[a(h,{"label-width":"140px","label-position":"left"},{default:i(()=>[l("div",cs,[(p(!0),y(O,null,j(F.value,(n,c)=>(p(),y("div",{key:c,style:{border:"1px solid var(--el-border-color-light)","border-radius":"6px",padding:"8px 12px"}},[l("div",vs,[a(x,{modelValue:m.channels[c]._enabled,"onUpdate:modelValue":_=>m.channels[c]._enabled=_,size:"small"},null,8,["modelValue","onUpdate:modelValue"]),l("strong",null,b(n.label),1),m.channels[c]._enabled?(p(),k(f,{key:0,size:"small",text:"",type:"primary",onClick:_=>el(c),loading:m.channels[c]._testing},{default:i(()=>[...e[112]||(e[112]=[r("测试",-1)])]),_:1},8,["onClick","loading"])):W("",!0)]),m.channels[c]._enabled?(p(),y("div",ms,[(p(!0),y(O,null,j(n.params,_=>(p(),k(o,{key:_.key,label:_.label,style:{"margin-bottom":"6px"}},{default:i(()=>[_.type==="password"?(p(),k(s,{key:0,modelValue:m.channels[c][_.key],"onUpdate:modelValue":I=>m.channels[c][_.key]=I,type:"password","show-password":"",placeholder:_.placeholder||"",style:{"max-width":"360px"}},null,8,["modelValue","onUpdate:modelValue","placeholder"])):_.type==="switch"?(p(),k(x,{key:1,modelValue:m.channels[c][_.key],"onUpdate:modelValue":I=>m.channels[c][_.key]=I},null,8,["modelValue","onUpdate:modelValue"])):_.type==="number"?(p(),k(K,{key:2,modelValue:m.channels[c][_.key],"onUpdate:modelValue":I=>m.channels[c][_.key]=I,min:1,max:10,style:{"max-width":"160px"}},null,8,["modelValue","onUpdate:modelValue"])):(p(),k(s,{key:3,modelValue:m.channels[c][_.key],"onUpdate:modelValue":I=>m.channels[c][_.key]=I,placeholder:_.placeholder||"",style:{"max-width":"360px"}},null,8,["modelValue","onUpdate:modelValue","placeholder"]))]),_:2},1032,["label"]))),128))])):W("",!0)]))),128))]),a(B,{"content-position":"left"},{default:i(()=>[...e[113]||(e[113]=[r("全局事件开关",-1)])]),_:1}),l("div",ys,[a(x,{modelValue:m.events.on_save_success,"onUpdate:modelValue":e[29]||(e[29]=n=>m.events.on_save_success=n),"active-text":"转存成功"},null,8,["modelValue"]),a(x,{modelValue:m.events.on_save_fail,"onUpdate:modelValue":e[30]||(e[30]=n=>m.events.on_save_fail=n),"active-text":"转存失败"},null,8,["modelValue"]),a(x,{modelValue:m.events.on_cookie_expire,"onUpdate:modelValue":e[31]||(e[31]=n=>m.events.on_cookie_expire=n),"active-text":"Cookie过期"},null,8,["modelValue"]),a(x,{modelValue:m.events.on_cleanup,"onUpdate:modelValue":e[32]||(e[32]=n=>m.events.on_cleanup=n),"active-text":"清理完成"},null,8,["modelValue"])]),e[114]||(e[114]=l("div",{class:"form-tip",style:{"margin-top":"8px"}},"全局推送作为兜底通道。设置了推送用户的网盘配置走用户推送,未设置的走全局推送。",-1))]),_:1})])]),_:1})]),_:1}),e[124]||(e[124]=r()),a(B,{"content-position":"left"},{default:i(()=>[...e[115]||(e[115]=[r("添加推送用户",-1)])]),_:1}),l("div",_s,[l("div",gs,[a(Ae,{modelValue:v.account,"onUpdate:modelValue":e[33]||(e[33]=n=>v.account=n),filterable:"","allow-create":"",clearable:"",placeholder:"选择推广账户",style:{width:"200px"}},{default:i(()=>[(p(!0),y(O,null,j(he.value,n=>(p(),k(je,{key:n,label:n,value:n},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),a(Ae,{modelValue:v.channels,"onUpdate:modelValue":e[34]||(e[34]=n=>v.channels=n),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"选择您所需的消息频道",style:{width:"260px"}},{default:i(()=>[(p(!0),y(O,null,j(Ke.value,(n,c)=>(p(),k(je,{key:c,label:n.label,value:c},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),a(x,{modelValue:v.events.on_save_success,"onUpdate:modelValue":e[35]||(e[35]=n=>v.events.on_save_success=n),"active-text":"转存成功"},null,8,["modelValue"]),a(x,{modelValue:v.events.on_save_fail,"onUpdate:modelValue":e[36]||(e[36]=n=>v.events.on_save_fail=n),"active-text":"转存失败"},null,8,["modelValue"]),a(x,{modelValue:v.events.on_cookie_expire,"onUpdate:modelValue":e[37]||(e[37]=n=>v.events.on_cookie_expire=n),"active-text":"Cookie过期"},null,8,["modelValue"]),a(x,{modelValue:v.events.on_cleanup,"onUpdate:modelValue":e[38]||(e[38]=n=>v.events.on_cleanup=n),"active-text":"清理完成"},null,8,["modelValue"]),a(f,{type:"primary",size:"small",loading:ve.value,onClick:De},{default:i(()=>[r(b(v.id?"更新":"确认添加"),1)]),_:1},8,["loading"]),v.id?(p(),k(f,{key:0,size:"small",onClick:Me},{default:i(()=>[...e[116]||(e[116]=[r("取消编辑",-1)])]),_:1})):W("",!0)])]),a(B,{"content-position":"left"},{default:i(()=>[...e[117]||(e[117]=[r("推送用户列表",-1)])]),_:1}),a(zl,{data:Ve.value,stripe:"",style:{width:"100%"},"empty-text":"暂无推送用户"},{default:i(()=>[a(G,{prop:"account",label:"推广账号","min-width":"140"}),a(G,{label:"转存成功",width:"90",align:"center"},{default:i(({row:n})=>[de(n,"on_save_success")?(p(),k(T,{key:0,type:"success",size:"small"},{default:i(()=>[...e[118]||(e[118]=[r("✔",-1)])]),_:1})):(p(),y("span",bs,"—"))]),_:1}),a(G,{label:"转存失败",width:"90",align:"center"},{default:i(({row:n})=>[de(n,"on_save_fail")?(p(),k(T,{key:0,type:"success",size:"small"},{default:i(()=>[...e[119]||(e[119]=[r("✔",-1)])]),_:1})):(p(),y("span",ws,"—"))]),_:1}),a(G,{label:"Cookie过期",width:"90",align:"center"},{default:i(({row:n})=>[de(n,"on_cookie_expire")?(p(),k(T,{key:0,type:"success",size:"small"},{default:i(()=>[...e[120]||(e[120]=[r("✔",-1)])]),_:1})):(p(),y("span",xs,"—"))]),_:1}),a(G,{label:"清理完成",width:"90",align:"center"},{default:i(({row:n})=>[de(n,"on_cleanup")?(p(),k(T,{key:0,type:"success",size:"small"},{default:i(()=>[...e[121]||(e[121]=[r("✔",-1)])]),_:1})):(p(),y("span",ks,"—"))]),_:1}),a(G,{label:"已启用的通道","min-width":"220"},{default:i(({row:n})=>[(p(!0),y(O,null,j(Ce(n),(c,_)=>(p(),k(T,{key:_,size:"small",style:{"margin-right":"4px","margin-bottom":"2px"}},{default:i(()=>[r(b(Ye(_)),1)]),_:2},1024))),128)),Qe(n)?W("",!0):(p(),y("span",Vs,"走全局推送"))]),_:1}),a(G,{label:"操作",width:"180",fixed:"right"},{default:i(({row:n})=>[a(f,{text:"",type:"primary",size:"small",onClick:c=>qe(n)},{default:i(()=>[...e[122]||(e[122]=[r("编辑",-1)])]),_:1},8,["onClick"]),a(Ul,{title:"确定删除该推送用户?",onConfirm:c=>He(n)},{reference:i(()=>[a(f,{text:"",type:"danger",size:"small"},{default:i(()=>[...e[123]||(e[123]=[r("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:1})]),_:1},8,["data"])]),_:1},512),[[M,!U.value||U.value==="sys-notify"]]),q(a(z,{id:"section-sys-maintenance"},{header:i(()=>[...e[125]||(e[125]=[l("span",null,"🔄 系统维护",-1)])]),default:i(()=>[e[130]||(e[130]=r()),a(h,{"label-width":"180px","label-position":"left"},{default:i(()=>[a(o,{label:"自动更新镜像"},{default:i(()=>[a(x,{modelValue:ke.value,"onUpdate:modelValue":e[39]||(e[39]=n=>ke.value=n),"active-text":"启用","inactive-text":"禁用"},null,8,["modelValue"]),e[126]||(e[126]=r()),e[127]||(e[127]=l("div",{class:"form-tip"},"启用后 CloudSearch 将自动检测并更新到最新镜像版本",-1)),e[128]||(e[128]=r()),e[129]||(e[129]=l("div",{class:"form-tip",style:{color:"var(--(--el-color-warning,#e6a23c))"}}," 当前需手动在服务器执行:docker-compose -f /opt/CloudSearch/docker-compose.yml pull && docker-compose -f /opt/CloudSearch/docker-compose.yml up -d ",-1))]),_:1})]),_:1})]),_:1},512),[[M,!U.value||U.value==="sys-maintenance"]]),l("div",hs,[a(f,{type:"primary",size:"large",loading:pe.value,onClick:wl},{default:i(()=>[...e[131]||(e[131]=[r(" 保存配置 ",-1)])]),_:1},8,["loading"])])])}}}),Us=Ml(Cs,[["__scopeId","data-v-641a8223"]]);export{Us as default};
diff --git a/source_clean/frontend-src/dist-vite/assets/SystemConfig-DFR5iJEB.css b/source_clean/frontend-src/dist-vite/assets/SystemConfig-DFR5iJEB.css
new file mode 100644
index 0000000..c9afda5
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/SystemConfig-DFR5iJEB.css
@@ -0,0 +1 @@
+.el-card[data-v-641a8223]{margin-bottom:20px}.el-card[data-v-641a8223] .el-card__header{font-weight:600;font-size:15px}[data-v-641a8223] .el-divider__text.is-left{left:0;padding-left:0}.form-tip[data-v-641a8223]{font-size:12px;color:#909399;margin-top:4px}.fallback-upload-wrap[data-v-641a8223]{display:flex;flex-direction:column;gap:12px}.fallback-upload-row[data-v-641a8223]{display:flex;align-items:center;flex-wrap:wrap}.fallback-preview[data-v-641a8223]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fallback-preview img[data-v-641a8223]{max-width:100%;height:auto;max-height:120px;border-radius:8px;border:1px solid var(--border-color);background:#f0f0f0;object-fit:contain}.strategy-grid[data-v-641a8223]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}.grid-cell[data-v-641a8223]{display:flex;flex-direction:column;gap:4px}.strategy-section[data-v-641a8223]{padding:0 4px}.field-block[data-v-641a8223]{margin:12px 0}.field-label-row[data-v-641a8223]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.field-label[data-v-641a8223]{font-size:14px;font-weight:500;color:#303133;white-space:nowrap}.field-desc[data-v-641a8223]{font-size:12px;color:#909399;margin:3px 0 0;line-height:1.5}.keyword-input-row[data-v-641a8223]{display:flex;gap:8px;flex:1;min-width:200px}.tag-list[data-v-641a8223]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-empty[data-v-641a8223]{font-size:13px;color:#c0c4cc;margin-top:8px}.filter-rule-help[data-v-641a8223]{margin-top:8px;padding:10px 12px;background:#f8f9fa;border-radius:8px;border:1px solid #e8e8e8}.filter-rule-help .help-title[data-v-641a8223]{font-weight:600;font-size:13px;margin:8px 0 4px;color:#333}.filter-rule-help .help-title[data-v-641a8223]:first-child{margin-top:0}.filter-rule-help .help-row[data-v-641a8223]{font-size:12px;color:#555;margin:3px 0;line-height:1.6}.filter-rule-help .help-row code[data-v-641a8223]{background:#eef1f5;padding:1px 5px;border-radius:3px;font-size:11px;font-family:monospace}.filter-rules-help[data-v-641a8223]{margin-top:8px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e8e8e8}.help-title[data-v-641a8223]{font-weight:600;font-size:13px;margin:10px 0 6px;color:#333}.help-title[data-v-641a8223]:first-child{margin-top:0}.help-row[data-v-641a8223]{font-size:12px;color:#555;margin:3px 0;line-height:1.6}.help-row code[data-v-641a8223]{background:#eef1f5;padding:1px 5px;border-radius:3px;font-size:11px;font-family:monospace}.help-sample[data-v-641a8223]{background:#1e1e1e;color:#d4d4d4;padding:10px 14px;border-radius:6px;font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre;margin:6px 0 0;font-family:monospace}.help-preview-row[data-v-641a8223]{font-size:13px;margin:4px 0;display:flex;align-items:center;gap:6px}.help-preview-label[data-v-641a8223]{color:#888;min-width:70px;font-size:12px}.help-preview-original[data-v-641a8223]{color:#e74c3c}.help-preview-filtered[data-v-641a8223]{color:#27ae60;font-weight:500}.filter-input-row[data-v-641a8223]{display:flex;gap:8px;width:100%;margin-bottom:8px}.filter-tag-list[data-v-641a8223]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.filter-empty[data-v-641a8223]{font-size:13px;color:#c0c4cc;padding:8px 0;margin-bottom:8px}.db-status-grid[data-v-641a8223]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:8px}.db-stat-item[data-v-641a8223]{background:#f8f9fa;border-radius:10px;padding:16px 12px;text-align:center;border:1px solid #eee;transition:transform .15s,box-shadow .15s}.db-stat-item[data-v-641a8223]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.db-stat-value[data-v-641a8223]{white-space:nowrap;font-size:24px;font-weight:700;color:#303133;margin-bottom:4px}.db-stat-value.text-success[data-v-641a8223]{color:#67c23a}.db-stat-value.text-warning[data-v-641a8223]{color:#e6a23c}.db-stat-label[data-v-641a8223]{font-size:12px;color:#909399}@media (max-width: 900px){.strategy-grid[data-v-641a8223]{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.strategy-grid[data-v-641a8223]{grid-template-columns:1fr}}.pansou-status-grid[data-v-641a8223]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:8px}.status-dot[data-v-641a8223]{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-ok[data-v-641a8223]{background:#67c23a}.dot-err[data-v-641a8223]{background:#f56c6c}
diff --git a/source_clean/frontend-src/dist-vite/assets/_plugin-vue_export-helper-1Z-znrfZ.js b/source_clean/frontend-src/dist-vite/assets/_plugin-vue_export-helper-1Z-znrfZ.js
new file mode 100644
index 0000000..3f5d005
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/_plugin-vue_export-helper-1Z-znrfZ.js
@@ -0,0 +1,10 @@
+function Ke(e,t){return function(){return e.apply(t,arguments)}}const{toString:wt}=Object.prototype,{getPrototypeOf:ie}=Object,{iterator:ae,toStringTag:Xe}=Symbol,ce=(e=>t=>{const n=wt.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),F=e=>(e=e.toLowerCase(),t=>ce(t)===e),ue=e=>t=>typeof t===e,{isArray:z}=Array,$=ue("undefined");function W(e){return e!==null&&!$(e)&&e.constructor!==null&&!$(e.constructor)&&x(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ge=F("ArrayBuffer");function gt(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ge(e.buffer),t}const bt=ue("string"),x=ue("function"),Qe=ue("number"),K=e=>e!==null&&typeof e=="object",Et=e=>e===!0||e===!1,ne=e=>{if(ce(e)!=="object")return!1;const t=ie(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Xe in e)&&!(ae in e)},Rt=e=>{if(!K(e)||W(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},St=F("Date"),Ot=F("File"),Tt=e=>!!(e&&typeof e.uri<"u"),At=e=>e&&typeof e.getParts<"u",Ct=F("Blob"),xt=F("FileList"),_t=e=>K(e)&&x(e.pipe);function Pt(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const De=Pt(),Fe=typeof De.FormData<"u"?De.FormData:void 0,Nt=e=>{if(!e)return!1;if(Fe&&e instanceof Fe)return!0;const t=ie(e);if(!t||t===Object.prototype||!x(e.append))return!1;const n=ce(e);return n==="formdata"||n==="object"&&x(e.toString)&&e.toString()==="[object FormData]"},Dt=F("URLSearchParams"),[Ft,Ut,Lt,Bt]=["ReadableStream","Request","Response","Headers"].map(F),kt=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function X(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),z(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const j=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ye=e=>!$(e)&&e!==j;function we(){const{caseless:e,skipUndefined:t}=Ye(this)&&this||{},n={},r=(s,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const i=e&&Ze(n,o)||o;ne(n[i])&&ne(s)?n[i]=we(n[i],s):ne(s)?n[i]=we({},s):z(s)?n[i]=s.slice():(!t||!$(s))&&(n[i]=s)};for(let s=0,o=arguments.length;s(X(t,(s,o)=>{n&&x(s)?Object.defineProperty(e,o,{value:Ke(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),It=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),qt=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Ht=(e,t,n,r)=>{let s,o,i;const c={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!r||r(i,e,t))&&!c[i]&&(t[i]=e[i],c[i]=!0);e=n!==!1&&ie(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Mt=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},$t=e=>{if(!e)return null;if(z(e))return e;let t=e.length;if(!Qe(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},zt=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&ie(Uint8Array)),vt=(e,t)=>{const r=(e&&e[ae]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},Jt=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Vt=F("HTMLFormElement"),Wt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),Ue=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Kt=F("RegExp"),et=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};X(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},Xt=e=>{et(e,(t,n)=>{if(x(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(x(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Gt=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return z(e)?r(e):r(String(e).split(t)),n},Qt=()=>{},Zt=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Yt(e){return!!(e&&x(e.append)&&e[Xe]==="FormData"&&e[ae])}const en=e=>{const t=new Array(10),n=(r,s)=>{if(K(r)){if(t.indexOf(r)>=0)return;if(W(r))return r;if(!("toJSON"in r)){t[s]=r;const o=z(r)?[]:{};return X(r,(i,c)=>{const d=n(i,s+1);!$(d)&&(o[c]=d)}),t[s]=void 0,o}}return r};return n(e,0)},tn=F("AsyncFunction"),nn=e=>e&&(K(e)||x(e))&&x(e.then)&&x(e.catch),tt=((e,t)=>e?setImmediate:t?((n,r)=>(j.addEventListener("message",({source:s,data:o})=>{s===j&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),j.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",x(j.postMessage)),rn=typeof queueMicrotask<"u"?queueMicrotask.bind(j):typeof process<"u"&&process.nextTick||tt,sn=e=>e!=null&&x(e[ae]),a={isArray:z,isArrayBuffer:Ge,isBuffer:W,isFormData:Nt,isArrayBufferView:gt,isString:bt,isNumber:Qe,isBoolean:Et,isObject:K,isPlainObject:ne,isEmptyObject:Rt,isReadableStream:Ft,isRequest:Ut,isResponse:Lt,isHeaders:Bt,isUndefined:$,isDate:St,isFile:Ot,isReactNativeBlob:Tt,isReactNative:At,isBlob:Ct,isRegExp:Kt,isFunction:x,isStream:_t,isURLSearchParams:Dt,isTypedArray:zt,isFileList:xt,forEach:X,merge:we,extend:jt,trim:kt,stripBOM:It,inherits:qt,toFlatObject:Ht,kindOf:ce,kindOfTest:F,endsWith:Mt,toArray:$t,forEachEntry:vt,matchAll:Jt,isHTMLForm:Vt,hasOwnProperty:Ue,hasOwnProp:Ue,reduceDescriptors:et,freezeMethods:Xt,toObjectSet:Gt,toCamelCase:Wt,noop:Qt,toFiniteNumber:Zt,findKey:Ze,global:j,isContextDefined:Ye,isSpecCompliantForm:Yt,toJSONObject:en,isAsyncFn:tn,isThenable:nn,setImmediate:tt,asap:rn,isIterable:sn};let y=class nt extends Error{static from(t,n,r,s,o,i){const c=new nt(t.message,n||t.code,r,s,o);return c.cause=t,c.name=t.name,t.status!=null&&c.status==null&&(c.status=t.status),i&&Object.assign(c,i),c}constructor(t,n,r,s,o){super(t),Object.defineProperty(this,"message",{value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){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:a.toJSONObject(this.config),code:this.code,status:this.status}}};y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";y.ERR_BAD_OPTION="ERR_BAD_OPTION";y.ECONNABORTED="ECONNABORTED";y.ETIMEDOUT="ETIMEDOUT";y.ERR_NETWORK="ERR_NETWORK";y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";y.ERR_DEPRECATED="ERR_DEPRECATED";y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";y.ERR_BAD_REQUEST="ERR_BAD_REQUEST";y.ERR_CANCELED="ERR_CANCELED";y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";y.ERR_INVALID_URL="ERR_INVALID_URL";y.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const on=null;function ge(e){return a.isPlainObject(e)||a.isArray(e)}function rt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function pe(e,t,n){return e?e.concat(t).map(function(s,o){return s=rt(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function an(e){return a.isArray(e)&&!e.some(ge)}const cn=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function le(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,E){return!a.isUndefined(E[f])});const r=n.metaTokens,s=n.visitor||m,o=n.dots,i=n.indexes,c=n.Blob||typeof Blob<"u"&&Blob,d=n.maxDepth===void 0?100:n.maxDepth,l=c&&a.isSpecCompliantForm(t);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(a.isDate(p))return p.toISOString();if(a.isBoolean(p))return p.toString();if(!l&&a.isBlob(p))throw new y("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(p)||a.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function m(p,f,E){let U=p;if(a.isReactNative(t)&&a.isReactNativeBlob(p))return t.append(pe(E,f,o),u(p)),!1;if(p&&!E&&typeof p=="object"){if(a.endsWith(f,"{}"))f=r?f:f.slice(0,-2),p=JSON.stringify(p);else if(a.isArray(p)&&an(p)||(a.isFileList(p)||a.endsWith(f,"[]"))&&(U=a.toArray(p)))return f=rt(f),U.forEach(function(R,A){!(a.isUndefined(R)||R===null)&&t.append(i===!0?pe([f],A,o):i===null?f:f+"[]",u(R))}),!1}return ge(p)?!0:(t.append(pe(E,f,o),u(p)),!1)}const w=[],b=Object.assign(cn,{defaultVisitor:m,convertValue:u,isVisitable:ge});function h(p,f,E=0){if(!a.isUndefined(p)){if(E>d)throw new y("Object is too deeply nested ("+E+" levels). Max depth: "+d,y.ERR_FORM_DATA_DEPTH_EXCEEDED);if(w.indexOf(p)!==-1)throw Error("Circular reference detected in "+f.join("."));w.push(p),a.forEach(p,function(O,R){(!(a.isUndefined(O)||O===null)&&s.call(t,O,a.isString(R)?R.trim():R,f,b))===!0&&h(O,f?f.concat(R):[R],E+1)}),w.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return h(e),t}function Le(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Re(e,t){this._pairs=[],e&&le(e,this,t)}const st=Re.prototype;st.append=function(t,n){this._pairs.push([t,n])};st.toString=function(t){const n=t?function(r){return t.call(this,r,Le)}:Le;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function un(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ot(e,t,n){if(!t)return e;const r=n&&n.encode||un,s=a.isFunction(n)?{serialize:n}:n,o=s&&s.serialize;let i;if(o?i=o(t,s):i=a.isURLSearchParams(t)?t.toString():new Re(t,s).toString(r),i){const c=e.indexOf("#");c!==-1&&(e=e.slice(0,c)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Be{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Se={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},ln=typeof URLSearchParams<"u"?URLSearchParams:Re,fn=typeof FormData<"u"?FormData:null,dn=typeof Blob<"u"?Blob:null,pn={isBrowser:!0,classes:{URLSearchParams:ln,FormData:fn,Blob:dn},protocols:["http","https","file","blob","url","data"]},Oe=typeof window<"u"&&typeof document<"u",be=typeof navigator=="object"&&navigator||void 0,hn=Oe&&(!be||["ReactNative","NativeScript","NS"].indexOf(be.product)<0),mn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",yn=Oe&&window.location.href||"http://localhost",wn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Oe,hasStandardBrowserEnv:hn,hasStandardBrowserWebWorkerEnv:mn,navigator:be,origin:yn},Symbol.toStringTag,{value:"Module"})),T={...wn,...pn};function gn(e,t){return le(e,new T.classes.URLSearchParams,{visitor:function(n,r,s,o){return T.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function bn(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function En(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&a.isArray(s)?s.length:i,d?(a.hasOwnProp(s,i)?s[i]=a.isArray(s[i])?s[i].concat(r):[s[i],r]:s[i]=r,!c):((!s[i]||!a.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&a.isArray(s[i])&&(s[i]=En(s[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(bn(r),s,n,0)}),n}return null}const M=(e,t)=>e!=null&&a.hasOwnProp(e,t)?e[t]:void 0;function Rn(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const G={transitional:Se,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=a.isObject(t);if(o&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s?JSON.stringify(it(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(o){const d=M(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return gn(t,d).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=M(this,"env"),u=l&&l.FormData;return le(c?{"files[]":t}:t,u&&new u,d)}}return o||s?(n.setContentType("application/json",!1),Rn(t)):t}],transformResponse:[function(t){const n=M(this,"transitional")||G.transitional,r=n&&n.forcedJSONParsing,s=M(this,"responseType"),o=s==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!s||o)){const c=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,M(this,"parseReviver"))}catch(d){if(c)throw d.name==="SyntaxError"?y.from(d,y.ERR_BAD_RESPONSE,this,null,M(this,"response")):d}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:T.classes.FormData,Blob:T.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{G.headers[e]={}});const Sn=a.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"]),On=e=>{const t={};let n,r,s;return e&&e.split(`
+`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||t[n]&&Sn[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},ke=Symbol("internals"),Tn=/[^\x09\x20-\x7E\x80-\xFF]/g;function An(e){let t=0,n=e.length;for(;tt;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}function V(e){return e&&String(e).trim().toLowerCase()}function Cn(e){return An(e.replace(Tn,""))}function re(e){return e===!1||e==null?e:a.isArray(e)?e.map(re):Cn(String(e))}function xn(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const _n=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function he(e,t,n,r,s){if(a.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!a.isString(t)){if(a.isString(r))return t.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(t)}}function Pn(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Nn(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}let _=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(c,d,l){const u=V(d);if(!u)throw new Error("header name must be a non-empty string");const m=a.findKey(s,u);(!m||s[m]===void 0||l===!0||l===void 0&&s[m]!==!1)&&(s[m||d]=re(c))}const i=(c,d)=>a.forEach(c,(l,u)=>o(l,u,d));if(a.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(a.isString(t)&&(t=t.trim())&&!_n(t))i(On(t),n);else if(a.isObject(t)&&a.isIterable(t)){let c={},d,l;for(const u of t){if(!a.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[l=u[0]]=(d=c[l])?a.isArray(d)?[...d,u[1]]:[d,u[1]]:u[1]}i(c,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=V(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return xn(s);if(a.isFunction(n))return n.call(this,s,r);if(a.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=V(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||he(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=V(i),i){const c=a.findKey(r,i);c&&(!n||he(r,r[c],c,n))&&(delete r[c],s=!0)}}return a.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||he(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return a.forEach(this,(s,o)=>{const i=a.findKey(r,o);if(i){n[i]=re(s),delete n[o];return}const c=t?Pn(o):String(o).trim();c!==o&&delete n[o],n[c]=re(s),r[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&a.isArray(r)?r.join(", "):r)}),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 r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[ke]=this[ke]={accessors:{}}).accessors,s=this.prototype;function o(i){const c=V(i);r[c]||(Nn(s,i),r[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}};_.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(_.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(_);function me(e,t){const n=this||G,r=t||n,s=_.from(r.headers);let o=r.data;return a.forEach(e,function(c){o=c.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function at(e){return!!(e&&e.__CANCEL__)}let Q=class extends y{constructor(t,n,r){super(t??"canceled",y.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function ct(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new y("Request failed with status code "+n.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Dn(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Fn(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(d){const l=Date.now(),u=r[o];i||(i=l),n[s]=d,r[s]=l;let m=o,w=0;for(;m!==s;)w+=n[m++],m=m%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),l-i{n=u,s=null,o&&(clearTimeout(o),o=null),e(...l)};return[(...l)=>{const u=Date.now(),m=u-n;m>=r?i(l,u):(s=l,o||(o=setTimeout(()=>{o=null,i(s)},r-m)))},()=>s&&i(s)]}const oe=(e,t,n=3)=>{let r=0;const s=Fn(50,250);return Un(o=>{const i=o.loaded,c=o.lengthComputable?o.total:void 0,d=c!=null?Math.min(i,c):i,l=Math.max(0,d-r),u=s(l);r=Math.max(r,d);const m={loaded:d,total:c,progress:c?d/c:void 0,bytes:l,rate:u||void 0,estimated:u&&c?(c-d)/u:void 0,event:o,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(m)},n)},je=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Ie=e=>(...t)=>a.asap(()=>e(...t)),Ln=T.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,T.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(T.origin),T.navigator&&/(msie|trident)/i.test(T.navigator.userAgent)):()=>!0,Bn=T.hasStandardBrowserEnv?{write(e,t,n,r,s,o,i){if(typeof document>"u")return;const c=[`${e}=${encodeURIComponent(t)}`];a.isNumber(n)&&c.push(`expires=${new Date(n).toUTCString()}`),a.isString(r)&&c.push(`path=${r}`),a.isString(s)&&c.push(`domain=${s}`),o===!0&&c.push("secure"),a.isString(i)&&c.push(`SameSite=${i}`),document.cookie=c.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function kn(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function jn(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function ut(e,t,n){let r=!kn(t);return e&&(r||n===!1)?jn(e,t):t}const qe=e=>e instanceof _?{...e}:e;function q(e,t){t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(l,u,m,w){return a.isPlainObject(l)&&a.isPlainObject(u)?a.merge.call({caseless:w},l,u):a.isPlainObject(u)?a.merge({},u):a.isArray(u)?u.slice():u}function s(l,u,m,w){if(a.isUndefined(u)){if(!a.isUndefined(l))return r(void 0,l,m,w)}else return r(l,u,m,w)}function o(l,u){if(!a.isUndefined(u))return r(void 0,u)}function i(l,u){if(a.isUndefined(u)){if(!a.isUndefined(l))return r(void 0,l)}else return r(void 0,u)}function c(l,u,m){if(a.hasOwnProp(t,m))return r(l,u);if(a.hasOwnProp(e,m))return r(void 0,l)}const d={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,allowedSocketPaths:i,responseEncoding:i,validateStatus:c,headers:(l,u,m)=>s(qe(l),qe(u),m,!0)};return a.forEach(Object.keys({...e,...t}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const m=a.hasOwnProp(d,u)?d[u]:s,w=a.hasOwnProp(e,u)?e[u]:void 0,b=a.hasOwnProp(t,u)?t[u]:void 0,h=m(w,b,u);a.isUndefined(h)&&m!==c||(n[u]=h)}),n}const lt=e=>{const t=q({},e),n=w=>a.hasOwnProp(t,w)?t[w]:void 0,r=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),i=n("xsrfCookieName");let c=n("headers");const d=n("auth"),l=n("baseURL"),u=n("allowAbsoluteUrls"),m=n("url");if(t.headers=c=_.from(c),t.url=ot(ut(l,m,u),e.params,e.paramsSerializer),d&&c.set("Authorization","Basic "+btoa((d.username||"")+":"+(d.password?unescape(encodeURIComponent(d.password)):""))),a.isFormData(r)){if(T.hasStandardBrowserEnv||T.hasStandardBrowserWebWorkerEnv)c.setContentType(void 0);else if(a.isFunction(r.getHeaders)){const w=r.getHeaders(),b=["content-type","content-length"];Object.entries(w).forEach(([h,p])=>{b.includes(h.toLowerCase())&&c.set(h,p)})}}if(T.hasStandardBrowserEnv&&(a.isFunction(s)&&(s=s(t)),s===!0||s==null&&Ln(t.url))){const b=o&&i&&Bn.read(i);b&&c.set(o,b)}return t},In=typeof XMLHttpRequest<"u",qn=In&&function(e){return new Promise(function(n,r){const s=lt(e);let o=s.data;const i=_.from(s.headers).normalize();let{responseType:c,onUploadProgress:d,onDownloadProgress:l}=s,u,m,w,b,h;function p(){b&&b(),h&&h(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let f=new XMLHttpRequest;f.open(s.method.toUpperCase(),s.url,!0),f.timeout=s.timeout;function E(){if(!f)return;const O=_.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),A={data:!c||c==="text"||c==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:O,config:e,request:f};ct(function(P){n(P),p()},function(P){r(P),p()},A),f=null}"onloadend"in f?f.onloadend=E:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(E)},f.onabort=function(){f&&(r(new y("Request aborted",y.ECONNABORTED,e,f)),f=null)},f.onerror=function(R){const A=R&&R.message?R.message:"Network Error",B=new y(A,y.ERR_NETWORK,e,f);B.event=R||null,r(B),f=null},f.ontimeout=function(){let R=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const A=s.transitional||Se;s.timeoutErrorMessage&&(R=s.timeoutErrorMessage),r(new y(R,A.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,e,f)),f=null},o===void 0&&i.setContentType(null),"setRequestHeader"in f&&a.forEach(i.toJSON(),function(R,A){f.setRequestHeader(A,R)}),a.isUndefined(s.withCredentials)||(f.withCredentials=!!s.withCredentials),c&&c!=="json"&&(f.responseType=s.responseType),l&&([w,h]=oe(l,!0),f.addEventListener("progress",w)),d&&f.upload&&([m,b]=oe(d),f.upload.addEventListener("progress",m),f.upload.addEventListener("loadend",b)),(s.cancelToken||s.signal)&&(u=O=>{f&&(r(!O||O.type?new Q(null,e,f):O),f.abort(),f=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const U=Dn(s.url);if(U&&T.protocols.indexOf(U)===-1){r(new y("Unsupported protocol "+U+":",y.ERR_BAD_REQUEST,e));return}f.send(o||null)})},Hn=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const o=function(l){if(!s){s=!0,c();const u=l instanceof Error?l:this.reason;r.abort(u instanceof y?u:new Q(u instanceof Error?u.message:u))}};let i=t&&setTimeout(()=>{i=null,o(new y(`timeout of ${t}ms exceeded`,y.ETIMEDOUT))},t);const c=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),e=null)};e.forEach(l=>l.addEventListener("abort",o));const{signal:d}=r;return d.unsubscribe=()=>a.asap(c),d}},Mn=function*(e,t){let n=e.byteLength;if(n{const s=$n(e,t);let o=0,i,c=d=>{i||(i=!0,r&&r(d))};return new ReadableStream({async pull(d){try{const{done:l,value:u}=await s.next();if(l){c(),d.close();return}let m=u.byteLength;if(n){let w=o+=m;n(w)}d.enqueue(new Uint8Array(u))}catch(l){throw c(l),l}},cancel(d){return c(d),s.return()}},{highWaterMark:2})},Me=64*1024,{isFunction:te}=a,vn=(({Request:e,Response:t})=>({Request:e,Response:t}))(a.global),{ReadableStream:$e,TextEncoder:ze}=a.global,ve=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Jn=e=>{e=a.merge.call({skipUndefined:!0},vn,e);const{fetch:t,Request:n,Response:r}=e,s=t?te(t):typeof fetch=="function",o=te(n),i=te(r);if(!s)return!1;const c=s&&te($e),d=s&&(typeof ze=="function"?(h=>p=>h.encode(p))(new ze):async h=>new Uint8Array(await new n(h).arrayBuffer())),l=o&&c&&ve(()=>{let h=!1;const p=new n(T.origin,{body:new $e,method:"POST",get duplex(){return h=!0,"half"}}),f=p.headers.has("Content-Type");return p.body!=null&&p.body.cancel(),h&&!f}),u=i&&c&&ve(()=>a.isReadableStream(new r("").body)),m={stream:u&&(h=>h.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!m[h]&&(m[h]=(p,f)=>{let E=p&&p[h];if(E)return E.call(p);throw new y(`Response type '${h}' is not supported`,y.ERR_NOT_SUPPORT,f)})});const w=async h=>{if(h==null)return 0;if(a.isBlob(h))return h.size;if(a.isSpecCompliantForm(h))return(await new n(T.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(a.isArrayBufferView(h)||a.isArrayBuffer(h))return h.byteLength;if(a.isURLSearchParams(h)&&(h=h+""),a.isString(h))return(await d(h)).byteLength},b=async(h,p)=>{const f=a.toFiniteNumber(h.getContentLength());return f??w(p)};return async h=>{let{url:p,method:f,data:E,signal:U,cancelToken:O,timeout:R,onDownloadProgress:A,onUploadProgress:B,responseType:P,headers:v,withCredentials:Z="same-origin",fetchOptions:Ae}=lt(h),Ce=t||fetch;P=P?(P+"").toLowerCase():"text";let Y=Hn([U,O&&O.toAbortSignal()],R),J=null;const k=Y&&Y.unsubscribe&&(()=>{Y.unsubscribe()});let xe;try{if(B&&l&&f!=="get"&&f!=="head"&&(xe=await b(v,E))!==0){let N=new n(p,{method:"POST",body:E,duplex:"half"}),H;if(a.isFormData(E)&&(H=N.headers.get("content-type"))&&v.setContentType(H),N.body){const[de,ee]=je(xe,oe(Ie(B)));E=He(N.body,Me,de,ee)}}a.isString(Z)||(Z=Z?"include":"omit");const C=o&&"credentials"in n.prototype;if(a.isFormData(E)){const N=v.getContentType();N&&/^multipart\/form-data/i.test(N)&&!/boundary=/i.test(N)&&v.delete("content-type")}const _e={...Ae,signal:Y,method:f.toUpperCase(),headers:v.normalize().toJSON(),body:E,duplex:"half",credentials:C?Z:void 0};J=o&&new n(p,_e);let L=await(o?Ce(J,Ae):Ce(p,_e));const Pe=u&&(P==="stream"||P==="response");if(u&&(A||Pe&&k)){const N={};["status","statusText","headers"].forEach(Ne=>{N[Ne]=L[Ne]});const H=a.toFiniteNumber(L.headers.get("content-length")),[de,ee]=A&&je(H,oe(Ie(A),!0))||[];L=new r(He(L.body,Me,de,()=>{ee&&ee(),k&&k()}),N)}P=P||"text";let yt=await m[a.findKey(m,P)||"text"](L,h);return!Pe&&k&&k(),await new Promise((N,H)=>{ct(N,H,{data:yt,headers:_.from(L.headers),status:L.status,statusText:L.statusText,config:h,request:J})})}catch(C){throw k&&k(),C&&C.name==="TypeError"&&/Load failed|fetch/i.test(C.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,h,J,C&&C.response),{cause:C.cause||C}):y.from(C,C&&C.code,h,J,C&&C.response)}}},Vn=new Map,ft=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let i=o.length,c=i,d,l,u=Vn;for(;c--;)d=o[c],l=u.get(d),l===void 0&&u.set(d,l=c?new Map:Jn(t)),u=l;return l};ft();const Te={http:on,xhr:qn,fetch:{get:ft}};a.forEach(Te,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Je=e=>`- ${e}`,Wn=e=>a.isFunction(e)||e===null||e===!1;function Kn(e,t){e=a.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let i=0;i`adapter ${d} `+(l===!1?"is not supported by the environment":"is not available in the build"));let c=n?i.length>1?`since :
+`+i.map(Je).join(`
+`):" "+Je(i[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return s}const dt={getAdapter:Kn,adapters:Te};function ye(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Q(null,e)}function Ve(e){return ye(e),e.headers=_.from(e.headers),e.data=me.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),dt.getAdapter(e.adapter||G.adapter,e)(e).then(function(r){return ye(e),r.data=me.call(e,e.transformResponse,r),r.headers=_.from(r.headers),r},function(r){return at(r)||(ye(e),r&&r.response&&(r.response.data=me.call(e,e.transformResponse,r.response),r.response.headers=_.from(r.response.headers))),Promise.reject(r)})}const pt="1.15.2",fe={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{fe[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const We={};fe.transitional=function(t,n,r){function s(o,i){return"[Axios v"+pt+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,c)=>{if(t===!1)throw new y(s(i," has been removed"+(n?" in "+n:"")),y.ERR_DEPRECATED);return n&&!We[i]&&(We[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,c):!0}};fe.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Xn(e,t,n){if(typeof e!="object")throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=Object.prototype.hasOwnProperty.call(t,o)?t[o]:void 0;if(i){const c=e[o],d=c===void 0||i(c,o,e);if(d!==!0)throw new y("option "+o+" must be "+d,y.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new y("Unknown option "+o,y.ERR_BAD_OPTION)}}const se={assertOptions:Xn,validators:fe},D=se.validators;let I=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Be,response:new Be}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=(()=>{if(!s.stack)return"";const i=s.stack.indexOf(`
+`);return i===-1?"":s.stack.slice(i+1)})();try{if(!r.stack)r.stack=o;else if(o){const i=o.indexOf(`
+`),c=i===-1?-1:o.indexOf(`
+`,i+1),d=c===-1?"":o.slice(c+1);String(r.stack).endsWith(d)||(r.stack+=`
+`+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=q(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&se.assertOptions(r,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean),legacyInterceptorReqResOrdering:D.transitional(D.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:se.assertOptions(s,{encode:D.function,serialize:D.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),se.assertOptions(n,{baseUrl:D.spelling("baseURL"),withXsrfToken:D.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&a.merge(o.common,o[n.method]);o&&a.forEach(["delete","get","head","post","put","patch","common"],h=>{delete o[h]}),n.headers=_.concat(i,o);const c=[];let d=!0;this.interceptors.request.forEach(function(p){if(typeof p.runWhen=="function"&&p.runWhen(n)===!1)return;d=d&&p.synchronous;const f=n.transitional||Se;f&&f.legacyInterceptorReqResOrdering?c.unshift(p.fulfilled,p.rejected):c.push(p.fulfilled,p.rejected)});const l=[];this.interceptors.response.forEach(function(p){l.push(p.fulfilled,p.rejected)});let u,m=0,w;if(!d){const h=[Ve.bind(this),void 0];for(h.unshift(...c),h.push(...l),w=h.length,u=Promise.resolve(n);m{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(c=>{r.subscribe(c),o=c}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,c){r.reason||(r.reason=new Q(o,i,c),n(r.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=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new ht(function(s){t=s}),cancel:t}}};function Qn(e){return function(n){return e.apply(null,n)}}function Zn(e){return a.isObject(e)&&e.isAxiosError===!0}const Ee={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ee).forEach(([e,t])=>{Ee[t]=e});function mt(e){const t=new I(e),n=Ke(I.prototype.request,t);return a.extend(n,I.prototype,t,{allOwnKeys:!0}),a.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return mt(q(e,s))},n}const S=mt(G);S.Axios=I;S.CanceledError=Q;S.CancelToken=Gn;S.isCancel=at;S.VERSION=pt;S.toFormData=le;S.AxiosError=y;S.Cancel=S.CanceledError;S.all=function(t){return Promise.all(t)};S.spread=Qn;S.isAxiosError=Zn;S.mergeConfig=q;S.AxiosHeaders=_;S.formToJSON=e=>it(a.isHTMLForm(e)?new FormData(e):e);S.getAdapter=dt.getAdapter;S.HttpStatusCode=Ee;S.default=S;const{Axios:nr,AxiosError:rr,CanceledError:sr,isCancel:or,CancelToken:ir,VERSION:ar,all:cr,Cancel:ur,isAxiosError:lr,spread:fr,toFormData:dr,AxiosHeaders:pr,HttpStatusCode:hr,formToJSON:mr,getAdapter:yr,mergeConfig:wr}=S,g=S.create({baseURL:"/api",timeout:3e4});g.interceptors.request.use(e=>{const t=localStorage.getItem("admin_token");return t&&(e.headers.Authorization=`Bearer ${t}`),e});g.interceptors.response.use(e=>e,e=>{var t,n,r;return((t=e.response)==null?void 0:t.status)===401&&(localStorage.removeItem("admin_token"),!window.location.pathname.startsWith("/admin/login")&&!((r=(n=e.config)==null?void 0:n.url)!=null&&r.includes("/admin/login"))&&(window.location.href="/admin/login")),Promise.reject(e)});async function gr(e,t=1){const{data:n}=await g.post("/query",{q:e,page:t});return n}async function br(e,t){var s,o,i;const n=localStorage.getItem("admin_token"),r={"Content-Type":"application/json"};n&&(r.Authorization=`Bearer ${n}`);try{const c=await fetch("/api/query",{method:"POST",headers:r,body:JSON.stringify({q:e})});if(!c.ok)throw new Error(`HTTP ${c.status}`);const d=c.body.getReader(),l=new TextDecoder;let u="";for(;;){const{done:m,value:w}=await d.read();if(m)break;u+=l.decode(w,{stream:!0});const b=u.split(`
+`);u=b.pop()||"";for(const h of b)if(h.trim())try{const p=JSON.parse(h);switch(p.type){case"searching":(s=t.onSearching)==null||s.call(t);break;case"saved":(o=t.onSaved)==null||o.call(t,p);break;case"stats":t.onStats(p);break;case"result":t.onResult(p.id,p.valid,p.message);break;case"complete":t.onComplete(p);break}}catch{}}}catch(c){(i=t.onError)==null||i.call(t,c)}}async function Er(e){const{data:t}=await g.post("/save",e);return t}async function Rr(e){const{data:t}=await g.post("/video/save-to-cloud",e);return t}async function Sr(){const{data:e}=await g.get("/rankings/categorized");return e}async function Or(e,t){const{data:n}=await g.post("/admin/login",{username:e,password:t});return n}async function Tr(){const{data:e}=await g.get("/me");return e}async function Ar(){const{data:e}=await g.get("/admin/cloud-configs");return e}async function Cr(e){const{data:t}=await g.post("/admin/cloud-configs",e);return t}async function xr(e){const{data:t}=await g.put(`/admin/cloud-configs/${e.id}`,e);return t}async function _r(e,t,n){const{data:r}=await g.post(`/admin/cloud-configs/${e}/test`,{cookie:t,id:n});return r}async function Pr(e){await g.delete(`/admin/cloud-configs/${e}`)}async function Nr(e,t){const{data:n}=await g.put(`/admin/cloud-configs/${e}/primary`,{primary:t});return n}async function Dr(e){const t={};e&&(t.days=e);const{data:n}=await g.get("/admin/stats",{params:t});return n}async function Fr(e=1,t=20,n,r,s,o,i){const c={page:e,pageSize:t};n&&(c.startDate=n),r&&(c.endDate=r),s&&(c.status=s),o&&(c.sourceType=o),i&&(c.keyword=i);const{data:d}=await g.get("/admin/save-records",{params:c});return d}async function Ur(){const{data:e}=await g.get("/admin/notify/providers");return e}async function Lr(e,t){const{data:n}=await g.post("/admin/notify/test",{channelType:e,configId:t});return n}async function Br(){const{data:e}=await g.get("/admin/system-configs");return e}async function kr(e){await g.put("/admin/system-configs",{entries:e})}async function jr(){const{data:e}=await g.get("/admin/cloud-types");return e}async function Ir(e,t){await g.put("/admin/cloud-types",{type:e,enabled:t})}async function qr(e,t){const{data:n}=await g.post("/admin/change-password",{oldPassword:e,newPassword:t});return n}async function Hr(e,t){await g.put("/admin/system-configs",{entries:[{key:e,value:t}]})}async function Mr(e){const t=new FormData;t.append("image",e);const{data:n}=await g.post("/admin/upload-logo",t,{headers:{"Content-Type":"multipart/form-data"}});return n}async function $r(){const{data:e}=await g.get("/site-config");return e}async function zr(e){const{data:t}=await g.post("/admin/test-redis",{url:e});return t}async function vr(e){const{data:t}=await g.post("/admin/test-external-service",e);return t}async function Jr(){const{data:e}=await g.get("/admin/db-status");return e}async function Vr(){const{data:e}=await g.post("/admin/cleanup/run");return e}async function Wr(){const{data:e}=await g.post("/admin/cleanup/empty-trash");return e}const Kr=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n};export{vr as A,qr as B,Mr as C,Hr as D,Kr as _,$r as a,Tr as b,jr as c,Or as d,Er as e,Rr as f,Sr as g,Ar as h,Dr as i,Fr as j,Br as k,_r as l,Nr as m,Cr as n,Pr as o,kr as p,gr as q,Vr as r,br as s,Ir as t,xr as u,Wr as v,Jr as w,Ur as x,Lr as y,zr as z};
diff --git a/source_clean/frontend-src/dist-vite/assets/index-Bn7NwETH.js b/source_clean/frontend-src/dist-vite/assets/index-Bn7NwETH.js
new file mode 100644
index 0000000..a5a2ad7
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/index-Bn7NwETH.js
@@ -0,0 +1 @@
+const n={quark:"夸克网盘",baidu:"百度网盘",aliyun:"阿里云盘",115:"115网盘",tianyi:"天翼云盘","123pan":"123云盘",uc:"UC网盘",xunlei:"迅雷云盘",pikpak:"PikPak",magnet:"磁力链接",ed2k:"电驴链接",others:"其他"},a={quark:"#07c160",baidu:"#4e6ef2",aliyun:"#ff6a00",115:"#9b59b6",tianyi:"#00a1d6","123pan":"#e74c3c",uc:"#f39c12",xunlei:"#2ecc71",pikpak:"#8e44ad",magnet:"#95a5a6",ed2k:"#7f8c8d",others:"#95a5a6"},i={baidu:"/icons/baidu.png",aliyun:"/icons/aliyun.png",quark:"/icons/quark.png",115:"/icons/115.png",tianyi:"/icons/tianyi.png","123pan":"/icons/123pan.png",uc:"/icons/uc.png",xunlei:"/icons/xunlei.png",pikpak:"/icons/pikpak.png",magnet:"/icons/magnet.png",ed2k:"/icons/ed2k.png",others:"/icons/others.png"};export{a as C,n as a,i as b};
diff --git a/source_clean/frontend-src/dist-vite/assets/index-D279dJND.js b/source_clean/frontend-src/dist-vite/assets/index-D279dJND.js
new file mode 100644
index 0000000..45d6a87
--- /dev/null
+++ b/source_clean/frontend-src/dist-vite/assets/index-D279dJND.js
@@ -0,0 +1,92 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomePage--KOSYv1j.js","assets/_plugin-vue_export-helper-1Z-znrfZ.js","assets/HomePage-BVcQlSvu.css","assets/SearchResult-DLXOMefi.js","assets/index-Bn7NwETH.js","assets/SearchResult-B_gCJbmx.css","assets/ResultDetail-DdE8ZRMU.js","assets/CloudBadge-OZZzB6Zg.js","assets/CloudBadge-B7b7xKko.css","assets/ResultDetail-CVwsv2ff.css","assets/AdminLogin-DxE2POP4.js","assets/AdminLogin-DFflDgjp.css","assets/AdminLayout-DHRMhPUk.js","assets/AdminLayout-e6gnzMQk.css","assets/AdminDashboard-BvLIjTGZ.js","assets/CloudConfig-BADbnuPV.js","assets/CloudConfig-BEjvFHzE.css","assets/SystemConfig-C3is0eeI.js","assets/SystemConfig-DFR5iJEB.css","assets/SaveRecords-DLmXAM3V.js","assets/SaveRecords-C2kQYC3g.css","assets/AdminDashboard-BIBkHVvW.css","assets/Cleanup-CwLcANun.js","assets/Cleanup-Cq_o1Z9e.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const s of l.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&a(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(o){if(o.ep)return;o.ep=!0;const l=n(o);fetch(o.href,l)}})();/**
+* @vue/shared v3.5.33
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function bv(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const sn={},Xs=[],_t=()=>{},M0=()=>!1,ed=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),td=e=>e.startsWith("onUpdate:"),On=Object.assign,wv=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},qE=Object.prototype.hasOwnProperty,$t=(e,t)=>qE.call(e,t),be=Array.isArray,Zs=e=>Gi(e)==="[object Map]",nd=e=>Gi(e)==="[object Set]",_l=e=>Gi(e)==="[object Date]",ze=e=>typeof e=="function",De=e=>typeof e=="string",Ea=e=>typeof e=="symbol",ot=e=>e!==null&&typeof e=="object",Pl=e=>(ot(e)||ze(e))&&ze(e.then)&&ze(e.catch),R0=Object.prototype.toString,Gi=e=>R0.call(e),GE=e=>Gi(e).slice(8,-1),bi=e=>Gi(e)==="[object Object]",ad=e=>De(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ai=bv(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),od=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},XE=/-\w/g,Vn=od(e=>e.replace(XE,t=>t.slice(1).toUpperCase())),ZE=/\B([A-Z])/g,ll=od(e=>e.replace(ZE,"-$1").toLowerCase()),Xi=od(e=>e.charAt(0).toUpperCase()+e.slice(1)),oi=od(e=>e?`on${Xi(e)}`:""),ho=(e,t)=>!Object.is(e,t),Zu=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},Cv=e=>{const t=parseFloat(e);return isNaN(t)?e:t},JE=e=>{const t=De(e)?Number(e):NaN;return isNaN(t)?e:t};let Rm;const ld=()=>Rm||(Rm=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function je(e){if(be(e)){const t={};for(let n=0;n{if(n){const a=n.split(ex);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function M(e){let t="";if(De(e))t=e;else if(be(e))for(let n=0;nhs(n,t))}const A0=e=>!!(e&&e.__v_isRef===!0),ke=e=>De(e)?e:e==null?"":be(e)||ot(e)&&(e.toString===R0||!ze(e.toString))?A0(e)?ke(e.value):JSON.stringify(e,L0,2):String(e),L0=(e,t)=>A0(t)?L0(e,t.value):Zs(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[a,o],l)=>(n[tf(a,l)+" =>"]=o,n),{})}:nd(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>tf(n))}:Ea(t)?tf(t):ot(t)&&!be(t)&&!bi(t)?String(t):t,tf=(e,t="")=>{var n;return Ea(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+* @vue/reactivity v3.5.33
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let Ln;class D0{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Ln,!t&&Ln&&(this.index=(Ln.scopes||(Ln.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(Ln===this)Ln=this.prevScope;else{let t=Ln;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,a;for(n=0,a=this.effects.length;n0)return;if(si){let t=si;for(si=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;li;){let t=li;for(li=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(a){e||(e=a)}t=n}}if(e)throw e}function W0(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function j0(e){let t,n=e.depsTail,a=n;for(;a;){const o=a.prevDep;a.version===-1?(a===n&&(n=o),Ev(a),sx(a)):t=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=o}e.deps=t,e.depsTail=n}function Xf(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(U0(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function U0(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===wi)||(e.globalVersion=wi,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Xf(e))))return;e.flags|=2;const t=e.dep,n=dn,a=Fa;dn=e,Fa=!0;try{W0(e);const o=e.fn(e._value);(t.version===0||ho(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{dn=n,Fa=a,j0(e),e.flags&=-3}}function Ev(e,t=!1){const{dep:n,prevSub:a,nextSub:o}=e;if(a&&(a.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a,!a&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)Ev(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function sx(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Fa=!0;const Y0=[];function Zo(){Y0.push(Fa),Fa=!1}function Jo(){const e=Y0.pop();Fa=e===void 0?!0:e}function Im(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=dn;dn=void 0;try{t()}finally{dn=n}}}let wi=0;class rx{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 xv{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=!0}track(t){if(!dn||!Fa||dn===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==dn)n=this.activeLink=new rx(dn,this),dn.deps?(n.prevDep=dn.depsTail,dn.depsTail.nextDep=n,dn.depsTail=n):dn.deps=dn.depsTail=n,q0(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const a=n.nextDep;a.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=a),n.prevDep=dn.depsTail,n.nextDep=void 0,dn.depsTail.nextDep=n,dn.depsTail=n,dn.deps===n&&(dn.deps=a)}return n}trigger(t){this.version++,wi++,this.notify(t)}notify(t){Sv();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{kv()}}}function q0(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let a=t.deps;a;a=a.nextDep)q0(a)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mc=new WeakMap,cs=Symbol(""),Zf=Symbol(""),Ci=Symbol("");function qn(e,t,n){if(Fa&&dn){let a=mc.get(e);a||mc.set(e,a=new Map);let o=a.get(n);o||(a.set(n,o=new xv),o.map=a,o.key=n),o.track()}}function zo(e,t,n,a,o,l){const s=mc.get(e);if(!s){wi++;return}const r=u=>{u&&u.trigger()};if(Sv(),t==="clear")s.forEach(r);else{const u=be(e),c=u&&ad(n);if(u&&n==="length"){const d=Number(a);s.forEach((f,p)=>{(p==="length"||p===Ci||!Ea(p)&&p>=d)&&r(f)})}else switch((n!==void 0||s.has(void 0))&&r(s.get(n)),c&&r(s.get(Ci)),t){case"add":u?c&&r(s.get("length")):(r(s.get(cs)),Zs(e)&&r(s.get(Zf)));break;case"delete":u||(r(s.get(cs)),Zs(e)&&r(s.get(Zf)));break;case"set":Zs(e)&&r(s.get(cs));break}}kv()}function ix(e,t){const n=mc.get(e);return n&&n.get(t)}function As(e){const t=Kt(e);return t===e?t:(qn(t,"iterate",Ci),Sa(e)?t:t.map(ja))}function sd(e){return qn(e=Kt(e),"iterate",Ci),e}function po(e,t){return Qo(e)?ir(ds(e)?ja(t):t):ja(t)}const ux={__proto__:null,[Symbol.iterator](){return af(this,Symbol.iterator,e=>po(this,e))},concat(...e){return As(this).concat(...e.map(t=>be(t)?As(t):t))},entries(){return af(this,"entries",e=>(e[1]=po(this,e[1]),e))},every(e,t){return Lo(this,"every",e,t,void 0,arguments)},filter(e,t){return Lo(this,"filter",e,t,n=>n.map(a=>po(this,a)),arguments)},find(e,t){return Lo(this,"find",e,t,n=>po(this,n),arguments)},findIndex(e,t){return Lo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Lo(this,"findLast",e,t,n=>po(this,n),arguments)},findLastIndex(e,t){return Lo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Lo(this,"forEach",e,t,void 0,arguments)},includes(...e){return of(this,"includes",e)},indexOf(...e){return of(this,"indexOf",e)},join(e){return As(this).join(e)},lastIndexOf(...e){return of(this,"lastIndexOf",e)},map(e,t){return Lo(this,"map",e,t,void 0,arguments)},pop(){return Fr(this,"pop")},push(...e){return Fr(this,"push",e)},reduce(e,...t){return _m(this,"reduce",e,t)},reduceRight(e,...t){return _m(this,"reduceRight",e,t)},shift(){return Fr(this,"shift")},some(e,t){return Lo(this,"some",e,t,void 0,arguments)},splice(...e){return Fr(this,"splice",e)},toReversed(){return As(this).toReversed()},toSorted(e){return As(this).toSorted(e)},toSpliced(...e){return As(this).toSpliced(...e)},unshift(...e){return Fr(this,"unshift",e)},values(){return af(this,"values",e=>po(this,e))}};function af(e,t,n){const a=sd(e),o=a[t]();return a!==e&&!Sa(e)&&(o._next=o.next,o.next=()=>{const l=o._next();return l.done||(l.value=n(l.value)),l}),o}const cx=Array.prototype;function Lo(e,t,n,a,o,l){const s=sd(e),r=s!==e&&!Sa(e),u=s[t];if(u!==cx[t]){const f=u.apply(e,l);return r?ja(f):f}let c=n;s!==e&&(r?c=function(f,p){return n.call(this,po(e,f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const d=u.call(s,c,a);return r&&o?o(d):d}function _m(e,t,n,a){const o=sd(e),l=o!==e&&!Sa(e);let s=n,r=!1;o!==e&&(l?(r=a.length===0,s=function(c,d,f){return r&&(r=!1,c=po(e,c)),n.call(this,c,po(e,d),f,e)}):n.length>3&&(s=function(c,d,f){return n.call(this,c,d,f,e)}));const u=o[t](s,...a);return r?po(e,u):u}function of(e,t,n){const a=Kt(e);qn(a,"iterate",Ci);const o=a[t](...n);return(o===-1||o===!1)&&id(n[0])?(n[0]=Kt(n[0]),a[t](...n)):o}function Fr(e,t,n=[]){Zo(),Sv();const a=Kt(e)[t].apply(e,n);return kv(),Jo(),a}const dx=bv("__proto__,__v_isRef,__isVue"),G0=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ea));function fx(e){Ea(e)||(e=String(e));const t=Kt(this);return qn(t,"has",e),t.hasOwnProperty(e)}class X0{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,a){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return l;if(n==="__v_raw")return a===(o?l?Sx:e1:l?Q0:J0).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(a)?t:void 0;const s=be(t);if(!o){let u;if(s&&(u=ux[n]))return u;if(n==="hasOwnProperty")return fx}const r=Reflect.get(t,n,Ut(t)?t:a);if((Ea(n)?G0.has(n):dx(n))||(o||qn(t,"get",n),l))return r;if(Ut(r)){const u=s&&ad(n)?r:r.value;return o&&ot(u)?ms(u):u}return ot(r)?o?ms(r):Rt(r):r}}class Z0 extends X0{constructor(t=!1){super(!1,t)}set(t,n,a,o){let l=t[n];const s=be(t)&&ad(n);if(!this._isShallow){const c=Qo(l);if(!Sa(a)&&!Qo(a)&&(l=Kt(l),a=Kt(a)),!s&&Ut(l)&&!Ut(a))return c||(l.value=a),!0}const r=s?Number(n)e,$u=e=>Reflect.getPrototypeOf(e);function gx(e,t,n){return function(...a){const o=this.__v_raw,l=Kt(o),s=Zs(l),r=e==="entries"||e===Symbol.iterator&&s,u=e==="keys"&&s,c=o[e](...a),d=n?Jf:t?ir:ja;return!t&&qn(l,"iterate",u?Zf:cs),On(Object.create(c),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:r?[d(f[0]),d(f[1])]:d(f),done:p}}})}}function Ou(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yx(e,t){const n={get(o){const l=this.__v_raw,s=Kt(l),r=Kt(o);e||(ho(o,r)&&qn(s,"get",o),qn(s,"get",r));const{has:u}=$u(s),c=t?Jf:e?ir:ja;if(u.call(s,o))return c(l.get(o));if(u.call(s,r))return c(l.get(r));l!==s&&l.get(o)},get size(){const o=this.__v_raw;return!e&&qn(Kt(o),"iterate",cs),o.size},has(o){const l=this.__v_raw,s=Kt(l),r=Kt(o);return e||(ho(o,r)&&qn(s,"has",o),qn(s,"has",r)),o===r?l.has(o):l.has(o)||l.has(r)},forEach(o,l){const s=this,r=s.__v_raw,u=Kt(r),c=t?Jf:e?ir:ja;return!e&&qn(u,"iterate",cs),r.forEach((d,f)=>o.call(l,c(d),c(f),s))}};return On(n,e?{add:Ou("add"),set:Ou("set"),delete:Ou("delete"),clear:Ou("clear")}:{add(o){const l=Kt(this),s=$u(l),r=Kt(o),u=!t&&!Sa(o)&&!Qo(o)?r:o;return s.has.call(l,u)||ho(o,u)&&s.has.call(l,o)||ho(r,u)&&s.has.call(l,r)||(l.add(u),zo(l,"add",u,u)),this},set(o,l){!t&&!Sa(l)&&!Qo(l)&&(l=Kt(l));const s=Kt(this),{has:r,get:u}=$u(s);let c=r.call(s,o);c||(o=Kt(o),c=r.call(s,o));const d=u.call(s,o);return s.set(o,l),c?ho(l,d)&&zo(s,"set",o,l):zo(s,"add",o,l),this},delete(o){const l=Kt(this),{has:s,get:r}=$u(l);let u=s.call(l,o);u||(o=Kt(o),u=s.call(l,o)),r&&r.call(l,o);const c=l.delete(o);return u&&zo(l,"delete",o,void 0),c},clear(){const o=Kt(this),l=o.size!==0,s=o.clear();return l&&zo(o,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=gx(o,e,t)}),n}function Tv(e,t){const n=yx(e,t);return(a,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?a:Reflect.get($t(n,o)&&o in a?n:a,o,l)}const bx={get:Tv(!1,!1)},wx={get:Tv(!1,!0)},Cx={get:Tv(!0,!1)};const J0=new WeakMap,Q0=new WeakMap,e1=new WeakMap,Sx=new WeakMap;function kx(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ex(e){return e.__v_skip||!Object.isExtensible(e)?0:kx(GE(e))}function Rt(e){return Qo(e)?e:$v(e,!1,vx,bx,J0)}function rd(e){return $v(e,!1,mx,wx,Q0)}function ms(e){return $v(e,!0,hx,Cx,e1)}function $v(e,t,n,a,o){if(!ot(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=Ex(e);if(l===0)return e;const s=o.get(e);if(s)return s;const r=new Proxy(e,l===2?a:n);return o.set(e,r),r}function ds(e){return Qo(e)?ds(e.__v_raw):!!(e&&e.__v_isReactive)}function Qo(e){return!!(e&&e.__v_isReadonly)}function Sa(e){return!!(e&&e.__v_isShallow)}function id(e){return e?!!e.__v_raw:!1}function Kt(e){const t=e&&e.__v_raw;return t?Kt(t):e}function za(e){return!$t(e,"__v_skip")&&Object.isExtensible(e)&&I0(e,"__v_skip",!0),e}const ja=e=>ot(e)?Rt(e):e,ir=e=>ot(e)?ms(e):e;function Ut(e){return e?e.__v_isRef===!0:!1}function A(e){return t1(e,!1)}function Wt(e){return t1(e,!0)}function t1(e,t){return Ut(e)?e:new xx(e,t)}class xx{constructor(t,n){this.dep=new xv,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Kt(t),this._value=n?t:ja(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,a=this.__v_isShallow||Sa(t)||Qo(t);t=a?t:Kt(t),ho(t,n)&&(this._rawValue=t,this._value=a?t:ja(t),this.dep.trigger())}}function Ju(e){e.dep&&e.dep.trigger()}function i(e){return Ut(e)?e.value:e}function Pm(e){return ze(e)?e():i(e)}const Tx={get:(e,t,n)=>t==="__v_raw"?e:i(Reflect.get(e,t,n)),set:(e,t,n,a)=>{const o=e[t];return Ut(o)&&!Ut(n)?(o.value=n,!0):Reflect.set(e,t,n,a)}};function n1(e){return ds(e)?e:new Proxy(e,Tx)}function Nn(e){const t=be(e)?new Array(e.length):{};for(const n in e)t[n]=a1(e,n);return t}class $x{constructor(t,n,a){this._object=t,this._defaultValue=a,this.__v_isRef=!0,this._value=void 0,this._key=Ea(n)?n:String(n),this._raw=Kt(t);let o=!0,l=t;if(!be(t)||Ea(this._key)||!ad(this._key))do o=!id(l)||Sa(l);while(o&&(l=l.__v_raw));this._shallow=o}get value(){let t=this._object[this._key];return this._shallow&&(t=i(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ut(this._raw[this._key])){const n=this._object[this._key];if(Ut(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return ix(this._raw,this._key)}}class Ox{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Lt(e,t,n){return Ut(e)?e:ze(e)?new Ox(e):ot(e)&&arguments.length>1?a1(e,t,n):A(e)}function a1(e,t,n){return new $x(e,t,n)}class Nx{constructor(t,n,a){this.fn=t,this.setter=n,this._value=void 0,this.dep=new xv(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=wi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=a}notify(){if(this.flags|=16,!(this.flags&8)&&dn!==this)return K0(this,!0),!0}get value(){const t=this.dep.track();return U0(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Mx(e,t,n=!1){let a,o;return ze(e)?a=e:(a=e.get,o=e.set),new Nx(a,o,n)}const Nu={},gc=new WeakMap;let Xl;function Rx(e,t=!1,n=Xl){if(n){let a=gc.get(n);a||gc.set(n,a=[]),a.push(e)}}function Ix(e,t,n=sn){const{immediate:a,deep:o,once:l,scheduler:s,augmentJob:r,call:u}=n,c=C=>o?C:Sa(C)||o===!1||o===0?Ho(C,1):Ho(C);let d,f,p,g,v=!1,h=!1;if(Ut(e)?(f=()=>e.value,v=Sa(e)):ds(e)?(f=()=>c(e),v=!0):be(e)?(h=!0,v=e.some(C=>ds(C)||Sa(C)),f=()=>e.map(C=>{if(Ut(C))return C.value;if(ds(C))return c(C);if(ze(C))return u?u(C,2):C()})):ze(e)?t?f=u?()=>u(e,2):e:f=()=>{if(p){Zo();try{p()}finally{Jo()}}const C=Xl;Xl=d;try{return u?u(e,3,[g]):e(g)}finally{Xl=C}}:f=_t,t&&o){const C=f,k=o===!0?1/0:o;f=()=>Ho(C(),k)}const m=B0(),y=()=>{d.stop(),m&&m.active&&wv(m.effects,d)};if(l&&t){const C=t;t=(...k)=>{C(...k),y()}}let b=h?new Array(e.length).fill(Nu):Nu;const w=C=>{if(!(!(d.flags&1)||!d.dirty&&!C))if(t){const k=d.run();if(o||v||(h?k.some((E,T)=>ho(E,b[T])):ho(k,b))){p&&p();const E=Xl;Xl=d;try{const T=[k,b===Nu?void 0:h&&b[0]===Nu?[]:b,g];b=k,u?u(t,3,T):t(...T)}finally{Xl=E}}}else d.run()};return r&&r(w),d=new z0(f),d.scheduler=s?()=>s(w,!1):w,g=C=>Rx(C,!1,d),p=d.onStop=()=>{const C=gc.get(d);if(C){if(u)u(C,4);else for(const k of C)k();gc.delete(d)}},t?a?w(!0):b=d.run():s?s(w.bind(null,!0),!0):d.run(),y.pause=d.pause.bind(d),y.resume=d.resume.bind(d),y.stop=y,y}function Ho(e,t=1/0,n){if(t<=0||!ot(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ut(e))Ho(e.value,t,n);else if(be(e))for(let a=0;a{Ho(a,t,n)});else if(bi(e)){for(const a in e)Ho(e[a],t,n);for(const a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&Ho(e[a],t,n)}return e}/**
+* @vue/runtime-core v3.5.33
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Zi(e,t,n,a){try{return a?e(...a):e()}catch(o){ud(o,t,n)}}function Ua(e,t,n,a){if(ze(e)){const o=Zi(e,t,n,a);return o&&Pl(o)&&o.catch(l=>{ud(l,t,n)}),o}if(be(e)){const o=[];for(let l=0;l>>1,o=oa[a],l=Si(o);l=Si(n)?oa.push(e):oa.splice(Px(t),0,e),e.flags|=1,l1()}}function l1(){yc||(yc=o1.then(r1))}function Ax(e){be(e)?Js.push(...e):kl&&e.id===-1?kl.splice(Ks+1,0,e):e.flags&1||(Js.push(e),e.flags|=1),l1()}function Am(e,t,n=co+1){for(;nSi(n)-Si(a));if(Js.length=0,kl){kl.push(...t);return}for(kl=t,Ks=0;Kse.id==null?e.flags&2?-1:1/0:e.id;function r1(e){try{for(co=0;co{a._d&&Sc(-1);const l=bc(t);let s;try{s=e(...o)}finally{bc(l),a._d&&Sc(1)}return s};return a._n=!0,a._c=!0,a._d=!0,a}function dt(e,t){if(Hn===null)return e;const n=vd(Hn),a=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&ze(t)?t.call(a&&a.proxy):t}}const Lx=Symbol.for("v-scx"),Dx=()=>_e(Lx);function sa(e,t){return Nv(e,null,t)}function fe(e,t,n){return Nv(e,t,n)}function Nv(e,t,n=sn){const{immediate:a,deep:o,flush:l,once:s}=n,r=On({},n),u=t&&a||!t&&l!=="post";let c;if(xi){if(l==="sync"){const g=Dx();c=g.__watcherHandles||(g.__watcherHandles=[])}else if(!u){const g=()=>{};return g.stop=_t,g.resume=_t,g.pause=_t,g}}const d=Gn;r.call=(g,v,h)=>Ua(g,d,v,h);let f=!1;l==="post"?r.scheduler=g=>{na(g,d&&d.suspense)}:l!=="sync"&&(f=!0,r.scheduler=(g,v)=>{v?g():Ov(g)}),r.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,d&&(g.id=d.uid,g.i=d))};const p=Ix(e,t,r);return xi&&(c?c.push(p):u&&p()),p}function Vx(e,t,n){const a=this.proxy,o=De(e)?e.includes(".")?u1(a,e):()=>a[e]:e.bind(a,a);let l;ze(t)?l=t:(l=t.handler,n=t);const s=Qi(this),r=Nv(o,l.bind(a),n);return s(),r}function u1(e,t){const n=t.split(".");return()=>{let a=e;for(let o=0;oe.__isTeleport,Jl=e=>e&&(e.disabled||e.disabled===""),Bx=e=>e&&(e.defer||e.defer===""),Lm=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Dm=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Qf=(e,t)=>{const n=e&&e.to;return De(n)?t?t(n):null:n},Fx={name:"Teleport",__isTeleport:!0,process(e,t,n,a,o,l,s,r,u,c){const{mc:d,pc:f,pbc:p,o:{insert:g,querySelector:v,createText:h,createComment:m,parentNode:y}}=c,b=Jl(t.props);let{dynamicChildren:w}=t;const C=(T,$,N)=>{T.shapeFlag&16&&d(T.children,$,N,o,l,s,r,u)},k=(T=t)=>{const $=Jl(T.props),N=T.target=Qf(T.props,v),O=ep(N,T,h,g);N&&(s!=="svg"&&Lm(N)?s="svg":s!=="mathml"&&Dm(N)&&(s="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(N),$||(C(T,N,O),Zr(T,!1)))},E=T=>{const $=()=>{if(yl.get(T)===$){if(yl.delete(T),Jl(T.props)){const N=y(T.el)||n;C(T,N,T.anchor),Zr(T,!0)}k(T)}};yl.set(T,$),na($,l)};if(e==null){const T=t.el=h(""),$=t.anchor=h("");if(g(T,n,a),g($,n,a),Bx(t.props)||l&&l.pendingBranch){E(t);return}b&&(C(t,n,$),Zr(t,!0)),k()}else{t.el=e.el;const T=t.anchor=e.anchor,$=yl.get(e);if($){$.flags|=8,yl.delete(e),E(t);return}t.targetStart=e.targetStart;const N=t.target=e.target,O=t.targetAnchor=e.targetAnchor,_=Jl(e.props),P=_?n:N,D=_?T:O;if(s==="svg"||Lm(N)?s="svg":(s==="mathml"||Dm(N))&&(s="mathml"),w?(p(e.dynamicChildren,w,P,o,l,s,r),Vv(e,t,!0)):u||f(e,t,P,D,o,l,s,r,!1),b)_?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Mu(t,n,T,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const W=t.target=Qf(t.props,v);W&&Mu(t,W,null,c,0)}else _&&Mu(t,N,O,c,1);Zr(t,b)}},remove(e,t,n,{um:a,o:{remove:o}},l){const{shapeFlag:s,children:r,anchor:u,targetStart:c,targetAnchor:d,target:f,props:p}=e;let g=l||!Jl(p);const v=yl.get(e);if(v&&(v.flags|=8,yl.delete(e),g=!1),f&&(o(c),o(d)),l&&o(u),s&16)for(let h=0;h{e.isMounted=!0}),Pt(()=>{e.isUnmounting=!0}),e}const $a=[Function,Array],p1={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:$a,onEnter:$a,onAfterEnter:$a,onEnterCancelled:$a,onBeforeLeave:$a,onLeave:$a,onAfterLeave:$a,onLeaveCancelled:$a,onBeforeAppear:$a,onAppear:$a,onAfterAppear:$a,onAppearCancelled:$a},v1=e=>{const t=e.subTree;return t.component?v1(t.component):t},Kx={name:"BaseTransition",props:p1,setup(e,{slots:t}){const n=vt(),a=f1();return()=>{const o=t.default&&Mv(t.default(),!0),l=o&&o.length?h1(o):n.subTree?le():void 0;if(!l)return;const s=Kt(e),{mode:r}=s;if(a.isLeaving)return lf(l);const u=Vm(l);if(!u)return lf(l);let c=ki(u,s,a,n,f=>c=f);u.type!==vn&&gs(u,c);let d=n.subTree&&Vm(n.subTree);if(d&&d.type!==vn&&!Ql(d,u)&&v1(n).type!==vn){let f=ki(d,s,a,n);if(gs(d,f),r==="out-in"&&u.type!==vn)return a.isLeaving=!0,f.afterLeave=()=>{a.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,d=void 0},lf(l);r==="in-out"&&u.type!==vn?f.delayLeave=(p,g,v)=>{const h=m1(a,d);h[String(d.key)]=d,p[fo]=()=>{g(),p[fo]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{v(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return l}}};function h1(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==vn){t=n;break}}return t}const Wx=Kx;function m1(e,t){const{leavingVNodes:n}=e;let a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function ki(e,t,n,a,o){const{appear:l,mode:s,persisted:r=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:p,onLeave:g,onAfterLeave:v,onLeaveCancelled:h,onBeforeAppear:m,onAppear:y,onAfterAppear:b,onAppearCancelled:w}=t,C=String(e.key),k=m1(n,e),E=(N,O)=>{N&&Ua(N,a,9,O)},T=(N,O)=>{const _=O[1];E(N,O),be(N)?N.every(P=>P.length<=1)&&_():N.length<=1&&_()},$={mode:s,persisted:r,beforeEnter(N){let O=u;if(!n.isMounted)if(l)O=m||u;else return;N[fo]&&N[fo](!0);const _=k[C];_&&Ql(e,_)&&_.el[fo]&&_.el[fo](),E(O,[N])},enter(N){if(k[C]===e)return;let O=c,_=d,P=f;if(!n.isMounted)if(l)O=y||c,_=b||d,P=w||f;else return;let D=!1;N[zr]=U=>{D||(D=!0,U?E(P,[N]):E(_,[N]),$.delayedLeave&&$.delayedLeave(),N[zr]=void 0)};const W=N[zr].bind(null,!1);O?T(O,[N,W]):W()},leave(N,O){const _=String(e.key);if(N[zr]&&N[zr](!0),n.isUnmounting)return O();E(p,[N]);let P=!1;N[fo]=W=>{P||(P=!0,O(),W?E(h,[N]):E(v,[N]),N[fo]=void 0,k[_]===e&&delete k[_])};const D=N[fo].bind(null,!1);k[_]=e,g?T(g,[N,D]):D()},clone(N){const O=ki(N,t,n,a,o);return o&&o(O),O}};return $}function lf(e){if(cd(e))return e=Eo(e),e.children=null,e}function Vm(e){if(!cd(e))return d1(e.type)&&e.children?h1(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ze(n.default))return n.default()}}function gs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,gs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Mv(e,t=!1,n){let a=[],o=0;for(let l=0;l1)for(let l=0;l